Какие логические операции и операторы вы знаете?
• &
: Логическое AND (И);
• &&
: Сокращённое AND;
• |
: Логическое OR (ИЛИ);
• ||
: Сокращённое OR;
• ^
: Логическое XOR (исключающее OR (ИЛИ));
• !
: Логическое унарное NOT (НЕ);
• &=
: AND с присваиванием;
• |=
: OR с присваиванием;
• ^=
: XOR с присваиванием;
• ==
: Равно;
• !=
: Не равно;
• ?:
: Тернарный (троичный) условный оператор.
#вопросы_с_собеседований
Можно ли использовать строки в конструкции switch?
Да, начиная с Java 7 в операторе switch можно использовать строки, ранние версии Java не поддерживают этого. При этом:
• участвующие строки чувствительны к регистру;
• используется метод equals() для сравнения полученного значения со значениями case, поэтому во избежание NullPointerException стоит предусмотреть проверку на null.
• согласно документации, Java 7 для строк в switch, компилятор Java формирует более эффективный байткод для строк в конструкции switch, чем для сцепленных условий if-else.
💪 Мощный инструмент в одной строке: Метод of()
Метод of()
обеспечивает компактный способ создания неизменяемых коллекций.
🗣️ Этот метод является удобным и эффективным инструментом для создания коллекций с набором известных элементов.
♨️ Анализировать множество показателей и не перегружать приложение?
С Java Flight Recorder – это легко.
Приглашаем вас на открытый урок «Обзор инструмента Java Flight Recorder».
🗓 22 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от OTUS.
JFR:
- Регистрирует множество событий внутри виртуальной машины Java
- Не ухудшает производительность
- Помогает детально разобраться в причинах сбоев и ошибок
Хотите освоить? - приходите на вебинар!
Спикер – Александр Царёв, техлид в Сбере.
🔗 Ссылка на регистрацию: https://otus.pw/gQih/Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Работать ручным тестировщиком круто: можно проверять нестандартные сценарии или поставить себя на место реального пользователя. Но если хочется чего-то большего и ускорить работу над рутинными тест-кейсами — самое время автоматизировать часть задач. Не знаете программирование? Мы научим.
Приходите в Яндекс Практикум на курс «Автоматизатор тестирования на Java» — за 5 месяцев освоите инструменты автоматизации, основы Java и научитесь покрывать автотестами веб-приложения и API.
И не спешите покупать курс — попробуйте бесплатный модуль, а уже потом решите, хотите развиваться в этом направлении или нет.
✔️ Использование Collectors.teeing для объединения потоков
Java 12 представила новый метод Collectors.teeing
, который позволяет объединить результаты двух различных коллекторов в один итоговый результат.
🗣️ Эта возможность значительно упрощает обработку сложных потоков данных.
➡️ Сила коллекций: Неизменяемые коллекции в Java
Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf.
✔️ Эти методы предоставляют простой способ создания неизменяемых представлений существующих коллекций, улучшая безопасность и надежность кода.
➡️ FEST-Assert — мощная библиотека для упрощения тестирования
FEST-Assert — это библиотека для Java, которая значительно упрощает процесс написания тестов, делая их более выразительными и читаемыми. Она предоставляет удобные и цепочные методы для утверждений, позволяя разработчикам писать тесты, которые легко понимать и поддерживать.
🗣 Если вы хотите сделать свои тесты более читаемыми и выразительными, FEST-Assert — отличный выбор. Эта библиотека упрощает написание тестов и делает их более интуитивно понятными.
🔗 Ссылочка на доку
Хотите научиться разрабатывать парсеры pdf-файлов и создавать полезные приложения?
Приглашаем на открытый урок «Разработка парсера pdf-файла».
🗓 24 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional»
На вебинаре разберем:
- как разработать парсер для выписки ВТБ банка в формате pdf;
- весь путь от идеи до практического применения;
- ответы на все возникающие вопросы.
⬇️ В результате урока вы получите практически полезное приложение с подробностями реализации.
Спикер Сергей Петрелевич — опытный Java/Kotlin-разработчик и преподаватель.
Все участники вебинара получат специальную цену на обучение!
🔗 Ссылка на регистрацию:https://otus.pw/UWDd/Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚡️ До конца регистрации на хакатон MORE.Tech от ВТБ остался всего 1 день! Успей подать заявку!
Когда: 11-26 октября 2024
Формат: гибридный (онлайн и офлайн)
Призовой фонд: 1,5 млн рублей
🔥 Хакатон подойдёт для тебя, если ты:
– Студент или выпускник технического вуза;
– Backend / Frontend-разработчик;
– Аналитик;
– Проектный менеджер;
– UX/UI-дизайнер;
– Блокчейн-разработчик (Solidity);
– Специалист в области ИБ.
❗️Выбери свой трек:
1. Озеро данных: большие данные, обработка, хранение и анализ с использованием современных технологий.
2. NFT: система верифицированных достижений и сертификатов на основе блокчейн-токенов.
3. Vault: разработка безопасной системы хранения данных, аналог известного решения Vault от Hashicorp.
▶️ Успей подать заявку до 17 октября, 23:59 МСК по ссылке.
#реклама
О рекламодателе
Ищем автора эталонного кода! 💎
Если вы уверены, что вашему коду подходит звание «Эталонный», а вам — звание «Автор самого красивого кода», то приглашаем принять участие в Конкурсе красоты кода 2.0 и выиграть классные призы от Сбера: iPhone 16 и умную колонку SberBoom.
Опытные эксперты определят победителей в пяти категориях: Backend, Frontend, DevOps, AI и Mobile, — а награждение пройдёт на ключевом IT-событии HighLoad в Москве, 2 и 3 декабря.
Больше 40 участников прошлого конкурса стали частью команды Сбера. Возможно, следующим станете именно вы — переходите по ссылке и изучайте подробности!
➡️ TestContainers — инструмент для тестирования с использованием контейнеров Docker
TestContainers — это библиотека, которая позволяет создавать тестовые окружения с использованием Docker-контейнеров. Это особенно полезно для тестирования взаимодействий с базами данных, сообщениями, веб-сервисами и другими инфраструктурными компонентами в изолированной среде.
TestContainers помогает запускать интеграционные тесты, используя реальные сервисы, работающие в контейнерах.
🗣 TestContainers — идеальный выбор для разработки интеграционных тестов, где нужно взаимодействовать с реальными сервисами.
🔗 Ссылочка на доку
➡️ Использование Virtual Threads для упрощения многопоточности
В Java 21 были введены виртуальные потоки — лёгковесные потоки, которые значительно упрощают создание и управление большим количеством параллельных задач. Они позволяют запускать тысячи и даже миллионы потоков без значительных затрат ресурсов и сложности управления.•
Виртуальные потоки потребляют меньше системных ресурсов, позволяя более эффективно использовать многопоточность.•
Они упрощают написание параллельного кода, делая его более читаемым и поддерживаемым.
➡️ MyBatis — мощный ORM-фреймворк для работы с базами данных
MyBatis — это гибкий и мощный фреймворк для работы с базами данных, который позволяет маппировать SQL-запросы на Java-объекты. В отличие от других ORM, таких как Hibernate, MyBatis предоставляет больше контроля над SQL-запросами и позволяет напрямую писать SQL, оставаясь при этом гибким инструментом для работы с базами данных.
🗣 MyBatis — это отличный выбор для тех, кто хочет больше контроля над SQL-запросами, но при этом предпочитает типобезопасное взаимодействие с базой данных.
🔗 Ссылочка на доку
Главная конференция по бизнесу в Telegram
31 октября в Москве пройдёт первая конференция по Telegram от крупнейшего сервиса аналитики Telemetr. Топы Телеграм-рынка, маркетологи и представители бизнеса обсудят самые актуальные тенденции и перспективы развития платформы Telegram.
Присоединиться к мероприятию можно будет и онлайн. Тут найдёте всю информацию - https://telemetr.pro.
На конференции вас ждут:
- 20+ опытных спикеров
- 1000+ онлайн и офлайн участников
- две сцены
- нетворкинг активности
- лаунж зона
- вкусный фуршет
- яркое afterparty в PAPA Moscow
Спикерами главной сцены будут: Артемий Лебедев, руководитель Telemetr - Денис Ларионов, основатель агентства GoDigital - Сурен Альбертян, основатель Сидорин ЛАБ - Дмитрий Сидорин и многие другие!
За подробностями сюда - https://telemetr.pro
А купить билет со скидкой в 10% можно, использовав наш промокод - TMConf10
Купить билет - https://telemetr.pro
Шпаргалка по Spring для Java Junior уже доступна в бесплатной библиотеке от FAANG School.
Только в течение 24 часов вы можете получить доступ:
– Пошаговая RoadMap по Java
– Мануал по Docker. Основные команды и концепции
– Микросервисы. Вопросы с собеседований
– Шпаргалка с горячими клавишами JetBrains IDE. Ускоришь работу в 10 раз
– Desk setup. Подборка аксессуаров для комфортной работы
– Шпаргалка по Kafka
– Инструкция по работе с Git
– Подробный гайд, как найти работу в IT без опыта
– Подборка платформ с вакансиями для java-разработчиков
Из свежих пополнений – Инструкция по работе с Git (ключевой навык для любого разработчика!)
Библиотека знаний постоянно пополняется, но бесплатный доступ длится всего сутки. Чтобы получить полезные материалы, переходи по ссылке и жми на оранжевую кнопку.
⚙️ Более эффективная работа с коллекциями
Java предоставляет множество мощных инструментов для работы с коллекциями. Одним из них является Collectors.partitioningBy
, который позволяет разделить элементы потока на две группы на основе заданного предиката.
➡️ Эта функция упрощает обработку и классификацию данных.
➡️ Использование Local-Variable Type Inference
✔️ Функция Local-Variable Type Inference позволяет объявлять локальные переменные без явного указания их типа, что делает код более компактным и улучшает его читаемость
➡️ Мощь статических методов: Использование методов интерфейсов
✔️ В Java 8 была введена возможность определения статических методов в интерфейсах, что открыло новые возможности для создания удобных и мощных утилитарных функций прямо в интерфейсах.
🗣В интерфейсе ListUtils
определен статический метод max, который находит максимальный элемент в коллекции.
🗣В методе main
мы вызываем статический метод max из интерфейса ListUtils
, передавая ему список чисел.
🗣Мы выводим найденное максимальное число на экран.
✔️ Использование Flow API для реактивного программирования
Java 9 представила Flow API, который обеспечивает стандартный интерфейс для реализации реактивного программирования.
🗣️ Flow API позволяет создавать асинхронные, нелокальные потоки данных, упрощая работу с реактивными системами.
Yandex Cloud запустил сервис для ускорения разработки продуктов в облаке Yandex Serverless Integrations
Теперь разработчики смогут при минимальном написании кода автоматизировать различные процессы, например обработку онлайн-заказов и мониторинг систем безопасности.
Сделать это можно благодаря инструменту Yandex Workflows — он позволяет описать последовательность операций с помощью декларативного языка YAML. Сервис автоматически запустит эти процессы и проконтролирует их выполнение.
Помимо этого, Yandex Serverless Integrations включает в себя инструменты EventRouter для передачи событий между сервисами и API Gateway для создания шлюзов между внешними и облачными сервисами по спецификации OpenAPI 3.0.
Читайте подробнее в статье
♨️ Анализировать множество показателей и не перегружать приложение?
С Java Flight Recorder – это легко.
Приглашаем вас на открытый урок «Обзор инструмента Java Flight Recorder».
🗓 22 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от OTUS.
JFR:
- Регистрирует множество событий внутри виртуальной машины Java
- Не ухудшает производительность
- Помогает детально разобраться в причинах сбоев и ошибок
Хотите освоить? - приходите на вебинар!
Спикер – Александр Царёв, техлид в Сбере.
🔗 Ссылка на регистрацию: https://otus.pw/gQih/Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
➡️ Использование метода Objects::isNull
для удобной проверки на null
Начиная с Java 7, был добавлен метод Objects.isNull()
, который позволяет более читаемо проверять объекты на null
. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.• Objects.isNull()
помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.
➡️ Использование метода String::strip
для удаления пробелов
Начиная с Java 11, был добавлен метод String.strip()
, который удаляет пробелы в начале и в конце строки. В отличие от trim()
, он корректно работает с символами пробела, определёнными в Unicode, что делает его более универсальным.• String.strip()
полезен для работы с текстовыми данными, где необходимо гарантированно удалить пробелы в соответствии с международными стандартами Unicode.•
Этот метод также предоставляет аналоги для удаления только ведущих или завершающих пробелов: stripLeading()
и stripTrailing()
.
➡️ Использование метода Collectors.filtering()
для фильтрации элементов при сборе в коллекцию
Начиная с Java 9, метод Collectors.filtering()
позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.• Collectors.filtering()
делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.•
Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.
➡️ JUnit 5 — современный инструмент для модульного тестирования
JUnit 5 — это обновлённая версия популярной библиотеки для тестирования, которая предоставляет мощный и гибкий API для написания модульных тестов. JUnit 5 поддерживает аннотации для удобного создания тестов, расширяемость через расширения, а также работу с различными тестовыми сценариями. Он также лучше интегрируется с современными инструментами и фреймворками.
🗣 JUnit 5 — идеальный выбор для проектов, где необходимо гибкое и масштабируемое тестирование с возможностью использования мощных расширений.
🔗 Ссылочка на доку
Какая ошибка при использовании метрик – самая опасная ?
Когда мы «молимся» на одни показатели, но игнорируем другие: те, которые не укладываются в нашу картину успеха. Такой перекос опасен для компании: будут страдать и сотрудники, и результаты их работы.
Хотите узнать, как пользоваться метриками, чтобы улучшать процессы, а не просто давить на команду?
Приходите на открытый вебинар «Метрики для оценки работы и производительности команды»
Будет интересно: менеджерам в IT, scrum-мастерам, agile-тренерам, руководителям и тимлидам в отделах разработки.
Вы научитесь:
- усовершенствовать оценку производительности команд
- оптимизировать процессы разработки
- внедрять и развивать метрики в agile и scrum-командах
- соблюдать баланс метрик
- повышать производительность не в ущерб качеству
Спикер: Ирина Метансина – проект-менеджер, agile-практик, бизнес-аналитик с 10-летним опытом в проектном управлении.
17 октября, 19:00 МСК
Бесплатно
Записаться на событие: https://otus.pw/bJar/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
➡️ Использование метода Optional.ifPresentOrElse()
для обработки значения или выполнения альтернативного действия
Начиная с Java 9, метод Optional.ifPresentOrElse()
позволяет выполнить действие, если значение присутствует, или выполнить другое действие, если значение отсутствует. Это помогает избавиться от лишних проверок на наличие значения.• Optional.ifPresentOrElse()
упрощает обработку значений и позволяет добавить fallback-логику в случае отсутствия значения.•
Этот метод делает код более компактным и читабельным, устраняя необходимость использовать громоздкие условные конструкции.
FastCSV
FastCSV — это высокопроизводительная, соответствующая RFC и не требующая зависимостей библиотека CSV для Java. Она является одной из самых популярных библиотек CSV для Java на GitHub.
https://github.com/osiegmar/FastCSV
#для_продвинутых
OpenCSV
OpenCSV — это библиотека Java с открытым исходным кодом, предназначенная для работы с CSV-файлами. Она обеспечивает простой и удобный интерфейс для чтения, записи, обработки и анализа CSV-данных. OpenCSV является одной из самых популярных библиотек для работы с CSV в Java, благодаря своей простоте использования, производительности и широкому набору функций.
https://opencsv.sourceforge.net/
#для_продвинутых