Простая Java
前往频道在 Telegram
1 162
订阅者
无数据24 小时
-137 天
-6930 天
帖子存档
1 162
👩💻 Постквантовая криптография: как защитить данные в эпоху квантовых компьютеров
С развитием квантовых технологий привычные алгоритмы шифрования могут потерять свою надежность, став уязвимыми для новых атак.
Чтобы подготовиться к этим вызовам, уже сейчас разрабатываются и внедряются постквантовые алгоритмы, способные противостоять взлому квантовыми компьютерами.
В статье рассматривается, как интегрировать постквантовые криптографические алгоритмы в проекты на Java и Go, а также какие инструменты помогут сделать этот процесс проще.
Что вы узнаете из статьи:
▶️ Какие постквантовые алгоритмы рекомендованы к использованию?
▶️ Как их внедрять в проекты на Java и Go?
▶️ Какие библиотеки и инструменты облегчают переход?
▶️ С какими сложностями можно столкнуться при адаптации криптографии?
Автор подробно объясняет, как подготовить системы к будущим угрозам и обеспечить защиту данных в условиях квантовых вычислений.
⛓ Читать статью
1 162
Нашел для вас интересную статью на Habr, в которой автор вам расскажет как написать игру крестики - нолики на Java
Вы узнаете:
- Как написать игру Крестики - нолики
- Как развернуть игровой сервер RedDwarf
- Как правильно структирировать данные сервера
Если заинтересовало, можешь продолжить читать на Habr
1 162
Используете библиотеку JUnit?
JUnit - очень мощная и сильная библиотека для написания тестов на языке Java, тем самым является незаменимым инструментом для разработки
С ее помощью вы можете тестировать свое приложение, либо самим писать тесты с аннотацией @Test
1 162
Java. Generics
Это урок, который ведет один из IT лекторов МФТИ, в котором он рассказывает о том что такое Generics и почему их использование является правильной манерой программирования
Ссылка на урок: YouTube
Ссылка на презентацию с урока для повторения: Google Drive
1 162
👩💻 Использование sort() и sorted() для сортировки коллекций
В Java существуют два основных метода для сортировки коллекций: sort() и sorted().
▶️ Collections.sort() и List.sort() используются для сортировки изменяемых списков. Они сортируют элементы на месте и изменяют исходную коллекцию.
▶️ Stream.sorted() применяется к потокам и возвращает новый отсортированный поток, не изменяя исходную коллекцию.
1 162
Недавно столкнулся с такой проблемой как конфиг файл hibernate
Ибо это очень уязвимая и кропотливая штучка
↘️Проблема была такова - Не могло находить классы и обьекты находящиеся в файле hibernate.cfg.xml(базовый файл конфигурации hibernate)
И казалось бы: Он эти классы видит а значит с cfg все хорошо, сначала ошибка была в невозможности подключить пулл HikariCP, думаю, ладно заменю, заменил, ошибка все таже самая только уже не может найти другой, новый пулл
↘️Решил пулл убрать, может в нем проблема была, убрал, все та же ошибка Cannot resolve class {тут класс указаный в cfg} только уже с диалектом СУБД(в моем случае SQlite), решил поигратся и поставить вместо SQliteDialect - SQLServerDialect, и ничего!
↘️Решил все таки поменять hibernate.cfg.xml на версию с первого рандомного сайта, подправил под нужные себе вариации некоторые строки файла, и вуаля, все работает
↘️А прошлый cfg был сделан ИИ
Отнюдь все config файлы будут писаться либо в ручную, либо с сайтов проверенными людьми
1 162
🔥 Активация Windows на 4000 лет. Хакеры из Massgrave подарили миру безлимитную лицензию
Их новая программа TSforge манипулирует системой средств защиты авторских прав и делает активацию вечной. Это очень важное событие в мире хакинга, ведь ранее считалось, что постоянная активация винды невозможна.
Чтобы юзнуть хак, нужно зайти в Powershell и прописать:
irm https://get.activated.win | iex
Безопасники Windows благодарят пиратов за то, что те всегда подкидывают им работку.1 162
Hot reload секретов под нагрузкой в Java-сервисах
В статье рассматривается реализация горячей перезагрузки секретов в Java-сервисах на Spring без перезапуска приложения.
Автор объясняет, как с помощью
WatchService отслеживать изменения сертификатов и учетных данных, чтобы автоматически обновлять их в работающем сервисе.
Статья тык*1 162
Реализация паттернов проектирования на Java
Паттерны проектирования — это готовые решения распространенных задач, с которыми разработчики сталкиваются при создании сложных систем.
Этот репозиторий содержит всё необходимое для того, чтобы научиться применять их на практике.
Что внутри:
▶️ Реализация классических паттернов с чистым и понятным кодом ▶️ Детальные объяснения принципов работы ▶️ Блок-схемы, иллюстрирующие работу каждого паттернаПонимание паттернов помогает писать более гибкий и поддерживаемый код, а этот репозиторий — хороший инструмент для изучения и практики. ⛓ Ссылка на GitHub
1 162
Управляйте своим проектом как профессионал и повышайте продуктивность с лучшим сочетанием клавиш в IntelliJIDEA
Используйте ⇧⇧ | Shift+Shift, чтобы мгновенно найти:
- Классы, файлы, символы, действия или текст
- Настройки редактора
- Элементы интерфейса и многое другое! 🔥
1 162
Рекомендации и лучшие практики по разработке RESTful API, используемые в компании Zalando 🤪
Это руководство помогает стандартизировать API, делая их последовательными, удобными для использования и совместимыми с различными клиентами.
🟢Архитектурные принципы (согласованность, масштабируемость, удобочитаемость API)
🟢Стандарты для URL, методов HTTP и кодов ответа
🟢Формат данных (JSON, структура полей, обработка ошибок)
🟢Аутентификация и авторизация (OAuth 2.0, OpenID Connect)
🟢Версионирование API
🟢Документирование API (OpenAPI Specification)
🟢Производительность и кэширование
Ссылка тык
1 162
🪙 Разработка игр для начинающих: с чего начать?
Хотите создать свою первую игру, но не знаете, с чего начать? Нашли для вас статью, в которой собрали ключевые шаги для новичков в геймдеве: от выбора движка и инструментов до разработки концепции и прототипа.
В этой статье узнаете, как выбрать подходящий движок, какие базовые навыки развивать, а также как не допустить типичных ошибок на старте.
⛓ Ссылка: Клик!
1 162
🤕 Как шаблонный метод может сломать ваш Java-код
ООП — это замечательно. За несоблюдение этой парадигмы принято ругать, а знание паттернов зачастую является обязательным. Но даже правильный подход не страхует полностью от ошибок.
Из данной статьи вы узнаете, как сломать программу при помощи обычного шаблонного метода, чтобы в дальнейшем такого не допускать
Статья - тык
1 162
🛡 Пример использования Spring Data и Redis для временного хранения персональных данных
Некоторые компании, работающие с персональными данными пользователей, сталкиваются с невозможностью хранить их в течение долгого периода времени из-за правовых ограничений.
Позволяется сохранить данные на очень короткое время, которые также должны быть удалены сразу после использования в целях сервиса.
В данной статье автор показывает упрощенный пример микросервиса, работающего с чувствительной информацией, используя Spring и Redis.
⛓ Ссылка: Клик!
1 162
Дорожная карта Kubernetes 🔥
🟢Основные компоненты: Управление состоянием приложений, кластеры, развертывания, сервисы, поды, пространства имен и т.д.
🟢Инфраструктура и плоскость управления: Сеть, узлы, API, сервисные сетки, операторы и политики сети.
🟢Управление безопасностью и идентификацией: Управление доступом на основе ролей (RBAC), аутентификация, авторизация, шифрование и политики безопасности.
🟢Масштабирование и балансировка нагрузки: Автоматическое масштабирование, балансировка нагрузки и управление ресурсами.
🟢Мониторинг и наблюдаемость: Сбор метрик, логирование, аудит и использование инструментов, таких как Prometheus и Grafana.
🟢Резервное копирование, восстановление и аварийное восстановление: Управление состоянием приложений и стратегии восстановления.
🟢Непрерывная интеграция и развертывание: Стратегии развертывания, такие как Canary, Rolling updates и Blue-Green.
1 162
Гулял по просторам Habr'a и нашел для вас интересную статью, в которой вы сами напишите игрушку -
Морской Бой
В этой статье автор вам расскажет
- Как создать всеми любимый Морской Бой, используя лишь Java
- Про тот самый, всеми не понятный, алгоритм создания
Если вдруг тебе это понравилось, можешь начать читать на Habr, хорошего чтения)#статья
1 162
Атомарные реакции -- что то что должно выполнится вместе/неделимо когда есть разные потоки, отсюда и такое название.
1) Класс AtomicInteger:
AtomicCounter atomicCounter = new AtomicCounter();
// Многопоточное увеличение счетчика
for (int i = 0; i < 1000; i++) {
new Thread(() -> atomicCounter.increment()).start();
//Если захотим вывести счётчик - вывод 1000
}
2) Метод - get()
Просто возвращает текущее значение операций
AtomicInteger atomicInt = new AtomicInteger(10);
int value = atomicInt.get(); // Получаем значение
System.out.println("Значение: " + value); // Вывод: Значение: 10
3) Метод - set()
Теперь можно установить значение этих операций
AtomicInteger atomicInt = new AtomicInteger(10);
atomicInt.set(25); // Устанавливаем новое значение
System.out.println("Новое значение: " + atomicInt.get()); // Вывод: Новое значение: 25