Ответы пользователя по тегу Java
  • Совет для web проекта на Java?

    @frozen_coder
    Java-developer
    На java пишут не блоги, и не интернет-магазины. На java пишут enterprise-приложения.

    А это часто подразумевает некую автоматизацию бизнес-процессов, документооборота. Что-нибудь такое. Т.е. перевод работы некого учреждение, компании из бумажек и беготни в физическом мире в электронный документооборот.

    Примеры:
    Работа склада. Товары, складские журналы, поступление, списание и прочие прелести.
    Работа банка. Валюта, вклады и кредиты всякие и т.д. и т.п.
    Работа автомастерской, стоянки, булочной, столовой, полицейского участка, мед. пункта и тд и тп.
    Какой-нибудь справочник-реестр-библиотека-каталог каких-нибудь составных записей из разных других записей, в которых тоже есть какие-нибудь записи с возможностью добавления, удаления, объединения, редактирования при условиях той фазы луны, погоды за окном и вашего расположения духа.
    Еще лучше, если это дело будет интегрироваться с какой-нибудь другой системой или реестром, через REST или SOAP.

    Берите Spring, он, как говорится, в этом enterprise-мире рулит и бибикает. Точнее Spring-Boot, SpringData, SpringSecurity и т.п.
    Вот вам для начала сервис для генерации проекта:
    https://start.spring.io/

    Примеры смотрите в реализации классической PetClinic:
    https://github.com/spring-petclinic

    Также у спринга отличные доки и куча примеров по всей сети.

    Для тестов берите Spock или Junit (Я предпочитаю Junit + Kotlin). Для ui-тестов можно Geb - он очень похож на Spock.
    Ответ написан
    3 комментария
  • Как в Spock (groovy) ловить исключения?

    @frozen_coder
    Java-developer
    Что значит ловить исключения? Если проверить бросилось ли какое-нибудь исключение во время выполнения теста, то переходим на страницу документации и по поиску ищем на ней Exception Conditions - там это описано. Короче говоря, используйте thrown() метод. Но там описано только для when/then. Если код дублируется, то что мешает вынести его в метод и вызывать его потом? Возможно, я не понял вопрос и надо немного конкретнее и с примером.

    spockframework.org/spock/docs/1.1-rc-4/all_in_one.html
    Ответ написан
  • Как влиться в Spring и что на нем разрабатывать в одиночку?

    @frozen_coder
    Java-developer
    Как уже писали ранее, посмотрите реализации классического примера на Spring - Pet Clinic
    https://github.com/spring-petclinic

    Spring используют для Enterprise - а это значит автоматизация работы различных предприятий, учреждений и т.п. Вот и сделайте что-то подобное.

    Примеры:
    Работа магазина. Там есть всякие товары, продажа-покупка и т.д. и т.п. Можно наворотить.
    Работа склада. Тоже самое, товары, складские журналы, поступление, списание и прочие прелести.
    Работа банка. Валюта, вклады и кредиты всякие и т.д. и т.п.
    Работа автомастерской, стоянки, булочной, столовой, полицейского участка, мед. пункта и тд и тп.
    Какой-нибудь справочник-реестр-библиотека-каталог каких-нибудь составных записей из разных других записей, в которых тоже есть какие-нибудь записи с возможностью добавления, удаления, объединения, редактирования при условиях той фазы луны, погоды за окном и вашего расположения духа.

    Еще Spring - это в основном система для интеграции. Вот и прикручивайте различные штуки к нему. Сделайте SOAP-сервис, что-нибудь для ORM, Security, можно очередь забабахать, можно облака прикрутить, даже вроде graphQL можно или можно будет.

    Посмотреть, что можно накрутить и сгенерить новый проект можно с помощью такого вот сервиса:
    https://start.spring.io/
    Ответ написан
    Комментировать
  • Можно написать для существующего java приложения unit тесты на kotlin?

    @frozen_coder
    Java-developer
    Можно. Пишем. Всё ок.
    https://mvnrepository.com/artifact/org.jetbrains.k...
    Ответ написан
    Комментировать
  • Где взять задачи/мини-проекты по ООП?

    @frozen_coder
    Java-developer
    Уже написали, что это просто подход. А я дам вам пару наводок для размышления.

    ООП парадигма нужна для представления объектов и процессов из реального мира в виртуальном через абстракции, грубо говоря. Так вот и переводите какие-нибудь процессы и объекты из жизни в абстракции.

    Примеры:
    Работа магазина. Там есть всякие товары, продажа-покупка и т.д. и т.п. Можно наворотить.
    Работа склада. Тоже самое, товары, складские журналы, поступление, списание и прочие прелести.
    Работа банка. Валюта, вклады и кредиты всякие и т.д. и т.п.
    Работа автомастерской, стоянки, булочной, столовой, полицейского участка, мед. пункта и тд и тп.
    Какой-нибудь справочник-реестр-библиотека-каталог каких-нибудь составных записей из разных других записей, в которых тоже есть какие-нибудь записи с возможностью добавления, удаления, объединения, редактирования при условиях той фазы луны, погоды за окном и вашего расположения духа.
    И побольше наследований и всяких отношений между сущностями.

    Также советую почитать книгу банды четырех про паттерны ООП. Возможно тоже в голову полезут примеры, а руки что-нибудь и реализуют.
    Ответ написан
    Комментировать
  • Стоит ли изучать Kotlin, если не знаешь Java?

    @frozen_coder
    Java-developer
    Не стоит. Котлин без java далеко не уедет, только в связке с java он имеет смысл, ибо без java у Котлина нет нормальной экосистемы из библиотек (по крайней мере пока что), фрейморков и прочих плюшек. Это просто сахарный хайповый язык. Они, вроде как хотят выйти за пределы jvm и прочее, ну ок, но не сейчас. Заменит? Очень надо постараться и предложить свою альтернативную богатую экосистему библиотек и что-то ещё, кроме сахара.
    Ответ написан
    2 комментария
  • Насколько часто используется spring boot?

    @frozen_coder
    Java-developer
    Стильно, модно, молодежно, используйте.
    Ответ написан
    Комментировать
  • Есть ли конвертер кодов?

    @frozen_coder
    Java-developer
    Это назвается трансляция.
    Можете погуглить запросом "транслятор с C# на Java" и аналогичным на англ.
    первая же ссылка https://www.varycode.com/converter.html
    Но что-то мне подсказывает, что качество транслированого кода будет такое себе, особенно по читаемости, потом ручками править и всё смотреть.
    Ответ написан
  • Что можно тянуть в одного на Java?

    @frozen_coder
    Java-developer
    Напишите файловый сервер с возможностью загрузки файлов через ftp-клиент, через web-морду, через SOAP ( или REST), через мобильную приложуху с аутентификацией, базой юзеров, также можно в базе хранить какую-нибудь метоинформацию о файле. Например, может быть такой маленький личный фотоальбом с подписями(блог-постами, комментами etc.), фотки из которого доступно скачать и залить повсякому. Попробуете всё.
    web и Java = Enterprise. Это приложения масштаба предприятия, т.е. они как-то автоматизируют его бизнес-процессы и документооборот, переносят его работу в web и электронный формат. Они также могут общаться с другими приложениями, системами. Отсюда пляшем. Вам нужно какое-то предприятие, у которого вся работа в оффлайн, всё плохо, бюрократия и ад. Придумайте сложный бизнес-процесс со сложными сущностями. Разный и изменяющийся во времени и пространстве уровень доступа. Интеграция с другими приложениями или гос.сервисами. Электронный банк, электронные платежи, электронная валюта. Наворотить можно много чего.
    Начните с малого - какой-нибудь справочник-реестр с функциями CRUD - создать, прочитать, редактировать, удалить запись. Далее прикрутите систему прав и ролей пользователей(не все могут создавать, редактировать и тем более удалять). Добавьте работу с файлами - скачать, загрузить, экспорт в pdf и exel. Продолжайте накручивать своё приложение функционалом - личка и чат, доска объявлений, имитация отношений начальник - подчиненный (тайм-менеджмент, таск-менеджмент, сбор отчетов каких-нибудь по работе), уведомления (в почту, в системе, м.б. попробовать с смс), напишите другую маленькую систему и заобщайте их между собой по SOAP или REST(например, другая система может читать из справочника и что-нибудь туда писать). Берите какое-нибудь гипотетическое предприятие (склад, магазин, автосервис, школа, больница, завод и т.д.) и представьте, что ему надо свой документооборот перевести в электронный вид и максимально автоматизировать бизнес-процессы.
    Из фреймворков - семейство Spring.
    Ответ написан
    6 комментариев
  • Каков рабочий день Java Junior?

    @frozen_coder
    Java-developer
    Всё начинается с малого. У меня была отличная задача - добавить одно поле, в базу, в класс, вывести на страницу, в класс веб-сервиса. Так я прошелся по всем слоям системы и познакомился с ней, с базой, с SOAP, с web-слоем. Считаю одной из лучших задач для джуна, позволяющей познакомиться со всеми слоями проекта. Вообще задания строятся на терминалогии предметной области, затем она обсуждается с наставником - как будешь делать, какие есть варианты, в результате чего определяется в общих словах реализация, ну а потом вперед, пишишь код, пишишь тест, показываешь, что всё работает, если ок, то коммитишь, потом наставник делает код-ревью и если проходит, то пойдет в прод, если нет, то исправляешь и по новой. Чем дальше в лес, тем дальше уходят от наставлений "Напишешь такой класс, используй такие интрефейсы " и т.п. в сторону самостоятельности и общения на языке предметной области, а потом уже и попроектировать дадут, а потом уже и не заметил как сам начал джунов наставлять.
    Ответ написан
    Комментировать
  • Обработка файлов xls на Java?

    @frozen_coder
    Java-developer
    Ответ написан
    Комментировать
  • С чего начать изучать бекенд разработку на Java?

    @frozen_coder
    Java-developer
    1. Про java ee почитать, поделать простые примерчики, чтобы понять как оно работает и устроено. Почитать про REST.
    2. Выбираем между Spring(Core, MVC, Boot, Data, Security) c его множеством фреймворков и Play. Лично с Play не работал.
    3. Ресурсы - документация лучший ресурс. Еще есть https://www.mkyong.com/ + дальше в гугл. Дофигища ресурсов можно найти + на тостере поискать, уже были подобные вопросы, пачка прям.
    Ответ написан
    Комментировать
  • Какой ЯП предпочитаете в разработке автотестов на Селениум?

    @frozen_coder
    Java-developer
    Ответ написан
    Комментировать
  • Легчайшая админка для блога на Java?

    @frozen_coder
    Java-developer
    Для всяких бложиков есть php. Это не совсем сфера, в которой пишут web на Java. Но если очень хочется потренироваться именно на java и в бложикописательстве, то кто ж вам запретит. Классический подход - взять Spring и Hibernate. Хранить текста в базе, в админке просто написать редактор текста на js, где будете писать свои новые статейки, нажимать опубликовать и отправлять новый текст в базу. В самом бложике будете отображать все текста, загружая их из базы. Вот и всё. По такому сценарию, сначала напишите часть админки, чтобы можно было сохранять текста в базу. Потом уже можно будет написать часть, которая будет их выводить. Всё это представляется не шибко сложной и неплохой задачей для новичка. Удачи.
    Ответ написан
    1 комментарий
  • Java: в каком направлении двигаться после Head First Java?

    @frozen_coder
    Java-developer
    Ответ написан
    Комментировать
  • Всегда ли следует применять инкапсуляцию?

    @frozen_coder
    Java-developer
    Есть стандарт Java Bean. Так что в бинах только через геттеры и сеттеры, никаких public полей. Поле public вообще редкость. Если вас утомляет писать или генерить сеттеры и геттеры, то пользуйтесь Lombok.
    Ответ написан
    1 комментарий
  • Почему нельзя использовать ArrayList вне функции?

    @frozen_coder
    Java-developer
    LI.add(1231);

    В Java не функции, а методы класса, вы пытаетесь вызвать метод на поле класса вне метода, в определении класса. Да так вообще ни с чем нельзя. Если вам нужно установить начальное значение компонента, то делайте это в конструкторе.
    Ответ написан
    Комментировать
  • Учить ли всё из книги?

    @frozen_coder
    Java-developer
    Collection важная тема, нужно знать, когда какую применять. Изучать всё надо на практике, а не заучиванием каким-то. Надо понимать основные идеи и помнить "якоря", зацепки, которые помогут вам вспомнить в какую сторону копать, если понадобится на практике. Нужно не просто читать, а выполнять примеры, что-то менять в них. Параллельно писать свою приложуху и думать как это можно использовать на практике. Можно идти с другой стороны - решать задачу и по мере столкновения с проблемами искать их решения в книгах, интернетах и проч.
    Ответ написан
    Комментировать
  • С чего начать учить java на ubuntu 16 desktop?

    @frozen_coder
    Java-developer
    Гуглите лучше. Всё уже разжевано на тосторе не раз. Хоть бубунта, хоть венда, хоть мака, разницы нет. Поставили Oracle JDK, прописали JAVA_HOME и вперёд. Есть куча статей как это сделать в убунте. IDE на ваш вкус, но эталон сейчас - IDEA. Самый актуальный ресурс - оракловская документация. Из книг - Хорстман, Эккель, Блох + Шилдт как справочник. Как быть, что делать? Писать код, сначала примеры из книг, потом своё что-нибудь. Например, напишите файл-сервер, на который можно залить файлы через ftp, андроид приложуху, web-морду и SOAP - попробуете всё.
    Ответ написан
    3 комментария
  • Как работает Angular2 и Java?

    @frozen_coder
    Java-developer
    Да по идее пофиг Java-неJava, Angular-неAngular, клиент с сервером общается через REST. Сервер предоставляет API, принимает запросы от клиента и отправляет ему ответы. Клиент это API юзает, отправляет запросы и получает ответы. Вам нужен не обязательно связка Angular2 и Java, начните с тура героев лучше из доки Angular2. Потом на стороне Java API по-разному можно делать, там может быть Java EE, Spring, Play может еще чего. Но суть одна - REST.
    Ответ написан
    Комментировать