• Каков план изучения андроид разработки?

    Jacen11
    @Jacen11
    есть куча учебников и курсов с готовыми программами и разного уровня, даже делать ничего самому не надо. Хоть один попробовал перед тем как сюда придти?
    Ответ написан
    Комментировать
  • Каков план изучения андроид разработки?

    @Factis
    Есть различные roadmap, например вот и вот.

    Возможно на первых этапах помогут в выборе направления.
    Ответ написан
    Комментировать
  • Каков план изучения андроид разработки?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Во-первых, стоит посмотреть в сторону котлина, а не джавы.
    Во-вторых, всё изучается одновременно.
    В-третьих, никакой "библиотеки движка" не существует. Есть Android SDK, есть либа поддержки androidx, есть куча сторонних либ.
    в-четвертых, Android Studio это IDE. Как ты планируешь писать код и что-то изучать без IDE не очень понятно(да, есть фрики, которые что-то там пишут в текстовых редакторах, но это непродуктивно).
    Ответ написан
    Комментировать
  • Как и за какой период стать Junior Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    При упорном труде можно за 1 год изучить основы java. С другой стороны, все индивидуально. Можно и за 5 лет ничему не научиться. Все зависит от вас.

    Обучаюсь кстати в JavaRush

    Знаю нескольких разработчиков, которые пошли на курсы, так как знаний полученных на JavaRush не хватило вовсе.

    К вопросу о том, что нужно изучить по Java, тут зависит от направления, которое вас интересует. Т.е. enterprise или android разработка.

    Базовая программа применимая и к enterprise и к android:
    - java core (JCF, Mutlithreading, Stream API, reflection, annotation, jdbc)
    - структуры данных и алгоритмы, паттерны проектирования
    - Build tools: Maven, Gradle
    - VCS - git
    - основы TCP / IP
    - основы OOP, SQL (ACID, уровни изоляции)

    Для enterprise:
    - java enterprise (jsp, jstl, servlet), tomcat, jetty
    - Spring Framework (Spring MVC, Spring Data, Thymeleaf, Spring Boot, Spring Security) основы REST
    - Hibernate (ORM), HQL
    - aws / heroku
    - возможно разные CICD (circleci, travis)
    - jira, confluence, trello

    Для android:
    - kotlin
    - Android API
    - ORM фреймворки (ormlite, room и возможно другие)
    - Firebase

    Вот, отсюда можете глянуть на программу занятий по Java Core - https://www.dist.it-academy.by/course/java-develop...
    А отсюда взять программу Java Enterprise - https://www.dist.it-academy.by/course/java-develop...
    Ответ написан
    Комментировать
  • Как в Java правильно сравнить строку полученную из БД с другой строкой?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Строки в Java сравниваются через equals(). Другое дело, что при сравнении возвращается false.
    Исключите следующие моменты:
    - запись в БД может быть в uppercase или lowercase или camelCase и т.д. Потому возвращается false
    - в исходной строке или в строке из БД могут содержатся кириллические символы
    - кодировка хранимой информации в БД отличается от utf8
    если не получится решить вопрос, то скиньте ссылку на гит
    Ответ написан
    Комментировать
  • Как решить ошибку при mvn compile?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Во-первых, если вы уж решили собирать проект на сервере, то можно вместо maven использовать maven wrapper. А еще лучше запускать приложение в контейнере docker.

    теперь проект собирается, запускается, но работает некорректно. Человек посылает сообщение боту, в консоли видно что бот обращается к бд, но сообщений никаких не отсылает

    Можно попробовать проект подебажить. Для этого запустите jar при помощи mvnDebug, а затем средствами IDE подключитесь к серверу и добавив точки остановки, продебажьте проект.
    Ответ написан
    1 комментарий
  • Что такое код общего назначения и код специального назначения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    foonfyrick,
    таймкод 8:51
    https://www.youtube.com/watch?v=SZLdme0zvV4

    я понял.
    Начнем с того, что в видео затрагиваются аспекты Clean Code. Можете прочитать книгу Роберта Мартина - Clean Code или например, пройти небольшой курс по рефакторингу - https://refactoring.guru/refactoring/course
    Что касается вашего вопроса, то тут речь идет во-первых, о SOLID принципах.
    S - single responsibility principle (принцип единственной ответственности). Т.е. один класс должен иметь одно назначение. Например, создание класса Сотрудник, который и готовит еду и подает и моет посуду и т.д. не совсем корректно. Но можно создать класс Сотрудник и расширить его такими классами, как Повар, Официант и Уборщик, каждый из которых будет готовить, подавать еду и мыть посуду соответственно.
    Также сказанное им в видео можно соотнести к ISP (interface segregation principle). Принцип разделения интерфейсов. Например, предположим, что у вас есть интерфейс МФУ, в котором имеются методы print(), scan() и fax(). Если у вас есть класс для МФУ, который имплементирует этот интерфейс, то все ок, так как в этом устройстве есть все функции. Другое дело, что если некий класс Принтер имплементирует интерфейс МФУ, но при этом он может реализовать метод print(), получается что 2 остальных метода он не может реализовать, но должен. Соответственно, принцип ISP рекомендует разделить общий интерфейс на несколько частей.
    Также например, pojo класс не должен являться также "утильным" классом или сервисным классом.
    Ответ написан
    Комментировать
  • Как получать и отправлять сообщение?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Во-первых, код лучше обрамлять тегом code, а не скидывать в виде скрина.
    admins не выполняется, так как эта ветка не выполняется, а вместо нее выполняется default.
    Посмотрите, что приходит в message.getText()
    Обратите внимание, что у вас в первой ветке /start, а во второй admins (без слеша). Может быть вы вводите admins со слешем из-за чего нет совпадения?
    Ответ написан
    3 комментария
  • Как решить проблему с REST API и куки?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Была похожая проблема. Я решил ее сменой солей (см. wp-config.php) и чисткой кеша.
    А еще вот, аналогичная проблема - https://docs.wpsimplepay.com/articles/rest_cookie_...
    Ответ написан
    3 комментария
  • Ошибка java в Android приложении?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    OutOfMemoryError: Failed to allocate a 83886328 byte allocation with 25165824 free bytes and 46MB until OOM, target footprint 245232608, growth limit 268435456

    Не хватает памяти. Запускаете ли вы приложение на эмуляторе? Возможно, что нужно больше памяти для запуска приложения. Ну и глянуть на то, что именно расходует память устройства
    Ответ написан
    2 комментария
  • Как сделать, чтобы при вводе в консоли слова "Мужчина" выполнялся код именно в этом if?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую!
    Вот, простой пример:
    public class Main {
    	
    	public static void main(String ... args) {
    		Scanner scanner = new Scanner(System.in);
    		System.out.println("Введите ваш пол:");
    		String gender = sc.nextLine();
    		if(gender.equals("Мужчина")) {
    			double d = (x - y) * z;
    			System.out.println("Вес=" + d);
    		}
    	}
    
    }
    Ответ написан
  • Программа для расчета ингредиентов. Какие можно использовать ресурсы для изучения предметной области?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    В принципе, вы уже сами ответили на ваш вопрос. Используйте javafx, sqlite и любую либу для работы с pdf (например, iText - ссылка)
    Ну можете например, для удобства подключить ORM для работы с БД. Например, ormlite
    Для красоты интерфейса можете использовать JFoenix
    Ответ написан
    1 комментарий
  • Почему могут не работать ACF поля?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Я грешу на мультисайт, но вариантов решения даже близко не представляю.

    Ну тут грешить можно на что угодно. Опять-таки насколько корректно отрабатывает плагин создания CPT. Насколько корректно отрабатывает ACF. Поддерживается ли мультисайт в плагине для создания CPT и т.д.
    Ответ написан
    Комментировать
  • Как выбрать option из выпадаюшего меню?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Вот, например, id элемента
    select2-postform-expiration-result-cqx3-10M
    Тут cqx3 изменяется динамически.
    Вот, гляньте, как можно выбрать элемент, который динамически изменяется - https://sqa.stackexchange.com/questions/18342/how-...
    Обратите внимание на contains() или starts-with()

    Вот, тут полезная информация по выбору элементов из select
    https://www.guru99.com/select-option-dropdown-sele...
    Ответ написан
    2 комментария
  • Почему никто не учит C# но на каждом углу учат Java?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Тут пожалуй, важную роль в популяризации играет не возможности языка, а политика компаний, которые разрабатывают языки.
    Так исторически сложилось, что Java появилась раньше, чем C# и соответственно, к моменту появления C# уже было написано огромное количество проектов-миллионников. Также компания Майкрософт довольно долго (чуть ли не 8-9 лет) ограничивала применение .Net на других платформах из-за чего это тоже сыграло свою роль. Соответственно, определенная часть рынка в энтерпрайз была утеряна для C#. Но зато C# смогла утвердить себя в сфере gamedev (фреймворк Unity), а также в сфере desktop разработки. Но не стоит сбрасывать со счетов C# в энтерпрайз и веб сферах. На нем пишут довольно серьезные проекты.
    Думаю, что остальное лишь предпочтения разработчиков.
    Ответ написан
    4 комментария
  • Как настроить проект, чтобы он поднимал схему в БД с использованием hibernate?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день.
    Размещение доступов к БД внутри Java не рекомендуется.
    private static final String URL = "jdbc:mysql://localhost:3306/library_project?serverTimezone=UTC";
        private static final String USER = "root";
        private static final String PASSWORD = "root";

    Лучше вынести его в properties или yml
    Вот, пример:
    spring.jpa.hibernate.ddl-auto=update
    spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
    spring.datasource.username=springuser
    spring.datasource.password=ThePassword


    https://spring.io/guides/gs/accessing-data-mysql/
    https://www.baeldung.com/java-connect-mysql

    Также остаётся загадкой, как запустить проект, чтобы проверить работоспособность хоть чего-нибудь, ведь Main с psvm-ом здесь быть не должно, если я верно всё понимаю.


    @SpringBootApplication
    public class Application {
    
    	public static void main(String[] args) {
    		SpringApplication.run(Application.class, args);
    	}
    
    }
    Ответ написан
    Комментировать
  • WP All Import почему пропускает товары и стирает поля?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Это все может быть багом того или иного плагина.
    При первом импорте плагин затёр большую часть данных в ACF-полях. Связано ли это с тем, что импорт работает при активности пользователя и при его отсутствие останавливается? Есть ли на это другие причины?

    Это не так. WP-CRON является псевдокроном и ЗАПУСК его происходит при активности пользователей, а не РАБОТА. Т. е. если процесс запущен, то он будет выполнен в полной мере. А WP All Import использует WP CRON.

    Обычно, для автоматизации предпочитаю работать с Rest API WP. Напишите небольшой скрипт, который обновит цены товаров. Или поищите баги в плагинах ВП. Попробуйте сменить версии плагинов. А также загляните в логи плагина импорта. Посмотрите, почему он не нашёл сходства товаров из-за чего не изменил стоимость. Если сравнение происходит по заголовку, то конечно же тут причины могут быть разные. Case sensitive, лишние символы и т. д.
    Ответ написан
    Комментировать
  • Как исправить ошибку при запуске mindustry?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Для ответа на ваш вопрос недостаточно информации.
    Вот, некоторые мысли:
    java.net.ConnectException: В соединении отказано (Connection refused)

    Допустим, что порт, по которому происходит соединение закрыт и соответственно, нужно его открыть.
    Вот, как открыть нужный порт на линукс - https://www.journaldev.com/34113/opening-a-port-on...
    Также обратите внимание, что на устройстве может быть установлен iptables и соответственно, нужно прописывать правила для доступа к порту.
    google
    Ответ написан
    Комментировать
  • Выдает no main manifest attribute, in project.jar, как это исправить?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Скажите пожалуйста, каким IDE вы собираете проект? Если Intellij IDEA, то мне эта проблема уже знакома...
    Не раз натыкался на нее... В общем, когда вы собираете jar, то почему-то intellij idea если выбрать create jar from modules & dependencies создает jar некорректно. Эта проблема актуально до последней версии. И соответственно, в jar не попадает папка META-INF И файл MANIFEST.MF
    Чтобы это исключить создайте jar - empty
    Сама ошибка говорит о том, что в jar файле у вас нет вышеуказанного файла и папки. Тогда заработает корректно.
    Также, если это maven || gradle, то положите папку meta-inf на уровень проекта, либо в папку resources. Не в java!
    Вот, тут мой ответ по данному вопросу (со скриншотом) - https://stackoverflow.com/questions/1082580/how-to...
    Ответ написан
    1 комментарий
  • Найти Wordpress тему для реализации такого дизайна?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Вот, честно.... устанете искать тему, которая подойдет под этот дизайн и даже если найдете, то устанете ее переделывать, чтобы она была похожа на указанный выше макет.
    Решение - самому сверстать.
    С чего начать? html + css + js (jquery). Как вариант изучите еще флексбокс и подключите bootstrap 4. Это в определенной мере ускорит разработку. А после того, как верстка будет готова, есть смысл создавать ВП тему. И тут уже вам нужно изучить кодекс ВП по разработке темы. Самая "сложная" задача сверстать дизайн)

    сайдбар справа всегда имеет статическое положение

    это вы про position fixed

    ... и меняет свой цвет в зависимости от секции которая сейчас на экране

    а это просто реализуется средствами jquery. Просто изменяете фоновый цвет и все...
    Ответ написан
    Комментировать