От Test-Driven Development к Behavior Driven Development: предпосылки перехода и примеры для Go-разработчика.
🔗 Введение
🔗 Имплементация
🔗 Продолжение
🔗 Введение
🔗 Имплементация
🔗 Продолжение
Medium
Scrap Your TDD For BDD: Part 1— Here’s Why
A step-by-step article on how to write BDD tests for web applications in Go. Part 1 of the article series
👍5
🔧 Service Weaver — новый Go-фреймворк с открытым исходным кодом для разработки и деплоя распределенных приложений.
Фреймворк позволяет писать приложения в виде модульного монолита и деплоить в виде набора микросервисов. 🤯
Подробнее
Фреймворк позволяет писать приложения в виде модульного монолита и деплоить в виде набора микросервисов. 🤯
Подробнее
🤔18👍2😁2
Руководство для начинающих по созданию веб-приложения на Go + Ent
Руководство предназначено для новичков в Ent и Go, которые хотят начать с создания простого проекта: минимальной системы управления контентом.
Читать
Руководство предназначено для новичков в Ent и Go, которые хотят начать с создания простого проекта: минимальной системы управления контентом.
Читать
entgo.io
A beginner's guide to creating a web-app in Go using Ent | ent
Ent is an open-source entity framework for Go. It is similar to more traditional ORMs, but has a
👍5⚡1🤔1
Переезд с EC2 на Fly.io
Автор перенес два сторонних проекта с Amazon EC2 на Fly.io, что позволило ему удалить около 500 строк Ansible-скриптов и конфигурационных файлов, а также сэкономить 9 долларов в месяц. В статье он делится опытом.
Читать
Автор перенес два сторонних проекта с Amazon EC2 на Fly.io, что позволило ему удалить около 500 строк Ansible-скриптов и конфигурационных файлов, а также сэкономить 9 долларов в месяц. В статье он делится опытом.
Читать
Benhoyt
From Go on EC2 to Fly.io: +fun, −$9/mo
How I switched hosting my Go-based side projects from Amazon EC2 to Fly.io, significantly simplified deployment, and saved a bit of cash while I was at it.
👍6🤔3⚡1
Anthony De Meulemeester продолжает радовать контентом: разработка, рефакторинг и использование движка Hollywood.
— I Created My Own Actor Framework In Golang!?
— Refactoring My Golang Program For Insane Performance
— Refactoring Advanced Concurrency Code In Golang
— Another Approach To Microservices In Golang
— Hollywood LMAX Queue is 3 Times Faster Than Golang Channels
— How To Build A TCP Server With Actors In Golang
— Building A Chat Server And Client With Actors In Golang
— I Created My Own Actor Framework In Golang!?
— Refactoring My Golang Program For Insane Performance
— Refactoring Advanced Concurrency Code In Golang
— Another Approach To Microservices In Golang
— Hollywood LMAX Queue is 3 Times Faster Than Golang Channels
— How To Build A TCP Server With Actors In Golang
— Building A Chat Server And Client With Actors In Golang
GitHub
GitHub - anthdm/hollywood: Blazingly fast and light-weight Actor engine written in Golang
Blazingly fast and light-weight Actor engine written in Golang - anthdm/hollywood
⚡8👍4👏1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
OWASP API Security Top 10 — это всеобъемлющее руководство, которое помогает организациям и разработчикам понять риски и угрозы, связанные с их API, и способы их защиты.
Релиз-кандидат OWASP API Security Top 10 2023 выглядит следующим образом:
1. Broken object level authorization.
2. Broken authentication.
3. Broken object property level authorization.
4. Unrestricted resource consumption.
5. Broken function level authorization.
6. Server side request forgery.
7. Security misconfiguration.
8. Lack of protection from authentication threats.
9. Improper assets management.
10. Unsafe consumption of APIs.
Релиз-кандидат OWASP API Security Top 10 2023 выглядит следующим образом:
1. Broken object level authorization.
2. Broken authentication.
3. Broken object property level authorization.
4. Unrestricted resource consumption.
5. Broken function level authorization.
6. Server side request forgery.
7. Security misconfiguration.
8. Lack of protection from authentication threats.
9. Improper assets management.
10. Unsafe consumption of APIs.
👍11
Разработка простого веб-приложение с использованием Gin: серия статей для Go-разработчика.
🗄 A Solid Foundation to Start a New Gin Web App
🗄 Integrating Gorm with Gin
🗄 How to Test Gin Web Handlers
🗄 How to Handle Forms with Gin
🗄 Improve CI with Static Analysis
🗄 Validating Forms With Gin
🗄 Using CSS with Gin
🗄 Importing from CSV to SQLite in Go
🗄 How to do Pagination with Gin
🗄 Using Go's Fuzz Testing with Gin
🗄 Session Management with Gin
🗄 Testing Generated HTML with goquery
Please open Telegram to view this post
VIEW IN TELEGRAM
universalglue.dev
A Solid Foundation to Start a New Gin Web App
This is the first in a series of articles about writing a small reading list app in Go for personal use.
This is the first part of a series of articles about writing a small web app in Go for personal use. When we’re done you’ll be able to deploy your version…
This is the first part of a series of articles about writing a small web app in Go for personal use. When we’re done you’ll be able to deploy your version…
👍7🤔3
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Assembler в Go: техники ускорения и оптимизации
Привет, Хабр! В прошлой статье я рассказывал об ускорении копирования элементов одного слайса в другой с помощью средств Go. В этот раз я решил пойти дальше и посмотреть, что можно достичь, начав...
👍14🔥4
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Пошаговая разработка CRUD REST API на Go с использованием Mux, PostgreSQL, Docker и Docker Compose. На канале уже разгорался холивар относительно качества руководств по разработке CRUD. Ну что ж, давайте его продолжим.
Читать & Смотреть запись стрима
Читать & Смотреть запись стрима
🤔10👍4😁2
Эволюция алгоритма фильтрации модификаций товаров в Авито
Денис Колпаков, бэкенд-инженер в юните Core Services Авито, делится опытом решения продуктовой задачи, которая заключалась в поиске способа фильтрации модификаций товаров из базы данных.
Читать
Денис Колпаков, бэкенд-инженер в юните Core Services Авито, делится опытом решения продуктовой задачи, которая заключалась в поиске способа фильтрации модификаций товаров из базы данных.
Читать
Хабр
Эволюция алгоритма фильтрации модификаций товаров в Авито
Всем привет! Меня зовут Денис Колпаков, я бэкенд-инженер в юните Core Services Авито. Долгое время я был оунером критически значимого для бизнеса сервиса форм, а последний год занимаюсь каталогами и...
👍2❤1🤔1
Команда Turborepo, высокопроизводительной системы сборки для кодовых баз JavaScript и TypeScript, решила перейти с Go на Rust в версии 1.7.
Из статьи вы узнаете о мотивах этой миграции и о проблемах, которые решает Rust.
Читать
Из статьи вы узнаете о мотивах этой миграции и о проблемах, которые решает Rust.
Читать
Vercel
Why Turborepo is migrating from Go to Rust - Vercel
How we're migrating from Go to Rust for better alignment with our tools and work
👍5🔥4😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
go.dev
Code coverage for Go integration tests - The Go Programming Language
Code coverage for integration tests, available in Go 1.20.
👍8
В статье приводится исследование производительности синтаксического анализатора JSON и, в конечном счете, описание высокопроизводительного синтаксического анализатора JSON, используемого в CockroachDB.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Cockroachlabs
High-performance JSON parsing in Go
This blog post is an exploration of JSON parser performance, and, ultimately, a description of the high-performance JSON parser used in CockroachDB.
👍4
Простые приемы сокращения потребления памяти в Go
Несмотря на то, что Go известен низким потреблением памяти, есть способы еще больше его сократить. При этом некоторые способы требуют глубокого рефакторинга, а некоторые очень просты. О них и пойдет речь в статье.
Читать
Несмотря на то, что Go известен низким потреблением памяти, есть способы еще больше его сократить. При этом некоторые способы требуют глубокого рефакторинга, а некоторые очень просты. О них и пойдет речь в статье.
Читать
👍4🤔2🤩2👏1
errors.Join в Go 1.20
В последнем выпуске Go вы можете объединять ошибки, не переопределяя при этом исходные. Это также отлично работает в связке с
https://wstrm.dev/posts/errors-join-heart-defer/
В последнем выпуске Go вы можете объединять ошибки, не переопределяя при этом исходные. Это также отлично работает в связке с
defer
.https://wstrm.dev/posts/errors-join-heart-defer/
wstrm
errors.Join ❤️ defer
❤17
Он позволяет разработчикам программно определять контейнеры, которые следует запускать как часть теста, и очищать эти ресурсы после завершения теста.
https://github.com/testcontainers/testcontainers-go
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - testcontainers/testcontainers-go: Testcontainers for Go is a Go package that makes it simple to create and clean up container…
Testcontainers for Go is a Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers t...
👍11
В Go 1.20 был введен тип
1. You can now override your server-wide read and write deadlines on a per request basis.
2. The pattern for using the http.Flusher and http.Hijacker interfaces is clearer and feels less hacky. No more type assertions necessary!
3. It makes it easier and safer to create and use custom http.ResponseWriter implementations.
Узнайте подробнее об этих преимуществах на примерах.
http.ResponseController
, который предоставляет ряд преимуществ (приводим в оригинале из статьи Алекса Эдвардса):1. You can now override your server-wide read and write deadlines on a per request basis.
2. The pattern for using the http.Flusher and http.Hijacker interfaces is clearer and feels less hacky. No more type assertions necessary!
3. It makes it easier and safer to create and use custom http.ResponseWriter implementations.
Узнайте подробнее об этих преимуществах на примерах.
www.alexedwards.net
How to use the http.ResponseController type - Alex Edwards
👍19
Forwarded from Библиотека программиста | программирование, кодинг, разработка
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.