Java библиотека
31.6K subscribers
2.12K photos
63 videos
6 files
1.82K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
Приглашаем на Vertis Java Meetup

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

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

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

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

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

Этот плейлист содержит серию уроков, в которых подробно рассматривается процесс разработки Telegram-бота с использованием языка программирования Java. Уроки включают в себя создание проекта, интеграцию с Telegram, работу с RabbitMQ и PostgreSQL, развертывание в Docker, написание тестов, работу с файлами и многое другое. Этот плейлист будет полезен тем, кто хочет освоить разработку Telegram-ботов и углубить свои знания в Java-разработке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Как джуну в Java-разработке миновать мучительные поиски хорошего оффера и залететь сразу на мидла?

Актуальное обучение для всех, кто хочет стать Java-разработчиком с нуля и для тех, кто еще не определился с языком программирования.

📌После онлайн-курса «Специализация Java-разработчик» от OTUS вы сможете:

- создавать современные приложения на Java;
- работать с реляционными базами данных;
- разрабатывать серверные веб-приложения;
- претендовать на позиции Middle Java Developer.

Вы освоите самые востребованные инструменты и лучшие практики.

Забудьте о скучном обучении — здесь вас ждут настоящие челленджи и нестандартные практические решения. А еще сильные проекты для портфолио и карьерный сапорт!

Старт уже 28 июня.

👉 Изучите подробности и оставьте заявку, чтобы получить специальную цену на курс: https://vk.cc/cxqQu8

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Циклический связанный список — Java-реализация

Циклический связанный список — это вариант связанного списка, в котором последний узел указывает на первый узел, завершая полный круг узлов.
Другими словами, этот вариант связанного списка не имеет пустого элемента в конце.

Благодаря этому простому изменению мы получаем некоторые преимущества:
— Любой узел в кольцевом связанном списке может быть отправной точкой.
— Следовательно, весь список можно пройти, начиная с любого узла.
— Поскольку последний узел кругового связанного списка имеет указатель на первый узел, легко выполнять операции постановки в очередь и удаления из очереди.
В целом, это очень полезно при реализации структуры данных "очередь".

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

▶️ Поехали к реализации циклического связанного списка

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотите освоить работу с микросервисной архитектурой, но не знаете, с чего начать и как достичь успеха в этой области?

Всего за 5 месяцев вы можете изучить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем! После прохождения курса «Microservice Architecture» от OTUS вы станете экспертом в создании и масштабировании микросервисов, готовым к самым сложным задачам в области разработки и администрирования ПО!

Доверьте свой карьерный рост профессионалам и станьте востребованным специалистом.

🔴 Пройдите короткий тест прямо сейчас, чтобы получить доступ к подарочным урокам и специальную цену на обучение: https://vk.cc/cxqRX5

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👩‍💻 Java. Задача о рюкзаке. Динамическое программирование.

В этом видео разбирается классическая задача о рюкзаке и алгоритмы её решения. Особое внимание уделяется решению задачи с помощью динамического программирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀Онлайн-Хакатон Practice & Scale AI 

Тебя ждут увлекательные мастер-классы, командная работа над актуальными кейсами, возможность представить свои результаты на захватывающей питч-сессии и доказать, что ты лучший из лучших! 🔝 

🧑‍💻Уникальные кейсы:
- Рерайтинг текста с помощью ИИ для прохождения фильтрации распознающих систем;
- Анализ звонка на соответствие скрипту для выявления отклонений;
- Создание видео на основе фото и текстового сценария.

🏆Призовой фонд 500 000 рублей!

Приступай к разработке решения уже сейчас, чтобы 23 июня представить лучший продукт - мы ждем: крутые решения в программном коде проекта, потенциал для рыночной масштабируемости и внедрения в бизнес.
 
📅Когда: 21 - 23 июня 2024 года
🌐Формат: Онлайн
🔥Дедлайн регистрации: 19 июня 2024 года, 23:59 (мск)

Подробности и регистрация: https://tglink.io/dc539cfbac76
👩‍💻 Разбор и вычисление арифметических выражений на Java

Разберёмся, как можно вычислять арифметические выражения. Предположим, на вход нам поступает строка текста, которая содержит корректное арифметическое выражение.

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

Обработку такого выражения можно разделить на три основных этапа:
1. Разбиение строки на отдельные части
2. Обработка этих частей с учётом математических операций
3. Само вычисление
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥Принципы SOLID с примерами на Java

Отличная демонстрация принципов SOLID на Java, к каждому пункту приведён антипаттерн «как делать не нужно»

А вот и расшифровка самого акронима SOLID, повторить лишним не будет

🟡S — Single Responsibility Principle (Принцип единственной ответственности). Суть: класс должен обладать единственной ответственностью и иметь одну и лишь одну причину для его изменения.

🟡O — Open-Closed Principle (Принцип открытости/закрытости). Суть: программные сущности должны быть открыты для расширения и закрыты для изменения.

🟡L — Liskov Substitution Principle (Принцип подстановки Барбары Лисков). Суть: функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом.

🟡I — Interface Segregation Principle (Принцип разделения интерфейса). Суть: программные сущности не должны зависеть от методов, которые они не используют; много узконаправленных интерфейсов - это лучше для клиента этого интерфейса, чем один интерфейс общего назначения, "умеющий всё".

🟡D — Dependency Inversion Principle (Принцип инверсии зависимостей). Суть: 1) модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. 2) Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

📎 Поехали

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🏖️ ULCAMP возвращается! Самый масштабный пляжный IT-фестиваль пройдет с 19 по 21 июля 2024 года в Славянском подворье, Ульяновск.

Вас ждут:
🔘60 топовых спикеров
🔘30 спортивных и других активностей
🔘10 крутых артистов и диджеев

Присоединяйтесь к сообществу единомышленников для обмена опытом! Спорт, музыка, вкусная еда и незабываемые впечатления ждут вас 19-21 июля на берегу Волги!

Регистрация

erid: LjN8K8KqD
Реклама. Автономная некоммерческая организация «УЛЬЯНОВСКИЙ СОВЕТ КУЛЬТИВАЦИИ ИНТЕРНЕТ-ТЕХНОЛОГИЙ». ИНН 7325996041.
👩‍💻 Транзакции - Spring Framework в деталях

Транзакции являются важным инструментом для построения отказоустойчивых информационных систем, работающих в условиях постоянной высокой нагрузки и обеспечивающих одновременную работу десятков, сотен, а то и тысяч пользователей.
В
этом ролике автор постарался рассказать про проблемы, возникающие в многопользовательских информационных системах, про транзакции и требования ACID к транзакционным системам, уровни изолированности и распространение транзакций, а так же демонстрирует API для управления транзакциями, предоставляемые Spring Framework.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Курс для Java-разработчиков, которые хотят профессионального роста.

Пройди тест по Java и проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса

👉 ПРОЙТИ ТЕСТ: https://vk.cc/cxzkoK

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 JSqlParser — библиотека Java для парсинга SQL

JSqlParser разбирает SQL-запрос и преобразует его в иерархию Java-классов.
Сгенерированная иерархия может быть перемещена с помощью паттерна Visitor

🖥 GitHub
🔘 Wiki

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь научиться применять типовые оптимизации в разработке UI на Compose?

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

Вебинар будет полезен Android-разработчикам уровня Middle.

Спикер Абакар Магомедов — опытный специалист и наставник, Android-разработчик в Alfa Bank.

Встречаемся 13 июня в 20:00 мск в преддверии старта курса «Android Developer. Professional». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cxACKk
🖥 Генерация типов Java на основе JSON или JSON Schema

brew install jsonschema2pojo

Можно использовать jsonschema2pojo как плагин Maven, задачу Ant, как утилиту командной строки, плагин Gradle или встроить в собственное Java-приложение.

🖥 GitHub
🟡 Можно использовать и онлайн

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️❗️Как сделать код более понятным и надежным с помощью структур данных Clojure?

Узнайте на практическом открытом уроке "Структуры данных Clojure" от OTUS, где мы:

- познакомимся с основными примитивными типами данных и персистентными структурами, которые являются основой функционального программирования не только в Clojure;
- рассмотрим использование transient-структур для повышения производительности;
- поговорим про Structural Sharing и почему неизменяемые структуры тоже могут быть быстрыми.

Полученные знания пригодятся для работы с Clojure и другими функциональными языками программирования!

Встречаемся 13 июня в 20:00 мск в рамках курса «Clojure Developer». Все участники вебинара получат специальную цену на обучение!

➡️ Регистрируйся прямо сейчас, чтобы не пропустить бесплатный урок: РЕГИСТРАЦИЯ
Методы Object

toString() — переводит объект в строку. Если не определено, выводиться полное имя класса.

hashCode() — переводит объект в число, так называемый хэш-код.

getClass() — позволяет получить тип.

equals() — сравнивает два объекта на равенство.
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите узнать, как работает логистическая платформа в Яндекс Маркете? 🔥

В новом выпуске подкаста I like techno от Яндекса герои обсудили, как устроена платформа сейчас и как она менялась за последние 10 лет.

Команда логистики разрабатывает всё для собственной доставки Маркета: от создания заказа до его перевозки между сортировочными центрами и доставки курьером или в пункт выдачи заказов. Ребята делают код осязаемым, а офлайн технологичным, используют математические структуры, конвейерные системы, собственных роботов и немного магии.

Спикеры — спецы, погруженные в тему:
👉 Слава Цыкин, СТО логистической платформы
👉 Рома Кульчицкий, руководитель службы стабильности и инфраструктуры
👉 Андрей Захрямин, руководитель команды разработки инфраструктуры Логистики
👉 Кирилл Дмитриев, руководитель службы разработки складских систем и систем учёта

Слушать на Яндекс Музыке
Смотреть на Youtube