🚀 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
🤖 GitHub
@javatg
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
runApp
и описать роуты. 🤖 GitHub
@javatg
🔥4👍3🎉2
☕ Java-задача: что выведет этот код с `Integer` и `==`?
🔍 Варианты:
• a)
• b)
• c)
• d)
💡 Разбор:
В Java объект в диапазоне от -128 до 127 кешируется. Это значит:
- и будут ссылаться на один и тот же объект
- и — разные объекты, хоть и равны по значению
А оператор проверяет ссылочное равенство, а не значение.
✅ Правильный ответ: c) `true`, `false`
📌 Чтобы сравнивать значения , всегда используй :
🧠 Вывод: кеш работает в пределах -128..127. За пределами — создаются новые объекты. Используй вместо , если важны значения, а не ссылки.
public class Main {
public static void main(String[] args) {
Integer a = 100;
Integer b = 100;
Integer x = 1000;
Integer y = 1000;
System.out.println(a == b);
System.out.println(x == y);
}
}
🔍 Варианты:
• a)
true
, true
• b)
false
, false
• c)
true
, false
• d)
false
, true
💡 Разбор:
Integer
-
Integer a = 100;
Integer b = 100;
-
Integer x = 1000;
Integer y = 1000;
А оператор
==
✅ Правильный ответ: c) `true`, `false`
📌 Чтобы сравнивать значения
Integer
.equals()
System.out.println(x.equals(y)); // true
🧠 Вывод: кеш
Integer
equals()
==
👍15❤6🔥4
📚 Spring AI Alibaba — универсальный фреймворк для создания AI-агентов. Этот проект от Alibaba предлагает необычный подход к созданию чат-ботов. Вместо простых диалоговых систем здесь можно строить сложные мультиагентные workflows с визуальным графом выполнения, интеграцией с облачными сервисами Aliyun и даже human-in-the-loop взаимодействием.
Интересно выглядит DeepResearch — агент для аналитики, умеющий самостоятельно искать информацию, обрабатывать данные и генерировать отчеты. Поддержка Nacos и OpenTelemetry делает проект готовым к продакшену из коробки.
🤖 GitHub
@javatg
Интересно выглядит DeepResearch — агент для аналитики, умеющий самостоятельно искать информацию, обрабатывать данные и генерировать отчеты. Поддержка Nacos и OpenTelemetry делает проект готовым к продакшену из коробки.
🤖 GitHub
@javatg
❤11🥰4🤯2🎉2
🌊 Project Nessie — транзакционный каталог для data lakes с Git-подобным управлением версиями. Этот инструмент позволяет работать с данными как с кодом: создавать ветки, сливать изменения и откатывать их до предыдущих состояний. Особенно удобен для команд, которые хотят внести контроль версий в свои процессы обработки данных.
Инструмент поддерживает таблицы и представления Iceberg, а также интеграцию с популярными инструментами вроде Spark, Hive и Flink. Для быстрого старта можно развернуть готовый Docker-образ или воспользоваться CLI. Проект активно развивается: есть веб-интерфейс, аутентификация через OpenID Connect и подробная документация.
🤖 GitHub
@javatg
Инструмент поддерживает таблицы и представления Iceberg, а также интеграцию с популярными инструментами вроде Spark, Hive и Flink. Для быстрого старта можно развернуть готовый Docker-образ или воспользоваться CLI. Проект активно развивается: есть веб-интерфейс, аутентификация через OpenID Connect и подробная документация.
🤖 GitHub
@javatg
👍4🔥3🥰1
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
• Лёгкий и мощный инструмент для разработки в командной строке
• Работает на базе Gemini 2.5 Pro
• Код агента в открытом доступе (Apache 2.0)
• Поддержка контекста в 1 миллион токенов
• Бесплатный тариф: до 60 запросов в минуту и 1000 в день
• Привязка к Google Search
• Поддержка MCP
• Интеграция с VS Code (Gemini Code Assist)
Запуск в cli:
npx https://github.com/google-gemini/gemini-cli
@ai_machinelearning_big_data
#AI #ML #agent #Google
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥7👍6
⛓️ Jimmer — революционный ORM для JVM (Java/Kotlin), переосмысливающий работу с данными. Этот инструмент позволяет оперировать не отдельными сущностями, а целыми графами объектов любой сложности, как при чтении, так и при сохранении.
Инструмент имеет встроенную поддержку DTO с кодогенерацией, самостоятельного устранения проблемы N+1 запросов и работы с рекурсивными структурами. ORM автоматически оптимизирует SQL-запросы, убирает лишние JOIN'ы и поддерживает многоуровневое кеширование. Проект предлагает удобные DSL для запросов, интеграцию с GraphQL и работает через APT/KSP, что обеспечивает безопасность типов на этапе компиляции.
🤖 GitHub
@androidits
Инструмент имеет встроенную поддержку DTO с кодогенерацией, самостоятельного устранения проблемы N+1 запросов и работы с рекурсивными структурами. ORM автоматически оптимизирует SQL-запросы, убирает лишние JOIN'ы и поддерживает многоуровневое кеширование. Проект предлагает удобные DSL для запросов, интеграцию с GraphQL и работает через APT/KSP, что обеспечивает безопасность типов на этапе компиляции.
🤖 GitHub
@androidits
👍18❤8🔥2😁1
💻 RSocket — протокол для реактивного взаимодействия между сервисами через TCP, WebSockets и Aeron. В отличие от традиционных HTTP-запросов, он поддерживает четыре модели обмена сообщениями: запрос-ответ, поток данных, fire-and-forget и бесконечные подписки на события.
Проект обладает zero-copy режимом для снижения задержек и Java-реализацией с интеграцией в Reactor. Подходит для микросервисов, где важны двунаправленная связь и эффективная работа с потоками данных.
🤖 GitHub
@javatg
Проект обладает zero-copy режимом для снижения задержек и Java-реализацией с интеграцией в Reactor. Подходит для микросервисов, где важны двунаправленная связь и эффективная работа с потоками данных.
🤖 GitHub
@javatg
👍10🔥3❤2
🔌 EA Async — асинхронный код в Java без головной боли. Этот необычный проект от Electronic Arts привносит в JVM-экосистему синтаксис async/await, знакомый разработчикам из C# и JavaScript. С ним асинхронные операции с CompletableFuture выглядят как последовательный код, сохраняя при этом все преимущества неблокирующего выполнения.
Библиотека трансформирует код на этапе компиляции — вы пишете блокирующий код с await, а под капотом генерируются цепочки thenCompose/thenApply. Работает с Java 8+ и Scala, а интеграция через Maven-плагин позволяет вообще исключить runtime-зависимости.
🤖 GitHub
@javatg
Библиотека трансформирует код на этапе компиляции — вы пишете блокирующий код с await, а под капотом генерируются цепочки thenCompose/thenApply. Работает с Java 8+ и Scala, а интеграция через Maven-плагин позволяет вообще исключить runtime-зависимости.
🤖 GitHub
@javatg
🔥10👍5❤4
🌄 Landscapist — элегантная загрузка изображений в Jetpack Compose. Этот проект превращает работу с сетевыми изображениями в Kotlin Multiplatform-приложениях в простой и производительный процесс. Инструмент использует единый API для трех популярных библиотек: Glide, Coil и Fresco, с автоматической оптимизацией под recomposition в Compose.
В проекте интересно реализованы анимации: плавное появление, размытие и круговая раскладка работают из коробки. Также доступна встроенная поддержка Baseline Profiles для ускорения загрузки.
🤖 GitHub
@javatg
В проекте интересно реализованы анимации: плавное появление, размытие и круговая раскладка работают из коробки. Также доступна встроенная поддержка Baseline Profiles для ускорения загрузки.
🤖 GitHub
@javatg
🔥5❤4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
В Сибирь возвращается жара! 🔥
Ведь на IT Talk by Sber, который пройдёт 10 июля в Новосибирске, будут только самые горячие и актуальные темы: борьбу с плохой архитектурой, миграцию процессинга и замену SAP HR.
10 июля, 19:00, лофт FoodFactory — только эксперты Сбера, вы и безграничная польза. Регистрируйтесь по ссылке! 👌
Ведь на IT Talk by Sber, который пройдёт 10 июля в Новосибирске, будут только самые горячие и актуальные темы: борьбу с плохой архитектурой, миграцию процессинга и замену SAP HR.
10 июля, 19:00, лофт FoodFactory — только эксперты Сбера, вы и безграничная польза. Регистрируйтесь по ссылке! 👌
👍2
📚 Java & Related Concepts — полный гайд по Java-экосистеме. Этот репозиторий представляет собой целую энциклопедию для Java-разработчиков. Автор структурировал материал от основ языка до продвинутых тем: многопоточность, проектирование систем, алгоритмы и даже Kotlin с Android-разработкой.
Проект имеет полезные разделы с примерами кода: от классических паттернов вроде Singleton до задач на динамическое программирование. Для тех, кто готовится к собеседованиям, есть подборка LeetCode-шаблонов и реальных interview-задач.
🤖 GitHub
@javatg
Проект имеет полезные разделы с примерами кода: от классических паттернов вроде Singleton до задач на динамическое программирование. Для тех, кто готовится к собеседованиям, есть подборка LeetCode-шаблонов и реальных interview-задач.
🤖 GitHub
@javatg
🔥10❤2👍2
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: www.tg-me.com/ai_machinelearning_big_data
Python: www.tg-me.com/pythonl
Linux: www.tg-me.com/linuxacademiya
Мл собес www.tg-me.com/machinelearning_interview
C++ www.tg-me.com/cpluspluc
Docker: www.tg-me.com/DevopsDocker
Хакинг: www.tg-me.com/linuxkalii
МЛ: www.tg-me.com/machinelearning_ru
Devops: www.tg-me.com/DevOPSitsec
Data Science: www.tg-me.com/data_analysis_ml
Javascript: www.tg-me.com/javascriptv
C#: www.tg-me.com/csharp_ci
Java: www.tg-me.com/java_library
Базы данных: www.tg-me.com/sqlhub
Python собеседования: www.tg-me.com/python_job_interview
Мобильная разработка: www.tg-me.com/mobdevelop
Golang: www.tg-me.com/Golang_google
React: www.tg-me.com/react_tg
Rust: www.tg-me.com/rust_code
ИИ: www.tg-me.com/vistehno
PHP: www.tg-me.com/phpshka
Android: www.tg-me.com/android_its
Frontend: www.tg-me.com/front
Big Data: www.tg-me.com/bigdatai
МАТЕМАТИКА: www.tg-me.com/data_math
Kubernets: www.tg-me.com/kubernetc
Разработка игр: https://www.tg-me.com/gamedev
Физика: www.tg-me.com/fizmat
Папка Go разработчика: www.tg-me.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tg-me.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tg-me.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://www.tg-me.com/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: www.tg-me.com/memes_prog
🇬🇧Английский: www.tg-me.com/english_forprogrammers
🧠ИИ: www.tg-me.com/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot -
📕Ит-книги: https://www.tg-me.com/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии www.tg-me.com/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: www.tg-me.com/ai_machinelearning_big_data
Python: www.tg-me.com/pythonl
Linux: www.tg-me.com/linuxacademiya
Мл собес www.tg-me.com/machinelearning_interview
C++ www.tg-me.com/cpluspluc
Docker: www.tg-me.com/DevopsDocker
Хакинг: www.tg-me.com/linuxkalii
МЛ: www.tg-me.com/machinelearning_ru
Devops: www.tg-me.com/DevOPSitsec
Data Science: www.tg-me.com/data_analysis_ml
Javascript: www.tg-me.com/javascriptv
C#: www.tg-me.com/csharp_ci
Java: www.tg-me.com/java_library
Базы данных: www.tg-me.com/sqlhub
Python собеседования: www.tg-me.com/python_job_interview
Мобильная разработка: www.tg-me.com/mobdevelop
Golang: www.tg-me.com/Golang_google
React: www.tg-me.com/react_tg
Rust: www.tg-me.com/rust_code
ИИ: www.tg-me.com/vistehno
PHP: www.tg-me.com/phpshka
Android: www.tg-me.com/android_its
Frontend: www.tg-me.com/front
Big Data: www.tg-me.com/bigdatai
МАТЕМАТИКА: www.tg-me.com/data_math
Kubernets: www.tg-me.com/kubernetc
Разработка игр: https://www.tg-me.com/gamedev
Физика: www.tg-me.com/fizmat
Папка Go разработчика: www.tg-me.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tg-me.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tg-me.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://www.tg-me.com/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: www.tg-me.com/memes_prog
🇬🇧Английский: www.tg-me.com/english_forprogrammers
🧠ИИ: www.tg-me.com/vistehno
📕Ит-книги: https://www.tg-me.com/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии www.tg-me.com/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
🌳 AVL, Red-Black и обычные BST — в чём разница и что использовать
Если вы работаете с алгоритмами или backend-структурами, важно понимать, чем отличаются разные виды бинарных деревьев поиска. Они вроде бы похожи, но ведут себя по-разному под нагрузкой.
📘 1. Обычное BST (Binary Search Tree)
🔹 Это простое бинарное дерево, где:
> левый элемент < корень < правый элемент
🔹 Плюсы:
– простая реализация
– отлично работает в идеальных условиях (например, сбалансированные данные)
🔹 Минусы:
– если данные приходят в отсортированном виде — дерево вырождается в связный список
– время поиска, вставки, удаления может стать O(n) вместо O(log n)
📗 2. AVL-дерево
🔹 Это самобалансирующееся BST, в котором:
> разница высот левого и правого поддерева никогда не превышает 1
🔹 Плюсы:
– очень быстрое чтение и поиск (потому что дерево строго сбалансировано)
– гарантированное O(log n) на все операции
🔹 Минусы:
– при вставке и удалении может потребоваться много вращений, особенно при массовых изменениях
– чуть сложнее в реализации
📌 Используется, когда важна максимально быстрая навигация по дереву (например, базы данных, кэшированные индексы)
📕 3. Red-Black Tree (Красно-чёрное дерево)
🔹 Более "гибкое" самобалансирующееся дерево
> баланс поддерживается за счёт цветов узлов и набора правил
> менее строгое, чем AVL, но быстрее на изменениях
🔹 Плюсы:
– меньше вращений при вставке/удалении
– лучше масштабируется, особенно при больших объёмах данных
– используется в
🔹 Минусы:
– чуть менее сбалансировано, чем AVL
– поиск может быть чуть медленнее, но разница минимальна
📌 Используется в системах, где часто происходят вставки и удаления, и важна скорость обновлений, а не только чтения.
🧠 Итого:
🔗 Подробнее:
https://www.java67.com/2019/10/difference-between-binary-tree-avl-red-black-binary-search-tree.html
#algorithms #datastructures #backend #trees #avl #redblack
@javatg
Если вы работаете с алгоритмами или backend-структурами, важно понимать, чем отличаются разные виды бинарных деревьев поиска. Они вроде бы похожи, но ведут себя по-разному под нагрузкой.
📘 1. Обычное BST (Binary Search Tree)
🔹 Это простое бинарное дерево, где:
> левый элемент < корень < правый элемент
🔹 Плюсы:
– простая реализация
– отлично работает в идеальных условиях (например, сбалансированные данные)
🔹 Минусы:
– если данные приходят в отсортированном виде — дерево вырождается в связный список
– время поиска, вставки, удаления может стать O(n) вместо O(log n)
📗 2. AVL-дерево
🔹 Это самобалансирующееся BST, в котором:
> разница высот левого и правого поддерева никогда не превышает 1
🔹 Плюсы:
– очень быстрое чтение и поиск (потому что дерево строго сбалансировано)
– гарантированное O(log n) на все операции
🔹 Минусы:
– при вставке и удалении может потребоваться много вращений, особенно при массовых изменениях
– чуть сложнее в реализации
📌 Используется, когда важна максимально быстрая навигация по дереву (например, базы данных, кэшированные индексы)
📕 3. Red-Black Tree (Красно-чёрное дерево)
🔹 Более "гибкое" самобалансирующееся дерево
> баланс поддерживается за счёт цветов узлов и набора правил
> менее строгое, чем AVL, но быстрее на изменениях
🔹 Плюсы:
– меньше вращений при вставке/удалении
– лучше масштабируется, особенно при больших объёмах данных
– используется в
TreeMap
(Java), std::map
(C++), Linux kernel
🔹 Минусы:
– чуть менее сбалансировано, чем AVL
– поиск может быть чуть медленнее, но разница минимальна
📌 Используется в системах, где часто происходят вставки и удаления, и важна скорость обновлений, а не только чтения.
🧠 Итого:
| Структура | Быстрее при... | Баланс | Где применяется |
|----------------|------------------------|--------|----------------------------------------|
| **BST** | — (только в идеале) | ❌ нет | учебные задачи, простые деревья |
| **AVL** | ✅ Поиске | ✅ строгий | базы данных, индексы, словари |
| **Red-Black** | ✅ Вставке/удалении | ⚠ умеренный | языковые stdlib, ядра, runtime-структуры |
🔗 Подробнее:
https://www.java67.com/2019/10/difference-between-binary-tree-avl-red-black-binary-search-tree.html
#algorithms #datastructures #backend #trees #avl #redblack
@javatg
❤8👍6🔥4
🎨 Mordant — библиотека для стилизации текста в терминале. Этот мультиплатформенный Kotlin-проект превращает скучный терминальный вывод в визуально приятные интерфейсы. С ним можно не просто раскрашивать текст, но и создавать таблицы, анимированные прогресс-бары и даже рендерить Markdown прямо в консоли.
Инструмент умеет автоматически определять возможности терминала и поддерживает корутины для анимаций. Под капотом: умная система виджетов для компоновки элементов и кросс-платформенная работа на JVM, JS и Native.
🤖 GitHub
@androidits
Инструмент умеет автоматически определять возможности терминала и поддерживает корутины для анимаций. Под капотом: умная система виджетов для компоновки элементов и кросс-платформенная работа на JVM, JS и Native.
🤖 GitHub
@androidits
👍5🔥4❤2
Как выглядят будни разработчиков управляемых БД, S3 и CDN в стартапе внутри big tech?
Слушайте в подкасте «Расскажите про MWS». В новом выпуске мы беседуем с Дмитрием Черёмухиным, руководителем направления Data Platform в MWS.
Обсудим, без каких сервисов не может существовать ни одно современное облако, какие команды их разрабатывают и с какими сложностями они сталкиваются. И самое важное, то, о чём все мечтают, — прекрасный green field, в котором все так хотели поработать.
Смотрите и слушайте на всех популярных площадках:
🎬 YouTube
🎬 VK Видео
🎧 Яндекс Музыка
🎧 Apple Podcasts
🎧 Mave Digital
Слушайте в подкасте «Расскажите про MWS». В новом выпуске мы беседуем с Дмитрием Черёмухиным, руководителем направления Data Platform в MWS.
Обсудим, без каких сервисов не может существовать ни одно современное облако, какие команды их разрабатывают и с какими сложностями они сталкиваются. И самое важное, то, о чём все мечтают, — прекрасный green field, в котором все так хотели поработать.
Смотрите и слушайте на всех популярных площадках:
🎬 YouTube
🎬 VK Видео
🎧 Яндекс Музыка
🎧 Apple Podcasts
🎧 Mave Digital
🌐 JTS Topology Suite — мощная Java-библиотека для работы с геометрией. Проект предоставляет инструменты для создания и манипуляции векторной геометрией, включая пространственные операции. Входит в рабочую группу LocationTech Eclipse Foundation и служит основой для многих GIS-решений.
В комплекте идёт TestBuilder с GUI для визуализации геометрии и тестирования функций. Библиотека особенно полезна разработчикам GIS-приложений систем пространственного анализа. На базе JTS построены популярные порты для C++, .NET и JavaScript.
🤖 GitHub
@javatg
В комплекте идёт TestBuilder с GUI для визуализации геометрии и тестирования функций. Библиотека особенно полезна разработчикам GIS-приложений систем пространственного анализа. На базе JTS построены популярные порты для C++, .NET и JavaScript.
🤖 GitHub
@javatg
🔥3