Telegram Web Link
🖥 Duress

Приложение с открытым исходным кодом Duress, наспинное на Kotlin, помогает следить за безопасностью вашего устройства.

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

После этого Duress автоматически отправит уведомление выбранным контактам, чтобы они знали, что вам нужна помощь.

Github: https://github.com/x13a/Duress
F-droid: https://f-droid.org/en/packages/me.lucky.duress/

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет

show-sql - это один из самых простых (но не самый оптимальный) способ посмотреть SQL запросы, сгенерированные Hibernate.

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

@javatg
🖥 Вопрос с собеседования: Опишите жизненный цикл Spring Bean

Beans – центральный объект заботы Spring Framework. За кулисами фреймворка с ними происходит множество процессов. Во многие из них можно вмешаться, добавив собственную логику в разные этапы жизненного цикла. Через следующие этапы проходит каждый отдельно взятый бин:

1. Инстанцирование объекта. Техническое начало жизни бина, работа конструктора его класса;

2. Установка свойств из конфигурации бина, внедрение зависимостей;

3. Нотификация aware-интерфейсов. BeanNameAware, BeanFactoryAware и другие. Мы уже писали о таких интерфейсах ранее. Технически, выполняется системными подтипами BeanPostProcessor, и совпадает с шагом 4;

4. Пре-инициализация – метод postProcessBeforeInitialization() интерфейса BeanPostProcessor;

5. Инициализация. Разные способы применяются в таком порядке:
• Метод бина с аннотацией
@PostConstruct из стандарта JSR-250 (рекомендуемый способ);
• Метод afterPropertiesSet() бина под интерфейсом InitializingBean;
• Init-метод. Для отдельного бина его имя устанавливается в параметре определения initMethod. В xml-конфигурации можно установить для всех бинов сразу, с помощью default-init-method;

6. Пост-инициализация – метод postProcessAfterInitialization() интерфейса BeanPostProcessor.
Когда IoC-контейнер завершает свою работу, мы можем кастомизировать этап штатного уничтожения бина. Как со всеми способами финализации в Java, при жестком выключении (kill -9) гарантии вызова этого этапа нет. Три альтернативных способа «деинициализации» вызываются в том же порядке, что симметричные им методы инициализации:

1. Метод с аннотацией
@PreDestroy;
2. Метод с именем, которое указано в свойстве destroyMethod определния бина (или в глобальном default-destroy-method);
3. Метод destroy() интерфейса DisposableBean.

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


@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥🌤 WeatherMaster — это приложение погоды для Android, разработанное с использованием HTML, CSS, JavaScript и Java. Оно предоставляет пользователям информацию о текущем состоянии погоды, правительственных предупреждениях, прогнозах на ближайшие 48 часов и 14 дней, а также данные о фазах Луны и климатических показателях.

Приложение поддерживает добавление нескольких местоположений и кэширование данных для повышения производительности и снижения нагрузки на API.

Интерфейс WeatherMaster разработан для удобства пользователей, предлагая интуитивно понятную навигацию и легкодоступные настройки.

Дополнительные сведения и код доступны на GitHub: https://github.com/PranshulGG/WeatherMaster

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Процесс загрузки Linux

Диаграмма выше показывает этапы:

Шаг 1 - Когда мы включаем питание, загружается прошивка BIOS (Basic Input/Output System) или UEFI (Unified Extensible Firmware Interface) из энергонезависимой памяти и выполняет POST (Power On Self Test).

Шаг 2 - BIOS/UEFI обнаруживает устройства, подключенные к системе, включая процессор, оперативную память и устройства хранения данных.

Шаг 3 - Выбирается устройство для загрузки операционной системы. Это может быть жесткий диск, сетевой сервер или CD-ROM.

Шаг 4 - BIOS/UEFI запускает загрузчик (GRUB), который предоставляет меню для выбора операционной системы или функций ядра.

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

Шаг 6 - systemd по умолчанию активирует target unit при загрузке системы. Также выполняются другие анализирующие модули.

Шаг 7 - Система выполняет набор скриптов для настройки среды.

Шаг 8 - Пользователям отображается окно входа в систему. Система готова к работе.

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🖥 Разрешаем фронту подписаться на бэкенд. Server Sent Events на Java Spring Boot.

Простой способ избежать постоянного опроса сервера. Событийный способ работы.

💡источник

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Бесплатный пятичасовой курс по созданию Android приложений с использованием Java и Kotlin

🔗 Ссылка: Youtube

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полный курс по Java разработке

💡 Плейлист состоит более чем из 30 видео и полностью рассказывает о всех аспектах языка. В плейлисте есть как старые видео, так и свежие от 2024 года

🔗 Youtube: *клик*

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Strikt — это библиотека для Kotlin, предназначенная для использования с тестовыми фреймворками, такими как JUnit и Spek.

Она использует fluent API, что упрощает построение простых и безопасных тестов с помощью Kotlin-расширений.

🌟 Strikt поддерживает интеграции с библиотеками Arrow, Jackson, MockK и Spring, что делает её гибким инструментом для тестирования различных типов данных и компонентов

▪️GitHub

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Интересная статья про создание Fluent Interface, используя при этом фреймворк Spring вместо классического шаблона

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

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 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
2025/07/05 10:26:01
Back to Top
HTML Embed Code: