Библиотека Go-разработчика | Golang
23.2K subscribers
2.1K photos
42 videos
87 files
4.47K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
👨‍💻Мок-собеседование на позицию сеньор Go-разработчика

Даниил Подольский и Владимир Балун проводят собес сеньор Go-разработчика Антона Зиновьева. Вас ждут две части: общие вопросы и лайв-кодинг.

📺 Смотреть
👍21🔥64
🏃 Самоучитель по Go для начинающих. Часть 4. Переменные. Типы данных и их преобразования. Основные операторы.

В этом уроке мы изучим фундаментальные понятия в программировании: переменные, типы данных и операторы, а также научимся преобразовывать один тип данных в другой.

👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
🥱9👍5🔥2
До Нового года осталось 10 дней, и все традиционно подводят итоги. Пока мы с командой обсуждаем планы на 2024, захотели узнать, улучшилась ли ваша жизнь за 2023 год? Что в ней поменялось? А что осталось прежним?
Anonymous Poll
35%
Жизнь стала лучше (получил(-а) новую работу, переехал(-а))
13%
Это был тяжелый год (потерял(-а) работу, стал(-а) жить хуже)
14%
Ничего не поменялось, из года в год всё стабильно
24%
Я за этот год в своем познании несколько преисполнился(-ась)...
1%
Свой вариант (напишу в комментариях)
13%
Посмотреть результаты
👀 Ответьте на 3 вопроса, чтобы получить вводные занятия, познакомиться с преподавателями и форматом обучения, можно здесь – https://proglib.io/w/6ea6577e

Вас ждут:

1. Лекции «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов

2. Лекции «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ

3. Практические задания после лекций

4. Ссылки на дополнительные материалы для самостоятельного изучения

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/6ea6577e
😁2🥱21👍1
🔍Насколько легко «войти в айти»?

Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.

👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱15👏21🔥1
in-memory cache.pdf
277.8 KB
Реализация кэша в памяти на Go: подход Alex Edwards на основе дженериков

👉 Читать заметку
🥱15👏3
👩‍💻 У видеокурса по Go от FreeCodeCamp есть текстовая версия, в которой вас ждет 16 разделов для новичков и не только: от переменных, функций и структур до каналов, мьютексов и дженериков.

👀Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🥱81
Use Environment Variable in your next Golang Project.pdf
1.4 MB
Обзор нескольких юзкейсов переменных окружения в проекте на Go: os, godotenv и viper.

👉 Читайте на Medium или в PDF
👍5
💡Как тривиально проверить значения интерфейса на nil?

В Go новички часто сталкиваются с проблемой интерфейсных переменных, которым присваивается nil указатель. В таком случае, хотя значение в интерфейсе является nil, сама переменная интерфейса не равна nil.

Пример: создаем переменную x как указатель на int, который по умолчанию nil, и переменную y как пустой интерфейс, который тоже nil по умолчанию. После присваивания x переменной y, интерфейс y уже не является nil, хотя x все еще nil.


var x *int
var y any
y = x


📌 Что вернет y == nil?

Вернет false. Это потому, что интерфейс не просто представляет значение, которое ему присвоено, а действует как контейнер для этого значения.

Для проверки, является ли значение в интерфейсе nil, нужно использовать утверждение типа. Например, для проверки y на nil, используем:


y.(*int) == nil


Это показывает, что интерфейс y не nil, но содержащееся в нем значение — nil. Полный пример здесь.

#tip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍50💯3
🧰 Go-Architect — новый инструмент анализа архитектуры для Go-проектов. Главная цель — облегчить принятие решений, связанных с рефакторингом вашего кода и исправлением проблем. Подробнее читайте в статье-анонсе👇

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Preslav Rachev в свойственной себе манере критикует чрезмерное использование интерфейсов в Go, особенно в случаях, когда они преждевременно и излишне усложняют код.

Мол, это связано с классическим подходом к разработке, где приложения разделяются на слои (HTTP-обработчики, бизнес-логика, слой сохранения данных).

🤔 А как правильно?

Использовать маленькие, универсальные интерфейсы, как в стандартной библиотеке Go (`io.Reader`, io.Writer и т. д.), которые решают общие задачи и обеспечивают гибкость без излишней сложности. Другие интересные мысли и советы — под катом👇

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
💬 Чему бы вы хотели научиться? Поделитесь мыслями в комментариях👇

#холивар
👍6
Forwarded from Библиотека программиста | программирование, кодинг, разработка
CI/CD Workflow: упрощенный гайд от ByteByteGo (Alex Xu)

CI/CD — это методология, которая позволяет автоматизировать процесс разработки и доставки ПО в продакшн.

Будь вы разработчиком, специалистом по DevOps, тестировщиком или занимаетесь любой современной ролью в ИТ, CI/CD пайплайны стали неотъемлемой частью процесса разработки.

#инфографика
👍12🥱10🥰2🤔1
👩‍💻 Выход Go 1.22 запланирован на февраль 2024 года, но вы уже можете попробовать многие его фичи, не выходя из браузера.

🤩 Вас ждут много интерактивных примеров, основанных на примечаниях к выпуску новой версии.

👉 Ворваться
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉16🔥6👍31
This media is not supported in the widget
VIEW IN TELEGRAM
🔥10🥱421
🤩 На самом деле доклады только начали появляться. Поэтому это будет пополняемый пост с докладами на GolangConf 2023 в рамках Highload++ 2023.

🌐 Выжимаем из Go максимум производительности / Никита Галушко (VK)

В качестве аргумента на вопрос о применении упомянутого в докладе подхода на практике, Никита привел свой небольшой PR.

🌐 Менеджер транзакций в Go / Илья Сергунин (Авито)

Илья рассказал, как обычно устроен менеджер транзакций и почему его нельзя скопировать «в лоб» в Go из других языков.

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🙏4