Category Archives: golang
GO. Способ объединения кода в пакеты
https://medium.com/@benbjohnson/standard-package-layout-7cdbc8391fc1 Основные идеи: 1. Основные пакеты не зависят от других пакетов в приложении 2. Группировать подпакеты по зависимостям 3. Моки должны быть в отдельном подпакете для использования в подпакетах другого пакета 4. Основной пакет связывает все пакеты Зависимости от сторонних пакетов лучше обернуть с свои обёртки и использовать везде их. Самое интересное — их так …
Выбор совпадений подстрок в названиях
Был у меня список клиник, который забивали руками. Хотелось найти сетевые клиники путём поиска похожих названий, а именно — совпадений подстрок. Делал на go. Из-за скорости и наколеночности делал всё в одном файле, без тестов и код там не так чтобы хорош. Код здесь — https://github.com/bullgare/lzd_cllinics/blob/master/utils/parser/main.go#L312. Реализация не самая удачная, нет тестов, и всё в …
SRE на GO в Dropbox
Вячеслав Бахмутов from CodeFest https://youtu.be/EWsXbsUBm-M
Go: библиотека для конкурентного доступа к мапе
https://github.com/golang/sync/blob/master/syncmap/map.go
Подсветка go-кода
Онлайн сервис подсветки golang — http://hilite.me/ Мне больше нравится стиль autumn.
Goroutine leaktest detector
https://github.com/fortytw2/leaktest
Инструмент для визуализации зависимостей в go
https://github.com/TrueFurby/go-callvis Вызов:
1 |
go-callvis -focus [packagename] ./cmd/main.go > goblin.dot |
Что почитать по конкурентности в go
https://github.com/golang/go/wiki/LearnConcurrency А вот и видео хорошее https://youtu.be/f6kdp27TYZs
Как twitch помогал улучшать сборщик мусора в go
https://blog.twitch.tv/gos-march-to-low-latency-gc-a6fa96f06eb7#.i950758x6
HTTP stress testing tools
Старый добрый ab, из минусов — только http 1.0, задействует только одно ядро. JMeter wrk hey (бывший boom) — написан на go. Yandex.Tank Siege