seniorjavist | Unsorted

Telegram-канал seniorjavist - Senior Java Developer

-

Изучаем Java. По вопросам сотрудничества: @seniorvladislav

Subscribe to a channel

Senior Java Developer

StreamEx

StreamEx — это библиотека для Java 8, которая расширяет возможности стандартного Stream API, добавляя новые операции, коллекторы и источники стримов.

#для_продвинутых

Читать полностью…

Senior Java Developer

Fastexcel

Fastexcel — это легкая и производительная библиотека Java для работы с файлами Excel. Она позволяет читать, создавать и модифицировать электронные таблицы XLSX, используя простой и понятный API.

#для_начинающих

Читать полностью…

Senior Java Developer

Хотите узнать о технологиях в Яндексе? Слушайте I like techno 🔥

I like techno — подкаст про технологии от Яндекс Еды, Лавки, Такси, Маркета, Доставки и Техплатформы Екома и Райдтеха. В выпусках эксперты рассказывают, что стоит за простыми приложениями в гаджетах, и говорят о бизнесе, продукте и людях, которые создают технологии.

В первых двух эпизодах обсудили технологии в Яндекс Еде и Лавке и продуктовую разработку в Такси и Самокатах.

Узнайте подробнее на сайте подкаста и переходите слушать на YouTube и Яндекс Музыку! 🎧

Читать полностью…

Senior Java Developer

ServletConfig

ServletConfig — это интерфейс в Java, который предоставляет информацию о настройках сервлета. Каждый сервлет веб-приложения имеет свой объект ServletConfig, который позволяет сервлету получать доступ к параметрам и настройкам, определенным в файле развёртывания (web.xml) или в других конфигурационных файлах. Это полезно для настройки и переопределения поведения сервлета без изменения его исходного кода.

#для_продвинутых

Читать полностью…

Senior Java Developer

MenuItem

MenuItem — это интерфейс, который представляет элемент меню в графическом пользовательском интерфейсе (GUI) приложения, таком как оконное приложение, веб-приложение или мобильное приложение. Этот интерфейс используется в различных библиотеках и фреймворках, таких как Java AWT (Abstract Window Toolkit) и JavaFX для создания меню и команд, доступных пользователю.

MenuItem определяет базовые методы и свойства, которые используются для создания и настройки элементов меню.

#для_продвинутых

Читать полностью…

Senior Java Developer

🧠 Хотите упростить создание тестовой отчетности? 
Ждём вас на открытом практическом уроке «Организовываем отчетность по автотестам на Allure» от OTUS.

💪 На вебинаре разберем:
- интеграцию Allure с Groovy pipeline на Jenkins;
- разницу между TestResult и TestResultContainer;
- интеграцию allure артефактов с Allure TestOps. 

☝️Все это позволит вам оптимизировать работу и сэкономить время на рутинных задачах. 

👉 Зарегистрируйтесь, чтобы посетить бесплатный урок: https://otus.pw/ue4iW/?erid=LjN8KAhVf

⏰ Встречаемся 15 мая в 20:00 мск в преддверии старта курса «Java QA Engineer. Professional». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS! 

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Java Developer

Ростов-на-Дону, приглашаем 23 мая на митап IT Talk by Sber 👨‍💻

Обещаем интересную программу и много нетворкинга. Будем слушать доклады на тему soft skills, проектирования ПО и роли AI в тестировании.

Спикеры и темы:

👉 Виталий Куценко — руководитель направления дивизиона «Кредитные продукты и процессы» — «Послание к самому себе: "…про архитектуру приложений"».

👉 Ирина Коровина — главный инженер по разработке управления технологий маркетинга — «Искусственный интеллект: новый помощник тестировщика. Как мы попробовали применить AI в Медиа».

👉 Михаил Новотарский — руководитель направления, QA-лид внутреннего сервиса «СберДруг» — «Управление гневом в работе ИТ-команд».

Локация: Ростов-на-Дону, Лофт «РУБИН» Театральный просп., 85 (этаж 4)

Ждём вас 23 мая в 18:00!
Регистрируйтесь по ссылке 😉

Читать полностью…

Senior Java Developer

Работа с датами LocalDateTime

Класс LocalDateTime из пакета java.time позволяет создавать даты и изменять их, добавляя и отнимая необходимое количество часов, дней, месяцев, лет и даже эпох.

Чтобы получить текущую дату на вашем устройстве достаточно вызвать метод LocalDateTime::now.

Зеркалом этого класса в JDBC является класс TimeStamp, в который можно перевести методом of().

#для_продвинутых

Читать полностью…

Senior Java Developer

В чём разница между >> и >>>?

Операторы >> и >>> используются для выполнения побитовых сдвигов над числами.

Оператор >> выполняет арифметический сдвиг вправо. При этом, если число положительное, то сдвиг вправо на n битов эквивалентен делению числа на 2^n. Однако при работе с отрицательными числами, оператор >> выполняет расширение знака, то есть заполняет старшие биты таким же значением, как старший бит исходного числа.

Оператор >>> также выполняет сдвиг вправо, но в отличие от >>, он всегда заполняет старшие биты нулями, даже при отрицательных числах. Этот оператор полезен при работе с беззнаковыми числами или при необходимости получения значения без знакового расширения.

#для_начинающих

Читать полностью…

Senior Java Developer

ExecutorService

ExecutorService — это интерфейс в Java, который предоставляет высокоуровневый способ управления выполнением задач (потоков) в фоновом режиме. Он является частью пакета java.util.concurrent и предоставляет абстракцию над управлением потоками выполнения, что облегчает создание и управление потоками в многозадачных приложениях.

ExecutorService позволяет разработчикам создавать пулы потоков, которые автоматически управляются пулом, а не создаются и уничтожаются каждый раз вручную. Это снижает накладные расходы на создание и уничтожение потоков, что может быть дорогостоящей операцией.

#для_продвинутых

Читать полностью…

Senior Java Developer

Интерфейс Enumeration

Интерфейс Enumeration — определяет методы, с помощью которых вы можете перечислить (получить по одному) элементы в коллекции объектов.

Этот устаревший интерфейс был заменён Iterator. Хоть и не совсем, но Enumeration считается устаревшим для нового кода. Однако он используется некоторыми методами, определёнными такими устаревшими классами, как Vector и Properties, используется другими API классами и сейчас широко используется в коде приложений.

Читать полностью…

Senior Java Developer

Инициализаторы

Инициализаторы — это блоки кода, которые выполняются при создании объекта класса, перед вызовом конструктора. Они позволяют выполнять дополнительную инициализацию объекта, которая не может быть выполнена внутри конструктора или требует какой-то логики до вызова конструктора.

В Java есть два типа инициализаторов: инициализатор экземпляра и статический инициализатор.

Оба типа инициализаторов позволяют выполнять код при создании объектов класса или загрузке класса, что может быть полезно для настройки и инициализации переменных и других ресурсов до начала использования объектов.

#для_продвинутых

Читать полностью…

Senior Java Developer

Статический инициализатор

Статический инициализатор — блок кода, который выполняется при первой загрузке класса или при первом обращении к статическому члену класса (переменной или методу). Статический инициализатор обычно используется для инициализации статических переменных или выполнения других действий, которые требуются только один раз, при загрузке класса.

#для_продвинутых

Читать полностью…

Senior Java Developer

Агрегация

Агрегация — это отношение между классами, когда один класс содержит ссылки на объекты другого класса. Это также называется «композицией» или «составным объектом». Важно отметить, что агрегация является одним из способов управления отношениями между классами в ООП.

Примером агрегации может быть, например, класс «Университет», который содержит коллекцию объектов класса «Студент». В этом случае, «Университет» агрегирует (содержит) множество объектов «Студент». Важно, чтобы объекты «Студент» оставались независимыми и могли существовать отдельно от объекта «Университет».

#для_продвинутых

Читать полностью…

Senior Java Developer

Метод ordinal() в Enum

Метод ordinal() является частью класса Enum. Класс Enum используется для создания типов данных, представляющих ограниченное множество значений, таких как перечисления (enumerations). Метод ordinal() возвращает порядковый номер (индекс) конкретного элемента перечисления в объявленном порядке.

#для_начинающих

Читать полностью…

Senior Java Developer

👉 С чего начать изучение Apache Kafka? 

Apache Kafka — многогранный и непростой инструмент. Даже если вы уверены, что знаете его, наш курс докажет вам обратное! 

💻 Начните работу с Kafka на открытом практическом уроке от OTUS, где вы:

— разберете особенности и устройство Kafka;
— познакомитесь с основными утилитами;
— рассмотрите базовое API для работы с Kafka. 

♦️ Спикер — опытный разработчик и преподаватель.

Встречаемся 20 мая в 20:00 мск в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS! 

🔥 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/6hKL/?erid=LjN8KNCS9

Читать полностью…

Senior Java Developer

Double-brace инициализация

Double-brace инициализация — это нестандартная инициализация объекта, которая использует двойные фигурные скобки для создания и инициализации коллекций, таких как списки (List) или множества (Set) в одной строке. Этот метод инициализации обычно используется для краткости кода, но его использование не является рекомендуемой практикой в реальных проектах из-за своей неочевидности и потенциальных проблем.

Конечно, вместо double-brace инициализации лучше использовать стандартные способы создания и инициализации коллекций в Java, такие как вызов конструктора и методов добавления элементов.

#для_продвинутых

Читать полностью…

Senior Java Developer

ConcurrentSkipListSet

ConcurrentSkipListSet — это реализация интерфейса Set, предназначенная для хранения уникальных элементов в отсортированном порядке. Она основана на структуре данных, называемой Skip List, и обеспечивает эффективную поддержку многопоточности.

Основные особенности ConcurrentSkipListSet:

ConcurrentSkipListSet не позволяет хранить дублирующиеся элементы. Если вы попытаетесь добавить в него элемент, который уже существует, операция добавления завершится успешно, но элемент не будет дублироваться.
— Элементы в ConcurrentSkipListSet хранятся в отсортированном порядке по их естественному порядку (если элементы реализуют интерфейс Comparable) или с использованием заданного компаратора.
ConcurrentSkipListSet является потокобезопасной структурой данных. Она обеспечивает безопасное чтение и запись элементов из нескольких потоков без необходимости явной синхронизации.

#для_продвинутых

Читать полностью…

Senior Java Developer

Подкаст про системное программирование для разработчиков на Java/Kotlin

Использовать компиляторы, операционные системы и отладчики — здорово, еще круче — понимать, как они устроены. О сложных материях системного программирования доступно рассказывают ведущие подкаста «Битовые маски». Вместе с гостями — практикующими инженерами и разработчиками — они обсуждают актуальные задачи в отрасли и случаи из практики.

Для разработчиков на Java/Kotlin есть отдельный плейлист. Вот несколько тем из него:

• Разработка компиляторов / LLVM backend для RISC-V / Ккомпилятор для Kotlin
• Разработка JVM / Компиляторы в виртуальных машинах / Поддержка RISC-V, Apple M1 в JVM

Смотреть подкаст → по ссылке.

Чтобы не пропустить новые выпуски подкаста, подписывайтесь на Telegram-канал «Битовые маски».

Читать полностью…

Senior Java Developer

Заглушка

Заглушка (stub) — это маленький кусок кода, который используется в тестировании для замены реального объекта или метода. Заглушки создаются, чтобы имитировать поведение реальных объектов или методов в контролируемой среде тестирования. Это позволяет изолировать код, который вы хотите протестировать, от внешних зависимостей, таких как базы данных или внешние службы.

В Java заглушки часто создаются с использованием фреймворков для тестирования, таких как JUnit или Mockito.

#для_продвинутых

Читать полностью…

Senior Java Developer

doGet()

doGet() — это метод, который используется в Java для обработки HTTP GET-запросов в рамках сервлетов. Сервлеты — это Java-классы, которые используются для создания динамических веб-приложений на платформе Java EE (Enterprise Edition).

Метод doGet() является одним из методов, предоставляемых интерфейсом javax.servlet.http.HttpServlet. Он вызывается контейнером сервлетов (например, Apache Tomcat) при получении HTTP GET-запроса от клиента (браузера или другого клиентского приложения).

#для_продвинутых

Читать полностью…

Senior Java Developer

Обработка изображений

Думаем, каждый согласится, что подавать информацию в виде изображения лучше всего для восприятия. Однако сначала нужно сгенерировать такое изображение, и на этот случай в Java есть множество инструментов.

К примеру, класс java.awt.BufferedImage который позволяет обрабатывать изображения каким угодно способом, хоть попиксельно.

Чтобы загрузить изображение из файла используют ImageIO::read, для записи — ImageIO::write.

#для_продвинутых

Читать полностью…

Senior Java Developer

16–17 мая ВСК проводит One Day Offer.

Если ты разработчик или системный аналитик уровня middle и выше, регистрируйся https://onedayoffer.vsk.ru до 15:00 15 мая.

Пройди онлайн-собеседование в компании из золотого рейтинга Forbes и получи офер в тот же день. Выбирай сам формат будущей работы и пользуйся ДМС с первого дня.

Создавай лучшие InsurTech-продукты страны в одной из наших Agile-команд.

Читать полностью…

Senior Java Developer

Приглашаем на Vertis Java Meetup

Обсудим Java-разработку в Яндекс Путешествиях и Недвижимости:

🔸 Михаил Черноскутов, старший разработчик платформенных сервисов в Путешествиях. Покажет внутренности связки Java + gRPC + Netty, а ещё разберёт грабли, которые можно собрать, если неправильно готовить gRPC

🔸 Роман Косарев, руководитель направления разработки в Недвижимости. Расскажет, как синхронное API Недвижимости прошло эволюцию от REST до GraphQL Federation

🔸 Екатерина Рыбалка, разработчик счастья путешественников в Путешествиях. Объяснит, как ребята пришли к Agile-методикам, чтобы итеративно декомпозировать и реализовывать фичи и задачи, и что из этого получилось

Vertis Java Meetup пройдёт в Екатеринбурге 25 мая, будет онлайн-трансляция. Зарегистрироваться можно здесь.

Читать полностью…

Senior Java Developer

Яндекс приглашает студентов и начинающих разработчиков на Young Con — фестиваль для тех, кто интересуется карьерой в IT

• 6000 участников
• Свыше 10 часов нетворкинга и активностей
• 30 топ-менеджеров расскажут о внутренней кухне больших IT-компаний и дадут советы, как начать карьеру в одной из команд
• Знакомство с технологиями Яндекса
• 9 тематических «миров» — интерактивных стендов, где участники смогут узнать про сервисы и карьерные возможности, которые дает работа в IT-компании.

У участников будет возможность в будущем попасть на стажировку в Яндекс, ведь прямо на фестивале пройдут экспресс-собеседования.

На фестивале также пройдет «Баттл вузов» — финал турнира по спортивному программированию между студентами. Команда-победитель разделит между собой призовой фонд в размере 1 млн рублей. Завершится мероприятие концертом музыкальных групп The Hatters и ХЛЕБ.

Фестиваль пройдет 27 июня в Live Arena. Принять участие в нем можно очно или онлайн — для этого необходимо заполнить форму на сайте.

Читать полностью…

Senior Java Developer

Хочешь практиковать Java на реальных задачах? В поисках оригинального контента, а не копипаста из других источников?

👉 Заходи на новый канал 👈

Топовые задачи:
— Много вопросов по concurrency и jvm
— Разбираем стандартные ошибки и их решения
— Оптимизируем код
— Best practices
— Задачи с реальных собеседований
— Разный уровень сложности
— Подробный разбор каждого решения

Достойный материал для подготовки к собеседованиям, а также сложные и интересные задачи из реальной практики.

Автор канала – Java-эксперт, более 10 лет в разработке. Опытный Lead dev и тимлид группы девелоперов. Работал с различными базами данных – Relational databases, NoSQL databases, Caching systems, Full-Text Search engines, Big Data systems

👉 Подписывайся и попробуй решить последнюю задачу! /channel/java_interview_tasks

Читать полностью…

Senior Java Developer

Экземплярный инициализатор

Экземплярный инициализатор — это блок кода внутри класса, который выполняется каждый раз при создании нового экземпляра класса. Он используется для инициализации экземплярных переменных.

#для_продвинутых

Читать полностью…

Senior Java Developer

Сериализация объектов

Сериализация объектов - это процесс преобразования объекта в поток байтов, который может быть сохранен на диске или передан по сети, а затем восстановлен в исходный объект. Для того, чтобы класс можно было сериализовать, необходимо реализовать интерфейс Serializable.

Как можно видеть из примера, объекты, реализующие интерфейс Serializable, могут быть сериализованы в файл и затем десериализованы обратно в исходный объект.

#для_продвинутых

Читать полностью…

Senior Java Developer

Паттерн проектирования Observer

Паттерн Observer является одним из популярных поведенческих паттернов проектирования. Он используется для реализации механизма, при котором объекты (наблюдатели) могут автоматически получать уведомления об изменениях в другом объекте (субъекте). Это особенно полезно, когда одни объекты зависят от состояния других и должны реагировать на его изменения.

#для_продвинутых

Читать полностью…

Senior Java Developer

🔥 Это база с 1700 вопросами с собеседований на Java разработчика. Фишка в том, что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏

Читать полностью…
Subscribe to a channel