#статья #diy
Свежая статья о разработке чат-бота. На этот раз - сразу для нескольких мессенджеров.
https://habr.com/ru/post/649413/
Свежая статья о разработке чат-бота. На этот раз - сразу для нескольких мессенджеров.
https://habr.com/ru/post/649413/
Хабр
Чат-бот под несколько месенджеров
Привет, я Паша, руковожу эксплуатацией инфраструктуры крупного хайлоад-проекта. Хочу поделиться опытом разработки бота на Golang для различных мессенджеров. Всё началось с того, что у нас был бот на...
Slice Tricks в графическом предоставлении
https://ueokande.github.io/go-slice-tricks/
Текстовый вариант здесь
#шпаргалка
https://ueokande.github.io/go-slice-tricks/
Текстовый вариант здесь
#шпаргалка
ueokande.github.io
Go Slice Tricks Cheat Sheet
Web site created using create-react-app
#статья #dyi
Интересная статья о написании "игрушечного" DNS-резолвера. Также автор простым языком даёт необходимый ликбез.
Хороший способ получше разобраться в устройстве DNS и потрогать его своими руками.
https://jvns.ca/blog/2022/02/01/a-dns-resolver-in-80-lines-of-go/
Интересная статья о написании "игрушечного" DNS-резолвера. Также автор простым языком даёт необходимый ликбез.
Хороший способ получше разобраться в устройстве DNS и потрогать его своими руками.
https://jvns.ca/blog/2022/02/01/a-dns-resolver-in-80-lines-of-go/
Julia Evans
A toy DNS resolver
#репозиторий #проект #утилита
Cheat - консольная утилита для создания и просмотра "шпаргалок" для командной строки (написана на Go).
Помогает работать с командами, которые мы часто используем, но недостаточно часто, чтобы запомнить.
Пример:
Нам понадобилось поработать с архивом с помощью tar, пишем:
Cheat - консольная утилита для создания и просмотра "шпаргалок" для командной строки (написана на Go).
Помогает работать с командами, которые мы часто используем, но недостаточно часто, чтобы запомнить.
Пример:
Нам понадобилось поработать с архивом с помощью tar, пишем:
cheat tarПолучаем:
# To extract an uncompressed archive:https://github.com/cheat/cheat
tar -xvf '/path/to/foo.tar'
# To extract a .gz archive:
tar -xzvf '/path/to/foo.tgz'
# To create a .gz archive:
tar -czvf '/path/to/foo.tgz' '/path/to/foo/'
# To extract a .bz2 archive:
tar -xjvf '/path/to/foo.tgz'
# To create a .bz2 archive:
tar -cjvf '/path/to/foo.tgz' '/path/to/foo/'
GitHub
GitHub - cheat/cheat: cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help…
cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not ...
#репозиторий #проект
Коллекция алгоритмов, реализованных на Go в образовательных целях.
Присутствуют как самые простые - поиск максимума с помощью обычного цикла, так и более интересные - реализация хэш-функции sha256.
https://github.com/TheAlgorithms/Go
Коллекция алгоритмов, реализованных на Go в образовательных целях.
Присутствуют как самые простые - поиск максимума с помощью обычного цикла, так и более интересные - реализация хэш-функции sha256.
https://github.com/TheAlgorithms/Go
GitHub
Go/math/max/max.go at master · TheAlgorithms/Go
Algorithms and Data Structures implemented in Go for beginners, following best practices. - TheAlgorithms/Go
#статья
Отличная статья о том, что такое пул соединений в MySQL, почему он необходим, и как его правильно настроить для Go-клиента.
Тема описана очень подробно, читается интересно.
В начале присутствует краткий ликбез про клиент-серверный протокол MySQL.
https://habr.com/ru/company/citymobil/blog/583558/
Отличная статья о том, что такое пул соединений в MySQL, почему он необходим, и как его правильно настроить для Go-клиента.
Тема описана очень подробно, читается интересно.
В начале присутствует краткий ликбез про клиент-серверный протокол MySQL.
https://habr.com/ru/company/citymobil/blog/583558/
Хабр
Go и MySQL: настраиваем пул соединений
Каждый день мы пишем код в условиях высоких нагрузок, и нередко в таких случаях сталкиваемся с проблемами, связанными с базой данных. Мы в компании используем MySQL, поэтому я расскажу про...
#статья
Как использовать пакет dockertest в Go.
В чём суть. Когда мы тестируем свой код, нам часто требуются различные внешние сервисы, чаще всего - база данных. Решить эту проблему можно разными способами - поднять локально в докере, использовать QA-стенд (сервер для тестов), использовать моки и т.п.
Но самый простой и удобный способ, на мой взгляд - автоматическое поднятие контейнера в докере при запуске теста. Тогда вашим тестам не потребуется ни какое внешнее окружение - запускаем тест, поднимаются необходимые контейнеры с зависимостями, прогоняются тесты, контейнеры удаляются.
Сделать это можно, например, с помощью библиотеки dockertest. В статье на наглядном примере демонстрируется, как этим пользоваться.
https://eax.me/golang-dockertest/
Как использовать пакет dockertest в Go.
В чём суть. Когда мы тестируем свой код, нам часто требуются различные внешние сервисы, чаще всего - база данных. Решить эту проблему можно разными способами - поднять локально в докере, использовать QA-стенд (сервер для тестов), использовать моки и т.п.
Но самый простой и удобный способ, на мой взгляд - автоматическое поднятие контейнера в докере при запуске теста. Тогда вашим тестам не потребуется ни какое внешнее окружение - запускаем тест, поднимаются необходимые контейнеры с зависимостями, прогоняются тесты, контейнеры удаляются.
Сделать это можно, например, с помощью библиотеки dockertest. В статье на наглядном примере демонстрируется, как этим пользоваться.
https://eax.me/golang-dockertest/
eax.me
Тестирование проектов на Go с dockertest | Записки программиста
Допустим, мы разрабатываем микросервис на языке Go. Мы успешно написали модульные тесты. Но также требуется написать и другие тесты, которые проверяли бы, что п
#статья #diy #english
Делаем load balancer на Go (Implement a load balancer in Golang)
Как обычно, хороший способ понять, как что-то работает - попробовать сделать это своими руками.
Статья начинается с небольшого ликбеза по балансировщикам, и далее показан пример реализации с подробными пояснениями.
https://dev.to/bmf_san/implement-a-load-balancer-in-golang-8gj
Делаем load balancer на Go (Implement a load balancer in Golang)
Как обычно, хороший способ понять, как что-то работает - попробовать сделать это своими руками.
Статья начинается с небольшого ликбеза по балансировщикам, и далее показан пример реализации с подробными пояснениями.
https://dev.to/bmf_san/implement-a-load-balancer-in-golang-8gj
DEV Community
Implement a load balancer in Golang
Overview This article is a translation of Golangでロードバランサーを実装する This article is the 24th...
#новость #generics #репозиторий
Дженерики наконец-то вышли, дождались! ❤️
Состоялся релиз Go 1.18, в который они вошли.
В качестве знакомства, предлагаю взглянуть на данный репозиторий. Это библиотека в стиле Lodash (крайне популярной библиотеки "на все случаи жизни" из мира JS).
Конечно, тащить в прод точно не стоит, да и авторы такого не подразумевают. Это просто набор экспериментов с дженериками - очень полезно для ознакомления и практики.
Дженерики наконец-то вышли, дождались! ❤️
Состоялся релиз Go 1.18, в который они вошли.
В качестве знакомства, предлагаю взглянуть на данный репозиторий. Это библиотека в стиле Lodash (крайне популярной библиотеки "на все случаи жизни" из мира JS).
Конечно, тащить в прод точно не стоит, да и авторы такого не подразумевают. Это просто набор экспериментов с дженериками - очень полезно для ознакомления и практики.
#статья
Планировщик Go
Пожалуй, лучшие статьи про устройство планировщика из всех, что я встречал.
Состоит из двух частей.
Оригинал (англ.): OS Scheduler и Go Scheduler
Перевод: Часть I — Планировщик ОС и Часть II — Планировщик Go
В первой части даются базовые основы планировщика ОС, необходимые для понимания основной темы: потоки, переключение контекста, кэш процессора и др.
Во второй уже непосредственно про планировщик Go: в деталях и с примерами разобрано переключение контекста между горутинами и различные нюансы.
Местами читается непросто, особенно для новичка, но оно того точно стоит.
Планировщик Go
Пожалуй, лучшие статьи про устройство планировщика из всех, что я встречал.
Состоит из двух частей.
Оригинал (англ.): OS Scheduler и Go Scheduler
Перевод: Часть I — Планировщик ОС и Часть II — Планировщик Go
В первой части даются базовые основы планировщика ОС, необходимые для понимания основной темы: потоки, переключение контекста, кэш процессора и др.
Во второй уже непосредственно про планировщик Go: в деталях и с примерами разобрано переключение контекста между горутинами и различные нюансы.
Местами читается непросто, особенно для новичка, но оно того точно стоит.
Ardan Labs
Scheduling In Go : Part I - OS Scheduler
Ardan Labs is trusted by small startups and Fortune 500 companies to train their engineers and develop business software solutions and applications.