Форум программистов, компьютерный форум, киберфорум
Making Java great for ever
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
Реализация Domain-Driven Design с Java
Запись от Javaican размещена 20.05.2025 в 16:14 / Making Java great for ever
Показов 4996 Комментарии 0

Нажмите на изображение для увеличения
Название: d26e961d-15c2-4930-8f07-e9db048f52e3.jpg
Просмотров: 74
Размер:	178.1 Кб
ID:	10831
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную область и могут эволюционировать вместе с ней. Java, со своей строгой типизацией и объектно-ориентированной природой, идеально подходит для воплощения принципов DDD. Однако дьявол,...
Аватар для Javaican
Старый
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Запись от Javaican размещена 19.05.2025 в 20:58 / Making Java great for ever
Показов 5960 Комментарии 0

Нажмите на изображение для увеличения
Название: e0175638-5747-468f-bd71-087a68b9f67a.jpg
Просмотров: 55
Размер:	139.0 Кб
ID:	10827
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки (14%). Забавно, что эти "старые-добрые" методы взлома по-прежнему работают, несмотря на их почтенный...
Аватар для Javaican
Старый
Исключения в Java: советы, примеры кода и многое другое
Запись от Javaican размещена 18.05.2025 в 11:45 / Making Java great for ever
Показов 1402 Комментарии 0

Нажмите на изображение для увеличения
Название: 7c78dc34-04f5-4d57-b33e-32031d54cb84.jpg
Просмотров: 58
Размер:	90.0 Кб
ID:	10822
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль... Список можно продолжать до бесконечности. Вместо того чтобы позволить программе "упасть" с непонятной ошибкой, Java создаёт объект-исключение и "бросает" его, прерывая нормальный поток выполнения. А программист получает возможность это исключение "поймать" и обработать.

...
Аватар для Javaican
Старый
Использование вебсокетов в приложениях Java с Netty
Запись от Javaican размещена 16.05.2025 в 18:32 / Making Java great for ever
Показов 5718 Комментарии 0

Нажмите на изображение для увеличения
Название: d49f00f7-419f-4be2-b6c7-22ad988bf82c.jpg
Просмотров: 54
Размер:	175.2 Кб
ID:	10813
HTTP, краеугольный камень интернета, изначально был спроектирован для передачи гипертекста с минимальной интерактивностью. Его главный недостаток в контексте современных приложений — это однонаправленость коммуникации: сервер не может инициировать отправку...
Аватар для Javaican
Старый
Как использовать OAuth2 со Spring Security в Java
Запись от Javaican размещена 14.05.2025 в 09:09 / Making Java great for ever
Показов 1030 Комментарии 0
Метки auth, java, oauth2, spring

Нажмите на изображение для увеличения
Название: f0509eb2-0954-445d-abeb-19ad1a2047cc.jpg
Просмотров: 51
Размер:	191.6 Кб
ID:	10806
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы даёте ему временный пропуск только в гостиную. Этот пропуск имеет...
Аватар для Javaican
Старый
CQRS (Command Query Responsibility Segregation) на Java
Запись от Javaican размещена 12.05.2025 в 12:00 / Making Java great for ever
Показов 3705 Комментарии 0

Нажмите на изображение для увеличения
Название: c2370a0f-4b39-47f6-aec2-ece91799151d.jpg
Просмотров: 56
Размер:	214.5 Кб
ID:	10795
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций изменения данных (команды). Многим эта идея покажется странной – зачем вообще что-то...
Аватар для Javaican
Старый
Micronaut и GraalVM - будущее микросервисов на Java?
Запись от Javaican размещена 11.05.2025 в 20:00 / Making Java great for ever
Показов 3382 Комментарии 0

Нажмите на изображение для увеличения
Название: 032fb343-659e-4018-a4a4-c39f84e278ef.jpg
Просмотров: 55
Размер:	290.7 Кб
ID:	10792
Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей надёжностью и удобством, внезапно оказались не готовы к реалиям современного мира. В эпоху, когда каждая миллисекунда задержки и каждый мегабайт памяти конвертируются в доллары на счетах облачных провайдеров, появление связки Micronaut + GraalVM может стать настоящим...
Аватар для Javaican
Старый
Битва за скорость: может ли Java догнать Rust и C++?
Запись от Javaican размещена 11.05.2025 в 10:39 / Making Java great for ever
Показов 1436 Комментарии 0

Нажмите на изображение для увеличения
Название: ec45ed67-87f2-45cd-a8af-245969b336d9.jpg
Просмотров: 69
Размер:	182.7 Кб
ID:	10789
Java, с её мантрой "напиши один раз, запускай где угодно", десятилетиями остаётся в тени своих "быстрых" собратьев, когда речь заходит о сырой вычислительной мощи. Rust и C++ традиционно занимают пьедестал в гонке за скоростью, но действительно ли разрыв настолько непреодолим, как принято считать?

Современная экосистема Java претерпела колоссальные изменения — от экспериментальных JIT-компиляторов...
Аватар для Javaican
Старый
GraphQL Federation в Spring Boot и создание API с помощью Apollo
Запись от Javaican размещена 09.05.2025 в 11:49 / Making Java great for ever
Показов 936 Комментарии 0

Нажмите на изображение для увеличения
Название: 147e6448-87c4-4805-ab14-2b11d9ed1ca1.jpg
Просмотров: 42
Размер:	223.4 Кб
ID:	10772
REST долгое время царствовал в экосистеме API, как дизайн-подход №1. Его относительная простота, понятный жизненый цикл ресурсов и стриктная иерархичность превратили REST в стандарт де-факто для разработки веб-сервисов любой сложности. Однако практика показала, что у этой методики есть пара-тройка тонких мест, особенно при работе с микросервисными...
Аватар для Javaican
Старый
Квантовые вычисления и Java. Сможет ли JVM адаптироваться?
Запись от Javaican размещена 08.05.2025 в 21:33 / Making Java great for ever
Показов 922 Комментарии 0

Нажмите на изображение для увеличения
Название: 28e57140-73c3-486c-84b8-1b752f346a0e.jpg
Просмотров: 52
Размер:	216.0 Кб
ID:	10770
Квантовые вычисления — это радикально иной подход к обработке информации, своего рода интеллектуальный взрыв, способный перевернуть всё, что мы знаем о вычислениях. Сегодня мы находимся на интересном рубеже: с одной стороны, уже есть рабочие квантовые компьютеры с несколькими десятками и даже сотнями кубитов, с другой — мы всё еще далеки от их применения в промышленных масштабах.

Квантовые вычисления: на пороге технологической бездны



IBM, Google,...
Аватар для Javaican
Старый
Распределенная трассировка в Java с помощью OpenTelemetry
Запись от Javaican размещена 04.05.2025 в 20:08 / Making Java great for ever
Показов 1153 Комментарии 0

Нажмите на изображение для увеличения
Название: 373d6591-2da0-4490-949c-2e1bf8781830.jpg
Просмотров: 53
Размер:	203.7 Кб
ID:	10742
Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных сервисов. Представьте: клиент нажимает кнопку в приложении,...
Аватар для Javaican
Старый
Многопоточность в Java: кастомные пулы потоков и планировщики
Запись от Javaican размещена 03.05.2025 в 18:50 / Making Java great for ever
Показов 1163 Комментарии 0

Нажмите на изображение для увеличения
Название: 8d47a6f7-f0c7-4ac0-9566-226363658df5.jpg
Просмотров: 37
Размер:	227.6 Кб
ID:	10726
Java с самого начала проектировалась как язык с поддержкой многопоточности. Можно сказать, что многопоточность встроена в её ДНК. В отличие от некоторых других языков, где параллельное выполнение кода было добавлено постфактум, Java вошла в мир с потоками на борту....
Аватар для Javaican
Старый
Реактивное программирование в Java с Project Reactor и RxJava
Запись от Javaican размещена 02.05.2025 в 11:53 / Making Java great for ever
Показов 2666 Комментарии 0

Нажмите на изображение для увеличения
Название: 25980b2a-75e9-4a4c-99eb-a148d9c3683c.jpg
Просмотров: 40
Размер:	203.9 Кб
ID:	10708
Реактивное программирование — это настоящая революция в обработке данных, которая перевернула мой взгляд на архитектуру приложений, когда я впервые столкнулся с ней в высоконагруженном проекте. По сути своей — это парадигма, ориентированная на потоки данных...
Аватар для Javaican
Старый
Продвинутый ввод-вывод в Java: NIO, NIO.2 и асинхронный I/O
Запись от Javaican размещена 30.04.2025 в 16:08 / Making Java great for ever
Показов 1655 Комментарии 0

Нажмите на изображение для увеличения
Название: d19e6723-389b-4822-8722-0266889a22a2.jpg
Просмотров: 44
Размер:	198.9 Кб
ID:	10701
Когда речь заходит о вводе-выводе в Java, классический пакет java.io долгие годы был единственным вариантом для разработчиков, но его ограничения становились всё очевиднее с ростом требований к производительности современных систем. Введение NIO (New Input/Output) в JDK 1.4 в 2002 году стало настоящим прорывом,...
Аватар для Javaican
Старый
Работа с PDF в Java с iText
Запись от Javaican размещена 28.04.2025 в 17:00 / Making Java great for ever
Показов 3516 Комментарии 5
Метки itext, java, pdf

Нажмите на изображение для увеличения
Название: 4bcb762e-386c-46a5-bb6a-ab0112fc7295.jpg
Просмотров: 25
Размер:	163.2 Кб
ID:	10688
Среди всех форматов PDF (Portable Document Format) заслуженно занимает особое место. Этот формат, созданный компанией Adobe, превратился в универсальный стандарт для обмена документами, не зависящий от программного и аппаратного обеспечения. Именно поэтому умение программно создавать PDF стало необходимым навыком для разработчиков корпоративных приложений.

Обзор возможностей библиотеки iText



Библиотека iText — один из самых...
Аватар для Javaican
Старый
JWT аутентификация в Java
Запись от Javaican размещена 21.04.2025 в 22:05 / Making Java great for ever
Показов 5491 Комментарии 0
Метки auth, java, jwt, spring boot

Нажмите на изображение для увеличения
Название: ab1894d5-873f-4820-bd42-00995720dccc.jpg
Просмотров: 111
Размер:	134.6 Кб
ID:	10631
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация может быть проверена и доверена благодаря цифровой подписи. Давайте рассмотрим, как устроены эти токены и какие механизмы обеспечивают их безопасность.

Структура токена: три части одного целого



JWT токен состоит из трёх частей,...
Аватар для Javaican
Старый
Управление топиками и разделами Kafka
Запись от Javaican размещена 11.04.2025 в 21:54 / Making Java great for ever
Показов 5378 Комментарии 0
Метки apache, java, kafka

Нажмите на изображение для увеличения
Название: d95d2181-24e0-43a6-81b9-35fd07f266e1.jpg
Просмотров: 74
Размер:	224.0 Кб
ID:	10579
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов, IoT-решений и аналитики реального времени Kafka выступает ключевым звеном,...
Аватар для Javaican
Старый
Агрегаты и сущности в DDD микросервисах
Запись от Javaican размещена 10.04.2025 в 22:15 / Making Java great for ever
Показов 4313 Комментарии 0

Нажмите на изображение для увеличения
Название: d769adb8-6729-4276-aec6-f72a834a109e.jpg
Просмотров: 94
Размер:	187.3 Кб
ID:	10575
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного разделения ответственности и определения границ между сервисами....
Аватар для Javaican
Старый
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Запись от Javaican размещена 23.03.2025 в 19:02 / Making Java great for ever
Показов 5743 Комментарии 0

Нажмите на изображение для увеличения
Название: f684a527-1b91-4848-aebc-9c9908eedab9.jpg
Просмотров: 122
Размер:	196.2 Кб
ID:	10484
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и нужны моки (mock – имитация) – специальные объекты, которые имитируют...
Аватар для Javaican
Старый
JUnit или TestNG: Выбираем Java-фреймворк для тестирования
Запись от Javaican размещена 20.03.2025 в 15:03 / Making Java great for ever
Показов 1454 Комментарии 0
Метки java, junit, testng, unit-test

Нажмите на изображение для увеличения
Название: a9a429ee-1772-4622-8b2e-a3a217fc7b4d.jpg
Просмотров: 92
Размер:	277.5 Кб
ID:	10473
История тестовых фреймворков в Java началась в конце 90-х, когда Кент Бек и Эрих Гамма разработали JUnit - инструмент, который перевернул представление разработчиков о модульном тестировании. JUnit возник как Java-реализация архитектуры xUnit и быстро стал стандартом де-факто для написания...
Аватар для Javaican
Старый
Собеседование по Spring Boot: продвинутые вопросы и ответы
Запись от Javaican размещена 18.03.2025 в 14:25 / Making Java great for ever
Показов 1391 Комментарии 0

Нажмите на изображение для увеличения
Название: c47729dc-63ee-47c9-87c2-78444a3df08e.jpg
Просмотров: 68
Размер:	123.0 Кб
ID:	10447
Собеседования на позиции старших разработчиков и архитекторов требуют глубокого понимания внутренних механизмов Spring Boot, нюансов конфигурирования, подходов к оптимизации и построению сложных распределенных систем. Типичные вопросы вроде "что такое инверсия управления?" или "в чём отличие аннотаций @Component,...
Аватар для Javaican
Старый
Рейтинг: 5.00. Голосов: 1.
Фишки Kotlin, которые все любят
Запись от Javaican размещена 18.03.2025 в 08:42 / Making Java great for ever
Показов 1561 Комментарии 1
Метки kotlin

Нажмите на изображение для увеличения
Название: 7e735bbd-e91a-4fd9-9849-a6040f5a84c2.jpg
Просмотров: 163
Размер:	109.9 Кб
ID:	10445
Помню, как скептически относился к появлению "ещё одного языка для JVM" — мол, зачем нам что-то новое, когда есть Java? Но первый же проект на Kotlin заставил меня пересмотреть свое мнение. Код стал короче, читабельнее, а количество потенциальных ошибок заметно уменьшилось. С 2017 года, когда Google объявил Kotlin официальным языком для Android-разработки, популярность этого языка взлетела до небес. И не зря — он сочетает...
Аватар для Javaican
Старый
Гексагональная архитектура со Spring Boot
Запись от Javaican размещена 17.03.2025 в 17:15 / Making Java great for ever
Показов 1833 Комментарии 0

Нажмите на изображение для увеличения
Название: fd02d889-e17c-43b6-b78f-c584780088e4.jpg
Просмотров: 94
Размер:	257.5 Кб
ID:	10437
Если вы когда-нибудь сталкивались с ситуацией, когда внесение простых изменений в базу данных или пользовательский интерфейс заставляло вас переписывать весь код, то вы точно оцените элегантность гексагонального подхода. Эта архитектура разделяет приложение...
Аватар для Javaican
Старый
Позиционировани­е Kafka Consumer и Seek-операции
Запись от Javaican размещена 17.03.2025 в 12:08 / Making Java great for ever
Показов 1632 Комментарии 0
Метки apache, java, kafka, microservices

Нажмите на изображение для увеличения
Название: 3629b240-eadf-49c1-a6a3-fa5e7496d0fb.jpg
Просмотров: 66
Размер:	222.3 Кб
ID:	10436
Что же такое Consumer Seek в Kafka? По сути, это API-метод, который позволяет программно указать, с какой позиции (offset) Consumer должен начать или продолжить чтение данных из партиции. Без этого механизма потребители Kafka обычно просто последовательно обрабатывают сообщения, начиная...
Аватар для Javaican
Старый
Java Micronaut в Docker: контейнеризация с Maven и Jib
Запись от Javaican размещена 16.03.2025 в 21:24 / Making Java great for ever
Показов 2568 Комментарии 0

Нажмите на изображение для увеличения
Название: 1655ea7b-885d-41c4-a6d1-9a95952e8da5.jpg
Просмотров: 77
Размер:	201.0 Кб
ID:	10434
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным компаньоном для Docker. Главная фишка Micronaut — минимальный расход памяти и молниеносный запуск, что критично для контейнеризованных приложений, где...
Аватар для Javaican
Старый
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Запись от Javaican размещена 16.03.2025 в 21:11 / Making Java great for ever
Показов 2012 Комментарии 0

Нажмите на изображение для увеличения
Название: 38339689-42e1-4f6a-8ecf-b40c156abe55.jpg
Просмотров: 67
Размер:	144.0 Кб
ID:	10433
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого паттерна довольно проста: вместо того чтобы компоненты программы сами создавали или находили свои зависимости, они получают их извне, чаще всего через...
Аватар для Javaican
Старый
Оптимизация приложений Java для ARM
Запись от Javaican размещена 16.03.2025 в 20:31 / Making Java great for ever
Показов 1547 Комментарии 0
Метки arm, java, project panama

Нажмите на изображение для увеличения
Название: 60c60b74-dbaa-4604-9209-308d8c15cbee.jpg
Просмотров: 33
Размер:	238.4 Кб
ID:	10431
ARM-архитектура переживает настоящий бум популярности в технологическом мире. Когда-то воспринимаемая исключительно как решение для мобильных устройств и встраиваемых систем, сегодня она штурмует серверные шкафы и центры данных, бросая вызов многолетнему господству...
Аватар для Javaican
Старый
Реактивное программировани­е с Kafka Stream и Spring WebFlux
Запись от Javaican размещена 16.03.2025 в 18:36 / Making Java great for ever
Показов 1483 Комментарии 0

Нажмите на изображение для увеличения
Название: ebfa69c1-c798-474a-ba4a-043bd5c672f0.jpg
Просмотров: 59
Размер:	196.7 Кб
ID:	10427
Реактивное программирование – это программная парадигма, ориентированная на потоки данных и распространение изменений. Она позволяет выражать статические или динамические потоки данных и автоматически распространять изменения через потоки зависимых вычислений....
Аватар для Javaican
Старый
Конвейеры данных с Apache Kafka
Запись от Javaican размещена 16.03.2025 в 11:46 / Making Java great for ever
Показов 1210 Комментарии 0

Нажмите на изображение для увеличения
Название: 5f1661f3-6d5d-4568-9523-20f18445ffeb.png
Просмотров: 45
Размер:	1.32 Мб
ID:	10419
В мире, где данные стали новой нефтью, Apache Kafka зарекомендовал себя как мощный инструмент для построения надежных и масштабируемых конвейеров данных. Созданный изначально командой LinkedIn в 2011 году, этот проект эволюционировал из простой системы обмена сообщениями...
Аватар для Javaican
Старый
Управление памятью в Java и новые сборщики мусора
Запись от Javaican размещена 15.03.2025 в 19:23 / Making Java great for ever
Показов 1445 Комментарии 0
Метки highload, java

Нажмите на изображение для увеличения
Название: 4c6c50bf-0092-4018-a8a0-2f6475e03b02.jpg
Просмотров: 49
Размер:	159.6 Кб
ID:	10413
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора (Garbage Collectors, GC). Это великолепная особенность языка — не нужно вручную освобождать память, как в C или C++. Но такая роскошь имеет свою цену. Когда сборщик мусора запускается, он может на время приостановить...
Аватар для Javaican
Новые блоги и статьи
Как генерируется мир в Minecraft
GameUnited 28.05.2025
Задумывались ли вы когда-нибудь о том, сколько песчинок на нашей планете? По приблизительным подсчетам - более 7 квинтиллионов! Это цыфра с 18 нулями. И все же, это даже не половина количества. . .
Один суперкластер Kubernetes для вообще всего
Mr. Docker 28.05.2025
Ваша компания развивается, количество сервисов множится, команды разработки разрастаются, а DevOps-инженеры начинают напоминать ту самую собаку из мема про "всё нормально, когда ничего не нормально". . . .
CAP-теорема или почему идеальной распределенной системы не существует
ArchitectMsa 28.05.2025
Вы переводите деньги со своего счета на счет друга. Казалось бы, что может быть проще? Вы открываете приложение банка, вводите сумму, жмете кнопку - и деньги мгновенно переходят с одного счета на. . .
Пишем первый чатбот на C# с нейросетью и Microsoft Bot Framework
UnmanagedCoder 28.05.2025
Microsoft Bot Framework представляет собой мощнейший инструментарий для создания разговорных интерфейсов любой сложности. Он предлагает целостную экосистему, которая включает SDK для C#, сервисы. . .
Event-Driven приложения с Apache Kafka и KafkaFlow в .NET
stackOverflow 26.05.2025
Для . NET разработчиков работа с Kafka традиционно сопряжена с определенными трудностями. Официальный клиент Confluent хорош, но часто требует написания большого количества шаблонного кода. Многие. . .
Квантовое программирование: Реализуем первый алгоритм на Q#
EggHead 26.05.2025
Квантовое программирование — одна из тех областей, которая ещё недавно казалась чем-то недоступным обычному разработчику. Многие представляют себе учёных в белых халатах, работающих с огромными. . .
Запилил скелет проекта физического симулятора.
Hrethgir 26.05.2025
Нзвание публикации "Вычислить VS запомнить — простой и экономичный пример организации обработки потока данных для физической симуляции". Пока только скелет, но всё - будет. . . .
Авто-векторизация в C с GCC 14
NullReferenced 25.05.2025
Современные процессоры давно перестали наращивать тактовую частоту как основной способ увеличения производительности. Вместо этого они обзавелись специализироваными блоками SIMD (Single Instruction,. . .
Типы данных в Python
py-thonny 25.05.2025
Когда я только начинал работать с Python, меня поразило, насколько органично типы данных встроены в синтаксис. Забавно, но факт: некоторые программисты, перешедшие с Java или C++, сначало даже не. . .
.NET Aspire и cloud-native приложения C#
stackOverflow 24.05.2025
. NET Aspire — новый продукт в линейке Microsoft, который вызвал настоящий ажиотаж среди разработчиков облачных приложений. Компания называет его "опинионированным, облачно-ориентированным стеком для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »