Java
47 довгочитівJava. jOOQ
Довгочит буде про jOOQ — бібліотеку, яка зручно поєднує світ Java і SQL. Якщо ви працюєте з базами даних у Java, то, скоріш за все, зустрічались з такими дилемами:
Теми цього довгочиту:
Java та ще 4 темиStack та Heap
В JVM використовуються дві структури для зберігання інформації в пам’яті: Stack та Heap. Вони мають полярну філософію і ми не можемо обійтись без жодної із них. У цьому пості я намагатимусь обширно опрацювати причини використання обох структур та їхні особливості.
Теми цього довгочиту:
Java та ще 3 темиSecure networking. Deep Dive
Глибоке занурення в протоколи TLS/SSL та інфраструктуру відкритих ключів (PKI). Основні поняття, процес встановлення захищеного з'єднання, роль сертифікатів та ланцюжка довіри
Теми цього довгочиту:
Security та ще 4 темиПоширені помилки у дизайні REST API
У довгочиті розглядаються поширені помилки при проектуванні REST API та способи їх уникнення: версіонування, використання DTO, підхід CQRS, робота з мікросервісами, та інші практики для підвищення продуктивності, безпеки й зручності API
Теми цього довгочиту:
Java та ще 4 темиJava. Короткий огляд еволюції багатопотоковості
У перших версіях Java багатопоточність реалізовувалася за допомогою класу Thread, який дозволяв створювати нові потоки. Проте ця модель мала багато недоліків:
Теми цього довгочиту:
Java та ще 4 теми🧠 Цікаві факти про toLowerCase в Java!
Коли ми працюємо з рядками в Java, часто виникає потреба перетворити великі літери на малі. Для цього зазвичай використовують вбудовану функцію Character.toLowerCase(). Але чи знаєте ви, як можна реалізувати це самостійно?
Теми цього довгочиту:
Java та ще 1 тема10 “маловідомих” концепцій тестування продуктивності
Довгочит висвітлює 10 маловідомих концепцій тестування продуктивності. Описано їхнє значення, причини виникнення, методи вирішення та моніторингу, що допомагає оптимізувати роботу систем.
Теми цього довгочиту:
Programming та ще 4 темиJava. Трішки про JVM та graceful shutdown
У сучасних Java-додатках важливо забезпечити не лише високу продуктивність, але й коректне завершення роботи. Тому розглянемо основні потоки JVM, процес graceful shutdown, використання класу Runtime та механізму shutdown hooks для ефективного завершення роботи програм.
Теми цього довгочиту:
Java та ще 4 темиJava. ELK. Що це. Створення, конфігурація та інтеграція
Як налаштувати та інтегрувати ELK стек зі Spring Boot застосунком щоб забезпечити централізоване зберігання, аналіз і візуалізацію логів для покращення моніторингу та діагностики.
Теми цього довгочиту:
Java та ще 4 темиРівні ізоляції транзакцій у БД
Доволі детальний огляд аномалій у БД, рівнів ізоляції, які дозволяються уникнути аномалії, та імплементації цих рівнів. Багато використовую джерела та свої коментарі, в кінці декілька чит-шитів.
Теми цього довгочиту:
Бази Даних та ще 3 темиХешування паролів: використання солі та bcrypt
Хешування паролів - це важливий елемент захисту інформації в сучасних системах. Використання солі в хешуванні додає додатковий рівень безпеки, а алгоритм BCrypt дозволяє забезпечити високу стійкість до атак грубою силою та інших видів атак.
Теми цього довгочиту:
Security та ще 4 темиФункціональна залежність у БД
Пост про функціональну залежність в реляційних множинах. Визначення. Повторення значень в атрибуті. Приклад з п'ятьма атрибутами. Тривіальна залежність. Замикання. залежностей та атрибутів. Незвідні множини. Використання
Теми цього довгочиту:
Програмування та ще 2 темиУгода про рівень послуг
Пост про те, як сервіс надає своєму користувачу гарантії і те, як ці гарантії необхідно формувати.
Теми цього довгочиту:
Розподілені Системи та ще 3 темиВиди черг в RabbitMQ
Стаття про черги в Rabbit. Кворум черги. Raft консенсус алгоритм. Типи конфірмів і ановледжментів. Типи черг. V1 vs V2. Фічі черг. Використання, недоліки та переваги.
Теми цього довгочиту:
Програмування та ще 3 темиJava. Повний огляд мережевих моделей. Socket API, forking, non-blocking sockets, event-driven API
Хоча сокет - це один файловий дескриптор, він є двонаправленим каналом комунікації, який використовується для одночасного відправлення і отримання даних. Операційна система та мережеві протоколи забезпечують управління потоками даних, що дозволяє коректно розрізняти дані
Теми цього довгочиту:
Java та ще 4 темиВиди протоколів в RabbitMQ
Пост про порівняння протоколів у Rabbit. Різні версії Advanced Message Queuing Protocol. Недоліки та переваги, способи використання.
Теми цього довгочиту:
Rabbitmq та ще 4 темиSpring Statemachine
Пост про Spring Statemachine. Глосарій. Моніторинг. Безпека. Детальний розбір прикладу комплексної машини станів.
Теми цього довгочиту:
Java та ще 4 темиJava. WebSocket. Spring WebSocket
Сервер в свою чергу повертає відповідь із 101 статус кодом — що так, давай змінимо протокол між тобою і мною. Тепер будемо використовувати вебсокети. Потім, після з’єднання, я розсилаю всім клієнтам інфомацію про нового користуча (і собі також, не робив додаткових перевірок).
Теми цього довгочиту:
Java та ще 4 темиТелеграм бот. Нотатки. Стаді плани. Архітектура. Вебсокети. Част. 3
Продовження розробки телеграм бота з попередніх частин. Там ми мінімально налаштовували середовище, а зараз детальніше про саму ідею.