Подкаст Generic Talks о Go и не только – Ваши бенчмарки (скорее всего) ничего не значат
10:00:00 – Посчитать размер объекта в Go. Что может быть проще? Зачем вообще это делать?
20:12:22 – Как ограничивают память другие известные проекты на Go. Разбираем подходы.
30:17:00 – Как понять что мы достигли предела по оптимизациям и пора внедрять другие подходы. Шипилев и его график)
40:20:22 – В бар заходит Искандер. Unsafe.Sizeof и отдельный пропозал.
50:29:40 – Рекурсивный обход структур в хипе для расчета размера, потенциальные использования рантайма и сборщика мусора.
60:33:46 – Как возможность расчета размеров в рантайме может открыть возможность для других оптимизаций.
70:47:11 – Pluggable GC в Go стоит ли форкать стандартный компилятор и рантайм?
80:50:11 – Говяжий язык. Beef - шаг вперед или очередной велосипед?
91:02:30 – Actix-web - open source, восприятие критики и мнения которые ничего не значат.
101:13:03 – Spinlock vs Mutex почему все так получилось? Почему так сложно правильно бенчмаркать?
111:24:00 – Erlang vs Go vs Java vs NodeJS бенчмарк серверов который не смог. Как сделать adaptive capacity limiter вручную для того чтобы выровнять latency. Говорим о том как анализировать результаты бенчмарков, делать выводы и проверять гипотезы.
121:37:25 – Затравочка будущих выпусков
Источники:
– Soundcloud
– Apple Podcast
– Google Podcast
10:00:00 – Посчитать размер объекта в Go. Что может быть проще? Зачем вообще это делать?
20:12:22 – Как ограничивают память другие известные проекты на Go. Разбираем подходы.
30:17:00 – Как понять что мы достигли предела по оптимизациям и пора внедрять другие подходы. Шипилев и его график)
40:20:22 – В бар заходит Искандер. Unsafe.Sizeof и отдельный пропозал.
50:29:40 – Рекурсивный обход структур в хипе для расчета размера, потенциальные использования рантайма и сборщика мусора.
60:33:46 – Как возможность расчета размеров в рантайме может открыть возможность для других оптимизаций.
70:47:11 – Pluggable GC в Go стоит ли форкать стандартный компилятор и рантайм?
80:50:11 – Говяжий язык. Beef - шаг вперед или очередной велосипед?
91:02:30 – Actix-web - open source, восприятие критики и мнения которые ничего не значат.
101:13:03 – Spinlock vs Mutex почему все так получилось? Почему так сложно правильно бенчмаркать?
111:24:00 – Erlang vs Go vs Java vs NodeJS бенчмарк серверов который не смог. Как сделать adaptive capacity limiter вручную для того чтобы выровнять latency. Говорим о том как анализировать результаты бенчмарков, делать выводы и проверять гипотезы.
121:37:25 – Затравочка будущих выпусков
Источники:
– Soundcloud
– Apple Podcast
– Google Podcast
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
Practical Cryptography With Go.pdf
8.5 MB
Practical Cryptography With Go (2015)
Автор: Kyle Isom
Книга обязательна к прочтению, несмотря на год выпуска. Вы узнаете, как создавать безопасные системы с точки зрения криптографии. Книга затрагивает как теоретическую, так и практическую сторону данного вопроса и в качестве языка программирования выбран язык Go. В книге также отмечены некоторые проблемы, которые криптография не решает.
Репозиторий с примерами кода: https://github.com/kisom/gocrypto/
Автор: Kyle Isom
Книга обязательна к прочтению, несмотря на год выпуска. Вы узнаете, как создавать безопасные системы с точки зрения криптографии. Книга затрагивает как теоретическую, так и практическую сторону данного вопроса и в качестве языка программирования выбран язык Go. В книге также отмечены некоторые проблемы, которые криптография не решает.
Репозиторий с примерами кода: https://github.com/kisom/gocrypto/
Существует немало способов хранения и использования настроек проекта при разработке на Go. Автор делится одним из способов, а именно, чтение настроек из внешней системы (например, etcd, consul и т. д.) с использованием их отдельных библиотек / API.
https://dev.to/j4ng5y/how-i-do-go-application-configuration-in-2020-336b
https://dev.to/j4ng5y/how-i-do-go-application-configuration-in-2020-336b
DEV Community
How I Do Go Application Configuration in 2020
Application configuration can be tricky, but here is how I do it in 2020
В данной статье автор подробно описывает практику поиска утечек памяти в приложениях на Go.
https://kirshatrov.com/2019/11/04/finding-memory-leak-in-cgo/
https://kirshatrov.com/2019/11/04/finding-memory-leak-in-cgo/
Функциональные опции – парадигма в Go, предназначенная для создания чистых и расширяемых API. Если вам требуется передать десятки опций в API и на выходе добиться хорошего качества, то на помощь может прийти данная парадигма. А в статье описаны основные практики использования функциональных опций.
https://habr.com/ru/post/489296/
https://habr.com/ru/post/489296/
Хабр
Функциональные опции на стероидах
Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go д...
Доклад Алексея Акуловича на фестивале TechTrain 2018, нацеленный в большей степени на начинающих разработчиков, о плюсах и минусах языка Go, о его применении в ВКонтакте, об основных причинах негатива в адрес Go и что с ними можно сделать (или нельзя). В ходе доклада звучат взвешенные и обоснованные сравнения с другими языками, а в конце речь идет о применении Go в ВКонтакте (и где не применяется и почему).
https://youtu.be/2fxNbhy2gt0
https://youtu.be/2fxNbhy2gt0
YouTube
Алексей Акулович — Плюсы и минусы Go, а также его применения в ВКонтакте
Подробнее о фестивале TechTrain: https://jrg.su/YR8JKw
— Язык Go и масса хайпа вокруг него в последнее время — основная тема доклада. Алексей рассмотрит основные причины негатива в адрес Go и что с ними можно сделать (или нельзя). Затем пройдется по плюсам…
— Язык Go и масса хайпа вокруг него в последнее время — основная тема доклада. Алексей рассмотрит основные причины негатива в адрес Go и что с ними можно сделать (или нельзя). Затем пройдется по плюсам…
HTTP Google Cloud Functions на Go
Речь идет о серверной вычислительной платформе, управляемой событиями. Облачные функции позволяют писать код, не беспокоясь о выделении ресурсов или масштабировании для удовлетворения меняющихся требований.
Существует два типа облачных функций: HTTP функции, отвечающие на HTTP запросы, и фоновые функции, которые запускаются событиями, такими как сообщение, публикуемое в Cloud Pub / Sub, или файл, загружаемый в Cloud Storage. В статье подробно и доступно описан первый способ.
https://codelabs.developers.google.com/codelabs/cloud-functions-go-http/#0
Речь идет о серверной вычислительной платформе, управляемой событиями. Облачные функции позволяют писать код, не беспокоясь о выделении ресурсов или масштабировании для удовлетворения меняющихся требований.
Существует два типа облачных функций: HTTP функции, отвечающие на HTTP запросы, и фоновые функции, которые запускаются событиями, такими как сообщение, публикуемое в Cloud Pub / Sub, или файл, загружаемый в Cloud Storage. В статье подробно и доступно описан первый способ.
https://codelabs.developers.google.com/codelabs/cloud-functions-go-http/#0
Цикл статей о создании микросервисов с помощью go-micro:
Micro In Action, Part 1: Getting Started
Micro in Action, Part 2: An Ultimate Guide for Bootstrap
Micro In Action, Part 3: Calling a Service
Micro In Action, Part 4: Pub/Sub
Micro In Action, Part 5: Message Broker
Micro In Action, Part6: Service Discovery
Micro In Action, Part 1: Getting Started
Micro in Action, Part 2: An Ultimate Guide for Bootstrap
Micro In Action, Part 3: Calling a Service
Micro In Action, Part 4: Pub/Sub
Micro In Action, Part 5: Message Broker
Micro In Action, Part6: Service Discovery
Medium
Micro In Action, Part 1: Getting Started
Let’s talk about Micro in this series of articles.
goHackTools
В репозитории содержатся переписанные на Go скрипты из следующих книг и материалов по безопасности / взлому:
– Violent Python
– Black Hat Python
– Security with Go
– Python Web Penetration Testing Cookbook
– asecuritysite
– Криптография с Python
– Black Hat Go
https://github.com/dreddsa5dies/goHackTools
В репозитории содержатся переписанные на Go скрипты из следующих книг и материалов по безопасности / взлому:
– Violent Python
– Black Hat Python
– Security with Go
– Python Web Penetration Testing Cookbook
– asecuritysite
– Криптография с Python
– Black Hat Go
https://github.com/dreddsa5dies/goHackTools
GitHub
GitHub - dreddsa5dies/goHackTools: Hacker tools on Go (Golang)
Hacker tools on Go (Golang). Contribute to dreddsa5dies/goHackTools development by creating an account on GitHub.
Статья, которая не может остаться без вашего внимания, о том, что Go – это язык Google, а не сообщества.
https://utcc.utoronto.ca/~cks/space/blog/programming/GoIsGooglesLanguage
https://utcc.utoronto.ca/~cks/space/blog/programming/GoIsGooglesLanguage
Разбираемся с внедрением зависимостей (Dependency injection, DI) в Go с помощью контейнера wire: https://blog.drewolson.org/go-dependency-injection-with-wire
Общие понятия о DI в Go: https://blog.drewolson.org/dependency-injection-in-go (перевод)
Общие понятия о DI в Go: https://blog.drewolson.org/dependency-injection-in-go (перевод)
GitHub
GitHub - google/wire: Compile-time Dependency Injection for Go
Compile-time Dependency Injection for Go. Contribute to google/wire development by creating an account on GitHub.
Видеозаписи выступлений с парижской конференции dotGo 2019.
https://m.youtube.com/playlist?list=PLMW8Xq7bXrG5B_gvikeSf3Du3NGBs4yVi
https://m.youtube.com/playlist?list=PLMW8Xq7bXrG5B_gvikeSf3Du3NGBs4yVi
GoUtils
Репозиторий включает набор небольших утилит для облегчения работы с Go.
https://github.com/kisom/goutils
Репозиторий включает набор небольших утилит для облегчения работы с Go.
https://github.com/kisom/goutils
GitHub
GitHub - kisom/goutils: Moved to sourcehut.
Moved to sourcehut. Contribute to kisom/goutils development by creating an account on GitHub.
У языка Go немало сфер применения, в том числе разработка игр. По ссылке ниже вы найдёте подборку обучающих видеоматериалов, связанных с данной темой.
https://gameswithgo.org/topics.html
https://gameswithgo.org/topics.html
gameswithgo.org
Games With Go
A video series where you can learn programmign by making a series of games in the Go programming language
Owasp-top-10-proactive-controls-2018-russian.pdf
873.4 KB
Проактивная защита: Топ-10 требований OWASP 2018
Открытый проект по обеспечению безопасности веб-приложений (OWASP) помогает организациям начать проектировать, разрабатывать, приобретать, использовать и поддерживать безопасное программное обеспечение. В данном документе собраны 10 аспектов безопасности, на которые разработчики программного обеспечения должны обращать внимание. Несмотря на год выпуска, информация не теряет свою актуальность и в настоящее время.
Открытый проект по обеспечению безопасности веб-приложений (OWASP) помогает организациям начать проектировать, разрабатывать, приобретать, использовать и поддерживать безопасное программное обеспечение. В данном документе собраны 10 аспектов безопасности, на которые разработчики программного обеспечения должны обращать внимание. Несмотря на год выпуска, информация не теряет свою актуальность и в настоящее время.
25 февраля официально релизнулся Go 1.14. Небольшая подборка материалов о нововведениях на русском языке, которые появились в новой версии языка:
– Обзорная статья об изменениях
– Основная библиотека
– Runtime и компилятор
– Инструменты, команда go
– Изменения в языке и его портах
– Обзорная статья об изменениях
– Основная библиотека
– Runtime и компилятор
– Инструменты, команда go
– Изменения в языке и его портах
blog.golang.org
Go 1.14 is released - The Go Blog
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
7 простых методов функционального программирования в Go
Если вы знакомы с понятием функционального программирования (ФП), то вы почерпнёте для себя что-то полезное в статье, которая описывает применение основных концепций ФП в Go.
https://deepu.tech/functional-programming-in-go/
Если вы знакомы с понятием функционального программирования (ФП), то вы почерпнёте для себя что-то полезное в статье, которая описывает применение основных концепций ФП в Go.
https://deepu.tech/functional-programming-in-go/
Technorage
7 Easy functional programming techniques in Go
Functional programming concepts in Go for beginners.
Реализуем управление доступом на основе ролей в REST API на Go: https://prglb.ru/2eurj
DEV Community
RBAC in REST API using Go
Role Based Access Control, or RBAC. Might be one of the more interesting challenge I've faced. It is:...
Учимся правильно парсить тело JSON запроса на Go: https://prglb.ru/5r85l
www.alexedwards.net
How to Parse a JSON Request Body in Go - Alex Edwards
Подробное руководство об использовании Websockets в Go: https://prglb.ru/ccu1