Очередной #дайджест для джавистов
⭕ Задачи от Tinkoff для Junior Java developers — тренировка для начинающих разработчиков на знание Java core
⭕ Java в контейнере — особенности эксплуатации
⭕ Spring Boot — реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий
⭕ Декоратор. Шаблоны проектирования в деталях — автор рассказывает о популярных шаблонах проектирования с примерами кода на языке программирования Java
⭕ Введение в коллекции Java — в статье не будут сильно углубляться в детали каждой коллекции в отдельности, ведь чтобы начать ими пользоваться, достаточно хотя бы на базовом уровне понять, что это такое и с чем это «едят»
⭕ Задачи от Tinkoff для Junior Java developers — тренировка для начинающих разработчиков на знание Java core
⭕ Java в контейнере — особенности эксплуатации
⭕ Spring Boot — реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий
⭕ Декоратор. Шаблоны проектирования в деталях — автор рассказывает о популярных шаблонах проектирования с примерами кода на языке программирования Java
⭕ Введение в коллекции Java — в статье не будут сильно углубляться в детали каждой коллекции в отдельности, ведь чтобы начать ими пользоваться, достаточно хотя бы на базовом уровне понять, что это такое и с чем это «едят»
Forwarded from Библиотека собеса по Java | вопросы с собеседований
DatagramPacket
DatagramPacket — это класс в Java, который представляет собой пакет датаграмм. Датаграммы используются для реализации бессоединительной службы доставки пакетов. Это означает, что каждый пакет отправляется независимо от других пакетов, и нет гарантии, что они будут доставлены в том же порядке, в котором были отправлены.
DatagramPacket — это класс в Java, который представляет собой пакет датаграмм. Датаграммы используются для реализации бессоединительной службы доставки пакетов. Это означает, что каждый пакет отправляется независимо от других пакетов, и нет гарантии, что они будут доставлены в том же порядке, в котором были отправлены.
🖐️🖐️ Infra Meetup
Митап состоится 29 февраля 18:00 в Санкт-Петербурге.
Будет три доклада об инструментах надежности в Такси, платформе биллинга Екома и Райдтеха и возможностях фреймворка userver для поддержания отказоустойчивости.
Инструменты надежности Такси
Спикер расскажет о программных инструментах и процессах, позволяющих обеспечивать бесперебойную работу Такси даже при повышенной нагрузке, предотвращать аварии и быстро подниматься в случае инцидента.
Роль фреймворка в отказоустойчивой архитектуре
При разработке сервисов Яндекса важна отказоустойчивость, ведь любой простой — деньги для бизнеса. В нашем open-source C++ фреймворке userver есть специальные фишки и инструменты для поддержания отказоустойчивости.
Надежность платформы биллинга
Спикер выступит с рассказом о платформе биллинга Екома и Райдтеха в Яндексе, обслуживающей многомиллиардные финансовые потоки. Объяснит, из чего состоит платформа, какие задачи решает и как команды обеспечивают ее надежность. Опишет комбинации архитектурных, продуктовых и процессных подходов к проблеме надежности биллинга.
Регистрация тут
Митап состоится 29 февраля 18:00 в Санкт-Петербурге.
Будет три доклада об инструментах надежности в Такси, платформе биллинга Екома и Райдтеха и возможностях фреймворка userver для поддержания отказоустойчивости.
Инструменты надежности Такси
Спикер расскажет о программных инструментах и процессах, позволяющих обеспечивать бесперебойную работу Такси даже при повышенной нагрузке, предотвращать аварии и быстро подниматься в случае инцидента.
Роль фреймворка в отказоустойчивой архитектуре
При разработке сервисов Яндекса важна отказоустойчивость, ведь любой простой — деньги для бизнеса. В нашем open-source C++ фреймворке userver есть специальные фишки и инструменты для поддержания отказоустойчивости.
Надежность платформы биллинга
Спикер выступит с рассказом о платформе биллинга Екома и Райдтеха в Яндексе, обслуживающей многомиллиардные финансовые потоки. Объяснит, из чего состоит платформа, какие задачи решает и как команды обеспечивают ее надежность. Опишет комбинации архитектурных, продуктовых и процессных подходов к проблеме надежности биллинга.
Регистрация тут
Forwarded from Библиотека собеса по Java | вопросы с собеседований
CopyOnWriteArrayList
CopyOnWriteArrayList — это реализация интерфейса List, оптимизированная для работы в многопоточном окружении.
Основное отличие этой коллекции в том, что все модифицирующие операции (добавление, удаление элементов) не изменяют существующий массив, а создают его копию.
Это позволяет избежать необходимости синхронизации для потокобезопасного чтения.
CopyOnWriteArrayList полезен в ситуациях, когда чтение данных происходит гораздо чаще, чем изменение. Например, при реализации общего кэша в многопоточном приложении.
CopyOnWriteArrayList — это реализация интерфейса List, оптимизированная для работы в многопоточном окружении.
Основное отличие этой коллекции в том, что все модифицирующие операции (добавление, удаление элементов) не изменяют существующий массив, а создают его копию.
Это позволяет избежать необходимости синхронизации для потокобезопасного чтения.
CopyOnWriteArrayList полезен в ситуациях, когда чтение данных происходит гораздо чаще, чем изменение. Например, при реализации общего кэша в многопоточном приложении.
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
📈 5 трендов в подборе ИТ-специалистов на 2024 год
Использование ИИ-алгоритмов становится трендом и в Human Resources. Такими инструментами пользуются и кандидаты, и работодатели.
🤖 Например, появляются Applicant tracking system (ATS) с ИИ, которые автоматизируют поиск и отбор кандидатов. А ещё есть Final Round AI — своеобразный помощник с искусственным интеллектом, который генерирует индивидуальные ответы на онлайн-интервью в режиме реального времени.
👉 О других трендах читайте в нашей новой статье 👈
🔗 Зеркало
Использование ИИ-алгоритмов становится трендом и в Human Resources. Такими инструментами пользуются и кандидаты, и работодатели.
🤖 Например, появляются Applicant tracking system (ATS) с ИИ, которые автоматизируют поиск и отбор кандидатов. А ещё есть Final Round AI — своеобразный помощник с искусственным интеллектом, который генерирует индивидуальные ответы на онлайн-интервью в режиме реального времени.
👉 О других трендах читайте в нашей новой статье 👈
🔗 Зеркало
🤔🤔 Что работодатели ожидают от джуниор Java-разработчиков
Сейчас рынок труда в IT-сфере переживает не самый простой период, и новичкам на нём особенно тяжело. Авторы провели исследование и выяснили, какие навыки и инструменты нужны начинающим Java-разработчикам. А также — к чему стоит готовиться при устройстве на работу.
Читать статью
#почитать
Сейчас рынок труда в IT-сфере переживает не самый простой период, и новичкам на нём особенно тяжело. Авторы провели исследование и выяснили, какие навыки и инструменты нужны начинающим Java-разработчикам. А также — к чему стоит готовиться при устройстве на работу.
Читать статью
#почитать
Какое утверждение относительно преобразования примитивных типов верно?
Anonymous Quiz
61%
Тип byte можно привести к типу int без потери данных
9%
Тип boolean можно привести к типу byte
13%
Расширение является небезопасным преобразованием
16%
Тип byte можно привести к типу char без потери данных
Forwarded from Библиотека собеса по Java | вопросы с собеседований
BeanPostProcessor
BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.
BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.
BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
Очередной #дайджест по Java
🔄 Вариантность обобщенных типов в картинках и простых примерах — для примера используется пять классов которые последовательно наследуются друг от друга и коллекции ArrayList предназначенные для хранения экземпляров этих типов
🔄 Принцип подстановки Барбары Лисков — разбор важного принципа разработки ПО на ООП языках
🔄 Java Spring Reactive WebSession на примере — простой пример создания сессии, её использования и инвалидации в реактивном стеке Spring'а
🔄 Книга «Java 17 Recipes: A Problem-Solution Approach» — рассматриваются некоторые из новейших функций, API и многое другое, например сопоставление шаблонов для switch, восстановление семантики Always-Strict-Floating-Point-Semantics и прочее
🔄 Тестирование Spring Security — как протестировать аутентификацию и авторизацию приложений Spring Boot
🔄 Вариантность обобщенных типов в картинках и простых примерах — для примера используется пять классов которые последовательно наследуются друг от друга и коллекции ArrayList предназначенные для хранения экземпляров этих типов
🔄 Принцип подстановки Барбары Лисков — разбор важного принципа разработки ПО на ООП языках
🔄 Java Spring Reactive WebSession на примере — простой пример создания сессии, её использования и инвалидации в реактивном стеке Spring'а
🔄 Книга «Java 17 Recipes: A Problem-Solution Approach» — рассматриваются некоторые из новейших функций, API и многое другое, например сопоставление шаблонов для switch, восстановление семантики Always-Strict-Floating-Point-Semantics и прочее
🔄 Тестирование Spring Security — как протестировать аутентификацию и авторизацию приложений Spring Boot
Forwarded from Библиотека собеса по Java | вопросы с собеседований
SocketHandler
SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.
SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.
✍️✍️ Отладка Spring-микросервиса в контейнере
Иногда для оперативной локализации ошибки проще всего воспользоваться отладчиком. Каждый разработчик так или иначе применял подход DDD при локальной разработке или в поисках бага на удаленном стенде. Но что делать, если удаленное приложение в контейнере? В этой автор поделился Dockerfile-ом, к которому пришел, решая проблему отладки контейнеризированного приложения.
За основу был взят Dockerfile из официального руководства Spring + подробности про multi-stage build и нюансы распаковки JAR-ника.
Подробности здесь
#гайд
Иногда для оперативной локализации ошибки проще всего воспользоваться отладчиком. Каждый разработчик так или иначе применял подход DDD при локальной разработке или в поисках бага на удаленном стенде. Но что делать, если удаленное приложение в контейнере? В этой автор поделился Dockerfile-ом, к которому пришел, решая проблему отладки контейнеризированного приложения.
За основу был взят Dockerfile из официального руководства Spring + подробности про multi-stage build и нюансы распаковки JAR-ника.
Подробности здесь
#гайд
Forwarded from Библиотека задач по Java | тесты, код, задания
LambdaMetafactory
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
Идеальный офис 2.0
Так что нужно от офиса, чтоб туда хотелось идти и не хотелось уходить и где бы вы выдавали максимум эффективности?
То есть мыслим со стороны работодателя. НУ и со своей стороны, чтоб с утра хотелось туда идти, а вечером не хотелось уходить.
Читать статью
#почитать
Так что нужно от офиса, чтоб туда хотелось идти и не хотелось уходить и где бы вы выдавали максимум эффективности?
То есть мыслим со стороны работодателя. НУ и со своей стороны, чтоб с утра хотелось туда идти, а вечером не хотелось уходить.
Читать статью
#почитать
⚡️Свершилось: канал с книгами только по Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
👉 Книги для джавистов | Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
🐱🎨🙏🤖 10 самых странных языков программирования, о которых вы никогда не слышали
Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.
👉 Читать статью
👉 Зеркало
Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.
👉 Читать статью
👉 Зеркало