Очередной #дайджест для джавистов
✳️ Ziverge Youtube — записи докладов с Functional Scala 2023
✳️ Если IDEA не работает можно ли писать на Kotlin в Vim? — обсуждаются очередные сложности с IDEA, поддержку Kotlin в текстовых редакторах, JVM на webassembly и что деплой Лямбд в AWS может оказаться совсем не тривиальной задачей
✳️ Secret — библиотека с реализацией переменных с lifetime для различных секретов во избежание утечки информации
✳️ Jar Jar Abrams — плагин sbt, который облегчает жизнь библиотекописарям и позволяет скрывать транзитивные зависимости путем их переупаковки и включения как части текущей библиотеки
✳️ JEP 454: Foreign Function & Memory API — завершается работа над API внешних функций и памяти, улучшая производительность и пользовательский опыт разработчиков
✳️ Ziverge Youtube — записи докладов с Functional Scala 2023
✳️ Если IDEA не работает можно ли писать на Kotlin в Vim? — обсуждаются очередные сложности с IDEA, поддержку Kotlin в текстовых редакторах, JVM на webassembly и что деплой Лямбд в AWS может оказаться совсем не тривиальной задачей
✳️ Secret — библиотека с реализацией переменных с lifetime для различных секретов во избежание утечки информации
✳️ Jar Jar Abrams — плагин sbt, который облегчает жизнь библиотекописарям и позволяет скрывать транзитивные зависимости путем их переупаковки и включения как части текущей библиотеки
✳️ JEP 454: Foreign Function & Memory API — завершается работа над API внешних функций и памяти, улучшая производительность и пользовательский опыт разработчиков
Forwarded from Библиотека задач по Java | тесты, код, задания
SoftReference
SoftReference (мягкая ссылка) — это класс, который представляет собой ссылку на объект, который может быть удален сборщиком мусора (GC) в любой момент, если память нужна для других объектов.
Принцип работы:
— Создание: SoftReference создается с помощью конструктора, который принимает ссылку на объект.
— Доступ к объекту: Для доступа к объекту, на который ссылается SoftReference, используется метод get().
— Очистка: GC может очистить SoftReference в любой момент, если память нужна для других объектов.
Когда использовать SoftReference:
— Кэширование: SoftReference можно использовать для реализации кэшей, где важно сохранить объекты в памяти, если это возможно, но не обязательно.
— Сохранение метаданных: SoftReference можно использовать для хранения метаданных об объектах, которые не являются критичными для работы приложения.
SoftReference (мягкая ссылка) — это класс, который представляет собой ссылку на объект, который может быть удален сборщиком мусора (GC) в любой момент, если память нужна для других объектов.
Принцип работы:
— Создание: SoftReference создается с помощью конструктора, который принимает ссылку на объект.
— Доступ к объекту: Для доступа к объекту, на который ссылается SoftReference, используется метод get().
— Очистка: GC может очистить SoftReference в любой момент, если память нужна для других объектов.
Когда использовать SoftReference:
— Кэширование: SoftReference можно использовать для реализации кэшей, где важно сохранить объекты в памяти, если это возможно, но не обязательно.
— Сохранение метаданных: SoftReference можно использовать для хранения метаданных об объектах, которые не являются критичными для работы приложения.
ScalaIO FR
Доклады с недавней конференции. Часть докладов на французском, но среди англоязычных спикеров мелькают знакомые в scala-коммьюнити имена.
#мероприятия
Доклады с недавней конференции. Часть докладов на французском, но среди англоязычных спикеров мелькают знакомые в scala-коммьюнити имена.
#мероприятия
FairSemaphore
Это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.
В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.
Это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.
В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.
Forwarded from Книги для джавистов | Java
📚Learn Java with Projects: A concise practical guide to learning everything a Java professional really needs to know (2023)
✍️Автор: Dr Seán Kennedy
📃Страниц: 602
Главы составлены таким образом, чтобы сосредоточиться на темах, которые действительно важны в реальных рабочих ситуациях. По мере продвижения вы будете изучать более сложные темы, включая создание собственных общих типов и потоков. Эта книга не просто рассказывает о теории — она показывает, как все работает, на примере маленьких проектов, которые в итоге складываются в один большой проект.
Что внутри:
🔸Получите четкое представление об основах Java, таких как примитивные типы, операторы, область видимости, условные операторы, циклы, исключения и массивы
🔸Освоите конструкции ООП, такие как классы, объекты, перечисления, интерфейсы и записи
🔸Развить глубокое понимание принципов ООП, таких как полиморфизм, наследование и инкапсуляция
🔸Углубиться в продвинутые темы дженериков, коллекций, лямбд, потоков и параллелизма
Скачать книгу
✍️Автор: Dr Seán Kennedy
📃Страниц: 602
Главы составлены таким образом, чтобы сосредоточиться на темах, которые действительно важны в реальных рабочих ситуациях. По мере продвижения вы будете изучать более сложные темы, включая создание собственных общих типов и потоков. Эта книга не просто рассказывает о теории — она показывает, как все работает, на примере маленьких проектов, которые в итоге складываются в один большой проект.
Что внутри:
🔸Получите четкое представление об основах Java, таких как примитивные типы, операторы, область видимости, условные операторы, циклы, исключения и массивы
🔸Освоите конструкции ООП, такие как классы, объекты, перечисления, интерфейсы и записи
🔸Развить глубокое понимание принципов ООП, таких как полиморфизм, наследование и инкапсуляция
🔸Углубиться в продвинутые темы дженериков, коллекций, лямбд, потоков и параллелизма
Скачать книгу
Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 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
Forwarded from Библиотека задач по Java | тесты, код, задания
Какой метод должен быть переопределен классом, реализующим интерфейс Runnable для выполнения задачи в отдельном потоке?
Anonymous Quiz
5%
int run()
4%
boolean run()
12%
void run(int priority)
80%
void run()
#дайджест перед выходными
❎ Java для домохозяек — логика разбора сообщений внутри Telegram бота
❎ Улучшение моей распределенной системы с помощью Scala 3 — гарантии согласованности и фоновые задачи
❎ Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений — как настроить централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG)
❎ JEP 456: Unnamed Variables & Patterns — позволяет заменять подчеркиванием переменные и шаблоны, которые вы не собираетесь использовать
❎ Книга «Frontend Development with Javafx and Kotlin: Build State-Of-The-Art Kotlin GUI Applications» — книга знакомит с JavaFX, как технологией фронтенда и использует Kotlin вместо Java для кодирования программных артефактов, чтобы повысить выразительность и сопровождаемость кода
❎ Java для домохозяек — логика разбора сообщений внутри Telegram бота
❎ Улучшение моей распределенной системы с помощью Scala 3 — гарантии согласованности и фоновые задачи
❎ Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений — как настроить централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG)
❎ JEP 456: Unnamed Variables & Patterns — позволяет заменять подчеркиванием переменные и шаблоны, которые вы не собираетесь использовать
❎ Книга «Frontend Development with Javafx and Kotlin: Build State-Of-The-Art Kotlin GUI Applications» — книга знакомит с JavaFX, как технологией фронтенда и использует Kotlin вместо Java для кодирования программных артефактов, чтобы повысить выразительность и сопровождаемость кода
PathIterator
Это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
👉 PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
👉 Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
👉 PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
Это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
👉 PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
👉 Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
👉 PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Jackson
Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.
Jackson имеет простой и понятный API, что делает его доступным для начинающих разработчиков. Он работает очень быстро, что делает его идеальным выбором для высокопроизводительных приложений.
Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.
Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.
Jackson имеет простой и понятный API, что делает его доступным для начинающих разработчиков. Он работает очень быстро, что делает его идеальным выбором для высокопроизводительных приложений.
Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
Результаты исследования рынка IT-вакансий, проведенного DevJobsScanner. Были проанализированы 14 миллионов объявлений и выявлены 8 наиболее востребованных языков программирования.
Читать статью
#почитать
Результаты исследования рынка IT-вакансий, проведенного DevJobsScanner. Были проанализированы 14 миллионов объявлений и выявлены 8 наиболее востребованных языков программирования.
Читать статью
#почитать
Искусство ETL. Пишем собственный движок SQL на Spark
В данной серии статей автор подробно расскажет о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
Читать статью
#туториал
В данной серии статей автор подробно расскажет о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
Читать статью
#туториал
Очередной #дайджест для джавистов
➕ JEP 458: Launch Multi-File Source-Code Programs — запускает программы с несколькими файлами исходного кода, позволяет Java Launcher компилировать и запускать несколько файлов исходного кода — это улучшение по сравнению с JEP 330 для запуска программ с одним файлом исходного кода
➕ Java 22 and IntelliJ IDEA — обзор фич с упором на их поддержку в IntelliJ IDEA 2024.1
➕ Free Scala FP course — открытые курсы по введению в Scala можно пересчитать по пальцам одной руки, так что всегда приятно увидеть пополнение
➕ Совет пользователям Java на macOS 14 — Oracle рекомендует пользователям Java на устройствах Apple на базе ARM пропустить macOS 14.4 и обновиться до macOS 14.4.1
➕ AtomicJar теперь в Docker — теперь Testcontainers, Testcontainers Desktop и Testcontainers Cloud станут полноценной частью экосистемы Docker
➕ JEP 458: Launch Multi-File Source-Code Programs — запускает программы с несколькими файлами исходного кода, позволяет Java Launcher компилировать и запускать несколько файлов исходного кода — это улучшение по сравнению с JEP 330 для запуска программ с одним файлом исходного кода
➕ Java 22 and IntelliJ IDEA — обзор фич с упором на их поддержку в IntelliJ IDEA 2024.1
➕ Free Scala FP course — открытые курсы по введению в Scala можно пересчитать по пальцам одной руки, так что всегда приятно увидеть пополнение
➕ Совет пользователям Java на macOS 14 — Oracle рекомендует пользователям Java на устройствах Apple на базе ARM пропустить macOS 14.4 и обновиться до macOS 14.4.1
➕ AtomicJar теперь в Docker — теперь Testcontainers, Testcontainers Desktop и Testcontainers Cloud станут полноценной частью экосистемы Docker
Forwarded from Библиотека задач по Java | тесты, код, задания
Как узнать продолжительность аудиофайла?
Ответ на картинке.
Ответ на картинке.