Тип приложения, который вы/ваша команда сейчас пишете? Можно выбрать несколько вариантов👇
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
Пересмотр встраивания для Go 1.22
Встраивание (inlining) — концепция замены вызова функции в программе содержимым самой функции, что позволяет устранить дополнительные накладные расходы. Встраивание в Go улучшилось с годами, но политика в отношении того, когда и что встраивать, немного устарела.
💡Идея представленного документа состоит в том, чтобы реализовать различные настройки, которые, по словам автора, могут привести к «значительному повышению производительности приложений Go».
Встраивание (inlining) — концепция замены вызова функции в программе содержимым самой функции, что позволяет устранить дополнительные накладные расходы. Встраивание в Go улучшилось с годами, но политика в отношении того, когда и что встраивать, немного устарела.
💡Идея представленного документа состоит в том, чтобы реализовать различные настройки, которые, по словам автора, могут привести к «значительному повышению производительности приложений Go».
Google Docs
Go 1.22 inlining overhaul
Go 1.22 inlining overhaul , with contributions from , , , and Last update: The Go compiler’s inliner has never been particularly good. It wasn’t until Go 1.12, released in 2019, that the Go compiler supported inlining more than leaf functions, and we’ve…
👍7🔥2❤1
Пошаговый гайд по созданию CLI-инструмента на Go с использованием Cobra
Вы напишете простой CLI-инструмент, который шифрует/дешифрует сообщения с использованием шифров Цезаря и Бэкона. Не обошлось и без мини-рекламы: для отправки SMS в CLI-инструменте используется Twilio SMS API.
Читать
Вы напишете простой CLI-инструмент, который шифрует/дешифрует сообщения с использованием шифров Цезаря и Бэкона. Не обошлось и без мини-рекламы: для отправки SMS в CLI-инструменте используется Twilio SMS API.
Читать
Twilio
Use Cobra to Build Go-Powered CLIs
In this tutorial, you will learn how to use Cobra to build a CLI application in Go that encrypts and decrypts text based on a specified cipher.
👍14
⚡ Proposal: spec: add range over int, range over func
На прошлой неделе было опубликовано крупное предложение по изменению языка Go и есть большая вероятность, что это изменение войдет в будущий выпуск Go. Eli Bendersky рассказывает о мотивах предложения, о том, как оно будет работать, и приводит несколько примеров того, как будет выглядеть код Go, использующий его👇
Читать
#news
На прошлой неделе было опубликовано крупное предложение по изменению языка Go и есть большая вероятность, что это изменение войдет в будущий выпуск Go. Eli Bendersky рассказывает о мотивах предложения, о том, как оно будет работать, и приводит несколько примеров того, как будет выглядеть код Go, использующий его👇
Читать
#news
GitHub
spec: add range over int, range over func · Issue #61405 · golang/go
Following discussion on #56413, I propose to add two new types that a for-range statement can range over: integers and functions. In the spec, the table that begins the section would have a few mor...
🔥7👍4🌚3❤1🤔1
💭 В комментариях новички часто спрашивают про ресурсы/книги для начинающего Go-разработчика. Давайте саккумулируем в комментариях свой опыт и поделимся источниками, с которых эффективнее всего начать изучение👇
Или нет ничего лучше go.dev и Go tour?
#холивар
Или нет ничего лучше go.dev и Go tour?
#холивар
go.dev
Documentation - The Go Programming Language
🔥6👍2
🚀 Знакомство с кэшем ЦП: свежий гайд по Go от команды Ardan Labs
Понимание того, как сделать ваш код дружественным к кэшу, может привести к значительному повышению производительности, но убедитесь, что вы понимаете связанные с этим риски и компромиссы.
Читать
Понимание того, как сделать ваш код дружественным к кэшу, может привести к значительному повышению производительности, но убедитесь, что вы понимаете связанные с этим риски и компромиссы.
Читать
👍16🔥4🤔1
Есть что добавить? Ждем в комментариях
🎙 Радио-Т: разговоры на темы хайтек, высоких компьютерных технологий, гаджетов, облаков, программирования и прочего интересного из мира ИТ. Часто обсуждают и Go и его инструменты.
🎙 Go Get Podcast от Николая Тузова и интересных гостей: про Go и всё, что с ним связано.
🎙 Подлодка: аудио-шоу про IT и всё, что с ним связано. Выпуск про Go.
🎙 Go`ne Gamedev: подкаст о разработке игр на Go. Пока все остановилось на одном выпуске.
🎙 Go Time: ваш источник разнообразных дискуссий в сообществе Go. Один из лучших подкастов по Go.
🎙 go podcast(): 15-минутные выпуски новостей, советов и рекомендаций по Go.
🎙 Backend Banter: интервью с инженерами, в которых делается упор на Go, Python и SQL
🎙 Cup o' Go: будьте в курсе событий сообщества Go всего за 15 минут в неделю.
🎙 Ardan Labs Podcast: увлекательные интервью с топовыми инженерами.
🎙 Friday Afternoon Deploy: A Developer Podcast: бескомпромиссное шоу о культуре и хаосе разработки программного обеспечения от создателей и разработчиков цифровых продуктов в Lofty Labs.
#podcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5
Егор Гартман, бэкенд-инженер в Авито, тестирует несколько библиотек Deep Copy, а потом делает свою, более быструю и эффективную.
🔹 github.com/mohae/deepcopy,
🔹 github.com/barkimedes/go-deepcopy,
🔹 github.com/jinzhu/copier,
🔹 json marshal > unmarshal,
🔹 msgpack marshal -> unmarshal.
Читать
🔹 github.com/mohae/deepcopy,
🔹 github.com/barkimedes/go-deepcopy,
🔹 github.com/jinzhu/copier,
🔹 json marshal > unmarshal,
🔹 msgpack marshal -> unmarshal.
Читать
🔥11💯3❤2
Кто еще не подписан на наш главный канал — очень рекомендуем!
В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎
Вот вам топ недавних постов:
🔍про коммиты в ветках Git
🔍новость о создании сверхразумного ИИ
🔍подборка инфографик на фундаментальные темы
🔍дайджест нейросетей для разработки
👉Подписаться👈
В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎
Вот вам топ недавних постов:
🔍про коммиты в ветках Git
🔍новость о создании сверхразумного ИИ
🔍подборка инфографик на фундаментальные темы
🔍дайджест нейросетей для разработки
👉Подписаться👈
❤3👍1
Обзор архитектурного линтера go-arch-lint для Go-разработчика
📌 Go-arch-lint состоит из 3 частей:
1️⃣ Component — абстракция над package (пакетом). Один компонент включает в себя один или более пакетов.
2️⃣ Dependency — зависимость. Они бывают двух видов: явные и неявные.
Явные зависимости — это import в файле с описанием конкретной зависимости от другого пакета.
Неявные — это передача методов или структур с методами через интерфейсы, каналы и прочие способы
3️⃣ Dependency tree — граф отношений между компонентами (кому и от кого можно зависеть).
📌 Принцип работы линтера:
🔸размечает весь код на компоненты;
🔸находит все зависимости между компонентами;
🔸строит граф зависимостей;
🔸сравнивает актуальный и желаемый граф зависимостей;
🔸если мы получили непустой DIFF — значит, есть проблемы.
📌 Go-arch-lint состоит из 3 частей:
1️⃣ Component — абстракция над package (пакетом). Один компонент включает в себя один или более пакетов.
2️⃣ Dependency — зависимость. Они бывают двух видов: явные и неявные.
Явные зависимости — это import в файле с описанием конкретной зависимости от другого пакета.
Неявные — это передача методов или структур с методами через интерфейсы, каналы и прочие способы
3️⃣ Dependency tree — граф отношений между компонентами (кому и от кого можно зависеть).
📌 Принцип работы линтера:
🔸размечает весь код на компоненты;
🔸находит все зависимости между компонентами;
🔸строит граф зависимостей;
🔸сравнивает актуальный и желаемый граф зависимостей;
🔸если мы получили непустой DIFF — значит, есть проблемы.
👍18🤔3❤1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📖 ТОП-10 книг, без которых не обойтись ни одному программисту
Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.
🔗 Основной сайт
🔗 Зеркало
Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.
🔗 Основной сайт
🔗 Зеркало
👍17❤6🥱6🔥3