#вопросы_с_собеседований
Какие логические операции и операторы вы знаете?
•
•
•
•
•
•
•
•
•
•
•
•
Какие логические операции и операторы вы знаете?
•
&
: Логическое AND (И);•
&&
: Сокращённое AND;•
|
: Логическое OR (ИЛИ);•
||
: Сокращённое OR;•
^
: Логическое XOR (исключающее OR (ИЛИ));•
!
: Логическое унарное NOT (НЕ);•
&=
: AND с присваиванием;•
|=
: OR с присваиванием;•
^=
: XOR с присваиванием;•
==
: Равно;•
!=
: Не равно;•
?:
: Тернарный (троичный) условный оператор.В этом новом видео "История систем контроля версий" автор рассказывает об эволюции систем контроля версий, начиная с первых командных интерфейсов и заканчивая современными децентрализованными системами. Автор описывает основные принципы и функциональность таких систем, как SCCS, RCS, CVS, SVN и Git, рассказывает о их преимуществах и ограничениях, а также о том, как они повлияли на развитие современного программного обеспечения.
https://youtu.be/idRbHt3LE58
Please open Telegram to view this post
VIEW IN TELEGRAM
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.
Смотреть статью
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.
Смотреть статью
Prostore — простой Event sourcing + CQRS фреймворк
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.
https://habr.com/ru/post/716218/
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.
https://habr.com/ru/post/716218/
Хабр
Prostore — простой Event sourcing + CQRS фреймворк
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о...
Что такое тернарный оператор выбора?
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
условие ? выражение1 : выражение2
Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.Экспортируем метрики в Prometheus, пишем кастомные метрики с помощью Micrometr, строим дашборды в Grafana. Поднимаем это все с помощью Docker compose.
https://youtu.be/CexiiWrZESk
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Мониторинг Spring Boot, Prometheus и Grafana(Docker compose)
Экспортируем метрики в Prometheus, пишем кастомные метрики с помощью Micrometr, строим дашборды в Grafana. Поднимаем это все с помощью Docker compose.
Repo GitHub - https://github.com/kegisa/YandexTaxiScheduler
Api Yandex Taxi - https://yandex.ru/dev/taxi/taxiapi/…
Repo GitHub - https://github.com/kegisa/YandexTaxiScheduler
Api Yandex Taxi - https://yandex.ru/dev/taxi/taxiapi/…
Руководство по обработке исключений в Java Stream
Друзья, вашему вниманию предлагается небольшое руководство по обработке исключений в Java Stream, из которого вы узнаете: 😃
✔️ Как обрабатывать проверяемые исключения, выбрасываемые методами из промежуточных операций в стримах
✔️ Как использовать блок try-catch в лямбда-выражениях
✔️ Как безопасно извлекать метод.
Также, даны рекомендации использовать Optional вместо выбрасывания значения null из извлекаемой функции.
Хорошей практики!
https://howtodoinjava.com/java/stream/handle-exceptions-in-stream/
Друзья, вашему вниманию предлагается небольшое руководство по обработке исключений в Java Stream, из которого вы узнаете: 😃
✔️ Как обрабатывать проверяемые исключения, выбрасываемые методами из промежуточных операций в стримах
✔️ Как использовать блок try-catch в лямбда-выражениях
✔️ Как безопасно извлекать метод.
Также, даны рекомендации использовать Optional вместо выбрасывания значения null из извлекаемой функции.
Хорошей практики!
https://howtodoinjava.com/java/stream/handle-exceptions-in-stream/
HowToDoInJava
Handle Exceptions Thrown in Java Streams - HowToDoInJava
Learn to handle the checked exceptions thrown from the methods used in Stream operations in Java 8 using safe method extraction and Optional.
#вопросы_с_собеседований
Как и когда происходит увеличение количества корзин в HashMap?
Помимо
Как и когда происходит увеличение количества корзин в HashMap?
Помимо
capacity
у HashMap
есть еще поле loadFactor
, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor
. По умолчанию loadFactor = 0.75
. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.#вопросы_с_собеседований
Сделайте HashMap из HashSet<Map.Entry<K, V>>.
Сделайте HashMap из HashSet<Map.Entry<K, V>>.
HashMap<K, V> map = new HashMap<>(set.size());
for (Map.Entry<K, V> entry : set) {
map.put(entry.getKey(), entry.getValue());
}
#вопросы_с_собеседований
Сделайте HashSet из ключей HashMap.
Сделайте HashSet из ключей HashMap.
HashSet<Object> set = new HashSet<>(map.keySet());
#вопросы_с_собеседований
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?
Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?
Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.
Автор показывает, как генерировать FeignClient по swagger openapi. Часто используется в реализации микросервисов на Spring Boot.
https://youtu.be/O2CrSdhS7pM
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Генерация Spring FeignClient по Swagger openapi
Показываю как генерировать FeignClient по swagger openapi. Часто используется в реализации микросервисов на Spring Boot.
Сервис валют - https://github.com/kegisa/CurrencyCbrService
Пример проекта со SwaggerCodeGen - https://github.com/kegisa/GeneratingFeignBySwagger…
Сервис валют - https://github.com/kegisa/CurrencyCbrService
Пример проекта со SwaggerCodeGen - https://github.com/kegisa/GeneratingFeignBySwagger…
Spring: новости за прошедшую неделю / 28-е февраля
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
This Week in Spring - February 28th, 2023
Level up your Java code and explore what Spring can do for you.
Шестнадцатеричный формат
Иногда нам нужно преобразовать строки в шестнадцатеричный формат, байты или символы. Начиная с Java 17 вы можете использовать класс HexFormat. Просто создайте экземпляр HexFormat, а затем вы можете отформатировать, например, входную таблицу byte в шестнадцатеричную строку. Вы также можете, например, преобразовать входную шестнадцатеричную строку в таблицу байтов, как показано выше.
Иногда нам нужно преобразовать строки в шестнадцатеричный формат, байты или символы. Начиная с Java 17 вы можете использовать класс HexFormat. Просто создайте экземпляр HexFormat, а затем вы можете отформатировать, например, входную таблицу byte в шестнадцатеричную строку. Вы также можете, например, преобразовать входную шестнадцатеричную строку в таблицу байтов, как показано выше.
Целью проекта Leyden является сокращение времени запуска программ, сокращение времени достижения пиковой производительности, а также сокращение занимаемой памяти Java программ.
Руководитель проекта Марк Рейнхольд недавно предложил расширить программную модель Java функциями для выборочного сдвига и ограничения вычислений с помощью "конденсоров" (condensor).
В предложенном сегодня видео Николай Парлог расскажет о будущем этого проекта.
Приятного просмотра!
https://youtu.be/QPWFjNroHls
Руководитель проекта Марк Рейнхольд недавно предложил расширить программную модель Java функциями для выборочного сдвига и ограничения вычислений с помощью "конденсоров" (condensor).
В предложенном сегодня видео Николай Парлог расскажет о будущем этого проекта.
Приятного просмотра!
https://youtu.be/QPWFjNroHls
YouTube
The Holy Grail of Java Performance - Inside Java Newscast #43
The goal of Project Leyden is to improve the startup time, time to peak performance, and footprint of Java programs. Project lead Mark Reinhold recently proposed to extend the Java programming model with features for selectively shifting and constraining…
Новость для багхантеров
Финтех-компания QIWI запустила программу Bug Bounty на платформе tumar.one. Искать уязвимости можно на доменах qiwi.com, qiwi.ru, contact-sys.com и их поддоменах, а также в мобильных приложениях QIWI. За продемонстрированные атаки на найденные уязвимости в основных сервисах компании белые хакеры могут получить денежное вознаграждение вплоть до $5 тыс. С подробными правилами участия можно ознакомиться в описании программы, предварительно пройдя регистрацию на платформе.
Финтех-компания QIWI запустила программу Bug Bounty на платформе tumar.one. Искать уязвимости можно на доменах qiwi.com, qiwi.ru, contact-sys.com и их поддоменах, а также в мобильных приложениях QIWI. За продемонстрированные атаки на найденные уязвимости в основных сервисах компании белые хакеры могут получить денежное вознаграждение вплоть до $5 тыс. С подробными правилами участия можно ознакомиться в описании программы, предварительно пройдя регистрацию на платформе.