Все best practices по написанию программ в одном месте. Удобно, что есть не только примеры «хорошего» кода, но и антипаттерны. Вместе с ними — грамотные объяснения, почему не стоит использовать ряд подходов при проектировании программ.
Гайд по написанию кода и оформили его внутри GitHub-репозитория. Большая часть материалов переведена на русский язык.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Дано: два неупорядоченных среза.
а) a := []int{37, 5, 1, 2} и b := []int{6, 2, 4, 37}.
б) a = []int{1, 1, 1} и b = []int{1, 1, 1, 1}.
Верните их пересечение.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
go-callvis — это инструмент разработки, помогающий удобно визуализировать вызовы программы Go. Это особенно полезно в больших проектах, где сложность кода намного выше, или когда вы просто пытаетесь понять чужой код.
go get -u github.com/ofabry/go-callvis
# or
git clone https://github.com/ofabry/go-callvis.git
cd go-callvis && make install
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Awesome Docker Compose samples
Эти примеры кода служат отправной точкой для интеграции различных служб с помощью Compose и управления и их развертыванием с помощью Docker Compose.
🖥 https://github.com/docker/awesome-compose
@Golang_google
Эти примеры кода служат отправной точкой для интеграции различных служб с помощью Compose и управления и их развертыванием с помощью Docker Compose.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - docker/awesome-compose: Awesome Docker Compose samples
Awesome Docker Compose samples. Contribute to docker/awesome-compose development by creating an account on GitHub.
This media is not supported in your browser
VIEW IN TELEGRAM
Wiretap — это прозрачный прокси-сервер, похожий на VPN, который туннелирует трафик через WireGuard и не требует специальных привилегий для запуска.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Избегайте изобретать велосипед заново. Если есть какие-то хорошие библиотеки, мы просто используем их напрямую, нет необходимости выполнять какую-то дублирующую работу, если эти библиотеки не могут удовлетворить потребности, может быть отправлен запрос на извлечение или клонирование их, улучшение их, оптимизация их, текущая предпосылка заключается в том, что вы должны их знать.
Эта статья дает вам некоторую информацию о времени и аналогичной функции linux cron библиотеки задач синхронизации.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - daangn/autopprof: Automatically profile the Go applications when CPU or memory utilization crosses threshold
Automatically profile the Go applications when CPU or memory utilization crosses threshold - daangn/autopprof
Генератор диаграмм классов PlantUML для проектов go. Генерирует текст диаграммы классов, совместимый с plantuml, с информацией обо всех структурах и интерфейсах, а также об отношениях между ними.
go get github.com/jfeliu007/goplantuml/parser
go install github.com/jfeliu007/goplantuml/cmd/goplantuml@latest
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
EveryNASA
EveryDayPhotoNasa – инструмент, который позволяет поставить в качестве рабочего экрана фотографии NASA из космоса.
EveryDayPhotoNaaa каждый день делает снимок с сайта НАСА и устанавливает его в качестве фона для вашего рабочего пространства.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы писали бенчмарки и пытались понять, что там ускорилось и на сколько, то наверняка вы пользовались утилитами вроде benchstat.
Мне очень нравится эта утилита, но временами я понимаю, что некоторые её особенности работают против меня. Сегодня я расскажу вам о своей обёртке над benchstat, которая добавляет улучшения, полезные в моей работе.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы начнете с простой функции тестирования и поработаете с другими инструментами и стратегиями, которые помогут вам освоить тестирование в Go.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
Comprehensive Guide to Testing in Go | The GoLand Blog
This article will cover everything you need to know about Go testing. You will start with a simple testing function, and work through more tools and strategies to help you master testing in Go.
Please open Telegram to view this post
VIEW IN TELEGRAM
Hilbish – интерактивная Unix-подобная оболочка написанная на Go с возможностью конфигурации на языке Lua
🖥 GitHub
@Golang_google
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
usql – универсальный командный интерфейс для работы с SQL и NoSQL базами данных
$ brew install xo/xo/usql
✔️ Установка
#github #Go
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из-под капота с помощью дженериков.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Dolt – инструмент, который позволяет превратить SQL-базу в аналог git-репозитория и работать с альтернативными git-командами (clone, push, pull, merge и т.д.)
dolt $ du -h /Users/timsehn//go/bin/dolt
68M /Users/timsehn/go/bin/dolt
#Data #Go
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Несмотря на достоинства микросервисов, при их внедрении можно столкнуться с множеством проблем.
Изучение общих закономерностей в решении этих проблем привело к появлению паттернов микросервисной разработки (Microservices Patterns), или шаблонов проектирования микросервисов. Основная цель — предоставить проверенные временем решения для таких задач, как разработка микросервисной архитектуры, организация взаимодействия микросервисов друг с другом, клиентскими приложениями, базами данных, обеспечение их отказоустойчивости.
Рассмотрим несколько основных паттернов, разделив их на условные группы в зависимости от решаемой задачи.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 HTTPLoot — инструмент на Go для исследования безопасности веб-приложений. HTTPLoot может автоматически сканировать, определять технический стек, заполнять формы, извлекать секреты из страниц ошибок/отладки и JavaScript-кода сайтов.
Свою результативность он уже доказал, найдя 1 676 634 секретов в результате двух этапов глубокого тестирования.
🖥 Github
✔️ Video
@Golang_google
Свою результативность он уже доказал, найдя 1 676 634 секретов в результате двух этапов глубокого тестирования.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Транспилятор, который помогает преобразовать код на Go в JavaScript.
go install github.com/gopherjs/[email protected]
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Как вы, наверное, знаете, на днях OpenAI выпустила языковую нейросеть ChatGPT. Этот текстовый ИИ уже побил все рекорды по хайпу. Он набрал 1 млн зарегистрированных пользователей меньше чем за неделю. Для сравнения, у Twitter достижение этой цифры заняло 2 года, у Facebook — 10 месяцев.
ChatGPT основан на предыдущем текстовом генераторе OpenAI, GPT-3. Компания строит свои модели генерации текста, тренируя алгоритмы машинного обучения на книгах, новостных статьях, страницах Википедии и миллионах веб-сайтов. Обрабатывая такие большие объемы данных, модели изучают шаблоны и структуру языка и приобретают способность интерпретировать желаемый результат запроса пользователя.
go get -u -x github.com/kkdai/chatgpt
✔️ Впечатляющие достижения ChatGPT
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Позволяет управлять всеми ресурсами (контейнеры, образы, тома, сети и многое другое) с помощью графического интерфейса и/или удобного API.
📝 Документация
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM