Telegram Web Link
🖥 CompreFace — это бесплатная и открытая система распознавания лиц, разработанная компанией Exadel. Она предоставляет функции обнаружения, верификации и распознавания лиц, а также определение наличия маски, возраста и пола. CompreFace поддерживает интеграцию через REST API, работает на CPU и GPU и легко разворачивается с помощью Docker. Система не требует глубоких знаний в машинном обучении и включает управление доступом на основе ролей

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

▪️GitHub

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Интересный факт: история появления логотипа Java

Наверняка многие из вас задавались вопросом, почему на логотипе изображена именно чашка кофе?

💡 Дело в том, что В начале разработки языка в 1995 году команда Sun Microsystems выбрала кодовое название "Oak", но из-за конфликта с уже зарегистрированным брендом название решили изменить. Новый выбор пал на "Java" — сорт кофе, популярный среди разработчиков.

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

🌟 Также логотип символизирует универсальность Java: как кофе пьют во всем мире, так и Java используется повсеместно

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 ОГРОМНЫЙ сборник уроков по Java (107 видео)!

🌟 Думаю, этот плейлист не нуждается в описании!

🔗 Ссылка: *клик*

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Шаблон приложения Kotlin Multiplatform

🌟 Базовый шаблон приложения Kotlin Multiplatform для Android и iOS. Он включает общую бизнес-логику и обработку данных, а также реализацию общего пользовательского интерфейса с использованием Compose Multiplatform

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

▪️Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Java Streams: Основные методы для чистого и эффективного кода!

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

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

@javatg
👩‍💻 Android Quick Guides — это недавно вышедшая серия официальных кратких руководств от Google, созданных для разработчиков, работающих с платформой Android. Эти руководства нацелены на предоставление основных рекомендаций и шаблонов для быстрого внедрения стандартных компонентов и функциональности Android-приложений

🔗 Ссылка: *клик*

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 useful-java-links — коллекция полезных ссылок для Java-разработчиков, охватывающая различные категории, такие как библиотеки, фреймворки, утилиты и ресурсы для обучения. Особое внимание уделено инструментам для работы с базами данных, поисковыми системами, Big Data и машинным обучением

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

▪️Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Новая библиотека androidx.ink предназначена для создания и работы с пером в Android-приложениях. Она предоставляет инструменты для рендеринга, анимации и манипулирования мазками с низкой задержкой, что полезно для создания интерфейсов рисования или подчеркивания текста. Основные компоненты включают визуализацию чернил в реальном времени (InProgressStrokesView), обработку мазков и конфигурацию кисти

💡 Это первая альфа-версия (1.0.0-alpha01), предназначенная для разработчиков, которые хотят создать приложения с поддержкой естественного ввода

🔗 Подробнее: *клик*

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Texty — это библиотека для Compose Multiplatform (Kotlin), позволяющая отображать текст с различными стилями, эффектами и анимациями. Texty ориентирован на разработку кросс-платформенных приложений с поддержкой Android и iOS, предоставляя гибкие инструменты для стилизации текста и создания интерактивных пользовательских интерфейсов

🌟 Основная цель проекта — упростить создание анимированных и стилизованных текстовых элементов, сохраняя высокую производительность и совместимость с Compose UI

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

▪️Github

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 server-driven-compose демонстрирует подход к разработке пользовательского интерфейса, управляемого сервером, с использованием Jetpack Compose и Firebase Realtime Database. Он предоставляет примеры динамического рендеринга интерфейса, позволяя изменять UI на основе данных с сервера. Этот подход поддерживает гибкие обновления интерфейса в реальном времени. Проект использует архитектуру MVVM и шаблон Repository для эффективного управления данными и потоком UI

▪️Github

@java_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 HyperCeiler — это модуль для улучшения работы операционных систем MIUI и HyperOS, разработанный для Android. Он предоставляет функции, которые помогают оптимизировать пользовательский интерфейс и исправить некоторые ограничения системы

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

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

▪️Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Gallery — реализация приложения "Галерея" на языке Kotlin для Android. Основная цель проекта — предоставить пользователю возможность просматривать, управлять и упорядочивать свои изображения и видео на устройстве.

🔍 Основные особенности репозитория:

🌟 Просмотр медиафайлов — отображение изображений и видео, хранящихся на устройстве

🌟 Упорядочивание — поддержка сортировки и фильтрации контента.
Минималистичный интерфейс — простая и удобная навигация

🌟 Основы на стандартных API Android — использование стандартных библиотек для работы с медиафайлами и UI


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

▪️Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Гайд по работе со строками: Оптимизация строк в Java

В Java строки (`String`) являются объектами, представляющими последовательность символов. Они имеют особое значение, и оптимизация работы со строками важна для эффективного использования памяти и производительности приложения.
Вот ключевые методы оптимизации работы со строками в Java:

1. Пул строк (String Pool)
- Java использует специальную область памяти, называемую String Pool (или **интернированный пул строк**), для хранения строковых литералов.
- Когда строка создается как литерал, например, String str = "hello";, JVM сначала проверяет, есть ли уже такая строка в пуле. Если есть, то возвращается ссылка на существующую строку, а не создается новый объект.
- Если строка создается с помощью new, например, String str = new String("hello");, новый объект строки создается в куче, даже если такая строка уже есть в пуле.

Оптимизация:
- Используйте строковые литералы вместо явного создания новых объектов String через new, чтобы JVM могла переиспользовать строки из пула.

Пример:

String s1 = "hello"; // переиспользует строку из пула
String s2 = new String("hello"); // создает новую строку в куче


2. Метод `intern()`
- Метод intern() добавляет строку в пул строк, если ее там еще нет, и возвращает ссылку на строку из пула.
- Это полезно, когда вы хотите уменьшить количество дубликатов строк.

Пример:

String s1 = new String("hello").intern(); // добавляет строку в пул и возвращает ссылку из пула
String s2 = "hello"; // использует строку из пула
System.out.println(s1 == s2); // true


3. Избегайте конкатенации строк в циклах
- Операция конкатенации строк через оператор + в Java создает новые объекты String, поскольку строки неизменяемы. Это может привести к большому количеству временных объектов и снижению производительности.
- Внутри циклов это особенно дорого, поскольку каждый раз создается новая строка.

Оптимизация:
- Используйте StringBuilder или StringBuffer для конкатенации строк, если вы собираете строки в цикле.

Пример:

// Плохой подход:
String result = "";
for (int i = 0; i < 1000; i++) {
result += i; // каждый раз создается новая строка
}

// Оптимизированный подход:
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 1000; i++) {
builder.append(i); // строка накапливается без создания временных объектов
}
String result = builder.toString();


4. Используйте `StringBuilder` вместо `StringBuffer` для однопоточных операций
- StringBuffer синхронизирован, и это делает его потокобезопасным, но добавляет накладные расходы. Для однопоточных операций лучше использовать несинхронизированный StringBuilder, который работает быстрее.

5. Использование методов `char[]` и `toCharArray()`
- Если необходимо часто модифицировать строку или выполнять операции с отдельными символами, то преобразование строки в массив символов (`char[]`) может быть более эффективно.

Пример:

String str = "hello";
char[] charArray = str.toCharArray();
charArray[0] = 'H'; // изменяем символ
String modifiedStr = new String(charArray); // создаем новую строку


6. Уменьшение использования временных строк
- Старайтесь избегать создания временных строк, которые сразу выбрасываются сборщиком мусора. Например, при разбиении строки (split) или других операциях, которые могут создать ненужные объекты.

Оптимизация:
- Используйте потоки или регулярные выражения для более эффективной обработки строк.

7. Использование `String.join()` или `Collectors.joining()` для объединения строк
- Если необходимо объединить множество строк (например, из массива или коллекции), лучше использовать String.join() или Collectors.joining() для оптимизации вместо ручной конкатенации.

Пример:

List<String> list = Arrays.asList("one", "two", "three");
String result = String.join(", ", list); // более эффективное объединение строк


👉 Этот документ служит полным определением стандартов Google для Java кода.

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🖥 Flyway + Spring Boot | Настройка и написании миграций баз данных | Amplicode

Процедура проходит с помощью инструментов максимально эффективной и комфортной разработки сервисов и web приложений на Spring Boot в IntelliJ IDEA и административного пользовательского интерфейса на React Admin в VS Code.

00:00 — Зачем нужно версионировать БД?
00:51 — Задачи на сегодня
01:30 — Обзор Spring Boot приложения (via Amplicode Explorer)
03:17 — Подключение и настройка Flyway (генерация скриптов инициализации БД)
05:49 — Модификация JPA модели
06:52 — Генерация Flyway скриптов миграции для синхронизации JPA модели и схемы БД
09:04 — Запуск Spring Boot приложения

📌 Источник

#видео #SpringBoot #java

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Smallville — фреймворк для создания генеративных агентов для видеоигр. Эти агенты — виртуальные персонажи, способные хранить воспоминания, наблюдать за окружением и реагировать на изменения в игровом мире. Они используют модели на основе больших языковых моделей (LLM), таких как ChatGPT, для создания более реалистичных и динамичных NPC, что снижает необходимость ручного программирования взаимодействий

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

🔐 Лицензия: MIT

▪️Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Money - это библиотека Kotlin, которая упрощает денежные расчеты и распределение средств.

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

В библиотеке также полностью поддерживаются криптовалюты.

▪️Github
▪️Документация

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 SQLFlow - отличный инструмент для визуализации SQL-запросов

Легкий и простой интрумент для визуализация связей и структур БД, поддерживающий более 20 разных БД.

DEMO
GitHub

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Amplicode учит вашу IDE говорить на языке Spring Boot! 

Amplicode – многофункциональный плагин для IntelliJ IDEA Community и Ultimate, упрощает и ускоряет работу с технологиями Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct и т.д.

Основные возможности: 

Навигация по проекту согласно архитектуре Spring приложения  
Создание объектов сразу в терминах фреймворка вместо Java классов: контроллеры, репозитории, сервисы, сущности, события, DTO, мапперы и т.д.
Палитра и инспектор, позволяющие видеть опции, доступные разработчику в текущем контексте
Умные инжекции, подсказки и исправление ошибок

Это малая часть того, на что способен Amplicode. В настоящий момент возможности доступны абсолютно бесплатно!

Сделано с любовью к разработчикам командой, создавшей суперпопулярный плагин JPA Buddy ❤️

Попробовать Amplicode

Посмотрите как Amplicode помогает разрабатывать на Spring Boot в IntelliJ IDEA! 

#реклама
О рекламодателе
🖥 Статья, которая объясняет шаблон проектирования "Bridge" в Java

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

🔗 Ссылка: *клик*

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/02/23 17:22:28
Back to Top
HTML Embed Code: