|
rss_habr
[Перевод] Безопасный Spring REST с применением Spring Security и OAuth2Пятница, 30 Сентября 2022 г. 15:24 (ссылка)
В этой статье мы продемонстрируем пример настройки Spring Security + OAuth2 для защиты конечных точек REST API на фреймворке Spring Boot. Клиенты и учетные данные пользователей будут храниться в реляционной базе данных (для баз данных H2 и PostgreSQL подготовлены примеры конфигураций). Читать далееhttps://habr.com/ru/post/690978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=690978
rss_habr
Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на GrafanaПонедельник, 15 Августа 2022 г. 23:12 (ссылка)
Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать". Как какой из двух категорий относится эта статья — решать вам. В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring. Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним. Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях. Читать далееhttps://habr.com/ru/post/682720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682720
rss_habr
Кастомный отчет для Jira или как приключение затянулосьПонедельник, 15 Августа 2022 г. 11:44 (ссылка)
Представим ситуацию – вам надо сделать небольшой отчет на основе данных из другой системы. Звучит обыденно и вы сразу в голове представляете, что надо будет делать: узнать какие будут входные данные и в каком виде они к нам поступят, какая будет логика отчета (что на что надо умножить и т.д.) и в каком виде отчет должен быть представлен (график, диаграмма, таблица и т.д.), реализовать. Но что, если я вам скажу, что это должна быть не какая-то новая система, а плагин для Jira. Все вышесказанное никуда не уходит, но добавляются нюансы. Вот о таких нюансах (и как не вылететь из-за них из всех разумных сроков) эта статья. Читать далееhttps://habr.com/ru/post/681874/?utm_source=habrahabr&utm_medium=rss&utm_campaign=681874
rss_habr
Сквозное и интеграционное тестирование просто, как юнит-тестыВоскресенье, 14 Августа 2022 г. 17:56 (ссылка)
Когда изменения затрагивают несколько микросервисов, возникает вопрос, как протестировать их в связке. Можно покрыть границы сервисов юнит тестами, а интеграцию проверить, развернув измененный код на тестовом окружении. У такого подхода две главные проблемы: цикл изменения-тестирование-исправления становится достаточно долгим и нужно много полноценных окружений, чтобы обеспечить параллельную работу нескольких разработчиков. Давайте попробуем решить проблему иначе. Будем решать проблему последовательно, по шагам преодолевая возникающие трудности. https://habr.com/ru/post/682420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682420
rss_habr
[recovery mode] Атака на String.hashCode: прообразы и коллизииСуббота, 13 Августа 2022 г. 21:00 (ссылка)
https://habr.com/ru/post/674816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674816
rss_habr
[Перевод] Ошибка в stacktrace из продакшенаСуббота, 13 Августа 2022 г. 17:52 (ссылка)
В этой статье я расскажу про исключительную ситуацию, которая произошла с одним исключением в продакшене нашего Android приложения. Читать далееhttps://habr.com/ru/post/677264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677264
rss_habr
Выходим за пределы JVM. Объясняем на крестиках-ноликах чем хорош Kotlin MultiplatformПятница, 12 Августа 2022 г. 12:05 (ссылка)
Какой есть общий недостаток у мобильной, front-end и back-end разработки и иногда распила микросервисов? Дублирование логики. Очень часто я видел статьи или новости, где одна команда мобильных разработчиков ждет другую, чтобы выкатить релиз. И если с мобильными версиями более-менее все понятно и есть решения, то что делать с браузером? Очень часто логику работы приложения нужно поддержать и там. Что делать, если хочется писать нативный код и при этом не иметь дублей реализации — на этот вопрос я постараюсь ответить подробно в данной статье. В процессе чтения можно будет познакомиться с технологией Kotlin Multiplatform и создать полноценный проект всем известной игры «Крестики-нолики» на трех самых популярных платформах Browser (JS), iOS (Swift) и Android (Java) с общей логикой на Kotlin. Читать далееhttps://habr.com/ru/post/682160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682160
rss_habr
Почему каждый разработчик должен уметь пользоваться командной строкой bashЧетверг, 11 Августа 2022 г. 15:08 (ссылка)
Командная строка в операционной системе Linux “умеет” делать очень много полезного — того, что часто невозможно сделать при помощи других инструментов. Самый популярный вариант интерфейса командной строки называется bash. Даниил Пилипенко, программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay ответил на самые популярные вопросы про командную строку bash и рассказал, как её освоить. Читать далееhttps://habr.com/ru/post/682042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682042
rss_habr
Обзор GraphQL-фреймворков на JavaЧетверг, 11 Августа 2022 г. 09:00 (ссылка)
В предыдущей статье мы поговорили о том, что такое graphQL, почему решили на него переходить, какие у него есть достоинства и недостатки. Но что делать дальше, если вы всё-таки решились внедрить graphQL в java-проект? Какие на данный момент есть фреймворки, чем они отличаются и какой вообще выбрать? Именно с этими проблемами мы и столкнулись почти год назад и не нашли адекватного ответа в одном источнике. Собрав по крупицам инфу из разных ресурсов (статьи, документации, доклады) и потыкав палочкой несколько фреймворков, мы сформировали общую базу знаний о них, которой и захотелось поделиться. Если вам интересно, какие есть современные graphql-фреймворки на java, как выбрать подходящий и посмотреть, как он может выглядеть в продакшне — эта статья для вас. Всем привет! Меня зовут Артем, я бэкенд-разработчик в hh.ru. Сегодня мы поговорим о современных решениях в GraphQL-мире на Java. Статья также доступна в видео-формате. Читать далееhttps://habr.com/ru/post/681910/?utm_source=habrahabr&utm_medium=rss&utm_campaign=681910
rss_habr
It is Wednesday, my java dudes, или насколько сложно сделать свою JVMСреда, 10 Августа 2022 г. 17:35 (ссылка)
Что делать, если накануне переезда повысилась тревожность, а привычные методы не приносят успокоения? Конечно же вырабатывать дофамин через решение упоротых инженерных задач! Мне стало интересно - насколько тяжко было бы сделать свой интерпретатор байт-кода Java? И насколько сложно было бы научить его “новым трюкам”? Писать я буду на Rust, поэтому и проект, не мудрствуя лукаво, назвал Rjava. Читать далееhttps://habr.com/ru/post/681844/?utm_source=habrahabr&utm_medium=rss&utm_campaign=681844
rss_habr
Холостые циклы в JavaСреда, 10 Августа 2022 г. 11:00 (ссылка)
Привет, сегодня поговорим о тонкостях реализации холостых циклов (холостого ожидания) в Java. Эта задача встречается нечасто: за девять с небольшим лет работы я столкнулся с ней лишь пару раз. Тем не менее, тема видится интересной и по ней есть что сказать, так что добро пожаловать! Исходный код примеров доступен здесь. Читать далееhttps://habr.com/ru/post/674116/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674116
rss_habr
Сравнение Quartz, kagkarlsson и кастомной реализации для запланированного задания в реактивном Spring Boot приложенииСреда, 10 Августа 2022 г. 10:02 (ссылка)
Часто Java-разработчикам требуется реализовать запланированные задания. Современные реалии диктуют нам, что система должна быть масштабируемой, то есть вне зависимости от количества реплик и распределения нагрузки мы ожидаем выполнения задания по условиям, которые были определены на входе. Существуют готовые решения для реализации jobService. Используя базу данных, можно написать собственное решение этой задачи, а при возникший трудностях, разбираться с тем, что же пошло не так. С одной стороны, вероятность ошибки больше, чем с готовым решением, но с другой стороны в своем коде разбираться и вносить правки проще, чем в общедоступной библиотеке. Кроме того, собственная реализация будет учитывать особенности системы, в нашем случае, это реактивность. В статье подробнее описаны плюсы и минусы этих подходов. Читать далееhttps://habr.com/ru/post/679162/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679162
rss_habr
Загрузка ленивых полейВторник, 09 Августа 2022 г. 17:23 (ссылка)
Привет, хабр! Сегодняшняя статья навеяна довольно стандартной ситуацией – существует некий «большой» объект, но для работы приложения далеко не всегда требуется загружать его полностью в память. Для решения такой проблемы существует ленивая загрузка полей. Суть её состоит в том, что загрузка поля объекта откладывается до того момента, как оно [поле] понадобится. Читать далееhttps://habr.com/ru/post/681678/?utm_source=habrahabr&utm_medium=rss&utm_campaign=681678
rss_habr
Управление временем в Java приложенияхВторник, 09 Августа 2022 г. 15:07 (ссылка)
В продуктовой Java-разработке часто требуется сохранять дату и время в базу данных. Это может быть фиксация времени создания\последней модификации какого-либо объекта или указание срока действия документа, билета и т.п. Сама по себе эта задача несложная. Трудности возникают, когда мы хотим подобную систему протестировать и оценить, как она будет вести себя, скажем, через полгода или год. В будущем. Ниже я покажу несколько простых и изящных приёмов, которые позволят вам почувствовать себя настоящим доктором Стрэнджем… Читать далееhttps://habr.com/ru/post/681608/?utm_source=habrahabr&utm_medium=rss&utm_campaign=681608
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |