seniorjavist | Unsorted

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

-

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

Subscribe to a channel

Senior Java Developer

NavigableSet

NavigableSet
это интерфейс, который расширяет интерфейс SortedSet и добавляет навигационные методы для поиска элементов в отсортированном множестве.

NavigableSet поддерживает следующие дополнительные операции:
— Поиск ближайшего элемента к заданному.
— Поиск элементов в заданном диапазоне.
— Получение подмножества элементов сначала или конца набора.

Основное применение NavigableSet — это реализация структур данных, где важен упорядоченный доступ к элементам, таких как:
— Деревья (Red-Black, AVL и др.).
— Приоритетные очереди.
— Сортированные словари.

Основные реализации в Java — TreeSet и ConcurrentSkipListSet.

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

Senior Java Developer

#вопросы_с_собеседований
Имеет ли смысл объявлять метод private final?

Объявление метода с модификаторами private и final имеет смысл, когда вы хотите:

— Скрыть детали реализации метода от других классов.
— Зафиксировать определенное поведение метода и не дать его переопределить.
— Сделать метод доступным только для использования внутри данного класса.

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

Senior Java Developer

Метод repeat()

Метод repeat() принадлежит классу String и используется для повторения строки заданное количество раз.
Позволяет легко создавать повторяющиеся строки без использования циклов.

Удобно использовать для создания разделителей, оформления вывода и т.д.

#это_база

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

Senior Java Developer

Начать заниматься IT можно, не дожидаясь выпускного! Так вы не только освоите уникальные скиллы, но и поймёте, какая профессия вам по-настоящему подходит. 

А погружаясь в IT с Яндекс Лицеем, вы сможете попробовать себя в практических задачах и получите актуальные знания от опытных разработчиков. 

Сейчас Яндекс Лицей предлагает бесплатное обучение по Python, Go, разработке игр, Machine Learning, Django, анализу данных и Big Data. Можно выбрать годовые офлайн- или онлайн-курсы. В программе — интенсивное погружение в IT, работа над групповыми проектами и много общения с единомышленниками. 

В Лицее ждут школьников 8‒11-х классов и студентов ссузов 1-2-х курсов. Скорее переходите по ссылке и читайте подробности

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

Senior Java Developer

👨‍💻 Хотите освоить лучшие инструменты по разработке микросервисной архитектуры?

Ответьте на 11 вопросов, чтобы проверить достаточно ли ваших навыков, чтобы строить архитектуру микросервисов и попасть на курс — «Microservice Architecture» от OTUS.

На полном курсе вы научитесь проектировать сложный бэкенд и работать с легаси-проектами, разбираться с трудными ситуациями и находить нестандартные решения. Все это на практике, с реальными кейсами и под руководством команды экспертов!

👉 Пройти тест https://otus.pw/5bAg0/

💣 После прохождения у вас будет возможность записаться на курс по спец. цене и оформить рассрочку. А также вы получите доступ к записям 27 открытых уроков курса.

Нативная интеграция. Информация о продукте www.otus.ru

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

Senior Java Developer

Нашли лучшие курсы по Java-разработке!

Tutortop
— образовательный маркетплейс №1, где представлено свыше 5000 курсов от более чем 300 школ и все их можно сравнить по рейтингу, цене и отзывам, а еще купить дешевле, чем напрямую 🔥

Подборка из топовых курсов для обучения Java-разработчиков от tutortop:

Профессия: Java-разработчик с гарантией трудоустройства от Product Star. Рейтинг 4.8 из 5.
Скидка 10% по промокоду TUTORTOP до 18.08🎁

Курс: Frontend-разработчик с нуля до middle от Нетологии. Рейтинг 4.8 из 5.
Скидка 50% по промокоду TUTORTOP50 до 18.08🎁

Профессия: Fullstack-разработчик на JavaScript от Mathshub. Рейтинг 4.7 из 5.
Скидка 10% по промокоду TUTORTOP до 18.08🎁

Чтобы подробнее узнать про обучение или купить его, введите промокод TUTORTOP по ссылке на онлайн-курс по Java-разработке, который вам интересен.

⚡️Учиться выгоднее с tutortop!

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

Senior Java Developer

Класс Java.io.OutputStream

Java.io.OutputStream
- это абстрактный класс, который представляет поток вывода байтов.
Он является базовым классом для всех классов, которые представляют вывод информации в различные места назначения, такие как файл, сетевое соединение и т.д.

Основные подклассы OutputStream:
FileOutputStream, ByteArrayOutputStream, FilterOutputStream и др.

В результате работы кода из примера в файл file.txt будет записано:
Hello World!

#это_база

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

Senior Java Developer

Double.compare()

Метод Double.compare() используется для сравнения двух значений типа double.

Он принимает два значения double и возвращает:

- отрицательное число, если первое значение меньше второго.
- ноль, если значения равны.
- положительное число, если первое значение больше второго.

В этом примере мы передаем Double.compare() как компаратор в метод sort() из класса Arrays.
Это позволяет корректно отсортировать массив с плавающей точкой по возрастанию.

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

Senior Java Developer

ArrayList

ArrayList - это реализация динамического массива на основе обычного массива.

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

Однако, ArrayList менее эффективен при вставке/удалении элементов из середины.

Код из примера демонстрирует основные операции с ArrayList.

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

Senior Java Developer

Верстаешь?

С 15 по 21 августа проводим бесплатный онлайн-интенсив по Frontend-разработке, где будем учить, как разрабатывать сайты и веб-приложения.

Что будет:

1️⃣ Создание полноценного веб-сайта на HTML и CSS
Мы научим тебя создавать стильные и функциональные веб-страницы с использованием самых современных технологий.

2️⃣ Оживление страницы с помощью JavaScript
Узнаешь, как добавить интерактивность и динамичность в свои проекты.

3️⃣ Использование фронтенд-фреймворка Angular
Узнаешь, как использовать этот мощный инструмент для создания масштабируемых и эффективных веб-приложений.

4️⃣ Подключение Backend и загрузка сайта на хостинг
Мы научим тебя основам работы с Backend'ом и покажем, как развернуть свой проект на хостинге.

5️⃣ Советы по доработке проекта
Получишь ценные советы от опытных разработчиков, чтобы улучшить свой проект и достичь более высокого уровня качества.

👉 Участвуй бесплатно 🚀

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

Senior Java Developer

Метод retainAll()

Метод retainAll() используется для сохранения в коллекции только тех элементов, которые содержатся в указанной коллекции.

В качестве аргумента метод принимает другую коллекцию, затем проходит по текущей коллекции и удаляет из нее все элементы, которых нет в переданной коллекции.

Не гарантирует порядок оставшихся элементов.

#это_база

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

Senior Java Developer

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

Чтобы узнать еще больше деталей при работе с микросервисами и о работе над крупными проектам приходите 🗓 14 августа в 20:00 МСК на открытый урок «Выбираем способ связи между микросервисами: Sync vs Async» онлайн курса «Microservice Architecture» от OTUS.

Спикером выступит 👨‍💻 Евгений Непомнящий, опытный разработчик в IT-Sense, специализирующийся на C++ и Java.

На открытом уроке:
- рассмотрим основные типы межсервисного взаимодействия: синхронное и асинхронное API;
- рассмотрим плюсы и минусы каждого типа;
- обсудим версионирование API;
- объясним, почему у хорошей архитектуры должен быть баланс между оркестрацией и хореографией;
- разберёмся, чем отличаются Anemic API и Rich API;
- затронем темы IDL, API design first.

👉 Регистрируйтесь на занятие — https://otus.pw/6AVs/

Открытый урок приурочен к старту онлайн-курса «Microservice Architecture» в OTUS. После урока полный курс вы сможете приобрести удобным для вас способом.

Нативная интеграция. Информация о продукте
www.otus.ru

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

Senior Java Developer

Метод startsWith()

Метод startsWith() используется для проверки, начинается ли строка с указанной подстроки.

startsWith() принимает в качестве аргумента строку, с которой нужно проверить, начинается ли исходная строка и возвращает:

true - если исходная строка начинается с заданной подстроки;
false - если исходная строка не начинается с заданной подстроки.

#это_база

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

Senior Java Developer

#вопросы_с_собеседований
Если вы хотите переопределить equals(), какие условия должны удовлетворяться для переопределенного метода?

- Метод должен удовлетворять условиям транзитивности, рефлексивности и симметричности.

- Метод должен быть согласованным - многократные вызовы с неизменными объектами должны возвращать один и тот же результат.

- Если x.equals(y) вернёт true, то x.hashCode() должен быть равен y.hashCode().

- Метод не должен выбрасывать исключения при сравнении допустимых значений.

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

Senior Java Developer

Нестатические блоки инициализации

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

В примере определен нестатический блок инициализации, который устанавливает значения для переменных x и y.

При создании объекта Main срабатывает следующая последовательность:
- Вызывается нестатический блок инициализации, x и y получают значения 5 и 10.
- Вызывается конструктор, который выводит значения x и y.

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

Senior Java Developer

💻 Открытый урок от архитектора AI/ML в Сбербанке

⁉️ Хотите разобраться в stream processing, batch processing, Kappa и Lambda архитектурах и обзоре технологического домена?

📌 Ждём вас 23 августа в 22:00 мск на открытом уроке Big Data и ML архитектуры пайплайнов в рамках курса «Software Architect» от OTUS!

🔥 От мощных инструментов хранения и обработки данных до инструментов для разработки и управления пайплайнами машинного обучения – вы получите полное представление о современных возможностях и инновациях в этой области.

💣 Регистрация здесь https://otus.pw/eQza/

⏳ Торопитесь, количество слотов для регистрации на урок ограничено.

Нативная интеграция. Информация о продукте www.otus.ru

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

Senior Java Developer

Каждый разработчик ежедневно сталкивается с новыми челенджами, один из них — отказоустойчивость системы.

Поработаем над темой вместе?

Команда Яндекс Такси и ведущие специалисты IT отрасли делятся своим опытом. Регистрируйтесь сейчас и используйте в работе лучшие практики.

2 сентября. «Москва-Сити», башня «Око», с онлайн-трансляцией. Бесплатно
Подробнее 

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

Senior Java Developer

TreeSet

TreeSet
это реализация SortedSet интерфейса, представляющая собой сбалансированное дерево красно-черного типа.
Элементы в нем хранятся в отсортированном порядке согласно естественному порядку сортировки (natural ordering) или компаратору, если он указан при создании TreeSet.

Позволяет эффективно выполнять операции поиска, добавления и удаления за время O(log(n)).

Часто используется, когда нужно хранить элементы в отсортированном виде и не допускать дубликатов.
Может применяться для реализации таких структур данных, как сбалансированные деревья, приоритетные очереди и другие упорядоченные коллекции.

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

Senior Java Developer

#вопросы_с_собеседований
Какие особенности инициализации final static переменных?

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

— Инициализация таких переменных происходит до вызова конструктора класса, поэтому к ним нельзя обращаться внутри конструктора.

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

— Нельзя использовать не константные переменные для присваивания значений.

— Переменные инициализируются в порядке объявления в классе.

— Если класс с такими переменными загружается, то выполняется их статическая инициализация, а значение, присвоенное при инициализации, не может быть изменено.

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

Senior Java Developer

Метод service()

Метод service() используется в Servlet классах в Java и вызывается контейнером сервлетов (например Tomcat) для обработки запроса клиента.

Он является центральной точкой входа для обработки запроса и генерации ответа. Реализация метода service() обычно содержит логику получения параметров запроса, вызова бизнес-логики приложения и формирования ответа клиенту.

По умолчанию service() вызывает методы doGet, doPost, doPut etc. в зависимости от типа HTTP запроса.
Но можно переопределить его, чтобы реализовать свою собственную логику обработки запросов.

В этом примере мы переопределяем метод service() в классе MyServlet, который расширяет HttpServlet.
В методе мы получаем параметр "name" из HTTP запроса с помощью метода getParameter().
Затем формируем ответ, используя PrintWriter, в который записываем приветствие с именем пользователя.

#это_база

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

Senior Java Developer

IllegalStateException()

IllegalStateException
это тип checked исключения, которое генерируется при попытке выполнить операцию, которая не разрешена в текущем состоянии объекта.

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

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

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

Senior Java Developer

ИТ + научпоп + музыка = большой ИТ-пикник в Москве 💛

2 сентября Тинькофф, CodeFest и Мельница собирают большой благотворительный ИТ-фестиваль. Встречаемся в Коломенском на максимально летнем вайбе.

В программе: ИТ- и научпоп-лектории, выступления топовых спикеров, воркшопы, интерактивные зоны и вишенка на торте — музыкальные перформансы от Антохи MC, Zoloto, Therr Maitz, The Hatters, «Сироткина», а также секретного хедлайнера. Как думаете, кто им может быть?

Для участия нужно выбрать благотворительный фонд из списка и сделать донат от 1000 рублей. Подробности и регистрация — тут.

Реклама. АО "Тинькофф Банк"

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

Senior Java Developer

#вопросы_с_собеседований
Какова иерархия коллекций?

В Java есть два основных интерфейса для коллекций - Collection и Map.

Interface Collection находится на верху иерархии и определяет общие методы для работы с коллекциями, такие как add(), remove(), size() и другие. От него наследуются конкретные реализации коллекций.

Наиболее часто используемые реализации Collection - это List, Set и Queue.

Map интерфейс реализует отдельную структуру данных. Он представляет отображение ключ-значение. Основные реализации - HashMap и TreeMap.

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

Senior Java Developer

LinkedList

LinkedList - это реализация связного списка на основе двусвязных элементов.

LinkedList оптимизирован для операций вставки/удаления элементов и часто используется там, где требуется динамически изменяемый список без ограничения размера.

В примере демонстрируются основные операции с LinkedList.

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

Senior Java Developer

#вопросы_с_собеседований
Что такое анонимные классы и где они применяются?

Анонимные классы - это классы без имени, которые используются для создания объекта определенного класса или интерфейса "на лету".

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

Чаще всего они применяются для:

- создания обработчика событий в GUI-приложениях.
- создания компаратора или другого функционального интерфейса для сортировки или фильтрации коллекций.
- расширения класса путем создания подкласса без имени.

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

Senior Java Developer

Библиотека Processing

Processing - это open source библиотека и среда программирования для Java, предназначенная для создания визуальных и графических приложений.

Processing широко используется для:

- Визуализации данных.
- Генеративного искусства.
- Интерактивных инсталляций.
- Образовательных целей на курсах программирования.
- Прототипирования приложений с графическим интерфейсом.

Также на базе Processing создана библиотека Processing.js для создания браузерной графики и визуализаций на JavaScript.

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

Senior Java Developer

BeanPostProcessor

BeanPostProcessor - это интерфейс, который позволяет выполнять дополнительную обработку бинов после их создания Spring'ом.

Чтобы использовать BeanPostProcessor, нужно создать класс, который реализует этот интерфейс, и зарегистрировать его как бин в контексте Spring.

Код на первом изображении реализует интерфейс BeanPostProcessor и переопределяет два его метода:
postProcessBeforeInitialization и
postProcessAfterInitialization.

Чтобы зарегистрировать этот post-processor, нужно добавить его в конфигурацию Spring. (изображение 2)

При запуске приложения для каждого создаваемого бина будет выведена информация в лог.

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

Senior Java Developer

Scala и Java-разработчикам с опытом от двух лет.

Тинькофф запускает Scala & Java Weekend Offer. Это когда вы проходите собеседование за выходные и можете сразу получить оффер.

Сравните скиллы с требованиями и оставьте заявку до 23 августа: https://o.tinkoff.ru/one-day-offer.java-scala

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

Senior Java Developer

Видим цель, не видим препятствий: зовем на курс по архитектуре приложений 👨‍💻

Работа в проектах, где в коде не разобраться, похожа на путешествие по горной тропе без карты.

Возможно, этот островок кода выглядит не очень надежно и его можно удалить? Бам! — и всё, что могло упасть, упало.

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

Узнать программу вы можете на нашем сайте

Что мы даем:
❓Понимание, что такое мышление архитектора.
📊Навыки создания чистого, управляемого проекта.
🔥Опыт и возможность совершить абсолютно все ошибки архитектора приложений в учебной среде.

Мы предусмотрели два варианта прохождения курса — Standart и Premium 🛍
Оба тарифа дают возможность присутствовать на встречах со спикерами, но в Premium вы попадете в закрытое сообщество студентов с преподавателями и получите подробное ревью вашего выполненного задания от ведущих. Старт — 18 сентября.

Выбрать свой тариф и присоединиться к группе вы можете по ссылке⚡️

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

Senior Java Developer

⚡ Отус, приглашает 14 августа в 19:00 по мск, на бесплатный вебинар “Применимость Kotlin в различных направлениях разработки: Multimedia, ML, 3D/VR, Frontend, IoT/Robotics, Blockchain”, онлайн-курса «Kotlin Backend Developer. Professional».

На вебинаре мы рассмотрим, как экосистема Kotlin может быть использована для создания программных продуктов в разных направлениях IT. Среди них: разработка фронтенда, работа с мультимедиа, машинное обучение, программирование роботов и создание 3D приложений.

➡️ Записаться на вебинар: https://otus.pw/ByTz/

Вебинар будет интересен всем, кто заинтересован в изучении Kotlin или хочет узнать больше об этой экосистеме. Если вы уже являетесь разработчиком на Kotlin, то сможете узнать новые инструменты и технологии для решения задач в других областях.

Нативная интеграция. Информация о продукте www.otus.ru

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