| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
Библиотека Java разработ…
[telegram]
|
47 | 10283 | 23.09.26 |
|
Хакер Free
[max]
|
17 | 3136 | 23.08.26 |
|
Базы Данных (Data Base) …
[max]
|
17 | 2876 | 23.08.26 |
Наука и tech #2040
[max]
|
5 | 279773 | 04.08.26 |
Digital Media #8006
[max]
|
29 | 440900 | 06.08.26 |
Экономика Сегодня #8565
[max]
|
3 | 16274 | 22.07.26 |
Здоровье и спорт #8861
[max]
|
16 | 117221 | 14.08.26 |
| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
|
IT мероприятия России / …
[max]
|
2 | 1694 | 02.09.26 |
|
Bash Советы - Bash Scrip…
[max]
|
16 | 2806 | 23.08.26 |
|
Книги для программистов
[max]
|
16 | 3484 | 23.08.26 |
Digital Media #361
[max]
|
39 | 271456 | 09.08.26 |
Новости дня #2453
[max]
|
12 | 488773 | 22.09.26 |
Digital Media #3797
[max]
|
11 | 51864 | 07.08.26 |
Экономика Сегодня #9394
[max]
|
39 | 341056 | 16.08.26 |
Загрузка данных...
| Размещенный пост | Текст публиакции | Рекламирующий канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
Загрузка данных...
| Размещенный пост | Текст публикации | Рекламируемый канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
| Дата и время публикации | Текст публикации | Рекламируемый канал | Динамика просмотров | Всего просмотров |
|---|---|---|---|---|
| 2026-09-23 08:00:02 | Что такое механизм try-with-resources? Механизм try-with-resources в Java — это конструкция, которая упрощает работу с ресурсами, требующими закрытия (например, файлы, сокеты, соединения с БД и т.д.). Он автоматически закрывает ресурсы после завершения блока try, избавляя от необходимости писать finally вручную. 📌 Поддерживается с Java 7 📌 Ресурсы должны реализовывать интерфейс AutoCloseable 💡 Пример: try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) { String line = reader.readLine(); System.out.println(line); } catch (IOException e) { e.printStackTrace(); } // reader будет закрыт автоматически, даже если произойдёт исключение 🧠 Почему это важно: * Уменьшает boilerplate-код * Исключает утечки ресурсов * Упрощает обработку исключений ⚠️ Совет: С Java 9 можно использовать уже объявленные переменные, если они final или effectively final: BufferedReader reader = new BufferedReader(new FileReader("file.txt")); try (reader) { System.out.println(reader.readLine()); } 👉 @BookJava Что такое механи… | — |
|
242 |
| 2026-09-21 14:00:07 | Создание кроссплатформенного приложения с GUI на Rust: От идеи до реальности Electron-приложения тяжелые, потребляют много памяти, а на Rust можно собрать легкое, быстрое и безопасное десктоп-приложение, которое будет работать на Windows, macOS и Linux. Tauri — это фреймворк, который позволяет использовать веб-технологии (HTML/CSS/JS) для интерфейса и мощь Rust для бэкенда. Но чтобы собрать работающий продукт, а не просто «посмотреть пример», нужно понимать, как связать фронтенд с бэкендом, работать с файловой системой, делать асинхронные вызовы и правильно собирать билды. На открытом вебинаре 23 сентября в 20:00 разберём полный цикл создания кроссплатформенного GUI-приложения на Rust с использованием Tauri. Посмотрим, как организовать проект, как писать логику на Rust и подключать её к интерфейсу, как сохранять и загружать данные,безопасно работать с файловой системой и системными вызовами через новую систему разрешений (permissions) и возможностей (capabilities) в Tauri 2, а также выполнять долгие операции асинхронно. Отдельно обсудим сборку готового приложения, отладку с помощью встроенных инструментов Tauri и лучшие практики, которые помогут избежать типичных ошибок. Вебинар не для тех, кто ждёт готового шаблона «скопируй-вставь» без понимания архитектуры. Идеально подойдёт фронтенд-разработчикам, которые хотят создавать настоящие десктоп-приложения, программистам на других языках, интересующимся Rust и кроссплатформенной разработкой, а также энтузиастам, которые устали от тяжелых Electron-приложений. После вебинара вы сможете создавать функциональные десктоп-приложения на Rust с красивым интерфейсом, разрабатывать логику на бэкенде и связывать её с UI, грамотно настраивать политики безопасности доступа к ресурсам ОС, а также собирать и распространять готовое приложение пользователям. 👉 Записаться: https://vk.cc/d1VRJX Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 Создание кросспл… | — |
|
259 |
| 2026-09-21 12:00:04 | 💾 Spring Data JPA: SQL больше не нужен? Spring Data JPA это абстракция над Hibernate (который, в свою очередь, является реализацией JPA). Его главная киллер-фича: Генерация запросов из названий методов. 🏗 1. Сущность (@Entity) Сначала мы объясняем Java, как выглядит наша таблица. Обычный класс превращается в таблицу с помощью пары аннотаций. @Entity // Это таблица в БД @Table(name = "users") public class User { @Id // Это Primary Key @GeneratedValue(strategy = GenerationType.IDENTITY) // Авто-инкремент private Long id; private String email; private int age; private boolean active; // Геттеры, сеттеры... } 🪄 2. Репозиторий (Магия) Вместо написания класса UserDao, мы просто создаем интерфейс. public interface UserRepository extends JpaRepository<User, Long> { // Здесь пусто! Но методы уже есть. } Наследуясь от JpaRepository, вы сразу получаете готовые методы: 🔴 .save(user) - сохранить/обновить. 🔴 .findById(id) - найти по ID (возвращает Optional). 🔴 .findAll() - найти всех. 🔴 .deleteById(id) - удалить. Ни одной строчки SQL писать не пришлось! 😎 🔮 3. Derived Queries (Запросы из имени) Что, если нужно найти пользователя по email? Или всех активных пользователей старше 18 лет? Вы просто пишете метод в интерфейсе с правильным названием, и Spring сам составляет SQL-запрос. public interface UserRepository extends JpaRepository<User, Long> { // SQL: SELECT * FROM users WHERE email = ? Optional<User> findByEmail(String email); // SQL: SELECT * FROM users WHERE active = true AND age > ? List<User> findByActiveTrueAndAgeGreaterThan(int age); // SQL: EXISTS (SELECT 1 FROM users WHERE email = ?) boolean existsByEmail(String email); } Синтаксис простой: find + By + ИмяПоля + Условие (если нужно). 🛠 4. Если магия не справилась (@Query) Иногда названия методов становятся слишком длинными и уродливыми (findByNameAndAgeAndActiveAnd...). Или нужен сложный JOIN. Тогда мы берем управление в свои руки и пишем запрос на JPQL (Java Persistence Query Language) - это SQL, но оперирующий классами, а не таблицами. @Query("SELECT u FROM User u WHERE u.email LIKE %:domain%") List<User> findUsersByEmailDomain(@Param("domain") String domain); ⚡ Транзакции (@Transactional) База данных требует транзакций (всё или ничего). В Spring Boot методы репозитория уже транзакционны (только на чтение). Если же вы в сервисе делаете несколько операций подряд (снять деньги, перевести деньги), вешайте @Transactional над методом сервиса. @Service public class PaymentService { @Transactional // Если упадет ошибка, все изменения откатятся public void transferMoney() { repo.withdraw(...); repo.deposit(...); } } 🔥 Итог Spring Data JPA убирает 90% рутинной работы с БД. 1. Создали @Entity. 2. Создали интерфейс extends JpaRepository. 3. Нужен поиск? Написали метод findByField. 4. Сложный запрос? Написали @Query. #SpringBoot #JPA #Hibernate #Database #SQL 👉 @BookJava 💾 Spring Data JP… | — |
|
259 |
| 2026-07-19 16:27:31 | канала Реклама Оформите Оформите канала Реклама О… | — |
|
1733 |
| 2026-08-22 05:51:31 | чтобы все Оформите Оформите доступна канала канала для чтобы все Оформи… | — |
|
49674 |
| 2026-08-02 19:03:31 | подписку неподписчиков доступна Данные подписку подписку Реклама канала подписку неподпи… | — |
|
26256 |
Год
Месяц
Неделя
Загрузка данных...
| Время | Контент | Подписчиков | Кто ссылался | Просмотры 48ч | Просмотры 24ч |
|---|