Java библиотека
31.4K subscribers
2.45K photos
90 videos
10 files
2.27K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
ИИ уже стал частью разработки. Вопрос больше не в том, использовать его или нет, а в том, кто управляет процессом — вы или модель?

28 января OTUS проводит открытый урок «Вайбкодинг: практика разработки (Kotlin) проекта при участии ИИ».

На вебинаре разберём, как современные ИИ-помощники влияют на код, архитектуру и качество решений.
Вы увидите несколько подходов к работе с ИИ, сравните форматы взаимодействия и поймёте, почему неумелое использование нейросетей ломает проекты вместо ускорения разработки. Отдельное внимание уделим постановке задач ИИ и тому, как меняется дизайн приложений, когда разработчик выступает не исполнителем, а контролёром и архитектором решений.

Встречаемся в преддверии старта курса «Kotlin Backend Developer. Professional».

Зарегистрируйтесь, чтобы понять, как встроить ИИ в разработку осознанно и использовать его как инструмент, а не источник технического долга: https://vk.cc/cTDsmr

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
5👍2🔥2
Оркестрация и хореография: что выбрать?

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

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

▪️ Плюсы:
- Четкий контроль за процессом выполнения задач.
- Упрощенная отладка и мониторинг.

▪️ Минусы:
- Слабая гибкость при изменении требований.
- Если оркестратор падает, система теряет управление процессами.

🔹 Хореография — децентрализованный подход, при котором каждый сервис реагирует на события и инициирует свои действия на основе этих событий. Здесь нет центрального контроллера; сервисы взаимодействуют по принципу «реакции».

▪️ Плюсы:
- Высокая гибкость и легкость в добавлении новых сервисов.
- Отсутствие единой точки отказа.

▪️ Минусы:
- Сложность в отслеживании последовательности выполнения.
- Потенциальные проблемы с согласованностью данных.

🎯 Когда что выбрать?

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

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍5🔥4
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.

Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.

➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.

Подписывайтесь и качайте свои скиллы: @javatasks
4🔥3👍2
Начиная с Spring Boot 3.1, вы можете автоматически запускать внешние сервисы (например, базы данных) в режиме dev, используя Testcontainers и новую `spring-boot:test-run`

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍129🔥5
🖥 webmagic — масштабируемый фреймворк веб-краулера для Java

webmagic охватывает весь жизненный цикл краулера: загрузку, управление url, извлечение контента и его сохранение.

🖥 GitHub
🟡 Доки

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍651
🖥 Apache Zeppelin — веб-блокнот, позволяющий работать с данными на SQL, Scala и ещё 20+ языках

Apache Zeppelin — веб-блокнот на Java, позволяющий проводить интерактивную аналитику данных и создавать совместные документы с использованием SQL, Scala и других языков.

Быстрый старт с помощью Docker:
docker run -p 8080:8080 --rm --name zeppelin apache/zeppelin:0.11.1

🖥 GitHub
🟡 Страничка Apache Zeppelin

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍31
Java Streams: Основные методы для чистого и эффективного кода!

Java Streams предлагают множество методов для упрощения манипуляций с данными и повышения читаемости кода.
Вот краткое руководство с примерами:

Освойте эти методы, чтобы писать более чистый и эффективный код на Java! 💡

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍53🍾1
🖥CompreFace — это бесплатная и открытая система распознавания лиц, разработанная компанией Exadel. Она предоставляет функции обнаружения, верификации и распознавания лиц, а также определение наличия маски, возраста и пола. CompreFace поддерживает интеграцию через REST API, работает на CPU и GPU и легко разворачивается с помощью Docker. Система не требует глубоких знаний в машинном обучении и включает управление доступом на основе ролей

🔐 Лицензия: Apache 2.0

🖥 GitHub

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥52
🖥 Паттерн Прототип (Prototype)

Prototype — это порождающий паттерн, который позволяет создавать новые объекты путем клонирования уже существующих. Вместо создания объектов с нуля, можно копировать существующие, что сокращает время и ресурсы на создание объектов с похожими параметрами.

Использование:


🟡 Когда необходимо создать объект, похожий на уже существующий, без повторного создания его с нуля.
🟡 В случаях, когда создание объекта «вручную» слишком затратно (например, сложная инициализация).
🟡 Если объект имеет много различных вариантов состояния, и требуется быстро получать новый экземпляр с определенным набором свойств.

Преимущества:

1️⃣ Позволяет создавать новые объекты путем клонирования, что может быть гораздо быстрее, чем создание с нуля.
2️⃣ Можно легко менять клонированные объекты, не затрагивая исходный.
3️⃣ Клонирование полезно для объектов с множеством состояний или структур (например, сложные графические объекты).

Недостатки:

1️⃣ Если объект имеет сложные вложенные структуры, потребуется реализация глубокого копирования, что может быть сложно и затратно.
2️⃣ Для копирования объектов может потребоваться много памяти, особенно если объекты большие.
3️⃣ Клон напрямую зависит от структуры исходного объекта, что может затруднить масштабирование или изменение логики.

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

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥43
Forwarded from Java Guru 🤓
Что будет результатом запуска, если активный профиль не задан?
4🔥4
Монолитная архитектура часто воспринимается как что-то устаревшее. Но на практике именно монолит остаётся основой большинства production-систем — особенно там, где важны скорость разработки, прозрачность логики и предсказуемость сопровождения.

На открытом уроке OTUS разберём разработку монолитного приложения со Spring, используя Kotlin. Поговорим о плюсах и минусах монолитной архитектуры, разберём фреймворк Spring и особенности его использования в Kotlin-проектах. Покажем, как интегрировать транспортные модели, собрать приложение и подготовить его к запуску.

Вы увидите полный путь от архитектурного решения до работающего приложения. Попрактикуетесь в разработке монолита, разберётесь в особенностях Spring + Kotlin и научитесь упаковывать приложение в Docker. Урок будет полезен backend-разработчикам, которые хотят глубже понимать архитектуру, уверенно работать со Spring и собирать production-готовые сервисы.

Встречаемся 4 февраля в 19:00 МСК в преддверии старта курса «Kotlin Backend Developer. Professional».
Регистрация открыта:
https://vk.cc/cTPdQW

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4👍2🔥2
🖥 useful-java-links — коллекция полезных ссылок для Java-разработчиков, охватывающая различные категории, такие как библиотеки, фреймворки, утилиты и ресурсы для обучения. Особое внимание уделено инструментам для работы с базами данных, поисковыми системами, Big Data и машинным обучением

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

🖥 Github

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥3
🏆 Платформа MWS GPT заняла 1-е место в номинации «Лучшее ИИ‑решение для бизнеса и промышленности» на конкурсе «Проект года» от Global CIO.

🔹 Что умеет сервис:

— работа с разными LLM в одном окне
— доступ к 70+ моделям, включая сверхбольшие Qwen и Kimi (от 235 миллиарда до триллиона параметров);
— сценарии от анализа документов до генерации кода и отчетов
— дообучение открытых моделей и function calling (построить график, обратиться к базе данных)
— запуск решений на инфраструктуре MWS с высокой устойчивостью к нагрузкам.

🔹 Дополнительно:

— собственный чат с сохранением и шерингом промптов
— конструктор приложений без разработчиков
— агентская архитектура: модель может выбирать нужные инструменты сама
— работа как в облаке (с быстрым GPU‑масштабированием), так и on‑premise-формате.
3👍3🔥2😁2
🖥 HyperCeiler — это модуль для улучшения работы операционных систем MIUI и HyperOS, разработанный для Android. Он предоставляет функции, которые помогают оптимизировать пользовательский интерфейс и исправить некоторые ограничения системы

🌟 Для его использования требуется root-доступ и настройка через LSPosed. Модуль поддерживает версии Android 13-15 и включает множество системных приложений и служб

🔐 Лицензия: AGPL-3.0

🖥 Github

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3
ServletConfig

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

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2
🖥 LWJGL — это open-source Java-библиотека, обеспечивающая кроссплатформенный доступ к популярным нативным API, полезным при разработке графических (OpenGL, Vulkan, bgfx), аудио (OpenAL, Opus), параллельных (OpenCL, CUDA) и XR (OpenVR, LibOVR, OpenXR) приложений

Доступ, предоставляемый библиотекой LWJGL, является высокопроизводительным, но в то же время обернут в безопасный для типов и удобный для пользователя слой, подходящий для экосистемы Java.

🖥 GitHub
🟡 Быстрый старт

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥421
🥹Вы только стали тимлидом или планируете эту роль, но в голове вопросы: «Что дальше? На что тратить время? Как развиваться, если не справляюсь с прежней работой?»

На бесплатном вебинаре онлайн-курса «TeamLead в IT» разберем:
- Дорожную карту ключевых компетенций тимлида
- Какие требования реально предъявляют работодатели
- Почему роль тимлида так отличается в разных компаниях и как в этом найти себя

Спикер: Михаил Савинов — CTO в Мокка. Вы получите четкие ориентиры для роста и избавитесь от неопределенности.

Этот вебинар — старт вашего осознанного пути. Чтобы не просто закрыть пробелы, а системно вырасти в лидера, приглашаем на курс «TeamLead в IT», где каждая компетенция отрабатывается на практике. До 15.02 на курс действует уменьшающаяся скидка 10% 🎁

👉 Зарегистрируйтесь на вебинар и оцените уровень экспертизы: регистрация

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
🖥 Smallville — фреймворк для создания генеративных агентов для видеоигр. Эти агенты — виртуальные персонажи, способные хранить воспоминания, наблюдать за окружением и реагировать на изменения в игровом мире. Они используют модели на основе больших языковых моделей (LLM), таких как ChatGPT, для создания более реалистичных и динамичных NPC, что снижает необходимость ручного программирования взаимодействий

🌟 Репозиторий включает клиентские библиотеки для Java и JavaScript, а также сервер для симуляций

🔐 Лицензия: MIT

🖥 Github

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍4❤‍🔥1
🎥 Открытый урок «Eclipse Memory Analyzer (MAT): помощь в работе с heap».

🗓 04 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса
«Java Developer. Advanced».

Без MAT сложно найти причины OutOfMemoryError и утечек. Разберём базу и полезные приёмы анализа heap dump.


Что будет на вебинаре:
✔️ Ключевые концепции работы с MAT и навигация по heap dump.
✔️ Экспресс-анализ дампа памяти: где искать утечки и рост объектов.
✔️ Разбор реального дампа в онлайне на предмет memory leak.

В результате вебинара:
Вы сможете самостоятельно проводить анализ дампов памяти. Будете знать возможности MAT и какие задачи решаются с его помощью.

Кому будет интересно:
Подойдёт Java-разработчикам, инженерам сопровождения и SRE, кто сталкивается с OutOfMemoryError и падениями по памяти.

🔗 Ссылка на регистрацию: https://vk.cc/cU0Gyi

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