Pygolo делает большую часть тяжелой работы, заботясь о типах, модулях, исключениях и многом другом. Начните работу с инструментом с руководства.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitLab
pygolo / py · GitLab
Embed or extend the Python interpreter with Go
👍8😁3❤2🥱1
📌 Подборка докладов на тему Go с недавних митапов:
📺 Evrone Golang митап
🔸Тестовое окружение на фикстурах (библиотека для Go), Тимофей Кулин / Яндекс (YDB)
🔸Архитектура Go проекта на практике, Тигран Ханагян / HungerStation Delivery Hero
🔸Эффективно используем Go в команде, Геннадий Ковалев / YADRO
🔸Ruby on Rails vs GoLang, Александр Елистратов / BGaming
📺 YADRO Go To митап
🔸Переходим на Go с других языков: парадигмы, удобство и неудобства технологии, Евгений Соколов / YADRO
🔸Какие инструменты Go помогают писать хороший (сопровождаемый) код, Геннадий Ковалёв / YADRO
🔸Лайфхаки для кода без побочных эффектов: пишем на Go и красиво, и правильно, Влад Белогрудов / YADRO
📺 Evrone Golang митап
🔸Тестовое окружение на фикстурах (библиотека для Go), Тимофей Кулин / Яндекс (YDB)
🔸Архитектура Go проекта на практике, Тигран Ханагян / HungerStation Delivery Hero
🔸Эффективно используем Go в команде, Геннадий Ковалев / YADRO
🔸Ruby on Rails vs GoLang, Александр Елистратов / BGaming
📺 YADRO Go To митап
🔸Переходим на Go с других языков: парадигмы, удобство и неудобства технологии, Евгений Соколов / YADRO
🔸Какие инструменты Go помогают писать хороший (сопровождаемый) код, Геннадий Ковалёв / YADRO
🔸Лайфхаки для кода без побочных эффектов: пишем на Go и красиво, и правильно, Влад Белогрудов / YADRO
YouTube
Тестовое окружение на фикстурах (библиотека для go)
Подписывайтесь на наш канал здесь и в телеграмм https://t.me/meetups_evrone, чтобы быть в курсе будущих митапов и не пропускать полезные доклады!
Полная трансляция митапа - https://www.youtube.com/watch?v=SVrtLOVFWD4
Тимофей Кулин / Яндекс (YDB)
00:00…
Полная трансляция митапа - https://www.youtube.com/watch?v=SVrtLOVFWD4
Тимофей Кулин / Яндекс (YDB)
00:00…
🔥16👍4❤1
💭 Недавно мы спрашивали вас о том, какие самые глупые вопросы вам задавали на собеседованиях? 🤦♂️
Вдогонку к теме собесов: поделитесь топом самых крутых вопросов с собеседований, которые вам запомнились👇
#холивар
Вдогонку к теме собесов: поделитесь топом самых крутых вопросов с собеседований, которые вам запомнились
#холивар
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Библиотека Go разработчика | Golang
💭Какие, по вашему мнению, самые глупые вопросы по Go или другим темам вам задавали на собеседованиях? Поделитесь своим личным топом👇
#холивар
#холивар
👍4
🤔 Корутины для Go
Рассуждения Расса Кокса о том, зачем нам нужен пакет корутин для Go и как он будет выглядеть. Но сначала разберемся, что вообще такое корутины на практике👇
Читать
Рассуждения Расса Кокса о том, зачем нам нужен пакет корутин для Go и как он будет выглядеть. Но сначала разберемся, что вообще такое корутины на практике
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔19👍4❤1
В отличие от большинства языков, в Go нет синтаксиса для обработки ошибок try/catch/finally. А как тогда обрабатывать ошибки?
В Go реализован минималистичный подход, подразумевающий проверку ошибок в местах их появления и исключающий их возникновение в других функциях на протяжении цепочки вызовов.
Для этого в Go используется встроенный тип ошибок, который определяется через объявление interface 🔽
type error interface {
Error() string
}
📌 Это означает, что вы можете использовать в качестве error любой тип данных, который реализует метод Error(), возвращающий значение string.
#вопросы_для_самопроверки
Для этого в Go используется встроенный тип ошибок, который определяется через объявление interface 🔽
type error interface {
Error() string
}
📌
#вопросы_для_самопроверки
🥱25👍7❤4🥰1
Анализ времени сборки Go
Компилятор Go довольно быстр, но автору статьи было любопытно, какие факторы влияют на время компиляции.
В статье он использовал 350 000 строк проекта Istio, чтобы протестировать Go, опробовать некоторые идеи и, в конце концов, дал несколько советов.
Читать
Компилятор Go довольно быстр, но автору статьи было любопытно, какие факторы влияют на время компиляции.
В статье он использовал 350 000 строк проекта Istio, чтобы протестировать Go, опробовать некоторые идеи и, в конце концов, дал несколько советов.
Читать
blog.howardjohn.info
Analyzing Go Build Times
Go is often praised for its fast build times.
While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them.
This post covers all aspects of…
While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them.
This post covers all aspects of…
🔥7❤6👍1
💭 Как в вашей компании/команде организовано тестирование проектов? Есть ли отдельная команда QA, или все ложится на плечи разрабов? Применяете ли вы подход «Разработка через тестирование» (test-driven development, TDD)?
#холивар
#холивар
❤6
⚡Проект Gorilla официально выведен из статуса «в архиве» и будет поддерживаться разработчиками из Red Hat. Естественно, основные мейнтейнеры ждут участия других разработчиков.
Подробнее
Подробнее
gorilla.github.io
Gorilla, the golang web toolkit
Gorilla is a web toolkit for the Go programming language
🔥75👍15❤5🤔4🎉4
Как построить систему, способную выдерживать нагрузку в 5 млн rps
Владимир Олохтонов, руководитель команды разработки в отделе Message Bus (часть платформы Ozon), делится опытом построения линейно масштабируемой gRPC-прокси перед Kafka. Она способна обслуживать миллионы запросов в секунду и написана на Go.
Читать
Владимир Олохтонов, руководитель команды разработки в отделе Message Bus (часть платформы Ozon), делится опытом построения линейно масштабируемой gRPC-прокси перед Kafka. Она способна обслуживать миллионы запросов в секунду и написана на Go.
Читать
Хабр
Как построить систему, способную выдерживать нагрузку в 5 млн rps
Всем привет! Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг...
👍12❤5🤔1
📌 Подборка для Go-разработчика:
🤔 proposal: spec: add untyped builtin zero
🤔 Обоснование использования корутин в Go
⚡ Go 1.21 Release Candidate 3
⚡ Пробуждение проекта Gorilla
🔸 Релиз Govulncheck 1.0.0
🔸 Релиз ntp 1.2 — простой клиентский ntp-пакет для Go
🔸 Релиз Sarama 1.40 — библиотека Go для Apache Kafka, которая переходит в бразды правления IBM
🔸 Релиз Go Rate Limiter 0.3 — возвращение в разработку после паузы в пару лет с более эффективной внутренней реализацией и без каких-либо внешних изменений
#news
🤔 proposal: spec: add untyped builtin zero
🤔 Обоснование использования корутин в Go
⚡ Go 1.21 Release Candidate 3
⚡ Пробуждение проекта Gorilla
🔸 Релиз Govulncheck 1.0.0
🔸 Релиз ntp 1.2 — простой клиентский ntp-пакет для Go
🔸 Релиз Sarama 1.40 — библиотека Go для Apache Kafka, которая переходит в бразды правления IBM
🔸 Релиз Go Rate Limiter 0.3 — возвращение в разработку после паузы в пару лет с более эффективной внутренней реализацией и без каких-либо внешних изменений
#news
❤10👍10
Как написать модель базы данных: разбор пяти различных подходов для Go-разработчика
✔️Стандартную библиотеку
✔️Struct mapper
✔️SQL builder на примере squirrel
✔️sqlc
✔️ORM
Читать
✔️Стандартную библиотеку
✔️Struct mapper
✔️SQL builder на примере squirrel
✔️sqlc
✔️ORM
Читать
👍18❤5
🔧 📩 pop — CLI-инструмент для отправки электронных писем из вашего терминала. Команда Charm имеют заслуженную репутацию разработчиков полезных инструментов и библиотек на базе Go, и pop, похоже, не является исключением.
Репозиторий
Репозиторий
GitHub
GitHub - charmbracelet/pop: Send emails from your terminal 📬
Send emails from your terminal 📬. Contribute to charmbracelet/pop development by creating an account on GitHub.
👍6❤5🔥1
⚡Десять лет назад Carl M. Johnson написал статью под названием “Go: The Good, the Bad, and the Meh”. Пришло время пересмотреть эту статью и разобраться, что по-прежнему остается верным, что изменилось, чего не хватало и что было (или превратилось в ошибку) неправильным.
Читать
Читать
blog.carlana.net
Ten Years of “Go: The Good, the Bad, and the Meh”
I wrote a blog post ten years ago. How do I feel about it now?
❤5👏2
Серия практических статей о том, как слайс работает под капотом, — что-то вроде материала Роба Пайка о слайсах в блоге Go.
1️⃣ Build your own slice: Arrays and slices
2️⃣ Build your own slice: Append and Copy
1️⃣ Build your own slice: Arrays and slices
2️⃣ Build your own slice: Append and Copy
❤6👍2
Вышла третья часть в серии статей «Безопасность цепочки поставок» о конкретных методах, с помощью которых Go помогает вам доверять целостности используемых пакетов.
Вы узнаете о двух функциях, представляющих особый интерес для безопасности цепочки поставок: расширение Go для Visual Studio Code и встроенное фаззинг-тестирование.
#security
Вы узнаете о двух функциях, представляющих особый интерес для безопасности цепочки поставок: расширение Go для Visual Studio Code и встроенное фаззинг-тестирование.
#security
Telegram
Библиотека Go разработчика | Golang
Безопасность цепочки поставок: серия статей Go-разработчика
Go меняет ландшафт безопасности цепочки поставок, исправляя основу — сам язык. От раннего внедрения OSV до обширной информации о пакетах, курируемой информации об уязвимостях. Одним словом, Go подает…
Go меняет ландшафт безопасности цепочки поставок, исправляя основу — сам язык. От раннего внедрения OSV до обширной информации о пакетах, курируемой информации об уязвимостях. Одним словом, Go подает…
❤7👏2
Эксперимент ccgo/v4: пробуем runtime.Pinner
В Go 1.21 пакет runtime включает новый тип Pinner, который можно использовать для освобождения объектов Go сборщиком мусора. Автор ccgo уже интегрировал Pinner в инструмент, а в статье он оценивает возможное влияние новой фичи на производительность👇
Читать
В Go 1.21 пакет runtime включает новый тип Pinner, который можно использовать для освобождения объектов Go сборщиком мусора. Автор ccgo уже интегрировал Pinner в инструмент, а в статье он оценивает возможное влияние новой фичи на производительность👇
Читать
Blogspot
ccgo/v4 experiment: Trying the new runtime.Pinner
tl;dr: Looking forward future Pinner.Pin performance improvements. The upcoming Go version 1.21, scheduled for release next month, is curre...
❤8🤔3👍1
Тип приложения, который вы/ваша команда сейчас пишете? Можно выбрать несколько вариантов👇
Anonymous Poll
12%
Системные инструменты и утилиты
57%
Бэкенд веб-разработка
44%
Распределенные системы и микросервисы
12%
DevOps, сетевые инструменты и облачные сервисы
1%
Напишу свой вариант
16%
Посмотреть результаты
📌 Подборка для Go-разработчика:
🤔 Proposal: Let's Make Go's HTTP Request Multiplexer Better.
🔸 Релиз ff 3.4: пакет «flags-first» для конфигурации.
🔸 Релиз go-sse 0.6: облегченная, полностью соответствующая спецификациям HTML5 библиотека server-sent events.
🔸 Релиз pdfcpu 0.4.2: библиотека для обработки PDF, написанная на Go и поддерживающая шифрование.
🔸 Релиз go-git 5.8: расширяемая реализация Git на чистом Go.
🔸 Релиз GoToSocial 0.10.0: сервер социальной сети ActivityPub, написанный на Go.
🔸 Релиз Fiber 2.48.0: веб-фреймворк, вдохновленный Express и построенный на основе Fasthttp.
🔸 Релиз Micro 4.3.0: платформа для облачной разработки.
🔸 Релиз Dive 0.11: инструмент для изучения Docker-образа, содержимого слоев и поиска способов уменьшения размер образа Docker/OCI.
#news
🤔 Proposal: Let's Make Go's HTTP Request Multiplexer Better.
🔸 Релиз ff 3.4: пакет «flags-first» для конфигурации.
🔸 Релиз go-sse 0.6: облегченная, полностью соответствующая спецификациям HTML5 библиотека server-sent events.
🔸 Релиз pdfcpu 0.4.2: библиотека для обработки PDF, написанная на Go и поддерживающая шифрование.
🔸 Релиз go-git 5.8: расширяемая реализация Git на чистом Go.
🔸 Релиз GoToSocial 0.10.0: сервер социальной сети ActivityPub, написанный на Go.
🔸 Релиз Fiber 2.48.0: веб-фреймворк, вдохновленный Express и построенный на основе Fasthttp.
🔸 Релиз Micro 4.3.0: платформа для облачной разработки.
🔸 Релиз Dive 0.11: инструмент для изучения Docker-образа, содержимого слоев и поиска способов уменьшения размер образа Docker/OCI.
#news
👍10
Размер типа структуры без полей ненулевого размера равен нулю. Размер типа массива, длина которого равна нулю или размер элемента которого равен нулю, также равен нулю. Это можно доказать с помощью примера выше.
В Go размеры часто обозначаются как значения int. Это означает, что максимально возможная длина массива равна MaxInt, значение которой равно 2^63-1 в 64-битных ОС. Однако длина массивов с ненулевыми размерами элементов жестко ограничена стандартным компилятором Go и рантаймом.
📌 Например👇
#tip #go #beginner
В Go размеры часто обозначаются как значения int. Это означает, что максимально возможная длина массива равна MaxInt, значение которой равно 2^63-1 в 64-битных ОС. Однако длина массивов с ненулевыми размерами элементов жестко ограничена стандартным компилятором Go и рантаймом.
📌 Например👇
var x [1<<63-1]struct{} // okay
var y [2000000000+1]byte // compilation error
var z = make([]byte, 1<<49) // panic: runtime error: makeslice: len out of range
#tip #go #beginner
👍13