cookie

Ми використовуємо файли cookie для покращення вашого досвіду перегляду. Натиснувши «Прийняти все», ви погоджуєтеся на використання файлів cookie.

avatar

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

Все самое полезное для Go-разработчика в одном канале. Список наших каналов: https://t.me/proglibrary/8353 Учиться у нас: https://proglib.io/w/907158ab Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising

Більше
Рекламні дописи
18 812
Підписники
+824 години
+737 днів
+46130 днів
Час активного постингу

Триває завантаження даних...

Find out who reads your channel

This graph will show you who besides your subscribers reads your channel and learn about other sources of traffic.
Views Sources
Аналітика публікацій
ДописиПерегляди
Поширення
Динаміка переглядів
01
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала. 🔗 Читать статью 🔗 Зеркало
1 87780Loading...
02
Как обрабатывать ошибки в Go: свежий гайд от JetBrains Из гайда вы узнаете, как обрабатывать ошибки в Go на практических примерах: ☑️ Введение ☑️ Предварительные условия ☑️ Популярные методы обработки ошибок в Go ☑️ Лучшие практики обработки ошибок в Go ☑️ Обработка определенных типов ошибок ☑️ Распространенные ошибки, которых следует избегать при обработке ошибок в Go
3 003164Loading...
03
👩‍💻 Domain Driven Design в Go — это почти не больно Как выглядят паттерны DDD в большом проекте? А самое главное, стоит ли их вообще использовать? Илья Сергунин, backend-разработчик в Авито, разбирается, какими инструментами можно реализовать DDD на Go и оценивает, насколько это больно. В статье он объясняет, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go. 👉 Читать
3 604188Loading...
04
🚀 ОСНОВЫ GRPC В GO      📆 1 июня в 18:00 по МСК пройдет бесплатный открытый урок по Микросервисам, как в BIGTECH от Леонида Ченского (Team Lead из Ozon и ex-декан Route256)     На открытом уроке:   - детально изучишь внутреннее устройство gRPC;   - узнаешь основные преимущества gRPC по сравнению с другими протоколами передачи данных;   - освоишь инструменты кодогенерации для gRPC – protoc, protogen-go-*, buf;   - научишься реализовывать unary и stream методы сервера на Go;   - задашь интересующие вопросы TeamLead'у из Ozon.     Регистрация по ссылке
3 32740Loading...
05
💸📊 На сколько просели зарплаты в ИТ в 2024 году? Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас. 🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей. 👉 Остальные данные — в статье 👉 Зеркало
3 47714Loading...
06
👩‍💻 От и Go: доклады для гоферов про инструменты для фаззинга, kuber-кластер на Go и не только Подборка презентаций с инструкциями по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали на собственных продуктах. Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях. 🔹 Внедряем фаззинг: какой инструмент вам подойдет / Иван Золотников, инженер в YADRO 🔹 Создаем замену buf: сеанс реверс-инжиниринга / Эдгар Сипки, разработчик в Ozon Fintech, и Василий Близнецов, разработчик в Positive Technologies 🔹 Доступно о паттернах, умных обработчиках и красивой синхронизации в Go / Олег Козырев, старший инженер в AvitoTech 🔹 Учим сервис сообщать понятно об ошибке пользователям, программистам и машинам / Александр Лырчиков, разработчик в команде систем хранения данных в YADRO  🔹 Пишем свой mini-k8s на Go с helm-шаблонизатором / Станислав Иванкевич, старший программист в команде разработки DataMasters в VK Tech 🔹 Снижаем нагрузку на Garbage Collector и ускоряем работу с памятью, используя sync.Pool / Александр Иванов, тимлид в команде телекома в YADRO 
3 842124Loading...
07
💬 Разрабы, какую музыку вы предпочитаете слушать во время работы? 👍 — энергичная и мотивирующая музыка (рок, поп, электронная) 🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки) ❤️ — предпочитаю работать в тишине #холивар
4 0296Loading...
08
🧰 Реализация MVCC и основных уровней изоляции транзакций SQL Гайд по разработке базы данных из 400 строк кода с базовой поддержкой пяти стандартных уровней транзакций SQL: read uncommitted, read committed, repeatable read, snapshot isolation и serializable. Автор использует multi-version concurrency control (MVCC) и optimistic concurrency control (OCC). 👉 Читать
4 094101Loading...
09
👨‍🎓️ 33 лучших вуза России для будущих программистов 2024-2025 Составили список из 33-х вузов, где вы научитесь думать как программист и получите фундаментальные знания в области математики, информатики, компьютерных наук и так далее. Для удобства вузы отсортированы по среднему проходному баллу ЕГЭ: от наибольшего к наименьшему. 🔗 Читать статью 🔗 Зеркало
4 04921Loading...
10
🚀 Повышение производительности Go-приложений с помощью PGO Профилируя Go-приложения во время выполнения, Go-компилятор может принимать более эффективные решения по оптимизации в последующих сборках, что приводит к существенному повышению производительности процессора. Узнайте подробнее из доклада Cameron Balahan, Michael Pratt и James Ma на Google I/O 2024, как работает PGO и как вы можете использовать ее для улучшения (и измерения) производительности своих приложений в Google Cloud и за его пределами. 📺 Смотреть
4 64272Loading...
11
Не возвращайте err в Go. Вместо этого добавьте недостающие сведения, необходимые для отладки. Некоторые разрабы любят жаловаться, что в Go приходится писать множество блоков if err != nil { return err }. Они не понимают, как работают ошибки в Go. Дело в том, что на самом деле то, на что они жалуются, является совершенно неправильным способом обработки ошибок в Go: возврат err напрямую — это антипаттерн. В статье автор показывает, что он имеет в виду, на примере кода: библиотеки для настройки mTLS-соединения. 👉 Читать
5 831185Loading...
12
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии Инженер ПО рассказал нам о своих выходных на хакатоне в Кельне, где с командой пытался создать AI-стартап всего за два дня. Участники прошли путь от подачи идей в пятницу вечером до демонстрации работающего приложения к воскресенью. В качестве бонуса автор привёл список основных пунктов, которые необходимо выполнить для создания стартапа. 🔗 Читать статью 🔗 Зеркало
4 54818Loading...
13
🖼 Визуализация покрытия кода Go в виде древовидной карты Интересный способ визуализировать большие проекты с помощью результатов go test -coverprofile. $ go install github.com/nikolaydubina/go-cover-treemap@latest $ go test -coverprofile cover.out ./... $ go-cover-treemap -coverprofile cover.out > out.svg 👩‍💻 GitHub
4 925142Loading...
14
Доклады были опубликованы уже месяц назад, но лучше поздно, чем никогда 👇 🌐 Как стать сеньором / Василий Романов (VK, Облако Mail ru) 🌐 Domain Driven Design в Go — это не больно (почти) / Илья Сергунин (Авито) 🌐 Go в Domain Driven Design / Дмитрий Анисов (GS Labs) 🌐 Как научить сервис сообщать об ошибке, чтобы это было понятно пользователям, машинам / Александр Лырчиков (YADRO) 🌐 Работа с аренами — почти избавляемся от GC / Максим Горозий (Тинькофф) 🌐 Собеседования на senior-разработчика: проверяем soft skills вопросами на hard skills / Иван Матвеев 🌐 Потоки данных, графы, стейт-машина — строим бизнес-логику в Go-микросервисах / Апрес Антонян 🌐 Выжимаем из Go максимум производительности / Никита Галушко (VK, ВКонтакте) 👉 Весь плейлист #чтопроисходит
4 950235Loading...
15
👩‍💻 Популярные ошибки в Go и как их избежать Go известен своей лаконичностью и простотой синтаксиса, но даже в нём есть множество подводных камней, с которыми можно столкнуться в работе. Дмитрий Королёв, бэкенд-разработчик в Авито, разбирает распространённые ошибки с примерами и рассказывает, как их можно избежать. 👉 Читать
4 79489Loading...
16
🕹️🔥 Интерактивное исследование распространенных стратегий организации очередей Перед вами мини-исследование, в котором изучается организация очередей в контексте HTTP-запросов. Автор начинает с простых концепций и постепенно разбирается с более сложными очередями. 📌 Под катом: ☑️ Чем полезны очереди ☑️ 3 разных типа очереди ☑️ Как эти 3 очереди сравниваются друг с другом ☑️ 1 дополнительная стратегия организации очередей, которую вы можете применить к очередям любого типа, чтобы не отбрасывать приоритетные запросы
4 821104Loading...
17
☝️Схема типичного стартапа ☝️ 💬 Есть здесь те, кто работает в стартапе? Что скажете? #холивар
4 76838Loading...
18
Проведите лето с Яндекс Практикумом и вернитесь на работу с новыми скилами. До конца июня вы можете получить дополнительный курс по цене одного. ◾️ Выберите любой курс для специалистов с опытом и оплатите его до 30.06. ◾️ Получите курс «Навыки рабочей коммуникации» в подарок. ◾️ Изучите новые навыки, которые помогут вам вырасти в карьере. — Выбрать курс #партнерский_пост
3 6397Loading...
19
🧬 Мысли об использовании Go для биоинформатики Биоинформатик и инженер по обработке данных размышляет об использовании различных языков для научной работы, уделяя особое внимание Go и Rust, Python, Crystal, Julia и Zig. У Go много плюсов, но, по его мнению, он не прорвался в биоинформатику в крупных масштабах, хотя за пределами этой области у него был феноменальный рост? Любопытно, что автор оценивает количество строк для работы с файлами и вообще сложность этой операции с точки зрения среднестатистического программиста. На основании этого делает выводы, сравнивая с языком D и его четырьмя строками. 💬 Как вам такой подход?
4 52318Loading...
20
3️⃣ defer как инициализация В 4-м примере main вызывает mysteriousDefer() как отложенную функцию, поэтому все, что напечатает mysteriousDefer(), должно быть напечатано после того, как main выполнит свои выводы. Однако если вы запустите этот код, вы получите следующий вывод: f runs main runs func returned by f runs Почему это антипаттерн Этот «хитрый трюк» позволяет объединить инициализацию и очистку в одной функции. Вы заметили двойные скобки в вызове defer? defer mysteriousDefer()() Обычно вы бы вызвали отложенную функцию так: defer mysteriousDefer() Вторые скобки вызывают mysteriousDefer() перед тем, как она будет оценена директивой defer. Затем mysteriousDefer() печатает свое сообщение и возвращает другую функцию, которая является фактической функцией, отложенной defer. Этот запутанный набор трудно понять, а двойная пара скобок легко может быть пропущена при беглом ревью кода. Что плохого в написании функции инициализации и функции очистки отдельно?
5 32953Loading...
21
👩‍💻 3 антипаттерна в Go Попытка написать «умный» код всегда оборачивается проблемами, когда другим разработчикам приходится его поддерживать (где «другие» включают вас самих через четыре недели). 1️⃣ Точечный импорт Точечный импорт позволяет импортировать пакет и использовать его экспортируемые идентификаторы без префикса имени пакета. Например, если вы импортируете fmt через ., вы можете вызвать Println() и другие функции без префикса fmt.. Почему это антипаттерн? Экспортируемые идентификаторы из этого пакета выглядят так, как будто они определены в текущем пакете. Это плохо по двум причинам: 1. Это запутывает, когда ищешь определение идентификатора в текущем пакете. 2. Некоторые пакеты имеют заменители, которые экспортируют те же идентификаторы. Если эти пакеты импортируются через точечный импорт, можно подумать, что идентификаторы принадлежат оригинальному пакету, хотя на самом деле они принадлежат заменителю. 2️⃣ Цепочки методов Если метод обновляет свой приемник и ничего не может пойти не так при этом обновлении, метод не должен ничего возвращать. Несколько таких методов можно вызывать один за другим (пример #2). Для объединения методов в цепочку нужно, чтобы каждый метод возвращал свой приемник. Тогда мы можем вызывать второй метод как в 3-м примере. Ура, мы сэкономили одну строку! Почему это антипаттерн Три причины: 1. Мы ничего не приобрели. Цепочки методов не дают нам ничего, чего у нас уже нет. 2. Методы в цепочке не могут возвращать ошибки. Если есть ошибки, нужно вернуться к обычному паттерну. Теперь у вас в коде два разных стиля: цепочки и обычный. 3. Код на Go предпочитает, чтобы чтение кода фокусировалось на левой стороне. Это означает короткие строки и мало уровней вложенности (в идеале только один). Цепочки методов могут легко пересекать весь экран и даже вызвать разрыв строки, что делает код трудночитаемым и некрасивым. 👇 Продолжение 👇
5 47263Loading...
22
👩‍💻 Generic concurrency в Go: исследование совместного использования дженериков и горутин для создания полезных паттернов конкурентной обработки Автор затронул тему маппинга коллекций (множеств, последовательностей) элементов. Маппинг — это процесс, который приводит к новой коллекции элементов, где каждый элемент является результатом вызова некоторой функции f() с соответствующим элементом из исходной коллекции. 👉 Читать
4 724110Loading...
23
💬 А как в вашем проекте накатываются изменения в основную ветку? 👍 — создаю pull request и жду его одобрения перед мержем 🔥 — мержу изменения напрямую в основную ветку ❤️ — прохожу через код-ревью перед мержем 🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов 👾 — свой вариант (напишу в комментариях) #холивар
4 8965Loading...
24
💬 А как в вашем проекте накатываются изменения в основную ветку? 👍 — создаю pull request и жду его одобрения перед мержем 🔥 — мержу изменения напрямую в основную ветку ❤️ — прохожу через код-ревью перед мержем 🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов 👾 — свой вариант (напишу в комментариях) #холивар
10Loading...
25
🤠 Анализ Go-бинарей с использованием gftrace: райтап одной из машин с известной площадки Hack The Box Вы научитесь работать с инструментом gftrace, который позволяет отслеживать вызовы системных функций и их параметры в Windows. Автор показывает, как с помощью gftrace можно анализировать поведение бинарного файла, отслеживая такие операции, как создание файлов, чтение данных, создание сокетов и выполнение процессов. 👉 Читать
4 96557Loading...
26
⚡️Proglib запускает канал про ИИ для генерации звука Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками. ⭐️генерация голоса и музыки ⭐️замена и перевод речи ⭐️распознавание звуков 👉Подписывайтесь!
4 9763Loading...
27
Стать бэкендером в Яндексе за выходные 8–9 июня устраиваем Weekend Offer Backend: всего за 2 дня можно пройти технические секции и попасть в Яндекс. Для этого нужно зарегистрироваться и решить несколько задач в Контесте. Вы сможете выбрать одну из команд: Crowd, Ecom-сценарии, Поиск, Алиса, Автономные автомобили и Большие данные. Можно пообщаться с нанимающими менеджерами и выбрать самый интересный проект. Если всё пройдёт хорошо, сразу же получите офер. Нанимаем в офисы России и Республики Беларусь. Узнать подробности и зарегистрироваться можно здесь.
3 96719Loading...
28
👩‍💻 Как сделать README вашего GitHub-профиля динамическим Здесь, увы, нет Go, но есть аккуратная демонстрация того, как не так уж сложно придать вашему GitHub-профилю дополнительную изюминку, добавив сообщения в блоге или другую информацию. 👉 Читать
5 593151Loading...
29
🗺️ Дорожная карта по проектированию API Пошаговое руководство, которое поможет вам научиться проектировать и создавать надежные API. 👉 Скачать оригинал (PDF-файл в комментариях)
4 473190Loading...
Фото недоступнеДивитись в Telegram
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала. 🔗 Читать статью 🔗 Зеркало
Показати все...
😁 14👍 10🥰 9
Как обрабатывать ошибки в Go: свежий гайд от JetBrains Из гайда вы узнаете, как обрабатывать ошибки в Go на практических примерах: ☑️ Введение ☑️ Предварительные условия ☑️ Популярные методы обработки ошибок в Go ☑️ Лучшие практики обработки ошибок в Go ☑️ Обработка определенных типов ошибок ☑️ Распространенные ошибки, которых следует избегать при обработке ошибок в Go
Показати все...
How to Handle Errors in Go

Errors No More - Keep Your Go Code Pure

👏 12👍 2👾 1
Фото недоступнеДивитись в Telegram
👩‍💻 Domain Driven Design в Go — это почти не больно Как выглядят паттерны DDD в большом проекте? А самое главное, стоит ли их вообще использовать? Илья Сергунин, backend-разработчик в Авито, разбирается, какими инструментами можно реализовать DDD на Go и оценивает, насколько это больно. В статье он объясняет, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go. 👉 Читать
Показати все...
👍 13
Фото недоступнеДивитись в Telegram
🚀 ОСНОВЫ GRPC В GO      📆 1 июня в 18:00 по МСК пройдет бесплатный открытый урок по Микросервисам, как в BIGTECH от Леонида Ченского (Team Lead из Ozon и ex-декан Route256)     На открытом уроке:   - детально изучишь внутреннее устройство gRPC;   - узнаешь основные преимущества gRPC по сравнению с другими протоколами передачи данных;   - освоишь инструменты кодогенерации для gRPC – protoc, protogen-go-*, buf;   - научишься реализовывать unary и stream методы сервера на Go;   - задашь интересующие вопросы TeamLead'у из Ozon.     Регистрация по ссылке
Показати все...
👍 5🌚 1
Фото недоступнеДивитись в Telegram
💸📊 На сколько просели зарплаты в ИТ в 2024 году? Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас. 🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей. 👉 Остальные данные — в статье 👉 Зеркало
Показати все...
1
Фото недоступнеДивитись в Telegram
👩‍💻 От и Go: доклады для гоферов про инструменты для фаззинга, kuber-кластер на Go и не только Подборка презентаций с инструкциями по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали на собственных продуктах. Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях. 🔹 Внедряем фаззинг: какой инструмент вам подойдет / Иван Золотников, инженер в YADRO 🔹 Создаем замену buf: сеанс реверс-инжиниринга / Эдгар Сипки, разработчик в Ozon Fintech, и Василий Близнецов, разработчик в Positive Technologies 🔹 Доступно о паттернах, умных обработчиках и красивой синхронизации в Go / Олег Козырев, старший инженер в AvitoTech 🔹 Учим сервис сообщать понятно об ошибке пользователям, программистам и машинам / Александр Лырчиков, разработчик в команде систем хранения данных в YADRO  🔹 Пишем свой mini-k8s на Go с helm-шаблонизатором / Станислав Иванкевич, старший программист в команде разработки DataMasters в VK Tech 🔹 Снижаем нагрузку на Garbage Collector и ускоряем работу с памятью, используя sync.Pool / Александр Иванов, тимлид в команде телекома в YADRO 
Показати все...
🔥 7
Фото недоступнеДивитись в Telegram
💬 Разрабы, какую музыку вы предпочитаете слушать во время работы? 👍 — энергичная и мотивирующая музыка (рок, поп, электронная) 🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки) ❤️ — предпочитаю работать в тишине #холивар
Показати все...
👍 111 79🔥 58 3🌚 1
Фото недоступнеДивитись в Telegram
🧰 Реализация MVCC и основных уровней изоляции транзакций SQL Гайд по разработке базы данных из 400 строк кода с базовой поддержкой пяти стандартных уровней транзакций SQL: read uncommitted, read committed, repeatable read, snapshot isolation и serializable. Автор использует multi-version concurrency control (MVCC) и optimistic concurrency control (OCC). 👉 Читать
Показати все...
🎉 14🔥 2👍 1
👨‍🎓️ 33 лучших вуза России для будущих программистов 2024-2025 Составили список из 33-х вузов, где вы научитесь думать как программист и получите фундаментальные знания в области математики, информатики, компьютерных наук и так далее. Для удобства вузы отсортированы по среднему проходному баллу ЕГЭ: от наибольшего к наименьшему. 🔗 Читать статью 🔗 Зеркало
Показати все...
🥱 12😁 6👍 5
Фото недоступнеДивитись в Telegram
🚀 Повышение производительности Go-приложений с помощью PGO Профилируя Go-приложения во время выполнения, Go-компилятор может принимать более эффективные решения по оптимизации в последующих сборках, что приводит к существенному повышению производительности процессора. Узнайте подробнее из доклада Cameron Balahan, Michael Pratt и James Ma на Google I/O 2024, как работает PGO и как вы можете использовать ее для улучшения (и измерения) производительности своих приложений в Google Cloud и за его пределами. 📺 Смотреть
Показати все...
🔥 8👍 1