Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
🖥 Циклический связанный список — Java-реализация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обработку такого выражения можно разделить на три основных этапа:
1. Разбиение строки на отдельные части
2. Обработка этих частей с учётом математических операций
3. Само вычисление
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112🔥2
🖥Принципы 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
👍244
🏖️ ULCAMP возвращается! Самый масштабный пляжный IT-фестиваль пройдет с 19 по 21 июля 2024 года в Славянском подворье, Ульяновск.

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

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

Регистрация

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

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

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

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

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

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

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

🖥 GitHub
🔘 Wiki

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

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

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

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

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

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

brew install jsonschema2pojo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Слушать на Яндекс Музыке
Смотреть на Youtube
👍64🔥21🎅1
🖥 Релиз CheerpJ 3.0

Learning Technologies, разработчики CheerpJ, среды для запуска приложений Java внутри браузеров, относительно недавно выпустили третью версию инструмента. По их словам, это «полная переработка CheerpJ, основанная на уроках, извлечённых за 7 лет его использования».

CheerpJ — полноценная виртуальная машина Java на основе WebAssembly. Её авторы уточняют, что благодаря множеству архитектурных инноваций CheerpJ 3.0 — чрезвычайно мощный инструмент, предназначенный для корпоративных приложений.

📎 Подробнее

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍2
⌨️ Только начинаете свой путь в Java-разработке?

Ждём вас на открытом практическом уроке «Сборка приложения на Java» от OTUS, где мы:

- рассмотрим, как запустить и собрать исполняемый jar-файл;
- добавим в него ресурсы;
- запустим Java-приложение;
- научимся использовать утилиты javac и java, jvm, jre, jdk и classpath.

Спикер Андрей Поляков — старший разработчик в международной финтех-компании.

Встречаемся 18 июня в 20:00 мск в рамках курса «Специализация Java-разработчик».
Все участники вебинара получат специальную цену на обучение!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cxCHlT

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 PMD — расширяемый многоязычный статический анализатор кода, написанный на Java

cd $HOME
wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F7.2.0/pmd-dist-7.2.0-bin.zip
unzip pmd-dist-7.2.0-bin.zip
alias pmd="$HOME/pmd-bin-7.2.0/bin/pmd"
pmd check -d /usr/src -R rulesets/java/quickstart.xml -f text


PMD находит неиспользуемые переменные, пустые блоки catch, ненужное создание объектов и всё в таком духе. В основном он работает с Java и Apex, но поддерживает 16 других языков. В комплект входит 400+ встроенных правил.

PMD легко можно кастомизировать с помощью пользовательских правил. Использует JavaCC и Antlr для разбора исходных файлов на абстрактные синтаксические деревья (AST) и запускает правила на их основе для поиска нарушений. Правила могут быть написаны на языке Java или с помощью запроса XPath.

🖥 GitHub
🟡 Доки

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍184🔥3
🚀 Готовься к переменам в мире IT с нашим практическим курсом по Domain Driven Design!

😰 Устал от запутанной инфраструктуры, вперемешку с бизнес логикой? Мы знаем, как это тяжело. Писать тесты становится неприятно и больно, приходится много мокать, тесты получаются огромными, хрупкими.. Но есть решение! Присоединяйся к нашему курсу, где мы разложим все по полочкам за 10 вебинаров, начиная с 17 июня.

🔝 Прими вызов и стань частью передовой волны технологического прогресса. Успей зарегистрироваться сейчас https://microarch.ru/courses/hexagonal-architecture?utm_source=posev&utm_medium=erid:2VtzqxRjeES&utm_campaign=18

🎓 На нашем курсе ты изучишь:
Основы Domain-Driven Design и его важность для разработчиков.
Создание эффективных и масштабируемых сервисов с использованием DDD.
Применение шаблонов проектирования и принципов DDD для оптимизации кода и повышения производительности.

💡 Зачем тебе этот курс?
🌟 Плюс, ты получишь:
— Новые подходы к разработке, в том числе и использование подходов ядра и слоев в онион-архитектуре.
— Шанс быть первым внедрившим новые методы в отделе.
— Стань Senior Developer или Team Lead.
— Пиши код как профессионал, а не как в учебниках.
— Получи признание в компании и увеличь свою заработную плату.

🌟 Присоединяйся к нам прямо сейчас и стань экспертом в разработке успешных проектов: https://microarch.ru/courses/hexagonal-architecture?utm_source=posev&utm_medium=erid:2VtzqxRjeES&utm_campaign=18

Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqxRjeES
👍63🔥2