Всем привет!
Расскажу немного про себя, как и почему я создавал курс.
Как рассказывал ранее, я был первым из своих друзей и знакомых, кто начал работать Java разработчиком. Спустя примерно год опыта на первой работе, многие из моих знакомых тоже захотели себя в этом попробовать.
Часто были вопросы вроде: с чего начать, какие видео посмотреть, какую книгу лучше выбрать и т.д. Сложно было помочь с такого масштаба вопросами, потому что когда учился сам, то было много разных источников, которые уже не собрать, да и эффективность многих из них тоже под вопросом.
Я продолжал строить свою карьеру, для перехода из одной компании в другую около сотни собеседований было вполне нормальной практикой. Так накопился большой опыт собеседований и материалов для подготовки. Параллельно с этим, поток желающих начать, как и желающих уже сменить работу, не уменьшался.
Недостаток эффективности в обучении все еще сохранялся, особенно в продвинутых темах как Spring, Hibernate и прочие, не говоря уже про собеседования и pet проекты. После успешных кейсов своих друзей я решил создать курс. Я хорошо помнил свои проблемы в обучении, видел с чем сталкиваются другие и чего не хватает для понимания сложных тем.
Помимо цели обучения, есть цель устройства на работу. Пройдя очень много собеседований, я начал понимать, как это работает. Первое, что нужно сделать, это попасть на собеседование, нужно хорошее резюме, и пройти HR (HR делит ваше резюме на 2, значит нужно его умножить на 3? а если нечего умножать?). Далее собеседование. На самом старте собеседований не много, значит даже к первому нужно быть максимально готовым.
Учитывая все особенности получения первой работы, я перешел к созданию курса. После обучения нескольких потоков людей уже было несколько редакций и расширений курса, так как требования к junior разработчикам все-таки растут.
👉 JavaStart. Подписаться
Расскажу немного про себя, как и почему я создавал курс.
Как рассказывал ранее, я был первым из своих друзей и знакомых, кто начал работать Java разработчиком. Спустя примерно год опыта на первой работе, многие из моих знакомых тоже захотели себя в этом попробовать.
Часто были вопросы вроде: с чего начать, какие видео посмотреть, какую книгу лучше выбрать и т.д. Сложно было помочь с такого масштаба вопросами, потому что когда учился сам, то было много разных источников, которые уже не собрать, да и эффективность многих из них тоже под вопросом.
Я продолжал строить свою карьеру, для перехода из одной компании в другую около сотни собеседований было вполне нормальной практикой. Так накопился большой опыт собеседований и материалов для подготовки. Параллельно с этим, поток желающих начать, как и желающих уже сменить работу, не уменьшался.
Недостаток эффективности в обучении все еще сохранялся, особенно в продвинутых темах как Spring, Hibernate и прочие, не говоря уже про собеседования и pet проекты. После успешных кейсов своих друзей я решил создать курс. Я хорошо помнил свои проблемы в обучении, видел с чем сталкиваются другие и чего не хватает для понимания сложных тем.
Помимо цели обучения, есть цель устройства на работу. Пройдя очень много собеседований, я начал понимать, как это работает. Первое, что нужно сделать, это попасть на собеседование, нужно хорошее резюме, и пройти HR (HR делит ваше резюме на 2, значит нужно его умножить на 3? а если нечего умножать?). Далее собеседование. На самом старте собеседований не много, значит даже к первому нужно быть максимально готовым.
Учитывая все особенности получения первой работы, я перешел к созданию курса. После обучения нескольких потоков людей уже было несколько редакций и расширений курса, так как требования к junior разработчикам все-таки растут.
👉 JavaStart. Подписаться
👍14🔥4⚡2🤩1
Какая конструкция используется для обработки исключений в Java?
Anonymous Quiz
1%
for
3%
switch–case
3%
if–else
1%
foreach
91%
try–catch
0%
while
1%
Посмотреть ответ
❤3✍2👍2🔥2🎉2
Всем привет!
Мы рады анонсировать вам платформу JavaStart
Вы уже знаете некоторую информацию про курс, но мы перечислим важные темы:
✅ Курс будет доступен онлайн на платформе пожизненно;
✅ Среднее прохождение курса составляет от 7–10 месяцев. Вы будете заниматься индивидуально и в своем темпе;
✅ Личный ментор;
✅ 3 тестовых собеседования;
✅ Три пет проекта для портфолио.
Первый проект только Java, второй Spring + Hibernate и финальный – система микросервисных приложений, которая включает в себя полный стек современных технологий крупных компаний – Spring Cloud, Docker, PostgreSQL, RabbitMQ.
Всего в курсе будет 4 модуля по 9–12 занятий. С программой курса вы можете ознакомиться на сайте. После второго, третьего и четвертого модуля ментор проведет вам собеседования.
Для того, чтобы приступить к прохождению курса нужно зарегистрироваться на сайте и в личном кабинете выбрать способ оплаты. В течение дня мы с вами свяжемся и закрепим за вами ментора.
Вы сможете приступить к занятиям в любое время как будете готовы, с вами свяжется ваш ментор и вы начнете обсуждать план обучения.
Задавайте любые вопросы, на сайте есть ссылки на чат с поддержкой и номер телефона для связи – можно писать как в💬 Telegram, так и в 💬 WhatsApp
Для тех, кто дочитал до конца, – промокод Start даст скидку 15% при оплате 😊
👉 JavaStart. Подписаться
Мы рады анонсировать вам платформу JavaStart
Вы уже знаете некоторую информацию про курс, но мы перечислим важные темы:
Первый проект только Java, второй Spring + Hibernate и финальный – система микросервисных приложений, которая включает в себя полный стек современных технологий крупных компаний – Spring Cloud, Docker, PostgreSQL, RabbitMQ.
Всего в курсе будет 4 модуля по 9–12 занятий. С программой курса вы можете ознакомиться на сайте. После второго, третьего и четвертого модуля ментор проведет вам собеседования.
Для того, чтобы приступить к прохождению курса нужно зарегистрироваться на сайте и в личном кабинете выбрать способ оплаты. В течение дня мы с вами свяжемся и закрепим за вами ментора.
Вы сможете приступить к занятиям в любое время как будете готовы, с вами свяжется ваш ментор и вы начнете обсуждать план обучения.
Задавайте любые вопросы, на сайте есть ссылки на чат с поддержкой и номер телефона для связи – можно писать как в
Для тех, кто дочитал до конца, – промокод Start даст скидку 15% при оплате 😊
👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2❤1👏1🎉1🤩1
Новое видео на Ютуб канале по интерфейсу Map в Java.
Друзья, для тех, кто лучше воспринимает информацию по видео, на нашем YouTube канале вышел короткий и очень наглядный ролик под названием “Интерфейс Map и его реализации”.
Переходите по ссылке и смотрите скорее! И конечно же подписывайтесь на наш канал JavaStart, чтобы не пропустить следующие обучающие видеоуроки по нашей любимой Java👩💻
https://www.youtube.com/watch?v=da99gND5RcI
👉 JavaStart. Подписаться
Друзья, для тех, кто лучше воспринимает информацию по видео, на нашем YouTube канале вышел короткий и очень наглядный ролик под названием “Интерфейс Map и его реализации”.
Переходите по ссылке и смотрите скорее! И конечно же подписывайтесь на наш канал JavaStart, чтобы не пропустить следующие обучающие видеоуроки по нашей любимой Java
https://www.youtube.com/watch?v=da99gND5RcI
👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7✍2🔥2⚡1
Что такое commit в системе контроля версий Git?
Anonymous Quiz
1%
Откат изменений к предыдущей версии
23%
Загрузка изменений на удаленный репозиторий
62%
Добавление изменений в локальный репозиторий
2%
Создание новой ветки
7%
Отображение различий между версиями файлов
4%
Посмотреть ответ
👍4🎉2🔥1👨💻1
Паттерны проектирования в Java. Часть 1.
Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят – знакомы ли вы с паттернами проектирования?
Также попросят рассказать о самом распространенном паттерне Singleton. Давайте разбираться.
Паттерны проектирования (шаблоны проектирования) – это готовые к использованию решения часто возникающих в программировании задач. Это не класс и не библиотека, которую можно подключить к проекту, это нечто большее. Паттерн проектирования, подходящий под задачу, реализуется в каждом конкретном случае самим разработчиком.
Следует, помнить, что такой паттерн, будучи примененным неправильно или к неподходящей задаче, может принести немало проблем. Тем не менее, правильно примененный паттерн поможет решить задачу легко и просто.
Давайте я перечислю некоторые типы паттернов с кратким описанием, чтобы вы понимали, что их на самом деле очень много. А потом поговорим про каждый подробнее и в частности про Singleton паттерн.
И так, типы паттернов бывают:
– Порождающие.
Порождающие паттерны предоставляют механизмы инициализации, позволяя создавать объекты удобным способом.
– Структурные.
Структурные паттерны определяют отношения между классами и объектами, позволяя им работать совместно.
– Поведенческие.
Поведенческие паттерны используются для того, чтобы упростить взаимодействие между сущностями.
В следующих постах поговорим о представителях каждого типа паттернов проектирования.
👉 JavaStart. Подписаться
Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят – знакомы ли вы с паттернами проектирования?
Также попросят рассказать о самом распространенном паттерне Singleton. Давайте разбираться.
Паттерны проектирования (шаблоны проектирования) – это готовые к использованию решения часто возникающих в программировании задач. Это не класс и не библиотека, которую можно подключить к проекту, это нечто большее. Паттерн проектирования, подходящий под задачу, реализуется в каждом конкретном случае самим разработчиком.
Следует, помнить, что такой паттерн, будучи примененным неправильно или к неподходящей задаче, может принести немало проблем. Тем не менее, правильно примененный паттерн поможет решить задачу легко и просто.
Давайте я перечислю некоторые типы паттернов с кратким описанием, чтобы вы понимали, что их на самом деле очень много. А потом поговорим про каждый подробнее и в частности про Singleton паттерн.
И так, типы паттернов бывают:
– Порождающие.
Порождающие паттерны предоставляют механизмы инициализации, позволяя создавать объекты удобным способом.
– Структурные.
Структурные паттерны определяют отношения между классами и объектами, позволяя им работать совместно.
– Поведенческие.
Поведенческие паттерны используются для того, чтобы упростить взаимодействие между сущностями.
В следующих постах поговорим о представителях каждого типа паттернов проектирования.
👉 JavaStart. Подписаться
👍16⚡4✍1🔥1
Паттерны проектирования в Java. Порождающие. Часть 2.
Порождающие паттерны:
Singleton (Одиночка) - ограничивает создание одного экземпляра класса, обеспечивает доступ к его единственному объекту;
Factory (Фабрика) - используется, когда у нас есть суперкласс с несколькими подклассами и на основе ввода, нам нужно вернуть один из подкласса;
Builder (Строитель) - используется для создания сложного объекта с использованием простых объектов. Постепенно он создает больший объект от малого и простого объекта;
Prototype (Прототип) - помогает создать дублированный объект с лучшей производительностью, вместо нового создается возвращаемый клон существующего объекта;
И др.
К Синглтону ещё вернёмся. Как я уже говорил, о нем почти всегда спрашивают на собеседованиях 🤓
👉 JavaStart. Подписаться
Порождающие паттерны:
Singleton (Одиночка) - ограничивает создание одного экземпляра класса, обеспечивает доступ к его единственному объекту;
Factory (Фабрика) - используется, когда у нас есть суперкласс с несколькими подклассами и на основе ввода, нам нужно вернуть один из подкласса;
Builder (Строитель) - используется для создания сложного объекта с использованием простых объектов. Постепенно он создает больший объект от малого и простого объекта;
Prototype (Прототип) - помогает создать дублированный объект с лучшей производительностью, вместо нового создается возвращаемый клон существующего объекта;
И др.
К Синглтону ещё вернёмся. Как я уже говорил, о нем почти всегда спрашивают на собеседованиях 🤓
👉 JavaStart. Подписаться
👍6🔥6✍2❤1
Что произойдет, если метод в классе объявлен с модификатором доступа private?
Anonymous Quiz
4%
Метод будет доступен только внутри того же пакета
6%
Метод будет доступен внутри того же пакета и для наследников
0%
Метод будет доступен отовсюду, даже за пределами пакета и наследников
88%
Метод будет доступен только внутри того же класса
1%
Посмотреть ответ
👍4✍3🎉2❤1
Паттерны проектирования в Java. Структурные. Часть 3.
Структурные паттерны:
Adapter (Адаптер) - это конвертер между двумя несовместимыми объектами. Используя паттерн адаптера, мы можем объединить два несовместимых интерфейса;
Proxy (Заместитель) - представляет функциональность другого класса;
Facade (Фасад) - обеспечивает простой интерфейс для клиента, и клиент использует интерфейс для взаимодействия с системой;
Bridge (Мост) - делает конкретные классы независимыми от классов реализации интерфейса;
Decorator (Декоратор) - добавляет новые функциональные возможности существующего объекта без привязки его структуры;
И др.
Старайтесь запомнить, будет отлично, если сможете рассказать это на собеседовании, хотя бы пару слов 🔥
👉 JavaStart. Подписаться
Структурные паттерны:
Adapter (Адаптер) - это конвертер между двумя несовместимыми объектами. Используя паттерн адаптера, мы можем объединить два несовместимых интерфейса;
Proxy (Заместитель) - представляет функциональность другого класса;
Facade (Фасад) - обеспечивает простой интерфейс для клиента, и клиент использует интерфейс для взаимодействия с системой;
Bridge (Мост) - делает конкретные классы независимыми от классов реализации интерфейса;
Decorator (Декоратор) - добавляет новые функциональные возможности существующего объекта без привязки его структуры;
И др.
Старайтесь запомнить, будет отлично, если сможете рассказать это на собеседовании, хотя бы пару слов 🔥
👉 JavaStart. Подписаться
✍8👍5❤2🔥1
Что произойдет, если объявить переменную с модификатором final?
Anonymous Quiz
9%
Значение переменной может быть изменено только один раз
3%
Переменная будет доступна только внутри класса
1%
Переменная будет удалена из памяти после первого использования
85%
Значение переменной не может быть изменено
1%
Значение переменной можно изменять сколько угодно раз
2%
Посмотреть ответ
👍5✍2🎉2🔥1👏1
Паттерны проектирования в Java. Поведенческие. Часть 4.
Поведенческие паттерны:
Template Method (Шаблонный метод) - определяющий основу алгоритма и позволяющий наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом;
Observer (Наблюдатель) - позволяет одним объектам следить и реагировать на события, происходящие в других объектах;
Strategy (Стратегия) - алгоритм стратегии может быть изменен во время выполнения программы;
И др.
А в одном из следующих постов разберем подробно уже ставший нам знакомым Singleton паттерн.
👉 JavaStart. Подписаться
Поведенческие паттерны:
Template Method (Шаблонный метод) - определяющий основу алгоритма и позволяющий наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом;
Observer (Наблюдатель) - позволяет одним объектам следить и реагировать на события, происходящие в других объектах;
Strategy (Стратегия) - алгоритм стратегии может быть изменен во время выполнения программы;
И др.
А в одном из следующих постов разберем подробно уже ставший нам знакомым Singleton паттерн.
👉 JavaStart. Подписаться
👍7✍2❤1👨💻1
Паттерны проектирования в Java. Singleton. Часть 5.
Как я уже говорил ранее, практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят о таком паттерне как Singleton. Давайте рассмотрим его подробно. Что это за зверь такой?
Синглтон — это один из самых простых шаблонов (паттернов) проектирования, который применяется к классу. Иногда говорят: “этот класс — синглтон”, подразумевая, что этот класс реализует паттерн проектирования синглтон.
Иногда необходимо написать класс, у которого можно будет создать только один объект. Например, класс, отвечающий за логирование или подключение к базе данных.
Шаблон проектирования синглтон описывает, как мы можем выполнить такую задачу.
Синглтон — это шаблон (паттерн) проектирования, который делает две вещи:
– Дает гарантию, что у класса будет всего один экземпляр класса;
– Предоставляет глобальную точку доступа к экземпляру данного класса.
Отсюда — две особенности, характерные для практически каждой реализации паттерна синглтон:
– Приватный конструктор. Ограничивает возможность создания объектов класса за пределами самого класса;
– Публичный статический метод, который возвращает экземпляр класса. Данный метод называют getInstance. Это глобальная точка доступа к экземпляру класса.
Давайте теперь рассмотрим одни из распространенных методов создания Синглтона. Рекомендую в них разобраться и запомнить, воспроизвести и объяснить этот код на собеседовании будет очень даже достаточно!
Первый пример на Картинке 1.
Закрытый конструктор вызывается один раз для инициализации поля INSTANCE. Открытых конструктор у класса нет, поэтому после инициализации класса будет существовать только один экземпляр Singleton.
Существует другой вариант (Картинка 2), когда вместо открытого статического поля создается открытый статический метод, а поле становится закрытым.
Второй способ удобен тем, что вы можете позже отказаться от синглтона, но вам не придется сильно переписывать код.
👉 JavaStart. Подписаться
Как я уже говорил ранее, практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят о таком паттерне как Singleton. Давайте рассмотрим его подробно. Что это за зверь такой?
Синглтон — это один из самых простых шаблонов (паттернов) проектирования, который применяется к классу. Иногда говорят: “этот класс — синглтон”, подразумевая, что этот класс реализует паттерн проектирования синглтон.
Иногда необходимо написать класс, у которого можно будет создать только один объект. Например, класс, отвечающий за логирование или подключение к базе данных.
Шаблон проектирования синглтон описывает, как мы можем выполнить такую задачу.
Синглтон — это шаблон (паттерн) проектирования, который делает две вещи:
– Дает гарантию, что у класса будет всего один экземпляр класса;
– Предоставляет глобальную точку доступа к экземпляру данного класса.
Отсюда — две особенности, характерные для практически каждой реализации паттерна синглтон:
– Приватный конструктор. Ограничивает возможность создания объектов класса за пределами самого класса;
– Публичный статический метод, который возвращает экземпляр класса. Данный метод называют getInstance. Это глобальная точка доступа к экземпляру класса.
Давайте теперь рассмотрим одни из распространенных методов создания Синглтона. Рекомендую в них разобраться и запомнить, воспроизвести и объяснить этот код на собеседовании будет очень даже достаточно!
Первый пример на Картинке 1.
Закрытый конструктор вызывается один раз для инициализации поля INSTANCE. Открытых конструктор у класса нет, поэтому после инициализации класса будет существовать только один экземпляр Singleton.
Существует другой вариант (Картинка 2), когда вместо открытого статического поля создается открытый статический метод, а поле становится закрытым.
Второй способ удобен тем, что вы можете позже отказаться от синглтона, но вам не придется сильно переписывать код.
👉 JavaStart. Подписаться
🔥7👍5❤2⚡1✍1
Какой интерфейс в Java используется для реализации множественного наследования?
Anonymous Quiz
2%
Runnable
10%
Serializable
9%
Cloneable
17%
Extendable
57%
Невозможно реализовать множественное наследование в Java
5%
Посмотреть ответ
👍7✍4❤2👏1🎉1
Что такое логирование и логи в Java?
Наверняка вы когда-либо уже слышали слово лог / логи касательно разработки. Давайте разберемся, что же такое логи?
Логирование Java — это процесс, при котором программа записывает сведения о своем исполнении в консоль, или некий файл, или базу данных. Логирование дает возможность отслеживать ход исполнения программы и конкретно кода.
Иногда с вашим программным продуктом происходит что-то непонятное, и он начинает себя вести не так, как задумано. Первое, что приходит на ум в этом случае, — в программе есть наличие ошибок. Самый простой способ это проверить — использовать логи программы, так как это возможность посмотреть, что происходит «внутри» самой программы в конкретном месте.
Логирование Java напоминает процесс работы «черного ящика» в самолете — в случае возникновения критических ситуаций оно способно «рассказать», что не так работает и на что обратить внимание.
В разработке лог — это специальный файл, который выполняет функцию «бортового журнала» программы. Именно в этот файл, а точнее в лог, программа производит записи о своей работе. Лог-файлы программа может создавать самостоятельно, чтобы вносить туда текстовые пометки.
Если мы с вами посмотрим на Картинку 1, то увидим так называемые логи:
Сначала записаны строки с текстом сообщения “Что-то не важное”
Затем строка с текстом “Состояние объекта”
Далее выводится сообщение “Какая-то информация”
“Предупреждение”
“Ошибка!”
И наш привычный System.out.println(“Hello world!”);
Далее снова строки логирования.
Логирование в Java приложении можно сделать в любом месте нашего приложения, перед любым методом или после него, передав в сообщение логирования свой текст или значение какой-либо переменной в конкретный момент времени.
В коде строка логирования с кастомным текстом сообщения может выглядеть, например, как на Картинке 2 - перед методом сохранения информации о юзере в базу мы пишем такую строчку с текстом логирования:
log.info("Saving data for user #{}", userId);
// Пусть userId у нас равен 123
someRepository.save(user);
И в лог файле непосредственно перед вызовом метода сохранения мы получим строку:
Saving data for user #123
Обратите внимание, что на Картинке 1 сообщения логирования различаются цветом. Это потому что существуют разные уровни логирования. Расскажу о них в следующем посте!
👉 JavaStart. Подписаться
Наверняка вы когда-либо уже слышали слово лог / логи касательно разработки. Давайте разберемся, что же такое логи?
Логирование Java — это процесс, при котором программа записывает сведения о своем исполнении в консоль, или некий файл, или базу данных. Логирование дает возможность отслеживать ход исполнения программы и конкретно кода.
Иногда с вашим программным продуктом происходит что-то непонятное, и он начинает себя вести не так, как задумано. Первое, что приходит на ум в этом случае, — в программе есть наличие ошибок. Самый простой способ это проверить — использовать логи программы, так как это возможность посмотреть, что происходит «внутри» самой программы в конкретном месте.
Логирование Java напоминает процесс работы «черного ящика» в самолете — в случае возникновения критических ситуаций оно способно «рассказать», что не так работает и на что обратить внимание.
В разработке лог — это специальный файл, который выполняет функцию «бортового журнала» программы. Именно в этот файл, а точнее в лог, программа производит записи о своей работе. Лог-файлы программа может создавать самостоятельно, чтобы вносить туда текстовые пометки.
Если мы с вами посмотрим на Картинку 1, то увидим так называемые логи:
Сначала записаны строки с текстом сообщения “Что-то не важное”
Затем строка с текстом “Состояние объекта”
Далее выводится сообщение “Какая-то информация”
“Предупреждение”
“Ошибка!”
И наш привычный System.out.println(“Hello world!”);
Далее снова строки логирования.
Логирование в Java приложении можно сделать в любом месте нашего приложения, перед любым методом или после него, передав в сообщение логирования свой текст или значение какой-либо переменной в конкретный момент времени.
В коде строка логирования с кастомным текстом сообщения может выглядеть, например, как на Картинке 2 - перед методом сохранения информации о юзере в базу мы пишем такую строчку с текстом логирования:
log.info("Saving data for user #{}", userId);
// Пусть userId у нас равен 123
someRepository.save(user);
И в лог файле непосредственно перед вызовом метода сохранения мы получим строку:
Saving data for user #123
Обратите внимание, что на Картинке 1 сообщения логирования различаются цветом. Это потому что существуют разные уровни логирования. Расскажу о них в следующем посте!
👉 JavaStart. Подписаться
👍6⚡1✍1❤1👨💻1