REST Servers in Go
- Part 1 - standard library (this post)
- Part 2 - using a router package
- Part 3 - using a web framework
- Part 4 - using OpenAPI and Swagger
- Part 5 - middleware
#go #golang #REST
- Part 1 - standard library (this post)
- Part 2 - using a router package
- Part 3 - using a web framework
- Part 4 - using OpenAPI and Swagger
- Part 5 - middleware
#go #golang #REST
Forwarded from DevOps&SRE Library
HTTPWTF
HTTP is fundamental to modern development, from frontend to backend to mobile. But like any widespread mature standard, it's got some funky skeletons in the closet.https://httptoolkit.tech/blog/http-wtf
https://www.docker.com/blog/compiling-containers-dockerfiles-llvm-and-buildkit/
#container #buildkit #docker
#container #buildkit #docker
Docker
Compiling Containers - Dockerfiles, LLVM and BuildKit | Docker
Learn from Docker experts to simplify and advance your app development and management with Docker. Stay up to date on Docker events and new version
https://medium.com/tanker-blog/automating-version-number-updates-what-could-go-wrong-75edd190ee47
#semver #bump
#semver #bump
Medium
Automating version number updates: what could go wrong?
Say you need to update (bump) your software. It’s currently at version 1.2, all the required changes have been merged, and it’s time to…
I'm sorry. I know you thought that validating an email address is simple, but I'm afraid that you're wrong here. It's a bit more complicated than you think. Quite a bit, actually. Allow me to illustrate:
What does an email address look like? For the most part, that's easy, right? We have a username, followed by an @ sign, followed by a domain name and we're done. For example: jschauma@netmeister.org. Simple enough.
Alas, it turns out that it's not that easy. And so to really understand what is valid (even if not necessarily widely accepted) and what is invalid (even if perhaps still accepted by some mail servers), we of course have to go back to the RFCs. We'll start out with RFC5321, and just to be comprehensive, we're strictly looking at the MAIL FROM / RCPT TO SMTP commands, as defined in Section 4.1.2. So let's start:...
https://www.netmeister.org/blog/email.html
#mail #email #validation
What does an email address look like? For the most part, that's easy, right? We have a username, followed by an @ sign, followed by a domain name and we're done. For example: jschauma@netmeister.org. Simple enough.
Alas, it turns out that it's not that easy. And so to really understand what is valid (even if not necessarily widely accepted) and what is invalid (even if perhaps still accepted by some mail servers), we of course have to go back to the RFCs. We'll start out with RFC5321, and just to be comprehensive, we're strictly looking at the MAIL FROM / RCPT TO SMTP commands, as defined in Section 4.1.2. So let's start:...
https://www.netmeister.org/blog/email.html
#mail #email #validation
www.netmeister.org
Your E-Mail Validation Logic is Wrong
Nope,
you don't know how to validate an email address. Even
if you think you'd get the domain part right,
fuggeddabout the local part. Seriously.
you don't know how to validate an email address. Even
if you think you'd get the domain part right,
fuggeddabout the local part. Seriously.
Forwarded from OrangeDevOps
Недавно открыл для себя возможности BuildKit для сборки образов контейнеров.
Если не знакомы, то можно познакомится тут:
https://docs.docker.com/develop/develop-images/build_enhancements/
Субъективно скорость сборки образов увеличилась.
Есть еще пару интересных фич. BuildKit стоит за функцией мультиплатформенной сборки docker buildx и поддерживает возможность параллельного выполнения сборок несколькими рабочими процессами. BuildKit также поддерживает кеширование, различные внешние интерфейсы, более быстрые многоступенчатые сборки и т.п.
А надо то всего запустить:
DOCKER_BUILDKIT=1 docker build .
Или для docker-compose:
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
Захотелось понять как это работает. Наткнулся на статьи Адама Гордона Белла где он описывает прямую работу с Buildkit и сравнивает сборку докер образов с работой компилятора. Перевел их для вас. Если конечно хотите чуток углубится.
#docker #buildkit
https://habr.com/ru/post/550562/
Если не знакомы, то можно познакомится тут:
https://docs.docker.com/develop/develop-images/build_enhancements/
Субъективно скорость сборки образов увеличилась.
Есть еще пару интересных фич. BuildKit стоит за функцией мультиплатформенной сборки docker buildx и поддерживает возможность параллельного выполнения сборок несколькими рабочими процессами. BuildKit также поддерживает кеширование, различные внешние интерфейсы, более быстрые многоступенчатые сборки и т.п.
А надо то всего запустить:
DOCKER_BUILDKIT=1 docker build .
Или для docker-compose:
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
Захотелось понять как это работает. Наткнулся на статьи Адама Гордона Белла где он описывает прямую работу с Buildkit и сравнивает сборку докер образов с работой компилятора. Перевел их для вас. Если конечно хотите чуток углубится.
#docker #buildkit
https://habr.com/ru/post/550562/
Forwarded from ITTales :(){ :|:& };:
Тем временем вышла новая версия Booty - утилиты для создания загрузочных образов и накопителей.
Теперь booty сам собирает ядро с минимально необходимой конфигурации для его работы.
Все проблемы возникающие при использовании сторонних ядер решены.
Полученный initrd-образ полностью готов к загрузке, например, через PXE или через kexec.
Заявлена возможность работы с любыми дистрибутивами GNU/Linux.
https://github.com/sp00f1ng/booty
Теперь booty сам собирает ядро с минимально необходимой конфигурации для его работы.
Все проблемы возникающие при использовании сторонних ядер решены.
Полученный initrd-образ полностью готов к загрузке, например, через PXE или через kexec.
Заявлена возможность работы с любыми дистрибутивами GNU/Linux.
https://github.com/sp00f1ng/booty
Forwarded from Хитрый Питон
Статья о том, как запускать python-сервис с помощью systemd https://python.plainenglish.io/turning-your-python-script-into-a-real-program-cb702e16ed02
Medium
Turning your Python Script into a ‘Real’ Program
Level up your Python skills by making your programs system services — your future self will thank you.
Forwarded from k8s (in)security (D1g1)
Для тех, кто занимается обеспечением надежности (
-
-
-
-
Возвращаясь к тому, что
В контейнерных инфраструктурах (
reliability
) работы своих сервисов следующие метрики точно знакомы:-
MTTF
- mean time to failure (среднего времени до отказа)-
MTBF
- mean time between failures (среднего времени между отказами)-
MTTD
- mean time to detect (когда проблема уже присутствовала, но о ней еще не было известно)-
MTTR
- mean time to repair/recover/resolve/response (среднее время, необходимое на восстановление работоспособности системы после получения сигнала о сбое.)Возвращаясь к тому, что
reliability
и security
вещи не разделимы, то эти же метрики можно совершенно успешно использовать и в security
для работы с инцидентами безопасности. Так, на пример, MTTD
+ MTTR
= это общая продолжительность инцидента информационной безопасности.В контейнерных инфраструктурах (
Kubernetes
не исключение) очень важно фиксировать инциденты ведь контейнеры/поды сущности эфемерные и часто завершаются, все унося с собой ...