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
#дайджест перед выходными
⬆️ Micronaut framework 4.4.0 Released — в ней есть улучшения в Micronaut Core, новый модуль, Micronaut OpenSearch, интеграция с OpenSearch, обновление зависимостей до Kotlin 1.9.23 и обновления многих модулей Micronaut
⬆️ Вышел PMD 7 — статический анализатор кода для Java, а теперь еще и для Kotlin
⬆️ Mocking Libraries can be your doom — о том, что такое мокирование в тестах и как мокировать правильно
⬆️ Update on String Templates (JEP 459) — String Templates, находящиеся в Java 22 в статусе second preview, отправляются на редизайн и не будут доступны в JDK23, даже с флагом –enable-preview
⬆️ Гайд по JDK Flight Recorder — что это за инструмент и зачем он нужен, как анализировать записи, как определять свои кастомные события и даже как их использовать в юнит-тестах
⬆️ Micronaut framework 4.4.0 Released — в ней есть улучшения в Micronaut Core, новый модуль, Micronaut OpenSearch, интеграция с OpenSearch, обновление зависимостей до Kotlin 1.9.23 и обновления многих модулей Micronaut
⬆️ Вышел PMD 7 — статический анализатор кода для Java, а теперь еще и для Kotlin
⬆️ Mocking Libraries can be your doom — о том, что такое мокирование в тестах и как мокировать правильно
⬆️ Update on String Templates (JEP 459) — String Templates, находящиеся в Java 22 в статусе second preview, отправляются на редизайн и не будут доступны в JDK23, даже с флагом –enable-preview
⬆️ Гайд по JDK Flight Recorder — что это за инструмент и зачем он нужен, как анализировать записи, как определять свои кастомные события и даже как их использовать в юнит-тестах
❤️ Активация с первого взгляда: как влюбить пользователя в продукт
Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей.
🔗 Читать статью
🔗 Зеркало
Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей.
🔗 Читать статью
🔗 Зеркало
Forwarded from Библиотека data scientist’а | Data Science, Machine learning, анализ данных, машинное обучение
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии
Инженер ПО рассказал нам о своих выходных на хакатоне в Кельне, где с командой пытался создать AI-стартап всего за два дня. Участники прошли путь от подачи идей в пятницу вечером до демонстрации работающего приложения к воскресенью.
В качестве бонуса автор привёл список основных пунктов, которые необходимо выполнить для создания стартапа.
🔗 Читать статью
🔗 Зеркало
Инженер ПО рассказал нам о своих выходных на хакатоне в Кельне, где с командой пытался создать AI-стартап всего за два дня. Участники прошли путь от подачи идей в пятницу вечером до демонстрации работающего приложения к воскресенью.
В качестве бонуса автор привёл список основных пунктов, которые необходимо выполнить для создания стартапа.
🔗 Читать статью
🔗 Зеркало
ServletConfig
Это интерфейс в Java, который предоставляет информацию о настройках сервлета. Каждый сервлет веб-приложения имеет свой объект ServletConfig, который позволяет сервлету получать доступ к параметрам и настройкам, определенным в файле развёртывания (web.xml) или в других конфигурационных файлах. Это полезно для настройки и переопределения поведения сервлета без изменения его исходного кода.
Это интерфейс в Java, который предоставляет информацию о настройках сервлета. Каждый сервлет веб-приложения имеет свой объект ServletConfig, который позволяет сервлету получать доступ к параметрам и настройкам, определенным в файле развёртывания (web.xml) или в других конфигурационных файлах. Это полезно для настройки и переопределения поведения сервлета без изменения его исходного кода.
🤷🤷 Типы совместимости в Schema Registry для Apache Kafka
Apache Kafka является мощным инструментом для обработки и передачи потоковых данных в реальном времени, который находит широкое применение в различных индустриях для обработки огромных объемов данных с низкой задержкой. В центре этой платформы лежит способность эффективно распределять данные между множеством производителей (producers) и потребителей (consumers), при этом поддерживая высокую пропускную способность и масштабируемость.
Schema Registry — это централизованное хранилище для схем сообщений, используемых в Apache Kafka, обеспечивающее управление и контроль версий схем данных. Основная задача Schema Registry — обеспечить, чтобы все сообщения, отправляемые в Kafka, соответствовали определенной схеме, что предотвращает возможные ошибки данных, вызванные несоответствием или изменением структуры данных.
Продолжение тут
#туториал
Apache Kafka является мощным инструментом для обработки и передачи потоковых данных в реальном времени, который находит широкое применение в различных индустриях для обработки огромных объемов данных с низкой задержкой. В центре этой платформы лежит способность эффективно распределять данные между множеством производителей (producers) и потребителей (consumers), при этом поддерживая высокую пропускную способность и масштабируемость.
Schema Registry — это централизованное хранилище для схем сообщений, используемых в Apache Kafka, обеспечивающее управление и контроль версий схем данных. Основная задача Schema Registry — обеспечить, чтобы все сообщения, отправляемые в Kafka, соответствовали определенной схеме, что предотвращает возможные ошибки данных, вызванные несоответствием или изменением структуры данных.
Продолжение тут
#туториал
🧑🎓🧑🎓 Hazelcast: эксперименты с настройкой и долговременным хранением больших объектов in-memory
Статья будет полезна для тех, кто поддерживает приложения на Java, так как большая ее часть посвящена анализу работы G1 GC, знакомству с соответствующими инструментами и особенностями тюнинга GC, в частности для очень больших heap`ов. А также тем, кто пытается разобраться, на что способен Hazelcast, и для чего его можно применить.
Читать статью
#гайд
Статья будет полезна для тех, кто поддерживает приложения на Java, так как большая ее часть посвящена анализу работы G1 GC, знакомству с соответствующими инструментами и особенностями тюнинга GC, в частности для очень больших heap`ов. А также тем, кто пытается разобраться, на что способен Hazelcast, и для чего его можно применить.
Читать статью
#гайд
Очередной #дайджест для джавистов
➡️ sbt 2.x удаленный кэш с поддержкой Bazel — о том, как интегрироваться с этим интерфейсом и использовать часть эндпоинтов для решения своей задачи
➡️ Iris — интерактивный конфигуратор темы для Linux-а, написанный на Scala 3 — в терминале пишем java -jar iris-java.jar и пред вами предстает TUI-меню с выбором темы
➡️ Быстрее, выше, сильнее — оптимизируем Spring-контекст для тестов
➡️ Что нового в JMC 9 — в статье рассказывается, что нового в 9-й версии
➡️ JOOQ. Введение — техническое и философское осмысление библиотеки для взаимодействия с базой данных JOOQ
➡️ sbt 2.x удаленный кэш с поддержкой Bazel — о том, как интегрироваться с этим интерфейсом и использовать часть эндпоинтов для решения своей задачи
➡️ Iris — интерактивный конфигуратор темы для Linux-а, написанный на Scala 3 — в терминале пишем java -jar iris-java.jar и пред вами предстает TUI-меню с выбором темы
➡️ Быстрее, выше, сильнее — оптимизируем Spring-контекст для тестов
➡️ Что нового в JMC 9 — в статье рассказывается, что нового в 9-й версии
➡️ JOOQ. Введение — техническое и философское осмысление библиотеки для взаимодействия с базой данных JOOQ
Forwarded from Библиотека задач по Java | тесты, код, задания
Forwarded from Библиотека задач по Java | тесты, код, задания