Хотите ускорить написание кода и избежать повторений? Используйте Live Templates для создания шаблонов кода, которые можно вставлять за пару кликов.
🔹 Что делает
— Позволяет создавать шаблоны кода для часто используемых конструкций
— Поддерживает параметры и автозамену (например, поля и методы)
— Работает для Java, Kotlin, HTML, и других языков
🔹 Зачем это нужно
— Сокращает время на написание повторяющихся конструкций
— Уменьшает количество ошибок за счёт предсказуемых шаблонов
— Улучшает производительность и помогает не забыть важные моменты
🔹 Как использовать
— Ctrl+J (или Cmd+J на macOS) — откроет список шаблонов
— Можно создать свой шаблон в Settings → Editor → Live Templates
— Настройте шаблон под ваши нужды, и используйте его с удобным сокращением
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁38💯7❤4😢2
🛠 Грейдинг умер. На собесах теперь правит ИИ
IT-рынок в 2025 уже не тот. Забудьте сказки про «сменю компанию — сразу +100 к к зарплате». Всё: грейдинг сдулся, вакансий меньше, а на собеседованиях вас может встречать не только тимлид, но и искусственный интеллект.
🚧 Рынок стал осторожнее:
— Грейды больше не гарантируют рост.
— Джоб-борды захламлены нерелевантными откликами.
— Компании проверяют кандидатов дольше и жёстче.
🔗 Подробнее о в статье
🐸 Библиотека джависта
#буст
IT-рынок в 2025 уже не тот. Забудьте сказки про «сменю компанию — сразу +100 к к зарплате». Всё: грейдинг сдулся, вакансий меньше, а на собеседованиях вас может встречать не только тимлид, но и искусственный интеллект.
🚧 Рынок стал осторожнее:
— Грейды больше не гарантируют рост.
— Джоб-борды захламлены нерелевантными откликами.
— Компании проверяют кандидатов дольше и жёстче.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱14❤4👍1🔥1💯1
⏰ Осталось 48 часов!
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
😁2
🤓 «Сначала выучу Python идеально, а потом пойду в ML»
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
🥱3😁2❤1
ПОСЛЕДНИЙ ДЕНЬ❗
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
😁3❤1
Лето подходит к концу, а Java-мир кипит новостями. Интересные апдейты:
🔹 Compact Object Headers в JDK 25
Экономия памяти до 22 % и +10 % к скорости работы приложений. Приятный бонус для высоконагруженных систем.
🔹 Project Reactor 2025.0.0-M5
Свежая milestone-версия: стабильнее core, netty и другие модули. Reactive-код станет ещё надёжнее.
🔹 Spring Framework 7.0.0-M7
Добавлены аннотации для устойчивости и новые API для работы с сообщениями — меньше бойлерплейта, больше фокуса на бизнес-логике.
🔹 IntelliJ IDEA 2025.3
Больше не нужно выбирать: Community и Ultimate объединены. Часть функций теперь бесплатна — студия стала проще и доступнее.
🔹 GraalVM CE 24.0.2
Фиксы критичных багов и улучшения в JIT: обновление стоит поставить в первую очередь.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍1🔥1
Forwarded from Библиотека задач по Java | тесты, код, задания
Определите основную проблему кода.
Anonymous Quiz
1%
Классы помечены как @Service
90%
Возникает кольцевая зависимость
3%
Инжект бина через конструктор
2%
Отсутствие геттеров и сеттеров
4%
Посмотреть ответ
👍5🔥3❤2👏2😢2
Senior Java Developer (Blockchain) — 4 500 — 6 000 $ — удалёнка
Java Kotlin — от 100 000 до 140 000 ₽ — офис (Москва)
Java Developer (Middle+/Senior) — от 176 000 ₽ — удалёнка
Java Developer — 250 000 — 450 000 ₽ — удалёнка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
В тестировании часто встречаются термины Mock, Stub и Fake. Все они относятся к подмене реальных зависимостей, но выполняют разные роли. Давайте разберемся, в чем их отличие и когда применять каждый из них.
Мок — это объект, поведение которого мы заранее определяем. Мы говорим, какие методы должны быть вызваны, какие значения возвращать, и проверяем, были ли вызваны эти методы в тесте.
📝 Пример:
@Test
public void testService() {
MyService service = mock(MyService.class);
when(service.getData()).thenReturn("Hello, World");
assertEquals("Hello, World", service.getData());
}
Идеальный выбор для тестирования взаимодействий между компонентами, когда нужно удостовериться, что объект выполняет определенные действия в процессе работы программы.
Стаб — это объект, который возвращает заранее заданные значения. Он просто заменяет реальную зависимость, не проверяя, как она используется, а только подставляет нужные значения.
📝 Пример:
@Test
public void testService() {
MyService service = new StubService();
assertEquals("Mocked Data", service.getData());
}
Полезен, когда необходимо изолировать тестируемый компонент от других, например, при тестировании бизнес-логики, где важно не загружать реальные сервисы.
Фейк — это объект, который имеет реальное поведение, но в упрощенной или в ограниченной форме. Он может быть использован вместо реального объекта, но не имеет всех возможностей или работает быстрее.
📝 Пример:
public class FakeDatabase implements Database {
private Map<String, String> data = new HashMap<>();
public void insert(String key, String value) {
data.put(key, value);
}
public String get(String key) {
return data.get(key);
}
}
Например, можно использовать фейк для имитации базы данных, чтобы проверить логику взаимодействия с ней без необходимости запускать полноценное хранилище данных.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😁5🔥1
🧑💻 Когда выбрать EnumMap вместо HashMap
В стандартной библиотеке Java есть множество реализаций Map, но когда в качестве ключей используются значения перечислений (enum), оптимальным выбором будет именно EnumMap.
🔹 Логика выбора коллекции
▪️ HashMap — универсальный ключ-значение, хранит что угодно, но тратит память на hashCode.
▪️ TreeMap — ключи в отсортированном порядке, но медленнее.
▪️ LinkedHashMap — хранит порядок вставки.
▪️ EnumMap — заточен под enum-ключи, самый быстрый и компактный для этого случая.
🔹 Почему EnumMap крут
▪️ Использует массив под капотом, а не хеш-таблицу — значит, lookup работает за O(1) без вычисления хэшей.
▪️ Очень экономен по памяти (не хранит объекты Map.Entry).
▪️ Гарантированно хранит ключи в порядке объявления enum-констант.
🔹 Пример
✔️ Когда использовать
— Ключи всегда являются значениями одного enum.
— Важен быстрый доступ к элементам и сохранение порядка ключей.
— Необходимо минимизировать использование памяти.
❌ Когда не подходит
— Ключи не являются enum.
— Требуется поддержка null в качестве ключа.
💬 Расскажите про боевой кейс использования в комментах.
🐸 Библиотека джависта
#буст
В стандартной библиотеке Java есть множество реализаций Map, но когда в качестве ключей используются значения перечислений (enum), оптимальным выбором будет именно EnumMap.
🔹 Логика выбора коллекции
▪️ HashMap — универсальный ключ-значение, хранит что угодно, но тратит память на hashCode.
▪️ TreeMap — ключи в отсортированном порядке, но медленнее.
▪️ LinkedHashMap — хранит порядок вставки.
▪️ EnumMap — заточен под enum-ключи, самый быстрый и компактный для этого случая.
🔹 Почему EnumMap крут
▪️ Использует массив под капотом, а не хеш-таблицу — значит, lookup работает за O(1) без вычисления хэшей.
▪️ Очень экономен по памяти (не хранит объекты Map.Entry).
▪️ Гарантированно хранит ключи в порядке объявления enum-констант.
🔹 Пример
enum Status { NEW, IN_PROGRESS, DONE }
EnumMap<Status, String> map = new EnumMap<>(Status.class);
map.put(Status.NEW, "Создан");
map.put(Status.IN_PROGRESS, "В работе");
map.put(Status.DONE, "Завершён");
for (var entry : map.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
— Ключи всегда являются значениями одного enum.
— Важен быстрый доступ к элементам и сохранение порядка ключей.
— Необходимо минимизировать использование памяти.
— Ключи не являются enum.
— Требуется поддержка null в качестве ключа.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤1
Переворачиваем календарь — а там скидки, которые уже закончились.
Но мы их вернули на последний день 🤔
До 00:00 третьего сентября (цены как до 1 сентября):
▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽
👉 Хватаем скидки из прошлого
P.S. Машину времени одолжили у дяди Миши
Но мы их вернули на последний день 🤔
До 00:00 третьего сентября (цены как до 1 сентября):
▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽
👉 Хватаем скидки из прошлого
P.S. Машину времени одолжили у дяди Миши
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Класс Object — это базовый класс для всех классов в Java. Он содержит следующие методы:
🔹 public final Class<?> getClass() –
🔹
🔹 public boolean equals(Object obj) –
🔹
🔹 public String toString() –
🔹
🔹 public final void notifyAll() –
🔹
🔹 public final void wait(long timeout) –
🔹
🔹 protected void finalize() –
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1
👑 Магия IntelliJ IDEA: Extract Method
Хотите быстро превратить кусок кода в чистый и переиспользуемый метод? Используйте хоткей — IDEA сама всё сделает за пару кликов.
Хоткей:
🔹 Что делает
Мгновенно выносит выделенный код в отдельный метод. IDEA сама предложит имя, подставит параметры и аккуратно заменит фрагмент вызовом нового метода.
🔹 Зачем это нужно
— Убирает «простыню» кода из метода.
— Улучшает читаемость и переиспользуемость.
— Ускоряет рефакторинг: не нужно руками писать сигнатуру, копировать аргументы и т.д.
🔹 Как использовать
— Выделите блок кода.
— Нажмите Ctrl + Alt + M.
— Проверьте, как IDEA сама создала метод.
— При желании поменяйте имя и модификатор доступа.
🔥 Работает не только с Java-кодом, но и в Kotlin, Groovy и даже в тестах.
🐸 Библиотека джависта
#буст
Хотите быстро превратить кусок кода в чистый и переиспользуемый метод? Используйте хоткей — IDEA сама всё сделает за пару кликов.
Хоткей:
Ctrl + Alt + M
(Cmd + Alt + M на macOS)🔹 Что делает
Мгновенно выносит выделенный код в отдельный метод. IDEA сама предложит имя, подставит параметры и аккуратно заменит фрагмент вызовом нового метода.
🔹 Зачем это нужно
— Убирает «простыню» кода из метода.
— Улучшает читаемость и переиспользуемость.
— Ускоряет рефакторинг: не нужно руками писать сигнатуру, копировать аргументы и т.д.
🔹 Как использовать
— Выделите блок кода.
— Нажмите Ctrl + Alt + M.
— Проверьте, как IDEA сама создала метод.
— При желании поменяйте имя и модификатор доступа.
🔥 Работает не только с Java-кодом, но и в Kotlin, Groovy и даже в тестах.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤1
При большом количестве компонентов в приложении Spring часто сталкивается с замедлением старта и повышенным потреблением памяти из-за инжекта зависимостей. Чтобы решить эту проблему, можно отложить создание бинов до момента их первого использования.
Для этого можно применить аннотацию @Lazy:
@Component
public class Component {
@Lazy
@Autowired
private Service service;
}
🔹 Когда использовать:
— В приложениях с большим количеством зависимостей
— Для сервисов, которые вызываются нечасто (например, отчёты или аналитика)
— В микросервисах для оптимизации потребления ресурсов
— При работе с тяжёлыми или сложными конфигурациями
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3❤1
😎 Сколько баллов набрали вы?
Голосуйте, какой у вас уровень разработчика:
😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)
Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.
👉 Научим, как быстро прокачаться от стажера до сеньора
Голосуйте, какой у вас уровень разработчика:
😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)
Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.
👉 Научим, как быстро прокачаться от стажера до сеньора
❤2🔥1😁1