Обложка канала

Библиотека Go разработчика. Страница 2

8531 @goproglib

Полезные материалы по всему, что может быть полезно разработчику на Go.

  • Библиотека Go разработчика

    Мы можем использовать цикл for-range для моделирования циклов for i in 0..N в некоторых других языках, как показано на примере выше. Шаги первых двух циклов должны быть известны во время компиляции, тогда как у последнего нет этого требования. Но последний выделяет чуть больше памяти (в стеке, под заголовок слайса). #tip #go #beginner
  • Библиотека Go разработчика

    🚀 Быстрое введение в указатели от автора книги Let's Go Алекса Эдвардса: на заметку Go-разработчику. Читать
  • Библиотека Go разработчика

    📖 ТОП-10 книг, без которых не обойтись ни одному программисту Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы. 🔗 Основной сайт 🔗 Зеркало
  • Реклама

  • Библиотека Go разработчика

    Обзор архитектурного линтера go-arch-lint для Go-разработчика 📌 Go-arch-lint состоит из 3 частей: 1️⃣ Component — абстракция над package (пакетом). Один компонент включает в себя один или более пакетов. 2️⃣ Dependency — зависимость. Они бывают двух видов: явные и неявные. Явные зависимости — это import в файле с описанием конкретной зависимости от другого пакета. Неявные — это передача методов или структур с методами через интерфейсы, каналы и прочие способы 3️⃣ Dependency tree — граф отношений между компонентами (кому и от кого можно зависеть). 📌 Принцип работы линтера: 🔸размечает весь код на компоненты; 🔸находит все зависимости между компонентами; 🔸строит граф зависимостей; 🔸сравнивает актуальный и желаемый граф зависимостей; 🔸если мы получили непустой DIFF — значит, есть проблемы.
  • Библиотека Go разработчика

    Кто еще не подписан на наш главный канал — очень рекомендуем! В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎 Вот вам топ недавних постов: 🔍про коммиты в ветках Git 🔍новость о создании сверхразумного ИИ 🔍подборка инфографик на фундаментальные темы 🔍дайджест нейросетей для разработки 👉Подписаться👈
  • Библиотека Go разработчика

  • Библиотека Go разработчика

    🎙 Ловите подборку подкастов на русском и английском Есть что добавить? Ждем в комментариях👇 🎙 Радио-Т: разговоры на темы хайтек, высоких компьютерных технологий, гаджетов, облаков, программирования и прочего интересного из мира ИТ. Часто обсуждают и 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
  • Библиотека Go разработчика

    🚀 Знакомство с кэшем ЦП: свежий гайд по Go от команды Ardan Labs Понимание того, как сделать ваш код дружественным к кэшу, может привести к значительному повышению производительности, но убедитесь, что вы понимаете связанные с этим риски и компромиссы. Читать
  • Библиотека Go разработчика

    💭 В комментариях новички часто спрашивают про ресурсы/книги для начинающего Go-разработчика. Давайте саккумулируем в комментариях свой опыт и поделимся источниками, с которых эффективнее всего начать изучение👇 Или нет ничего лучше go.dev и Go tour? #холивар
  • Библиотека Go разработчика

    Proposal: spec: add range over int, range over func На прошлой неделе было опубликовано крупное предложение по изменению языка Go и есть большая вероятность, что это изменение войдет в будущий выпуск Go. Eli Bendersky рассказывает о мотивах предложения, о том, как оно будет работать, и приводит несколько примеров того, как будет выглядеть код Go, использующий его👇 Читать #news
    proposal: 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...

    GitHub
  • Библиотека Go разработчика

    Пошаговый гайд по созданию CLI-инструмента на Go с использованием Cobra Вы напишете простой CLI-инструмент, который шифрует/дешифрует сообщения с использованием шифров Цезаря и Бэкона. Не обошлось и без мини-рекламы: для отправки SMS в CLI-инструменте используется Twilio SMS API. Читать
    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.

    Twilio Blog
  • Библиотека Go разработчика

    Пересмотр встраивания для Go 1.22 Встраивание (inlining) — концепция замены вызова функции в программе содержимым самой функции, что позволяет устранить дополнительные накладные расходы. Встраивание в Go улучшилось с годами, но политика в отношении того, когда и что встраивать, немного устарела. 💡Идея представленного документа состоит в том, чтобы реализовать различные настройки, которые, по словам автора, могут привести к «значительному повышению производительности приложений Go».
  • Библиотека Go разработчика

    Размер типа структуры без полей ненулевого размера равен нулю. Размер типа массива, длина которого равна нулю или размер элемента которого равен нулю, также равен нулю. Это можно доказать с помощью примера выше. В 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
  • Библиотека Go разработчика

    Старый пример, не дающий интернету покоя. Проверим, как у вас с математикой?
  • Библиотека Go разработчика

    📌 Подборка для 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
  • Реклама

  • Библиотека Go разработчика

    Senior Backend Developer Wanted Мы в Space307 разрабатываем международные торговые платформы. Сейчас мы готовим к запуску наш новый продукт — биржу, тесно интегрированную с AI. Мы находимся в поиске опытного коллеги — Backend Developer в команду проекта, который будет участвовать в разработке продуктовых решений и развитии проекта. Чем предстоит заниматься? — Разрабатывать и поддерживать go-сервисы команды. — Принимать участие в развитии общих инструментов компании. — Тюнить latency и observability, поддерживать sla на сервисы. — Предлагать архитектурные решения и участвовать в их обсуждениях. — Участвовать в планировании и приоритизации задач. — Брать ответственность за работоспособность сервисов и принимать участие в их эксплуатации. Мы ждём, что ты: — Знаешь Go и имеешь опыт работы с ним. — Владеешь базовым пониманием о масштабируемости и отказоустойчивости сервисов, ero zero downtime deployment и graceful shutdown. — Умеешь писать юнит и интеграционные тесты. — Хорошо знаешь MySQL (понимание индексов, умение писать сложные запросы, их профилирование и оптимизация). — Имеешь опыт работы с Redis, RabbitMQ, Kafka. Будет плюсом: — Опыт работы с Kubernetes. — Интерес к сферам web3, AI и нейросетями. Наш стек: Golang, Kubernetes, Kafka, Docker, Redis, MySQL, Prometheus, Grafana, ELK, Consul, RabbitMQ, GitLab Что тебя ждёт в Space307: — Комфорт и достойные условия: гибкий график, удалённая работа ворлдвайд и, конечно же, конкурентный уровень заработной платы. — Честность, прозрачность и отсутствие бюрократии. — Мероприятия на любой вкус: тренинги, семинары, конференции, лекции, мастер-классы. А также тимбилдинги и корпоративы, впечатляющие своим масштабом. — Хакатоны, марафоны, квесты и турниры: коллеги объединяются в команды, создают крутые идеи и проекты и получают за это не менее крутые призы. — Настоящая команда: здесь дают честный фидбэк, приходят на помощь и болеют за результат. 📍Откликнуться Это #партнерский пост
  • Библиотека Go разработчика

    Эксперимент ccgo/v4: пробуем runtime.Pinner В Go 1.21 пакет runtime включает новый тип Pinner, который можно использовать для освобождения объектов Go сборщиком мусора. Автор ccgo уже интегрировал Pinner в инструмент, а в статье он оценивает возможное влияние новой фичи на производительность👇 Читать
    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...

    Blogspot
  • Библиотека Go разработчика

    Вышла третья часть в серии статей «Безопасность цепочки поставок» о конкретных методах, с помощью которых Go помогает вам доверять целостности используемых пакетов. Вы узнаете о двух функциях, представляющих особый интерес для безопасности цепочки поставок: расширение Go для Visual Studio Code и встроенное фаззинг-тестирование. #security
    Библиотека Go разработчика | Golang

    Безопасность цепочки поставок: серия статей Go-разработчика Go меняет ландшафт безопасности цепочки поставок, исправляя основу — сам язык. От раннего внедрения OSV до обширной информации о пакетах, курируемой информации об уязвимостях. Одним словом, Go подает пример для экосистемы. ▫️Часть 1: управление уязвимостями ▫️Часть 2: скомпрометированные зависимости ▫️Часть 3: сдвиг влево

    Telegram