#daily
Привет дневник, язадолбался
На самом деле сегодня вечером как-то отпустило, стал выдыхать.
Задачки мутятся, опыт крутится; еще и праздники скоро (по крайней мере ощущение именно такое).
Из новостей: пополнение в команде распределило нагрузку. Кажется, что кипиша становится меньше.
К концу года хочу подтянуть доку в команде, сформировать более подробный код-стайл, полирнуть процессы.
Сейчас началась более активная стадия миграции мс в spring cloud, переезд на другие железки. Ждём домен, который будет смотреть на наш gateway. Не придётся просить доступы на каждый порт 😮💨
Надеюсь, к концу января выводить в прод будем уже «по-новому»
Привет дневник, я
На самом деле сегодня вечером как-то отпустило, стал выдыхать.
Задачки мутятся, опыт крутится; еще и праздники скоро (по крайней мере ощущение именно такое).
Из новостей: пополнение в команде распределило нагрузку. Кажется, что кипиша становится меньше.
К концу года хочу подтянуть доку в команде, сформировать более подробный код-стайл, полирнуть процессы.
Сейчас началась более активная стадия миграции мс в spring cloud, переезд на другие железки. Ждём домен, который будет смотреть на наш gateway. Не придётся просить доступы на каждый порт 😮💨
Надеюсь, к концу января выводить в прод будем уже «по-новому»
#study #jpa
Писал не так давно энтики для таблицы логов, с полем создания и полем последнего обновления;
православно, в @Entity метку создания инициировал сразу прямо в поле, а в сервисном методе аля ‘save’ обновлял дату изменения.
Наткнулся на конфигурацию @EnableJpaAuditinig с @EntityListeners(AuditEntityListener.class) в POJO суперкласса, и понял - жил неправильно.
@CreatedDate
@LastModifiedDate
Исправлюсь, наверное
Писал не так давно энтики для таблицы логов, с полем создания и полем последнего обновления;
православно, в @Entity метку создания инициировал сразу прямо в поле, а в сервисном методе аля ‘save’ обновлял дату изменения.
Наткнулся на конфигурацию @EnableJpaAuditinig с @EntityListeners(AuditEntityListener.class) в POJO суперкласса, и понял - жил неправильно.
Исправлюсь, наверное
#daily
Кажется, можно релизить интеграцию, которую пилили несколько месяцев, ура.
Успеть написать доку, пока в голове что-то осталось 🙆♂️
Кажется, можно релизить интеграцию, которую пилили несколько месяцев, ура.
Успеть написать доку, пока в голове что-то осталось 🙆♂️
#daily
Из последнего, впервые использовал testcontainers, пока только postgre
Для feign использовал mockito Kotlin.
Кстати, учень удобный способ замокать Component, накинув в тестовой среде @Configuration и вернуть замоканный бин. Не забыть повешать аннотацию @Primary, либо квалифаейр, тогда можно будет использовать мокки, как обычные бины, но со своим сценарием.
Наконец-то разобрался с Nexus. Сделал 2 репозитория: release и snapshot.
В тестовый можно ре-деплоить. Запустил таску, чтобы снапшот-версии чистились по расписанию.
Деплой в nexus решит проблему pipeline, когда у нас перезапиываются docker-image, что очень хреново и апасна! В случае отката контейнер может быть подменен.
Вот, думаю сегодня-завтра встрою в gitlab ci/cd stage с деплоем в nexus. Готово ✔️
Если в релизном nexus уже будет дистрибутив с такой версией, то билд упадет, профит.
❤️ gradle, что можно писать функции прямо на Котлин
Из последнего, впервые использовал testcontainers, пока только postgre
Для feign использовал mockito Kotlin.
Кстати, учень удобный способ замокать Component, накинув в тестовой среде @Configuration и вернуть замоканный бин. Не забыть повешать аннотацию @Primary, либо квалифаейр, тогда можно будет использовать мокки, как обычные бины, но со своим сценарием.
Наконец-то разобрался с Nexus. Сделал 2 репозитория: release и snapshot.
В тестовый можно ре-деплоить. Запустил таску, чтобы снапшот-версии чистились по расписанию.
Деплой в nexus решит проблему pipeline, когда у нас перезапиываются docker-image, что очень хреново и апасна! В случае отката контейнер может быть подменен.
Если в релизном nexus уже будет дистрибутив с такой версией, то билд упадет, профит.
❤️ gradle, что можно писать функции прямо на Котлин
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Три монитора
Открыл и залип 🤪
На этом 796 этаже космической станции чего только нет. Тут и мемы, и герои фильмов, игр и мультиков. Да еще так приятно нарисовано! 👍
А после наслаждения художественной частью, можно и техническую реализацию почитать:
👉 почему пришлось…
На этом 796 этаже космической станции чего только нет. Тут и мемы, и герои фильмов, игр и мультиков. Да еще так приятно нарисовано! 👍
А после наслаждения художественной частью, можно и техническую реализацию почитать:
👉 почему пришлось…
Посмотрел очередной доклад/методичку по DDD, краткий, но как-то бескомпромиссно 😮💨
https://youtu.be/YBsihlkI1E8
Есть что сказать по доменному проектированию, был ли у кого опыт перехода в этот стиль?
Или привычная трехслоечка top?
https://youtu.be/YBsihlkI1E8
Есть что сказать по доменному проектированию, был ли у кого опыт перехода в этот стиль?
Или привычная трехслоечка top?
YouTube
Максим Морев (Газпромбанк) — TDD&DDD — гайд по разработке бизнес-логики
Ближайшая конференция — Joker 2024, 9 октября (Online), 15–16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: https://jrg.su/Ypf1HW
— —
Спикер расскажет о «Наборе инструментов» мастера, который включает в себя:
— изолированную богатую доменную…
Подробности и билеты: https://jrg.su/Ypf1HW
— —
Спикер расскажет о «Наборе инструментов» мастера, который включает в себя:
— изолированную богатую доменную…
#recommendation
Библиотеки генерации данных: имена, фамилии, страны, email и другое.
Подойдут для наполнения тестов, заглушек.
1. https://github.com/mdeanda/lorem
Компактная библиотека с необходимым набором генераторов.
2. https://github.com/DiUS/java-faker
https://www.baeldung.com/java-faker
Более продвинутая библиотека. Из «плюшек», может генерировать данные в соответствии с заданной локалью.
3. https://github.com/datafaker-net/datafaker
Можно сразу генерить json, csv и другие форматы, создавать свои генераторы достаточно просто.
Спасибо @sendel, @SnigV
Библиотеки генерации данных: имена, фамилии, страны, email и другое.
Подойдут для наполнения тестов, заглушек.
1. https://github.com/mdeanda/lorem
Компактная библиотека с необходимым набором генераторов.
2. https://github.com/DiUS/java-faker
https://www.baeldung.com/java-faker
Более продвинутая библиотека. Из «плюшек», может генерировать данные в соответствии с заданной локалью.
3. https://github.com/datafaker-net/datafaker
Можно сразу генерить json, csv и другие форматы, создавать свои генераторы достаточно просто.
Спасибо @sendel, @SnigV
GitHub
GitHub - mdeanda/lorem: An extremely useful Lorem Ipsum generator!
An extremely useful Lorem Ipsum generator! Contribute to mdeanda/lorem development by creating an account on GitHub.
#study #daily #s3
This is MinIO - опенсорсное объектное хранилище, совместимое с Amazon S3 API. Выпускается под лицензией Apache v2 и придерживается философии спартанского минимализма. (habr)
Хранение и администрирования файлов.
Решение здоровски набирает популярность.
Можно использовать для передачи статики напрямую, либо если требуется логика (кастомная нотификация, авторизация и тд, тп), то можно и через адаптер, например на Spring Kotlin 💜
Написал демо-проект под это дело: создание и удаление бакетов и объектов.
В целом MinIO API довольно широкий, хорошая документация.
Кому не интересен simple storage service, возможно заинтересует реализиция нотификации по электронной почте посредствам spring events, spring retry
https://github.com/qweezique/minio-service
This is MinIO - опенсорсное объектное хранилище, совместимое с Amazon S3 API. Выпускается под лицензией Apache v2 и придерживается философии спартанского минимализма. (habr)
Хранение и администрирования файлов.
Решение здоровски набирает популярность.
Можно использовать для передачи статики напрямую, либо если требуется логика (кастомная нотификация, авторизация и тд, тп), то можно и через адаптер, например на Spring Kotlin 💜
Написал демо-проект под это дело: создание и удаление бакетов и объектов.
В целом MinIO API довольно широкий, хорошая документация.
Кому не интересен simple storage service, возможно заинтересует реализиция нотификации по электронной почте посредствам spring events, spring retry
https://github.com/qweezique/minio-service
YouTube
This is MinIO
An overview of MinIO, a high-performance open-source S3 object storage server.
You can also find us on:
Red Hat Marketplace: https://min.io/product/private-cloud-red-hat-openshift
Azure Marketplace: https://min.io/product/multicloud-azure-kubernetes-service…
You can also find us on:
Red Hat Marketplace: https://min.io/product/private-cloud-red-hat-openshift
Azure Marketplace: https://min.io/product/multicloud-azure-kubernetes-service…
#elk
Ура, наконфигурировал, logback-spring.xml как мне нужно, настроил политику очистки логов в elastic.
Еще бы с безопаснотью разобраться, не успел.
Kibana закрыта от внешнего мира, но нету авторизации, ролевки.
Как-то занимался этой темой, но задвинул «в ящик»
Думаю, завтра буду сервисы вкатывать в ELK уже бизнесовые, а не тестовые.
Много потратил времени на настройку аппендеров. Хотелось, чтобы в консоль был привычный вывод spring, а в logstash энкодилось дополнительные поля.
Оказалось, что все уже давно есть, и придумано.
Круто, что sleuth заинтегрировался с logstash очень легко.
Наверное, выложу в каком-то формате сюда, что делал, возможно сам и буду потом переиспользовать :E
Ура, наконфигурировал, logback-spring.xml как мне нужно, настроил политику очистки логов в elastic.
Еще бы с безопаснотью разобраться, не успел.
Kibana закрыта от внешнего мира, но нету авторизации, ролевки.
Как-то занимался этой темой, но задвинул «в ящик»
Думаю, завтра буду сервисы вкатывать в ELK уже бизнесовые, а не тестовые.
Много потратил времени на настройку аппендеров. Хотелось, чтобы в консоль был привычный вывод spring, а в logstash энкодилось дополнительные поля.
Оказалось, что все уже давно есть, и придумано.
Круто, что sleuth заинтегрировался с logstash очень легко.
Наверное, выложу в каком-то формате сюда, что делал, возможно сам и буду потом переиспользовать :E
Для моих друзей бизнес-аналитиков бесплатный онлайн-митап от IT_ONE на платформе JugGroup
https://it-one.jugru.org/?utm_campaign=JRG_IT_One_+Meetup_Analysis&utm_medium=newsletter&utm_source=email
https://it-one.jugru.org/?utm_campaign=JRG_IT_One_+Meetup_Analysis&utm_medium=newsletter&utm_source=email
it-one.jugru.org
IT_One SA Meetup: Рефакторинг и схемы «на полную»
Онлайн-митап по документации для системного аналитика
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, дневник!
Последнее время все время съедает работа, и я почти тобой не занимаюсь, а значит особо и не учусь, что расстраивает.
Вообще, осознал, что подгорел 🔥
Девять месяцев в очень активном темпе дали как плюсы, так и минусы.
Выстроил себе план по восстановлению организма: зож, спорт, много спать; строю новые привычки.
Далее, отпуск 🙃
Спасибо, держу в курсе!
PS: видео о том, как я уродую книжки. Воспринимаю информацию больше зрительно, поэтому мне важны такого рода маркеры.
Люблю цикл дядюшки Боба про его сформированные принципы SOLID, пусть и абстрактно, но зато читается легко.
PSS: как у вас дела с режимом труда и отдыха?
Последнее время все время съедает работа, и я почти тобой не занимаюсь, а значит особо и не учусь, что расстраивает.
Вообще, осознал, что подгорел 🔥
Девять месяцев в очень активном темпе дали как плюсы, так и минусы.
Выстроил себе план по восстановлению организма: зож, спорт, много спать; строю новые привычки.
Далее, отпуск 🙃
Спасибо, держу в курсе!
PS: видео о том, как я уродую книжки. Воспринимаю информацию больше зрительно, поэтому мне важны такого рода маркеры.
Люблю цикл дядюшки Боба про его сформированные принципы SOLID, пусть и абстрактно, но зато читается легко.
PSS: как у вас дела с режимом труда и отдыха?
Sprin Boot Starter Pack вебинар
Сегодня в 18:00 МСК Костя будет рассказывать «новичкам» про spring boot.
Хороший вариант познакомиться с framework
Рекомендую к просмотру,
Google Meet secret link
https://t.me/three_monitors
Сегодня в 18:00 МСК Костя будет рассказывать «новичкам» про spring boot.
Хороший вариант познакомиться с framework
Рекомендую к просмотру,
Google Meet secret link
https://t.me/three_monitors
Media is too big
VIEW IN TELEGRAM
А это стрим для бекенд-коммунити Skillbox при участии меня, от 15 февраля 2023
~ тема: волнующие вопросы учащихся
PS: жую жвачку десять минут, дальше вопрос/ответ.
PSS: нелепо смотреть на себя со стороны с непривычки, как и слышать свой «чужой» голос, но вот видимо таким меня и видят люди :-)
Спасибо Сереже, и ребятам :-)
~ тема: волнующие вопросы учащихся
PS: жую жвачку десять минут, дальше вопрос/ответ.
PSS: нелепо смотреть на себя со стороны с непривычки, как и слышать свой «чужой» голос, но вот видимо таким меня и видят люди :-)
Спасибо Сереже, и ребятам :-)
#daily
собирался спать, как пишет девопс, и вы правите ci/cd коллеги-фронт. в непонятках, почему же падает;
классное первое знакомство 🫡
к сожалению, решить не удалось, но профит есть; вероятно слетел config.json докера на вм, а значит и мои пайпы не пройдут 🫢
собирался спать, как пишет девопс, и вы правите ci/cd коллеги-фронт. в непонятках, почему же падает;
классное первое знакомство 🫡
к сожалению, решить не удалось, но профит есть; вероятно слетел config.json докера на вм, а значит и мои пайпы не пройдут 🫢
#daily
Подготовка к переезду проекта на C# длилась примерно недели 2,5
Переехали чисто, ура, хотя последние работы закончили день-в-день.
Забыли бустануть лимиты и зарезервированные ресурсы у докер сервисов, но это потом.
В ближайшее время будет еще один переезд, но уже микросервисов на JVM. Его подготовка и рефакторинг длился гораздо дольше
Спасибо, держу в курсе.
Подготовка к переезду проекта на C# длилась примерно недели 2,5
Переехали чисто, ура, хотя последние работы закончили день-в-день.
Забыли бустануть лимиты и зарезервированные ресурсы у докер сервисов, но это потом.
В ближайшее время будет еще один переезд, но уже микросервисов на JVM. Его подготовка и рефакторинг длился гораздо дольше
Спасибо, держу в курсе.
This media is not supported in your browser
VIEW IN TELEGRAM
У меня отпуск 🙌;
Спустя девять месяцев довольно интенсивной работы, 20-го марта я ушел в двухнедельный долгожданный отпуск, ура 🥳
Удивительно сколько багов я встретил в feign client за март месяц:
- Get преобразовывался в Post запрос из-за того, что @PathVariable каким-то образом падал в тело;
- Не проставлялся заголовок Content-Length, обязательный при post-запросе;
- Не мог сформироваться content-type: application/json (ошибка преобразования в json; тело было залоггировано, при повторной отправке «руками» всё было ок)
- Не связано с feign, но @ControllerAdvice не обрабатывал @ExceptionHandler; выкидывал 500 клиенту, а в логах ошибка парсинга exception🤨
Такие баги очень бесят, когда ты херачишь бизнесовую логику как бес, но спотыкаешься на том, что не можешь отправить get-запрос
Есть что рассказать?
Спустя девять месяцев довольно интенсивной работы, 20-го марта я ушел в двухнедельный долгожданный отпуск, ура 🥳
Удивительно сколько багов я встретил в feign client за март месяц:
- Get преобразовывался в Post запрос из-за того, что @PathVariable каким-то образом падал в тело;
- Не проставлялся заголовок Content-Length, обязательный при post-запросе;
- Не мог сформироваться content-type: application/json (ошибка преобразования в json; тело было залоггировано, при повторной отправке «руками» всё было ок)
- Не связано с feign, но @ControllerAdvice не обрабатывал @ExceptionHandler; выкидывал 500 клиенту, а в логах ошибка парсинга exception
Такие баги очень бесят, когда ты херачишь бизнесовую логику как бес, но спотыкаешься на том, что не можешь отправить get-запрос
Есть что рассказать?
Please open Telegram to view this post
VIEW IN TELEGRAM