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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики

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

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

👉 Читать статью
👉 Зеркало
😁20🔥3👏1
👩‍💻 Сгенерируйте своего гофера

🤖 Gopher-Verse — увлекательный проект от Creative Fabrica , который использует обученную модель для генеративного создания гоферов в стиле Go на основе ваших подсказок. Результаты неоднозначные, но забавные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏14😁1
🤩 Изучение исходников других проектов — отличный способ обучения для Go-разраба. Ловите один из интересных примеров с уклоном в веб-разработку👇

🧰 Househunt — полноценное веб-приложение на Go, изучив исходили которого вы найдете ответы на несколько важных вопросов:

☑️ Как структурировать проект и куда правильно раскидать файлы?
☑️ Как объединить разные пакеты?
☑️ Как писать модульные и интеграционные тесты?
☑️ .. и многие другие.

👉 Статья о предпосылках разработки проекта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🥱8🤔1
🙅‍♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись

Дискриминация в IT — серьезная проблема, с которой сталкиваются до 40% работников. Как распознать притеснения по возрасту, инвалидности или семейному положению и отстоять свои права?

👉 Читать статью
🥱18😁5🌚4👍2
🧰 xgo — инструмент, который добавляет функцию Trap и предоставляет такие инструменты, как Mock и Trace. Главная цель — помочь разработчикам писать юнит-тесты и отлаживать их проще и быстрее.

👉 Подробнее
👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2
👩‍💻 «Планировщик Go: имплементация языка с облегченной конкурентностью» — один из топовых докладов о планировщике Go от Дмитрия Вьюкова из Google.

Вы узнаете, как реализовано это волшебство: от работы основных компонентов и работы в целом до разбора конкретных аспектов, таких как блокировка обработки системных вызовов и реализация расширяемых стеков.

▶️ Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🧑‍💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»

Недавно мы провели опрос среди наших читателей, и сделали несколько интересных открытий, которые пригодятся всем, кто решил войти в ИТ в 2024 году.

👉 Читать результаты опроса
😁12🤔3
🔹 В объектно-ориентированных языках Проблема Ромба является известной ловушкой модели множественного наследования.

Что оно имеет общего с Go? Без наследования, не говоря уже о множественном наследовании, что может пойти не так?

В Go вполне возможно построить отношение зависимости в форме ромба через встраивание структур. Хотя встраивание структур не то же самое, что наследование, это также форма «продвижения» методов из встроенной во встраивающую структуру.

Если встроенная структура B имеет метод Foo(), встраивающая структура D может вызвать Foo() напрямую, вместо вызова B.Foo(). Если структура D встраивает B и C, которые оба определяют метод Foo() (который может опционально реализовывать интерфейс A), тогда у нас есть Проблема Ромба (пример).

К счастью, Go предотвращает нас от случайного вызова неправильного Foo(). Решение Go даже попало в Википедию:

Go prevents the diamond problem at compile time. If a structure D embeds two structures B and C which both have a method F(), thus satisfying an interface A, the compiler will complain about an "ambiguous selector" if D.F() is called, or if an instance of D is assigned to a variable of type A. B and C's methods can be called explicitly with D.B.F() or D.C.F().


👌 Еще один хороший пример того, почему так важно и полезно, чтобы язык обнаруживал как можно больше проблем на этапе компиляции.

#этобаза
10🔥5👍2🥱1
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»

🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/a069d47b

На вводной части вас ждут:

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

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

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

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

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/a069d47b
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Топ-9 паттернов для обмена данными и взаимодействия между компонентами/сервисами в распределенных системах

🔹 Peer-to-Peer
🔹 API Gateway
🔹 Pub-Sub
🔹 Request-Response
🔹 Event Sourcing
🔹 ETL
🔹 Batching
🔹 Streaming Processing
🔹 Orchestration

👉 Источник

#инфографика
🔥26👍1🥱1
Какими площадками/соцсетями вы активно пользуетесь кроме Telegram?
Anonymous Poll
25%
VK
8%
X (Twitter)
37%
Хабр
15%
Linkedin
12%
Reddit
80%
YouTube
23%
Instagram (принадлежит компании Meta, деятельность которой запрещена на территории РФ)
3%
Facebook (принадлежит компании Meta, деятельность которой запрещена на территории РФ)
4%
Свой вариант (напишу в комментарии)
😁1
👩‍💻 Запуск Go-кода из Elixir с использованием Web Assembly

WebAssembly объединяет языки программирования — на этот раз это Elixir and Go. Узнайте, как wasmex работает в действии.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Такие дела 🫡
🔥23🤔14😁3
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍102
💡 12 трюков Go, которые можно взять на вооружение

Простые советы для повышения продуктивности:

1. Time elapsed trick
1.5. Two-Stage Defer
2. Slice pre-allocation
3. Chaining
4. Go 1.20 enables parsing of slices into arrays or array pointers
5. Using import with ‘_’ for package initialization
6. Use import with dot .
7. Multiple errors can now be wrapped into a single error with Go 1.20
8. Trick to Check Interface at Compile Time
9. Ternary with generic (Should be avoided)
10. Avoid Naked Parameter
11. Ways to verify if an interface is truly nil
12. Unmarshal time.Duration in JSON
Please open Telegram to view this post
VIEW IN TELEGRAM
👍172🤔1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💻 Подборка вопросов от Кирилла Мокевнина, которые имеет смысл задать на собесах для проверки уровня разработчика и навыков решения прикладных задач (типовых для веба)

👉 Читать остальные вопросы

💬 Веб-разработчики, как вам?
👍13🥱13🤔5🔥1