Ответы пользователя по тегу Java
  • Можно ли работать со свернутым браузером из сторонней программы?

    @bromzh
    Drugs-driven development
    Для браузеров есть WebDriver и Selenium (но надо браузер запускать с определённым ключом, но через selenium можно запускать новый экземпляр с нужными параметрами), основной язык - java, но есть биндинги для других языков. Можно написать свою обёртку, управление браузером происходит через JSON API.
    Ответ написан
    Комментировать
  • Как правильно использовать immutable-объекты для многопоточных приложений?

    @bromzh
    Drugs-driven development
    В первую очередь надо понимать и уметь работать с коллекциями в многопоточной среде. Модификатор final ещё не означает, что поле нельзя изменить. Он лишь указывает, что такому полю нельзя дважды присвоить значение через оператор =.
    На тему коллекций в многопоточности есть вот это: www.youtube.com/watch?v=-yQeYo32Lt4

    Ну а в целом, всё в принципе просто. В многопоточной среде появляется необходимость использовать некие общие данные. Первый вариант - это использовать синхронизации (семафоры, мьютексы и т.д.). Другой вариант - объявить, что все данные неизменяемые. Данные полям можно присвоить только 1 раз, все коллекции тоже неизменяемые. Тогда можно считывать их значения без использования синхронизаций (которые порой бывают сложными, да и лишняя память тратится) и прозрачно обрабатывать их в несколько потоков.
    Ответ написан
    Комментировать
  • Какие технологии использовать для создания Landing Page на Java?

    @bromzh
    Drugs-driven development
    Так что сделать надо, лендинг или веб-сервис + фронтенд (в форм-факторе того же лендинга)?
    Если первое, то при чём тут java? Бери любую удобную js-библиотеку (или вообще чистый js), ищи в гуглах обработку xsd на js и верстай.
    Если второе, то вывод самой html-страницы зависит от того, насколько велика потребность что-то шаблонизировать. Если от сервера использзуется только АПИ, то см. п. 1. Если много данных, то бери любой шаблонизатор, можешь и на JSP сделать, тут как тебе удобнее.
    Ответ написан
    2 комментария
  • Как возвратить список игроков из hashMap?

    @bromzh
    Drugs-driven development
    Дженерики для кого придумали?
    Map<String, Player> players = new HashMap<>();
    ...
    public List<Player> getAllPlayers() {
    return players.values();
    }


    Пиши нормальный код. Изучи коллекции и дженерики в яве, это же основа.
    Ответ написан
    Комментировать
  • Можно ли "нормально" заработать на разработке парсеров?

    @bromzh
    Drugs-driven development
    сам парсер будет десктопным и будет даваться в аренду на определенный срок.

    Это до первой декомпиляции. Плюс ты сам же писал, что умеешь в Spring.
    Логичный вывод - сделать это как онлайн-сервис. Чуваки оставляют заявку, ты пишешь парсер. Когда написал, в личном кабинете у заказчика появится интерфейс для его использования. Так ты и сможешь ограничить доступ по времени, и защитишься от декомпиляции.

    Спрос наверняка будет, но, как уже писали, он довольно специфичный. Зачастую под каждый сайт надо писать свой парсер. Унифицировать сложно, однако можно написать DSL для таких вещей, чтобы ускорить процесс.
    Находить же заказчиков можно на всяких фриланс-биржах. Потом можно и публичный сайт сделать, рекламировать его, как SaaS, и т.д.
    Ответ написан
    Комментировать
  • Есть ли хорошие статьи об подключение Access к Java?

    @bromzh
    Drugs-driven development
    Из 8-й явы выпили ODBC-мост, советуют использовать это: ucanaccess.sourceforge.net/site.html
    И вот ещё: stackoverflow.com/questions/21955256/manipulating-...
    Ответ написан
    Комментировать
  • Куда двигаться дальше с Java?

    @bromzh
    Drugs-driven development
    До андроида на яве делали всё тоже самое - писали игры для мобильников на JavaME. И в вебе использовали. Только не для небольших проектов, а для крупных порталов. А из-за позиции разработчиков языка об сохранении обратной совместимости её любили и любят крупные корпорации, где на яве пишут те же веб-приложения, только для внутренних сетей.
    Плюс, в стандартной поставке самого языка есть кроссплатформенный GUI. Сам язык поддерживает нормальную многопоточность, имеется огромная куча библиотек на все случаи жизни.
    В итоге, ява и раньше и сейчас используется в самых разных областях, в отличие от узкоспециализированных языков. А сами вакансии обычно оплачиваются больше, нежели аналогичные для других языков.
    Ответ написан
    Комментировать
  • Что означает фраза " учите не язык, учите технологию "?

    @bromzh
    Drugs-driven development
    Просто язык без экосистемы ничего не стоит. Поэтому несмотря на то. что Lisp, OCaml, Haskell, например, имеют кучу крутых фич, все пишут на "примитивной" яве, потому что количество библиотек, фреймворков и технологий для неё огромно. Не было бы JavaEE со Spring, то её популярность была бы в разы меньше. Ruby стал популярным из-за RoR (на тот момент это было действительно что-то новое).
    Технологии более универсальны, языки вторичны, это всего лишь инструмент.
    Ответ написан
    1 комментарий
  • Как сделать десктопное приложение из JVM-cервлета?

    @bromzh
    Drugs-driven development
    Jetty отлично встраивается: https://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
    Ответ написан
    Комментировать
  • Как создавать GUI в intellij idea?

    @bromzh
    Drugs-driven development
    Посмотри в сторону JavaFX. Графического редактора для него нет (он есть только для эклипса вроде как), но и без него нормально.
    PS Есть такая классная штука, как ScalaFX. Если ограничений на технологии нет, то советую её использовать. Если со скалой не дружишь, то её можно хотя бы для графической части использовать, а для логики взять старую добрую java.
    Ответ написан
    2 комментария
  • Графика в Java?

    @bromzh
    Drugs-driven development
    Не от нетбинс (его пилят сами ораклы), а от эклипс наверное - это SWT.
    Но лучше JavaFX.
    Ответ написан
    Комментировать
  • Какой фреймворк использовать для создания UI?

    @bromzh
    Drugs-driven development
    Бери JavaFX.
    Спринг можно использовать, но не для самого UI, а для всяких штук, типа связи с БД, DI (если это всё реально надо) и других, спринг же очень большой, охватывает многие области.
    Ответ написан
    Комментировать
  • Как реализовать следующее приложение Java EE?

    @bromzh
    Drugs-driven development
    Мой пример. Чистый JavaEE, без спринга: https://github.com/bromzh/geck
    Ответ написан
    Комментировать
  • Как вам такой способ?

    @bromzh
    Drugs-driven development
    Велосипед, и довольно ненадёжный. Есть же куча шаблонизаторов (или библиотек тэгов для JSP) с поддержкой наследования и создания reusable-компонентов: JSF, Struts, Tiles, Rapid-Framework, и т.д.
    Ответ написан
    Комментировать
  • Как дружат UI на JS и Java EE server-side?

    @bromzh
    Drugs-driven development
    3) GWT, например. Ты пишешь код на java, а он компилируется в JS. Таким образом, можно использовать многие java-классы (DTO тем более). Однако технология довольно своеобразна, подойдёт не всегда. И GWT компилятор поддерживает не всё из JavaCore и не дружит (пока) с Java8.
    PS из похожего ещё есть Vaadin
    Ответ написан
    2 комментария
  • Java SE и Java EE вместе?

    @bromzh
    Drugs-driven development
    Ты хотя бы почитал, что это такое, прежде чем задавать такие глупые вопросы. 1-е - всего лишь подмножество второго. Без знания SE никакое EE ты не освоишь.
    Ответ написан
    Комментировать
  • Можно ли в Java EE использовать лямбды?

    @bromzh
    Drugs-driven development
    Версия JavaEE никак не связана с версией самого языка. Это совершенно разные понятия.
    Ответ написан
    Комментировать
  • Можно ли использовать Gson как синглтон?

    @bromzh
    Drugs-driven development
    Можно. Внутреннее состояние он не хранит. Только делай синглтон потокобезопасным.
    Ответ написан
    Комментировать
  • Какой Java проект приблизит к пониманию Enterprise?

    @bromzh
    Drugs-driven development
    Помимо знаний Java SE, коллекций, многопоточности, CDI и других вещей, обычно требуется знание:
    • Servlet API
    • JSP
    • JDBC
    • JPA
    • Trancsaction API
    • Java Message Service API
    • Validation API
    • EJB
    • JSF (не всегда)
    • JDNI
    • JavaMail API

    В общем, всё, что входит в JavaEE. Помимо этого, энтерпрайз любит всякие платные сервера приложений, например WebSphere. Так что хотя бы основы работы с ними надо иметь. Ну и естественно, надо знать SQL и уметь работать с СУБД (обычно используют решения от Oracle).
    Частенько требуют ещё и Spring. Ну и естественно, знание ant/maven/gradle (реже).

    Для примера можешь написать приложения для управления банковскими счетами. Сделай его как EAR-проект. Установи и настрой БД, настрой ORM в проекте. Всю бизнес-логику описывай в EJB, используя всякие remote-интерфейсы, message-driven beans и т.д. Для клиентской части возьми JSF.
    Сделай всё безопасно, с транзакциями, с тестами, с разными ролями и уровнями доступа, с возможностью масштабирования и т.д.
    Ответ написан
    1 комментарий