• Gradle не подтягивает зависимости, в чем косяк?

    TheKnight
    @TheKnight
    Программист
    1. Сборка из Android Studio проходит? В какой директории находится тест? Возможно, проблема в том, что он считается кодом, а не тестом. Проверить можно либо посмотрев где он лежит и проверив свойства папки либо переключив junit в режим implementation вместо testImplementation и убедившись что это приводит к нужному результату..
    2. Layout Inspector попробуй, там есть id элементов и некоторая другая информация о текущем экране.
    Ответ написан
    Комментировать
  • Как использовать AsyncTask вместе с Selenium?

    TheKnight
    @TheKnight
    Программист
    Но это не отменяет того, что Вы начали переводить тему. Задача сообщества - постараться помочь мне, а не упрекать и задавать вопросы, которые не относятся к теме.

    mihsaklimov, нет такой задачи у сообщества. Есть задача удовлетворить свое любопытство и почесать свое ЧСВ.
    Если вы думаете по другому - то стоит проверить свои взгляды на реальность.

    Что же касается вашей проблемы - кажется, вы банально ошиблись с id элемента. Я наблюдаю id "search-text-guest". Кроме того, стоит подумать о более вменяемом способе ожидания, чем ручками через Thread.sleep каждый раз.

    И все же продолжим чесать ЧСВ - использовать selenium изнутри приложения для поиска чего то на стороннем сайте плохая идея. Почему бы не воспользоваться существующим API? Если его не существует - почему бы его не запилить? Какую задачу вы вообще пытаетесь решить, что потребовался такой изврат?
    Ответ написан
    Комментировать
  • Хочу начать осваивать Swift. Какой минимально возможный MacBook можно купить?

    TheKnight
    @TheKnight
    Программист
    Если вам интересен сам язык, без iOS + MacOS - поставьте себе убунту на существующий ноут.
    https://swift.org/download/#releases
    Ответ написан
    Комментировать
  • Как осилить эту статью по компьютерной графике?

    TheKnight
    @TheKnight
    Программист
    Попробуйте вместо этого цикла по компьютерной графике разобраться с чем то более простым.
    К примеру, прочитать и прорешать книжку по алгоритмам, порешать задачки на leetcode, набить руку на решении более простых вещей.
    А еще можно почитать SICP и хорошую книжку по плюсам. Ну или вместо книги по плюсам пройти курс на степике "Белый пояс по C++" и прочие из серии.
    Далее стоит углубится в собственно теорию компьютерной графики. Часть будет как раз в этой серии статей.
    P.S.: Научитесь пользоваться Git и Github/Bitbucket. Проще будет показывать объемный код и задавать вопросы.
    Ответ написан
    Комментировать
  • Как узнать сколько параметров передается в метод Java?

    TheKnight
    @TheKnight
    Программист
    Если в метод передается varargs (пример стырен выше)
    public static void main(Object... args) {
      System.out.println(args.length);
    }

    то достаточно воспринимать args как массив и работать с ним так же.
    Если же речь о методе в общем случае - то вам понадобится Reflection API, объект соответствующего метода и его методы getParameterCount() и getParameterTypes().

    Но зачем вам это? Может быть проблему стоит решать по другому?
    Ответ написан
  • Синхронное выполнение кода SWIFT alamofire?

    TheKnight
    @TheKnight
    Программист
    Варианта два:
    1. Написать таки идиоматичный асинхроный код с использованием completion handler (не переживай, больно только первый раз). Если тебе надо вызывать несколько запросов цепочкой - можно их вкладывать в completion handler предыдущего запроса. Но в показанном примере я не вижу нужды в этом.
    2. Использовать соответствующие библиотеки.

    Напомню, что лочить UI тред плохая идея.
    Ответ написан
    Комментировать
  • Как возможно посчитать повторяющиеся буквы в слове?

    TheKnight
    @TheKnight
    Программист
    Если букв ограниченное количество то можно использовать bitset, закодировав каждую букву в индекс бита.
    Проходим, пересчитываем букву в индекс, проверяем текущий бит, выводим символ, записываем бит.
    Решается за один проход.
    Вместо bitset можно использовать массив бит или массив счетчиков букв.

    Зависит еще от того, в какой кодировке текст, какое разнообразие букв и так далее.
    Юникодная таблица должна уместиться в 20 килобайт.
    Если же мы рассматриваем только русские(английские) буквы в нижнем регистре - то это 33(26) бит дополнительной памяти. Не учитывая вспомогательные обертки. Либо использовать UInt64(UInt32 для английских букв) как хранилище и битовой магией проверять и выставлять.
    Ответ написан
    Комментировать
  • Как вынести переменную вне класса?

    TheKnight
    @TheKnight
    Программист
    Ну как как...
    Сделать ее полем класса. Не статическим и не финальным. Если ваш класс используется из нескольких потоков - можно использовать ThreadLocal, что бы менялась только переменная в текущем потоке.

    Есть более простой вариант - вернуть ее из метода. И передать в следующий метод.

    (Джонни, ты точно не терял свои таблетки?)
    Ответ написан
    3 комментария
  • Почему не прогоняются JUnit тесты в maven?

    TheKnight
    @TheKnight
    Программист
    Гуглить пробовал?Тык!
    В конце статьи есть пример pom.xml. В нем не сложно разобраться и попробовать прописать что нужно. Если не поможет - будем разбираться дальше.
    Ответ написан
    Комментировать
  • Как писать в файл в jar-нике из класса, находящегося в том же jar-нике?

    TheKnight
    @TheKnight
    Программист
    Сделай проще.
    Храни стартовый топ лист в jar-файле с игрой. При первой необходимости записи в него - создавай в строго определенном месте (в домашней директории пользователя, рядом с jar'ником, etc) файл с обновленным топом игроков.

    Процесс загрузки топа будет выглядеть достаточно просто:
    1) Проверяем наличие файла с топом игроков в выбранном месте.
    2) Если не нашли - грузим из jar файла.

    И да - зачем тебе топ игроков? Если ты хочешь, что бы игроки из разных мест мерились силушкой богатырской - тебе необходимо этот топ хранить централизованно - например на едином сервере. Если хранение строго локально - генерируй выдуманный топ при первом запуске рядом с jar-файлом и обновляй по мере совершения игр.
    Ответ написан
    1 комментарий
  • Как передавать параметры через командную строку в автотесты на java?

    TheKnight
    @TheKnight
    Программист
    QaTools Properties

    Создаешь базовый конфиг, после чего можно при помощи Maven аргументов менять значения. Получается очень удобно.

    Для локальной отладки можно перезаписать текущие значения при помощи properties-файлика.
    Ответ написан
    Комментировать
  • Как эмулировать тап на экране или клик мыши?

    TheKnight
    @TheKnight
    Программист
    Зависит от степени приемлемого геммороя. К примеру можно посмотреть на Appium. Или углубиться в UIAutomator. Это так, навскидку.
    Ответ написан
  • Что нужно изучать, чтобы заниматься автотестированием web-приложений на Java?

    TheKnight
    @TheKnight
    Программист
    Selenium + HtmlElements + jUnit (киллер фича - TestRules) + Allure для красивых репортов + матчеры. В блоге Яндекса есть статьи про HtmlElements и матчеры. Для инжекции зависимостей рекомендую Guice. Ну или не инжектить их вовсе.
    Начать стоит со связки Selenium + jUnit, затем добавить HtmlElements, паралельно разобравшись с матчерами. Ну и завершить это Allure-репортом.
    Ответ написан
    Комментировать
  • Как передать экземпляр класса Long по ссылке?

    TheKnight
    @TheKnight
    Программист
    Вы немножко путаете рамсы божий дар и яичницу изменение объекта по ссылке и изменение ссылки. Конкретно в вашем случае вы создаете новый объект и присваиваете ссылку именно на него.

    Кроме того, Long является неизменяемым. У вас в любом случае ничего бы не получилось.

    Если уж вам сильно надо менять содержимое некоего поля в main из метода класса - придется использовать самописные холдеры.
    Тык!
    class Test {
        public static void main(String[] args) {
            LongHolder holder = new LongHolder(0L);
            System.out.println(holder);
            updateValue(holder, 150L);
            System.out.println(holder);
        }
    
        private static void updateValue(LongHolder holder, Long newValue) {
            holder.setValue(newValue);
        }
    
        private static class LongHolder{
    
            private Long value;
    
            public LongHolder(Long value) {
                this.value = value;
            }
    
            public Long getValue() {
                return value;
            }
    
            public void setValue(Long value) {
                this.value = value;
            }
    
            @Override
            public String toString() {
                return "LongHolder{" +
                        "value=" + value +
                        '}';
            }
        }
    }

    Ответ написан
    2 комментария
  • Самая лёгкая книга?

    TheKnight
    @TheKnight
    Программист
    Ответ написан
    Комментировать
  • Библиотека численных методов. Какой инструмент выбрать?

    TheKnight
    @TheKnight
    Программист
    NumPy + SciPy. Посмотри, вокруг чего они сделаны. Внутри у них как раз таки сишные библиотеки.

    Java поддерживает IEEE 754. Или вы про какой то другой стандарт?
    Рекомедую так же прочитать про strictfp.
    Влияние GC на вычисления можно уменьшить при правильной работе с памятью и выделяемыми ресурсами.

    P.S.: Нет такого языка - C/C++. Есть два отличающихся языка - C и C++. И C на данный момент уже лет 15-20 как не является подмножеством C++.
    Ответ написан
    Комментировать
  • Какие библиотеки существуют для разработки десктопного приложения на Java?

    TheKnight
    @TheKnight
    Программист
    QT Jambi
    Ответ написан
    Комментировать
  • Какую книжку прочесть где хорошо описывается Java многопоточность?

    TheKnight
    @TheKnight
    Программист
    Блог Алексея Шипилёва Правда это уже для продвинутых.
    Ответ написан
    Комментировать
  • Как понять странный дженерик?

    TheKnight
    @TheKnight
    Программист
    Думаю, вам стоит обратить внимание на видео Александра Маторина про Generic'и в Java.
    Тыц!
    Ответ написан
    Комментировать
  • Собираются ли в .jar (Maven) классы фреймворка, которые не используются?

    TheKnight
    @TheKnight
    Программист
    По умолчанию Maven не упаковывает классы из библиотек в итоговый jar. Есть ряд плагинов, которые позволяют добиться упаковки классов из используемых библиотек или же jar файлов библиотек целиком. Для выделения только нужных классов так же есть отдельные плагины.
    Ответ написан
    Комментировать