This media is not supported in your browser
VIEW IN TELEGRAM
Просмотрщик сборок и исходного кода Go
Установка производится с помощью обычных команд Go:
Для Linux может потребоваться добавление некоторых дополнительных зависимостей. Чтобы не собирать версию Wayland или X11, можно использовать
Для запуска программы задайте фильтр регулярных выражений для проверяемой функции. -watch позволяет автоматически перезагружать исполняемый файл и информацию при его изменении.
https://github.com/loov/lensm
👉 @golang_lib
Установка производится с помощью обычных команд Go:
go install loov.dev/lensm@main
Для Linux может потребоваться добавление некоторых дополнительных зависимостей. Чтобы не собирать версию Wayland или X11, можно использовать
go install --tags nowayland loov.dev/lensm@main
или go install --tags nox11 loov.dev/lensm@main
соответственно.Для запуска программы задайте фильтр регулярных выражений для проверяемой функции. -watch позволяет автоматически перезагружать исполняемый файл и информацию при его изменении.
lensm -watch -filter Fibonacci lensm
https://github.com/loov/lensm
👉 @golang_lib
🔥3👍1
Ozon Tech QA Meetup: тестируем на Go
В Ozon хорошо развита инфраструктура и Go-сообщество. У нас большая экспертиза в создании собственных фреймворков и обучении людей языку Go. Поэтому у нас стали появляться автотесты на Go: тестировщики хотели быть ближе к разработчикам, чтобы те могли в любой момент посмотреть тесты, что-то исправить или просто поревьюить код.
https://www.youtube.com/watch?v=oXjK672Yrbs
👉 @golang_lib
В Ozon хорошо развита инфраструктура и Go-сообщество. У нас большая экспертиза в создании собственных фреймворков и обучении людей языку Go. Поэтому у нас стали появляться автотесты на Go: тестировщики хотели быть ближе к разработчикам, чтобы те могли в любой момент посмотреть тесты, что-то исправить или просто поревьюить код.
https://www.youtube.com/watch?v=oXjK672Yrbs
👉 @golang_lib
YouTube
Ozon Tech QA Meetup: тестируем на Go
Приглашаем на второй митап, посвященный тестированию. В этот раз подробнее поговорим о тестировании на Go.
В Ozon хорошо развита инфраструктура и Go-сообщество. У нас большая экспертиза в создании собственных фреймворков и обучении людей языку Go. Поэтому…
В Ozon хорошо развита инфраструктура и Go-сообщество. У нас большая экспертиза в создании собственных фреймворков и обучении людей языку Go. Поэтому…
👍2
Реализация сегментного дерева на языке Golang
В данной статье описывается продвинутая структура данных Segment Tree и приводится ее реализация на популярном современном языке Golang. Мы решим задачу на языке SPOJ, чтобы показать, как можно использовать сегментное дерево в конкурентном программировании.
https://rtoch.com/posts/golang-segment-tree/
👉 @golang_lib
В данной статье описывается продвинутая структура данных Segment Tree и приводится ее реализация на популярном современном языке Golang. Мы решим задачу на языке SPOJ, чтобы показать, как можно использовать сегментное дерево в конкурентном программировании.
https://rtoch.com/posts/golang-segment-tree/
👉 @golang_lib
👍1
Улучшенная маршрутизация HTTP-серверов в Go 1.22
В Go 1.22 ожидается появление интересного предложения - расширение возможностей по поиску шаблонов (pattern-matching) в мультиплексоре, используемом по умолчанию для обслуживания HTTP в пакете net/http.
Существующий мультиплексор (http.ServeMux) обеспечивает рудиментарное сопоставление путей, но не более того. Это привело к появлению целой индустрии сторонних библиотек для реализации более мощных возможностей. Я рассматривал эти возможности в серии статей "REST-серверы на Go", в частях 1 и 2.
Новый мультиплексор в версии 1.22 позволит значительно сократить отставание от пакетов сторонних разработчиков, обеспечив расширенное согласование. В этой небольшой заметке я кратко расскажу о новом мультиплексоре (mux). Я также вернусь к примеру из серии "REST-серверы на Go" и сравню, как новый stdlib mux справляется с gorilla/mux.
https://eli.thegreenplace.net/2023/better-http-server-routing-in-go-122/
👉 @golang_lib
В Go 1.22 ожидается появление интересного предложения - расширение возможностей по поиску шаблонов (pattern-matching) в мультиплексоре, используемом по умолчанию для обслуживания HTTP в пакете net/http.
Существующий мультиплексор (http.ServeMux) обеспечивает рудиментарное сопоставление путей, но не более того. Это привело к появлению целой индустрии сторонних библиотек для реализации более мощных возможностей. Я рассматривал эти возможности в серии статей "REST-серверы на Go", в частях 1 и 2.
Новый мультиплексор в версии 1.22 позволит значительно сократить отставание от пакетов сторонних разработчиков, обеспечив расширенное согласование. В этой небольшой заметке я кратко расскажу о новом мультиплексоре (mux). Я также вернусь к примеру из серии "REST-серверы на Go" и сравню, как новый stdlib mux справляется с gorilla/mux.
https://eli.thegreenplace.net/2023/better-http-server-routing-in-go-122/
👉 @golang_lib
👍5
Обзор синтаксиса и возможностей языка Go (шпаргалка)
Большинство примеров кода взято из книги A Tour of Go, которая является отличным введением в Go. Если вы новичок в Go, пройдите этот тур.
https://github.com/a8m/golang-cheat-sheet
👉 @golang_lib
Большинство примеров кода взято из книги A Tour of Go, которая является отличным введением в Go. Если вы новичок в Go, пройдите этот тур.
https://github.com/a8m/golang-cheat-sheet
👉 @golang_lib
👍1
Lua конфигурация Neovim для разработки на Go
В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.
Эта статья может быть полезна тебе, если:
пишешь на Go
есть конфиг на Vimscript, но хочется на Lua
хочется пересесть с тяжелых современных IDE или текстовых редакторов, таких как Goland, Vscode и других, на Neovim
https://habr.com/ru/articles/678298/
👉 @golang_lib
В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.
Эта статья может быть полезна тебе, если:
пишешь на Go
есть конфиг на Vimscript, но хочется на Lua
хочется пересесть с тяжелых современных IDE или текстовых редакторов, таких как Goland, Vscode и других, на Neovim
https://habr.com/ru/articles/678298/
👉 @golang_lib
👍2
Distributed Services with Go Your Gui..pdf
5.2 MB
Distributed Services with Go: Your Guide to Reliable, Scalable, and Maintainable Systems
Автор: Travis Jeffery (2021)
Эта книга для разработчиков на Go, которые хотят научиться создавать распределенные системы. Вы знаете основы языка Go и хотите применить свои знания на практике. Создавайте распределенные службы, которые отличаются высокой доступностью, устойчивостью и масштабируемостью. Эта книга - именно то, что вам нужно для применения Go в реальных ситуациях.
Начните с самого необходимого - работы с хранилищами, затем пройдите путь через создание сети клиента и сервера и, наконец, через распределение экземпляров сервера, развертывание и тестирование. Все это сделает кодирование на вашей основной работе или в побочных проектах проще, быстрее и веселее.
👉 @golang_lib
Автор: Travis Jeffery (2021)
Эта книга для разработчиков на Go, которые хотят научиться создавать распределенные системы. Вы знаете основы языка Go и хотите применить свои знания на практике. Создавайте распределенные службы, которые отличаются высокой доступностью, устойчивостью и масштабируемостью. Эта книга - именно то, что вам нужно для применения Go в реальных ситуациях.
Начните с самого необходимого - работы с хранилищами, затем пройдите путь через создание сети клиента и сервера и, наконец, через распределение экземпляров сервера, развертывание и тестирование. Все это сделает кодирование на вашей основной работе или в побочных проектах проще, быстрее и веселее.
👉 @golang_lib
👍2
Minecraft protocol VarInt и VarLong. Как из единиц и нулей сделать число на примере Go?
В этой статье я хочу объяснить на пальцах, как из байтов преобразуются числа в нужные типы данных (VarInt, VarLong). Детально рассмотрим реализацию, примеры и напишем unit-тесты. Вспомним бинарные операции, двоичную и шестнадцатеричную систему счисления.
https://habr.com/ru/articles/677642/
👉 @golang_lib
В этой статье я хочу объяснить на пальцах, как из байтов преобразуются числа в нужные типы данных (VarInt, VarLong). Детально рассмотрим реализацию, примеры и напишем unit-тесты. Вспомним бинарные операции, двоичную и шестнадцатеричную систему счисления.
https://habr.com/ru/articles/677642/
👉 @golang_lib
👍5
Проблемы функции Golang init
Прежде чем говорить о функции init в Golang, необходимо понять, что такое пакет в Golang. Программа go организована в пакеты. Пакет собирает несколько исходных файлов в одном каталоге. Он похож на ящик, в котором находятся некоторые инструменты или небольшая машина. Он является отправной точкой для инициализации всего пакета. По-видимому, это соответствует назначению функции init.
Предположим, что у вас есть код без функции init, например, такой:
https://habr.com/ru/articles/771858/
👉 @golang_lib
Прежде чем говорить о функции init в Golang, необходимо понять, что такое пакет в Golang. Программа go организована в пакеты. Пакет собирает несколько исходных файлов в одном каталоге. Он похож на ящик, в котором находятся некоторые инструменты или небольшая машина. Он является отправной точкой для инициализации всего пакета. По-видимому, это соответствует назначению функции init.
Предположим, что у вас есть код без функции init, например, такой:
// foo.go
package foo
var A int
func bar(){}
// main.go
import "foo"
func main(){
fmt.Println(foo.A)
}
https://habr.com/ru/articles/771858/
👉 @golang_lib
Хабр
Проблемы функции Golang init
Прежде чем говорить о функции init в Golang, необходимо понять, что такое пакет в Golang. Программа go организована в пакеты. Пакет собирает несколько исходных файлов в одном каталоге. Он похож на...
👍3
Использование WebSockets в NextJS и Golang
https://webapp.io/blog/using-websockets-with-nextjs/
👉 @golang_lib
https://webapp.io/blog/using-websockets-with-nextjs/
👉 @golang_lib
👍4🥱1
Как завершить работу приложения Golang более чистым способом
Одной из главных особенностей GO является возможность параллельного выполнения нескольких задач. Этот язык программирования широко используется благодаря своей универсальности, быстроте выполнения и простоте использования.
Во многих приложениях необходимо уметь изящно завершать работу, особенно когда они имеют дело с каким-либо состоянием. Кроме того, он позволяет выполнять такие задачи, как очистка использованных ресурсов, плавное завершение независимых процессов и многие другие.
https://medium.com/@leonardo5621_66451/how-to-shutdown-a-golang-application-in-a-cleaner-way-e9307b0ea505
👉 @golang_lib
Одной из главных особенностей GO является возможность параллельного выполнения нескольких задач. Этот язык программирования широко используется благодаря своей универсальности, быстроте выполнения и простоте использования.
Во многих приложениях необходимо уметь изящно завершать работу, особенно когда они имеют дело с каким-либо состоянием. Кроме того, он позволяет выполнять такие задачи, как очистка использованных ресурсов, плавное завершение независимых процессов и многие другие.
https://medium.com/@leonardo5621_66451/how-to-shutdown-a-golang-application-in-a-cleaner-way-e9307b0ea505
👉 @golang_lib
👍4
Результаты исследования Go-разработчиков
- 3/4 Go-разработчиков работают в продуктовых компаниях.
- Большинство - выходцы из разработки на Python и PHP.
- 70% используют Go для написания микросервисов.
- Дженерики ждали все, а в итоге регулярно их используют только 10% разработчиков.
- Самые привлекательные сферы для работы: DevTools, FinTech и FoodTech.
Эти и другие инсайты про то, куда переехали, где работают, что изучают и чем занимаются на работе Go-разработчики – в исследовании от DevCrowd.
👉 @golang_lib
- 3/4 Go-разработчиков работают в продуктовых компаниях.
- Большинство - выходцы из разработки на Python и PHP.
- 70% используют Go для написания микросервисов.
- Дженерики ждали все, а в итоге регулярно их используют только 10% разработчиков.
- Самые привлекательные сферы для работы: DevTools, FinTech и FoodTech.
Эти и другие инсайты про то, куда переехали, где работают, что изучают и чем занимаются на работе Go-разработчики – в исследовании от DevCrowd.
👉 @golang_lib
🔥4👍2
100 Go Mistakes and How to Avoid Them .pdf
9.9 MB
100 Go Mistakes and How to Avoid Them
Автор: Teiva Harsanyi (2022)
Книга показывает, как заменить типичные проблемы программирования на языке Go идиоматичным и выразительным кодом. В книге вы познакомитесь с десятками интересных примеров и примеров из практики, научитесь выявлять ошибки, которые могут появиться в ваших собственных приложениях. Автор-эксперт Тейва Харсаньи организует приемы предотвращения ошибок в удобные категории, начиная с типов и строк и заканчивая параллелизмом и тестированием.
👉 @golang_lib
Автор: Teiva Harsanyi (2022)
Книга показывает, как заменить типичные проблемы программирования на языке Go идиоматичным и выразительным кодом. В книге вы познакомитесь с десятками интересных примеров и примеров из практики, научитесь выявлять ошибки, которые могут появиться в ваших собственных приложениях. Автор-эксперт Тейва Харсаньи организует приемы предотвращения ошибок в удобные категории, начиная с типов и строк и заканчивая параллелизмом и тестированием.
👉 @golang_lib
👍8
Clean Services in Go
Я облазил весь интернет в поисках шаблона, который позволил бы мне и моей команде использовать единообразный шаблон, чтобы все инженеры знали, где что искать и где быстро освоить, а также возможности тестирования, изоляции, переносимости и многого другого.
Пока что я не нашел паттерна, который мог бы дать мне это в чистом виде, я рассмотрел factory, builder, options, hexagonal и множество других, и ни один из них не дал мне того, что я хочу, но я нашел хорошее место для структурирования паттерна и хотел бы представить его широкой индустрии.
https://medium.com/@B1scuit/clean-services-in-go-63a7cc953841
👉 @golang_lib
Я облазил весь интернет в поисках шаблона, который позволил бы мне и моей команде использовать единообразный шаблон, чтобы все инженеры знали, где что искать и где быстро освоить, а также возможности тестирования, изоляции, переносимости и многого другого.
Пока что я не нашел паттерна, который мог бы дать мне это в чистом виде, я рассмотрел factory, builder, options, hexagonal и множество других, и ни один из них не дал мне того, что я хочу, но я нашел хорошее место для структурирования паттерна и хотел бы представить его широкой индустрии.
https://medium.com/@B1scuit/clean-services-in-go-63a7cc953841
👉 @golang_lib
👍3
Бенчмаркинг кода Go
Если вы уже некоторое время программируете на Go, вам, вероятно, очень нравится инструментарий, который поставляется вместе с ним. Сам язык до краев наполнен такими полезными инструментами, как go test, go fmt, go build и т. д. Мы уже рассказывали о тестировании. Сегодня мы рассмотрим, как можно провести бенчмаркинг нашего Go-кода.
https://dev.to/jpoly1219/benchmarking-go-code-1k23
👉 @golang_lib
Если вы уже некоторое время программируете на Go, вам, вероятно, очень нравится инструментарий, который поставляется вместе с ним. Сам язык до краев наполнен такими полезными инструментами, как go test, go fmt, go build и т. д. Мы уже рассказывали о тестировании. Сегодня мы рассмотрим, как можно провести бенчмаркинг нашего Go-кода.
https://dev.to/jpoly1219/benchmarking-go-code-1k23
👉 @golang_lib
👍2
Production Ready Go Concurrency
Параллелизм - это одна из тех вещей, в которых легко ошибиться, даже при наличии функций параллелизма в Go. Давайте рассмотрим, что следует учитывать при написании продакшена с использованием параллелизма.
Руководство разделено на три части, каждая из которых имеет свою цель. Сначала мы поговорим о "правилах большого пальца", которые обычно являются правильными. Вторая часть посвящена тому, что нужно использовать для написания параллельного кода. И наконец, мы расскажем о том, как написать собственные примитивы параллелизма.
Прежде чем мы начнем, я должен отметить, что у многих из этих рекомендаций есть условия, при которых они не являются лучшим выбором. Основными ситуациями будут производительность и прототипирование.
https://www.storj.io/blog/production-concurrency
👉 @golang_lib
Параллелизм - это одна из тех вещей, в которых легко ошибиться, даже при наличии функций параллелизма в Go. Давайте рассмотрим, что следует учитывать при написании продакшена с использованием параллелизма.
Руководство разделено на три части, каждая из которых имеет свою цель. Сначала мы поговорим о "правилах большого пальца", которые обычно являются правильными. Вторая часть посвящена тому, что нужно использовать для написания параллельного кода. И наконец, мы расскажем о том, как написать собственные примитивы параллелизма.
Прежде чем мы начнем, я должен отметить, что у многих из этих рекомендаций есть условия, при которых они не являются лучшим выбором. Основными ситуациями будут производительность и прототипирование.
https://www.storj.io/blog/production-concurrency
👉 @golang_lib
👍4
📌Должность: Ведущий разработчик Golang
Форма занятости: Полная занятость
Место работы: Удаленно
Заработная плата: От 4,000 до 6000 долларов США в месяц
Мы дружный коллектив серийных предпринимателей, за плечами которых более 5 успешных стартапов на мировом рынке.
В нашей команде открыта вакансия Ведущего разработчика Golang, который умеет выстраивать архитектуру проекта, мыслит как разработчик, и не просто "специалист с YouTube". Вы будете работать над передовым проектом по автоматизации социальной активности и анализу поведения.
Основные обязанности:
- Руководство разработкой архитектуры проекта
- Разработка бэкенда нашего продукта
- Руководство командой разработчиков
- Участие во всех фазах жизненного цикла разработки
- Перевод сложных функциональных и технических требований в подробную архитектуру и дизайн
Требования:
- Опыт разработки на Golang не менее 4 лет
- Опыт работы с Go, RabbitMQ, MySQL, и Redis
- Знание различных дизайнов, архитектурных шаблонов и инструментов
- Сильные навыки решения проблем и отладки
- Навыки письменной и устной коммуникации
- Умение эффективно руководить командой и выдвигать проекты вперед
Если вы опытный разработчик Golang и ищете роль руководителя, мы хотели бы с вами встретиться. Для получения дополнительной информации, пожалуйста, свяжитесь с @miminator.
#go #golang #lead
Форма занятости: Полная занятость
Место работы: Удаленно
Заработная плата: От 4,000 до 6000 долларов США в месяц
Мы дружный коллектив серийных предпринимателей, за плечами которых более 5 успешных стартапов на мировом рынке.
В нашей команде открыта вакансия Ведущего разработчика Golang, который умеет выстраивать архитектуру проекта, мыслит как разработчик, и не просто "специалист с YouTube". Вы будете работать над передовым проектом по автоматизации социальной активности и анализу поведения.
Основные обязанности:
- Руководство разработкой архитектуры проекта
- Разработка бэкенда нашего продукта
- Руководство командой разработчиков
- Участие во всех фазах жизненного цикла разработки
- Перевод сложных функциональных и технических требований в подробную архитектуру и дизайн
Требования:
- Опыт разработки на Golang не менее 4 лет
- Опыт работы с Go, RabbitMQ, MySQL, и Redis
- Знание различных дизайнов, архитектурных шаблонов и инструментов
- Сильные навыки решения проблем и отладки
- Навыки письменной и устной коммуникации
- Умение эффективно руководить командой и выдвигать проекты вперед
Если вы опытный разработчик Golang и ищете роль руководителя, мы хотели бы с вами встретиться. Для получения дополнительной информации, пожалуйста, свяжитесь с @miminator.
#go #golang #lead
👍5
Создание и тестирование REST API на Go с помощью Gorilla Mux и PostgreSQL
В этом уроке будет показано, как можно создать REST API на базе PostgreSQL в Go, используя Gorilla Mux для маршрутизации. В уроке будет использована разработка, управляемая тестами, и в завершение будет рассказано, как можно постоянно тестировать базу данных в процессе разработки.
https://semaphoreci.com/community/tutorials/building-and-testing-a-rest-api-in-go-with-gorilla-mux-and-postgresql
👉 @golang_lib
В этом уроке будет показано, как можно создать REST API на базе PostgreSQL в Go, используя Gorilla Mux для маршрутизации. В уроке будет использована разработка, управляемая тестами, и в завершение будет рассказано, как можно постоянно тестировать базу данных в процессе разработки.
https://semaphoreci.com/community/tutorials/building-and-testing-a-rest-api-in-go-with-gorilla-mux-and-postgresql
👉 @golang_lib
👍3👎1
Создаем Pong в вашем терминале
Узнайте, как создать игру Pong в терминале с помощью Golang. Earthly гарантирует последовательную сборку вашей игры Pong на базе Go в любой среде разработки.
Часть 1 https://earthly.dev/blog/pongo/
Часть 2 https://earthly.dev/blog/pong-part2/
👉 @golang_lib
Узнайте, как создать игру Pong в терминале с помощью Golang. Earthly гарантирует последовательную сборку вашей игры Pong на базе Go в любой среде разработки.
Часть 1 https://earthly.dev/blog/pongo/
Часть 2 https://earthly.dev/blog/pong-part2/
👉 @golang_lib
👍3🔥1