Очередной #дайджест для джавистов
🔴 Когда интеграция баз данных превосходит микросервисы — автор предлагает несколько вариантов архитектуры, подробно рассматривая микросервисную архитектуру и подход интеграции через БД
🔴 JEP 463: Неявно объявленные классы и основные методы экземпляра — JEP содержит изменения правил для неявного объявления классов в исходных файлах и процедуры выбора основного метода для вызова
🔴 Почему Effect важнее, чем ZIO — рассказывает о том, как фреймворк Effect связан с ZIO
🔴 Освоение Enum в Java — руководство для разработчиков
🔴 sbt-buildinfo 0.12.0 — плагин для генерации объекта, описывающего текущий sbt-билд проекта, обзавелся поддержкой Scala 3
🔴 Когда интеграция баз данных превосходит микросервисы — автор предлагает несколько вариантов архитектуры, подробно рассматривая микросервисную архитектуру и подход интеграции через БД
🔴 JEP 463: Неявно объявленные классы и основные методы экземпляра — JEP содержит изменения правил для неявного объявления классов в исходных файлах и процедуры выбора основного метода для вызова
🔴 Почему Effect важнее, чем ZIO — рассказывает о том, как фреймворк Effect связан с ZIO
🔴 Освоение Enum в Java — руководство для разработчиков
🔴 sbt-buildinfo 0.12.0 — плагин для генерации объекта, описывающего текущий sbt-билд проекта, обзавелся поддержкой Scala 3
🗝️ 40 незаменимых API для разработчиков
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
🔗 Читать статью
🔗 Зеркало
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
Please open Telegram to view this post
VIEW IN TELEGRAM
Java Native Interface
Это механизм, который позволяет вызывать функции, написанные на языке C или других языках, из программы, написанной на Java, и наоборот.
JNI необходимо использовать осторожно, так как неправильное использование может привести к утечке памяти и нарушить безопасность и стабильность вашей программы.
Это механизм, который позволяет вызывать функции, написанные на языке C или других языках, из программы, написанной на Java, и наоборот.
JNI необходимо использовать осторожно, так как неправильное использование может привести к утечке памяти и нарушить безопасность и стабильность вашей программы.
⭐🎤 Как не облажаться с докладом на IT-конференции
Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся.
🔗 Читать статью
🔗 Зеркало
Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся.
🔗 Читать статью
🔗 Зеркало
🧑🎓🧑🎓 Комбинированная авторизация в Spring Security: Социальные сети и логин через username/password
Предполагается, что большинство читателей знакомы с понятиями авторизации и аутентификации, а также с их различиями. Однако, для тех, кто только начинает изучать эту тему, кратко объясню: аутентификация — это процесс проверки личности пользователя, чтобы определить, имеет ли он доступ к ресурсу в целом. Авторизация же — это распределение прав и возможностей для уже аутентифицированных пользователей. Авторизация основывается на ролях и других характеристиках зарегистрированного пользователя.
Основная проблема состоит в том, что начиная с версии Spring Security 5.7.0 класс WebSecurityConfigurerAdapter объявлен устаревшим и его использование в будущих версиях невозможно. Однако большинство существующих руководств все еще опираются на наследование этого класса.
Читать статью
Предполагается, что большинство читателей знакомы с понятиями авторизации и аутентификации, а также с их различиями. Однако, для тех, кто только начинает изучать эту тему, кратко объясню: аутентификация — это процесс проверки личности пользователя, чтобы определить, имеет ли он доступ к ресурсу в целом. Авторизация же — это распределение прав и возможностей для уже аутентифицированных пользователей. Авторизация основывается на ролях и других характеристиках зарегистрированного пользователя.
Основная проблема состоит в том, что начиная с версии Spring Security 5.7.0 класс WebSecurityConfigurerAdapter объявлен устаревшим и его использование в будущих версиях невозможно. Однако большинство существующих руководств все еще опираются на наследование этого класса.
Читать статью
Forwarded from Proglib.academy | IT-курсы
✉️❌ Как завалить собеседование, даже не начав его: 8 ошибок в сопроводительных письмах
Откликаетесь, но сразу получаете отказы? Не торопитесь с выводами — возможно, все дело в вашем сопроводительном письме.
👉 Сопроводительное — это первое впечатление, которое мы производим на эйчара, а первое впечатление, как известно, очень важно.
Собрали для вас несколько распространенных ошибок по составлению такого письма — а в статье по ссылке можно найти остальные ошибки и пример идеального сопроводительного.
Кстати, вакансии можно поискать в наших профильных каналах:
🤮 Data Science, анализ данных, аналитика
🤮 Python
🤮 Frontend
Откликаетесь, но сразу получаете отказы? Не торопитесь с выводами — возможно, все дело в вашем сопроводительном письме.
Собрали для вас несколько распространенных ошибок по составлению такого письма — а в статье по ссылке можно найти остальные ошибки и пример идеального сопроводительного.
Кстати, вакансии можно поискать в наших профильных каналах:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Очередной #дайджест для джависта
🔹 Spring предлагает бесплатный доступ к контенту Spring Academy Pro — платная подписка для профессионального контента Spring Academy больше не требуется, а новый контент продолжит появляться
🔹 Capture Checking in Scala 3.4 — автор рассказывает, как усиленно разрабатываемый capture checking поможет сделать менеджмент ресурсов еще более безопасным
🔹 GraalVM for JDK 22 Community 22.0.1 — релиз GraalVM для JDK 22 Community 22.0.1 от Oracle Labs содержит исправления на основе критического обновления от Oracle за апрель 2024 года
🔹 Повышение производительности разработчиков с помощью IntelliJ IDEA — туториал по возможностям Intelij IDEA. Отлично подойдет для новичков
🔹 JEP draft: обработка исключений в switch — драфт JEP, посвященный обработке исключений в switch. Основная мотивация — сделать менее громоздкой конструкцию switch, обернутую в try-catch
🔹 Spring предлагает бесплатный доступ к контенту Spring Academy Pro — платная подписка для профессионального контента Spring Academy больше не требуется, а новый контент продолжит появляться
🔹 Capture Checking in Scala 3.4 — автор рассказывает, как усиленно разрабатываемый capture checking поможет сделать менеджмент ресурсов еще более безопасным
🔹 GraalVM for JDK 22 Community 22.0.1 — релиз GraalVM для JDK 22 Community 22.0.1 от Oracle Labs содержит исправления на основе критического обновления от Oracle за апрель 2024 года
🔹 Повышение производительности разработчиков с помощью IntelliJ IDEA — туториал по возможностям Intelij IDEA. Отлично подойдет для новичков
🔹 JEP draft: обработка исключений в switch — драфт JEP, посвященный обработке исключений в switch. Основная мотивация — сделать менее громоздкой конструкцию switch, обернутую в try-catch
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Java-программа для преобразования десятичной системы счисления в двоичную
Воспользуемся побитовыми операторами для решения данной задачи.
Временная сложность: O (1)
Вспомогательное пространство: O (1).
Воспользуемся побитовыми операторами для решения данной задачи.
Временная сложность: O (1)
Вспомогательное пространство: O (1).
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
💪💪 Java 23: Restoring the Balance with Primitive Patterns
Не хватало паттернов в Java? Вот еще один — Primitive Patterns, фича появится в статусе preview в Java 23. Можно будет использовать паттерн-матчинг для примитивных типов в instanceof и switch. Подробнее о том, как это работает и почему очень упростит приведение примитивных типов, — в видео. Бонусом идет обзор нескольких вариантов паттерн-матчинга, которые потенциально могут появляться в Java.
Смотреть
#видео
Не хватало паттернов в Java? Вот еще один — Primitive Patterns, фича появится в статусе preview в Java 23. Можно будет использовать паттерн-матчинг для примитивных типов в instanceof и switch. Подробнее о том, как это работает и почему очень упростит приведение примитивных типов, — в видео. Бонусом идет обзор нескольких вариантов паттерн-матчинга, которые потенциально могут появляться в Java.
Смотреть
#видео
🤔🤔 Custom Kafka Deserializer и Spring’овый контекст
Речь пойдет о том, как инжектить в статические поля, с примерами.
На практике десериализаторов, представленных в ядре Spring, хватает в 99% случаев. Но бывают ситуации, когда всё же требуется описать свою логику предобработки входящего сообщения.
Для наглядности предлагается рассмотреть гипотетический случай, когда на вход Kafka подается строка лога с задаваемым разделителем. В этой строке будет интересовать часть сообщения: нужно будет делить строку по определенному символу и собирать из получившегося массива новую строку.
Продолжение тут
#туториал
Речь пойдет о том, как инжектить в статические поля, с примерами.
На практике десериализаторов, представленных в ядре Spring, хватает в 99% случаев. Но бывают ситуации, когда всё же требуется описать свою логику предобработки входящего сообщения.
Для наглядности предлагается рассмотреть гипотетический случай, когда на вход Kafka подается строка лога с задаваемым разделителем. В этой строке будет интересовать часть сообщения: нужно будет делить строку по определенному символу и собирать из получившегося массива новую строку.
Продолжение тут
#туториал
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Расскажите про приведение типов. Что такое понижение и повышение типа?
Приведение типов — это преобразование переменной одного типа в другой.
Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.
Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
Приведение типов — это преобразование переменной одного типа в другой.
Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.
Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
MenuItem — это интерфейс, который представляет элемент меню в графическом пользовательском интерфейсе (GUI) приложения, таком как оконное приложение, веб-приложение или мобильное приложение. Этот интерфейс используется в различных библиотеках и фреймворках, таких как Java AWT (Abstract Window Toolkit) и JavaFX для создания меню и команд, доступных пользователю.
MenuItem определяет базовые методы и свойства, которые используются для создания и настройки элементов меню.
MenuItem определяет базовые методы и свойства, которые используются для создания и настройки элементов меню.
Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3e093096
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/3e093096
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3e093096
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
Please open Telegram to view this post
VIEW IN TELEGRAM