Местоположение
Россия

Достижения

Все достижения (11)

Наибольший вклад в теги

Все теги (88)

Лучшие ответы пользователя

Все ответы (182)
  • Системное администрирование Linux, с чего начать?

    @frozen_coder
    Java-developer
    Как уже написал Tremo - откажитесь, по максимуму, от GUI. Консоль Ваш друг, товарищ и жена. Т.е. изучаем Bash. Все манипуляции с файлами через консоль. Редактор vim или nano. В любом обучении главное - это практика. Берите и развретывайте различные сервера - DNS, ftp, почтовики, сервера приложений (всякие apache, Tomcat, Wildfly, nginx), openVPN, XMPP. Сделайте локальную сеть из виртуалок, по возможности можно и на физической попробовать. Заюзайте smb, ssh. Разверните LDAP. Базы данных и их администрирование тоже в плюс. Еще можно развернуть и настроить TeamCity, GitLab, RedMine. Познакомтесь с Docker.
    Далее можно и python изучить для автоматизации.
    В дальнейшем можно и до кластеров дойти.
    Углубляйте свои знания сетей. Книги, статьи, журналы. На хабре вообще завались всего.
    Ответ написан
  • Что можно тянуть в одного на Java?

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

    @frozen_coder
    Java-developer
    Меньше слушайте всех, больше делайте руками. "Вам будет очень сложно" - это субъективная оценка. Подходите к новому языку как к новому (не смотрите на него как на свой старый с другим синтаксисом). Не пытайтесь притащить свои старые привычки на новый язык. Есть некоторые аналогии, но всегда интересуйтесь, а как тут принято делать "это".

    Далее, вам какую задачу решать? Язык выбирают под проект, под задачу, под требования, а не проще. Если говорить о коне в вакууме, то попробуйте Python
    Ответ написан
  • Можете посоветовать как быть дальше?

    @frozen_coder
    Java-developer
    "Хочу сделать основным Java" - очень расплывчато. Java - это инструмент для разных сфер: android, desktop, web. Я бы советовал в web - наиболее распространенная сфера; ванги говорят, что android-приложения уступят когда-нибудь своё место web. Ну это всё дело вкуса и чего ВЫ хотите. Итак, например, хотим в Java-web:
    1) А Вы уверены, что знаете Java? Может есть нюансы и маленькие пробелы? (пробежаться по Эккелю и Блоху, можно посмотреть статейки о подготовке к сертификации - много мелочей, неочевидностей раскрыто) Разобрать Java 8, особое внимание stream.
    2) Ок, Java SE знаете, а Java EE? Тут можно очень досконально не вникать на первых порах - фреймоворки нам помогут.
    3) Пошли Фреймворки и библиотеки - Семейство Spring: Core, MVC, Boot, Data, Security. Для ORM - Hibernate (можно вместе с Spring Data, можно вместо, посмотреть нужно). Для уменьшения болерплейта - Lombok.
    4) Для тестирования JUnit, потом посмотрите Spock Framework (тут мы знакомимся еще и с Groovy).
    5) Плавно переходим к клиенту. Тут нам Java становится мало. Вспоминаем html и css. Если не знаете JS - узнать. Дальше дело вкуса. Выбираем(пишем своё) библиотеку или модный фреймворк, изучаем пилим клиентскую часть. На этапе разбирательств с клиентом познакомиться(если вдруг чего не знали) с REST, http, https, http 2.0, webSockets, json, ajax что такое DTO.
    6) Для UI тестирования попробуйте Geb.
    7) WebServices! SOAP, Jaxb, SOAP MTOM.
    8) Можете попутно расширить кругозор по БД - попробовать вместо mysql postgres или NoSql базы.
    Вот это был примерный набор инструментов.
    Но главное - практика. Нужен свой учебный проект. Начинаете его делать - появляются проблемы - смотрите как такое можно решить существующими инструментами - тут же применяете теорию на практике.
    Предлагаю писать какой-нибудь корпоративный портал с каким-нибудь реестром, справочником и т.д. Включаем фантазию.
    Начните с малого - сам справочник-реестр с функциями CRUD - создать, прочитать, редактировать, удалить запись. Далее прикрутите систему прав и ролей пользователей(не все могут создавать, редактировать и тем более удалять). Добавьте работу с файлами - скачать, загрузить, экспорт в pdf и exel. Продолжайте накручивать своё приложение функционалом - личка и чат, доска объявлений, имитация отношений начальник - подчиненный (тайм-менеджмент, таск-менеджмент, сбор отчетов каких-нибудь по работе), уведомления (в почту, в системе, м.б. попробовать с смс), напишите другую маленькую систему и заобщайте их между собой по SOAP(например, другая система может читать из справочника и что-нибудь туда писать). Берите какое-нибудь гипотетическое предприятие (склад, магазин, автосервис, школа, больница, завод и т.д.) и представьте, что ему надо свой документооборот перевести в электронный вид и максимально автоматизировать бизнес-процессы.
    Короче, набирайтесь опыта и учитесь через практику, ставьте сами себе задачи и ищите пути их решения. Стажировка и работа вообще на первых порах дают мощный толчок в развитии. Не можете найти стажировку? Идите на собеседования, делайте тестовые задания - тут сразу все пробелы всплывут.
    Ответ написан
  • Как эффективно выучить технологии для backend'a?

    @frozen_coder
    Java-developer
    Я за изучение через практику. Поэтому вот вам несколько ссылок с идеями для проектов.

    1. https://eax.me/programming-language-learning/ - вот это просто огненная статья с примерами проектов для любого ЯП. Выбирайте что-нибудь по душе и пилите, в процессе изучите всё, что надо.
    2. https://proglib.io/p/project-list/ - тут дофига всякого
    3. https://habr.com/ru/post/345092/ - ну и тут чуток
    Ответ написан