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
👩‍💻 Разработка Telegram-бота

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

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

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

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

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

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

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

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁53🔥21
🖥 Циклический связанный список — 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