С каждым годом востребованность Kafka растет, а работа с этим инструментом входит в топ-10 ключевых навыков IT-специалистов.
Только за последний месяц можно найти больше 3000 вакансий, где требуется знание Кафки.
Уверенно заявляем: каждому backend-специалисту рано или поздно придется столкнуться с Кафкой — поэтому команда Слёрм создала интенсив по Apache Kafka для разработчиков, специально под ваши задачи.
Курс Кафка для разработчиков идеально подойдёт вам, если:
▫️Вы уже владеете языками Java или Go;
▫️Понимаете goroutine, модульность;
▫️Имеете базовые знания ThreadPool.
28 онлайн-уроков с возможностью обучаться из любой точки мира, доступ на 2 года, AMA-сессии со спикерами и закрытый чат с куратором — уменьшите время на рабочие задачи с Кафкой, получив расширенные знания по работе с инструментом!
После курса вы:
▫️Начнете прекрасно разбираться и ориентироваться в терминологии;
▫️Напишете простейшие клиенты, поймёте внутреннюю архитектуру Кафки
▫️Сможете работать со сложными протоколами и наст...
Только за последний месяц можно найти больше 3000 вакансий, где требуется знание Кафки.
Уверенно заявляем: каждому backend-специалисту рано или поздно придется столкнуться с Кафкой — поэтому команда Слёрм создала интенсив по Apache Kafka для разработчиков, специально под ваши задачи.
Курс Кафка для разработчиков идеально подойдёт вам, если:
▫️Вы уже владеете языками Java или Go;
▫️Понимаете goroutine, модульность;
▫️Имеете базовые знания ThreadPool.
28 онлайн-уроков с возможностью обучаться из любой точки мира, доступ на 2 года, AMA-сессии со спикерами и закрытый чат с куратором — уменьшите время на рабочие задачи с Кафкой, получив расширенные знания по работе с инструментом!
После курса вы:
▫️Начнете прекрасно разбираться и ориентироваться в терминологии;
▫️Напишете простейшие клиенты, поймёте внутреннюю архитектуру Кафки
▫️Сможете работать со сложными протоколами и наст...
Media is too big
VIEW IN TELEGRAM
Собеседование Java Spring - Разбор вопросов с собеседований на Java Developer
Собрали самые интересные вопросы с собеседований на Java-разработчика. В видео две части. В первой рассказываем про Java: Коллекции, Hash Code & Equals Contract, Functional interfaces, Stream API, Garbage collector, устройство памяти, heap, concurrency.
Во второй — про Spring: Spring Beans, Spring Data Repository, Аннотации, Programmatic TM, Spring MVC
источник
👉👆
Собрали самые интересные вопросы с собеседований на Java-разработчика. В видео две части. В первой рассказываем про Java: Коллекции, Hash Code & Equals Contract, Functional interfaces, Stream API, Garbage collector, устройство памяти, heap, concurrency.
Во второй — про Spring: Spring Beans, Spring Data Repository, Аннотации, Programmatic TM, Spring MVC
источник
👉👆
This media is not supported in your browser
VIEW IN TELEGRAM
Джун после прочтения документации
Содержит множество проектов на Java, которые могут быть полезны при изучении языка
https://github.com/topics/java
👉👆
https://github.com/topics/java
👉👆
GitHub
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
Типы кэшей
Если спросить разработчика, что такое кэш, он скорее всего ответит:
— Кэш — хранилище типа ключ-значение. Позволяет снизить количество запросов к БД, другому сервису или не выполнять повторно сложные вычисления
Это, безусловно, правда, но не вся. В этом посте кратко опишу, что ещё умеют делать кэши и какие они бывают.
1️⃣ Кэш внутри сервиса
Хранится только в оперативной памяти. При выключении сервиса кэш пропадает. При включении — заполняется. Популярны два варианта:
🔸 ConcurrentHashMap: полностью ручное управление. Разработчик пишет код по наполнению кэша, обновлению и удалению значений
🔸 Google Guava Cache: более продвинутый вариант. Очищает кэш, уведомляет об удалении, предоставляет статистику
2️⃣ Удалённый кэш
Не связан с конкретным сервисом и запущен в отдельном процессе
✅ Доступен для нескольких сервисов
✅ Хранит данные на нескольких уровнях — в оперативной памяти и на диске
3️⃣ Распределённый кэш
Данные хранятся в нескольких процессах. Один экземпляр обычно называют нодой
✅ Шардирование. Распределяем данные по разным нодам и в итоге храним больше данных
✅ Репликация. Дублируем данные на разные ноды и повышаем доступность
Уровни 2-3 это скорее ступени эволюции кэшей. Большинство реализаций находятся на уровне 4:
4️⃣ In-memory data grid (IMDG)
Распределённый кэш с дополнительными фичами. Например:
▫️ Атомарный апдейт (вместо чтения и перезаписи)
▫️ Подписка на изменения в кэше
▫️ Поддержка транзакций
▫️ SQL-like запросы
▫️ Средства синхронизации (распределённый lock, очередь)
▫️ Продвинутый мониторинг
▫️ Выполнение скриптов
У многих кэшей есть платная и бесплатная версии. Многие фичи из списка выше доступны только платно.
В вакансиях чаще всего встречается Redis, чуть отстаёт Hazelcast. Также видела в проектах Memcached, Ehcache, Aerospike, Ignite/GridGain, Coherence. В их описании нет слова "кэш", как минимум distributed real-time in-memory streaming data platform🙂
Рекомендую погулять по документации того же Redis или Hazelcast, может для вашего проекта найдётся что-то полезное.
Если спросить разработчика, что такое кэш, он скорее всего ответит:
— Кэш — хранилище типа ключ-значение. Позволяет снизить количество запросов к БД, другому сервису или не выполнять повторно сложные вычисления
Это, безусловно, правда, но не вся. В этом посте кратко опишу, что ещё умеют делать кэши и какие они бывают.
1️⃣ Кэш внутри сервиса
Хранится только в оперативной памяти. При выключении сервиса кэш пропадает. При включении — заполняется. Популярны два варианта:
🔸 ConcurrentHashMap: полностью ручное управление. Разработчик пишет код по наполнению кэша, обновлению и удалению значений
🔸 Google Guava Cache: более продвинутый вариант. Очищает кэш, уведомляет об удалении, предоставляет статистику
2️⃣ Удалённый кэш
Не связан с конкретным сервисом и запущен в отдельном процессе
✅ Доступен для нескольких сервисов
✅ Хранит данные на нескольких уровнях — в оперативной памяти и на диске
3️⃣ Распределённый кэш
Данные хранятся в нескольких процессах. Один экземпляр обычно называют нодой
✅ Шардирование. Распределяем данные по разным нодам и в итоге храним больше данных
✅ Репликация. Дублируем данные на разные ноды и повышаем доступность
Уровни 2-3 это скорее ступени эволюции кэшей. Большинство реализаций находятся на уровне 4:
4️⃣ In-memory data grid (IMDG)
Распределённый кэш с дополнительными фичами. Например:
▫️ Атомарный апдейт (вместо чтения и перезаписи)
▫️ Подписка на изменения в кэше
▫️ Поддержка транзакций
▫️ SQL-like запросы
▫️ Средства синхронизации (распределённый lock, очередь)
▫️ Продвинутый мониторинг
▫️ Выполнение скриптов
У многих кэшей есть платная и бесплатная версии. Многие фичи из списка выше доступны только платно.
В вакансиях чаще всего встречается Redis, чуть отстаёт Hazelcast. Также видела в проектах Memcached, Ehcache, Aerospike, Ignite/GridGain, Coherence. В их описании нет слова "кэш", как минимум distributed real-time in-memory streaming data platform🙂
Рекомендую погулять по документации того же Redis или Hazelcast, может для вашего проекта найдётся что-то полезное.