Библиотека Go-разработчика | Golang
23.3K subscribers
2.07K 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
#fun

Тем временем на официальном сайте Golang обнаружено руководство по дизайну гоферов 👀
Arch-Go — это инструмент тестирования, который проверяет соответствие проекта Go архитектурным рекомендациям. В статье представлены основы использования данного инструмента для проверки ваших проектов.

https://proglib.io/w/3cfb68c7
Создание веб-приложения на Go

Серия уроков проведёт вас по этапам создания сайта на Go. После ознакомления с материалами вы сможете создать небольшую CMS на Go и запустить свой сайт в интернете.

https://proglib.io/w/be810e29
Практика написания модульных тестов

Модульные тесты важны для разработчиков, потому что позволяют продемонстрировать правильность написанного кода. Что еще более важно, модульные тесты позволяют обновлять базу кода с уверенностью, что мы ничего не сломали.

Однако, стремясь получить 100% покрытие кода, мы часто пишем тесты для логики, для которой, возможно, у нас нет бизнес-тестирования. Автор статьи утверждает, что создание фиктивных абстракций базы данных для написания модульных тестов — это почти всегда плохая идея.

https://proglib.io/w/117cff40
Data scientist входит в тройку лучших профессий 2020 года в США. В России эта специальность только набирает обороты, поэтому сейчас самое время начать осваивать перспективную специальность на бесплатном онлайн-интенсиве, который пройдёт с 26 по 28 апреля в 19:00 по московскому времени!
Регистрируйтесь: 🔜 https://clc.am/ll4iHA.

Что вас ждёт на занятиях?
🔥 Примерите на себя роль data scientist, поработаете с основными инструментами профессии.
🔥 Визуализируете данные.
🔥 Построите формулы и выявите зависимости на Python.
🔥 Изучите техники исследования данных и разберёте реальные задачи.
🔥 Создадите проект, который наверняка оценят потенциальные работодатели.

👌 Преподаватель: ведущий исследователь данных Сбербанка с шестилетним опытом в программировании — Анастасия Борнева.

🎁 Все участники, сдавшие домашнее задание, получат сертификат на 15 000 рублей для поступления на любой курс Skillbox!
Philipp Tanlak делится опытом использования Go для создания веб-интерфейсов. По его словам, использование связки пакетов html/template и embed (представлен в Go 1.16) вместо других веб-фреймворков, позволяет сосредоточиться на макете и не вносить ненужную сложность.

https://proglib.io/w/2807d0ef
Продолжаем конкурс на самый интересный контент в телеграм-каналах Proglib!
Призовой фонд — 280 тысяч рублей.
Срок окончания конкурса — 15 мая

Автор лучшего поста в отдельно взятом канале получает 20 тысяч рублей.
Мы упростили конкурс — теперь вам достаточно найти интересную и актуальную статью 2020-2021 года, написать к ней небольшой анонс (до 700 знаков) и прислать нам, тем не менее ваши идеи по другим форматам только добавляют + в общий зачет. Авторство можем указать по вашему желанию. В канале @progbook предлагаем отправлять рецензии на новые книги и старые актуальные.

Полный список каналов:
https://t.me/progbook
https://t.me/proglibrary
https://t.me/pyproglib
https://t.me/frontendproglib
https://t.me/javaproglib
https://t.me/dsproglib
https://t.me/phpproglib
https://t.me/cppproglib
https://t.me/mobileproglib
https://t.me/goproglib
https://t.me/csharpproglib
https://t.me/devopsslib
https://t.me/testerlib
https://t.me/hackproglib

Все посты будут с лайками и дизлайками и хэштегом #proglib_contest. Ссылки мы будем прогонять через наш сокращатель, будут браться в расчет лайки, дизлайки, охваты, клики по ссылкам. Чем больше лайков/охватов/кликов по ссылкам в публикации, тем больше шансов стать победителем в конкурсе. Присылайте посты боту @proglib_contest_bot с указанием, на какой канал идет публикация. Юридическая информация здесь.
Вы наверняка заметили, что мы регулярно проводим опросы, чтобы соответствовать вашим запросам и интересам. Знаем, что нас читают не только новички – многие подписчики уже стали миддлами и даже сеньорами. Если чувствуете, что переросли middle-уровень, пора задуматься о создании собственного полноценного проекта – не на одни выходные.

Для такой задачи нужно широкое видение процесса разработки и архитектуры информационных систем. На одной интуиции можно набить шишек, а книжки по таким вопросам достаточно быстро устаревают. Обратите внимание на страницу курса Архитектор ИТ https://proglib.io/w/52694778

На странице можно почерпнуть сведения о том, какие знания нужны, и составить собственную программу-максимум. Или сэкономить время и воспользоваться учебным планом GeekBrains – благо уже есть площадка с контентом, приглашенные эксперты-практики и 4 курсовых проекта с поддержкой крупных компаний.
Tunny — это библиотека, предназначенная для создания и управления пулом горутин. С помощью синхронного API она позволяет ограничить работу, исходящую от любого количества горутин.

https://proglib.io/w/b6979099
Статья описывает практические аспекты работы с goleak — инструментом, нацеленным на интеграцию с модульными тестами. Этот пакет отслеживает наличие утечек горутин в текущем тестируемом фрагменте кода.

https://proglib.io/w/29adfed9
За последнее время интерес к NFT-токенам стремительно увеличивается. Вы наверное слышали о таких крупных сделках, как картина Бенкси, портрет Сноудена или токен Нурмагомедова? Кажется, мода на цифровое искусство только набирает обороты, а тут кто первый, тот и выиграл.

Являясь медиа об IT, «Библиотека программиста» просто не могла пройти мимо тренда и решила внести свой вклад в развитие блокчейн-технологий и цифрового искусства. Любой желающий может приобрести первую статью на сайте (proglib.io), которая имеет более 470 000 просмотров.
Цена лота от 1 Ethereum, торги продлятся 3 недели.
Узнать больше можно по ссылке: https://proglib.io/w/874152a9
💻 Какие IT каналы в Telegram читаем мы?

Сегодня представляем вашему вниманию 5 каналов, которые действительно этого заслуживают. Подписывайтесь на наших друзей:

CodeCampМастхэв канал для любого IT-специалиста: лучшие книги, полезные сервисы и отборные видеоуроки.

@bugfeature — Подлинный канал "Не баг, а фича", который раскрывает секреты социальных сетей, уязвимости приложений, а так же рассказывает об этичном хакинге, анонимности в сети и личной безопасности в интернете.

@front_end_dev – Актуальные материалы для веб-разработчика: статьи, туториалы, инструменты, фишки ЯП и лучшие практики.

@S_E_Book — Самая редкая и актуальная литература в сети, для ИТ специалистов любого уровня и направления, которая публикуется еще до момента выхода в официальных источниках.

GIT — Канал, где Вы найдете уникальные онлайн-сервисы и инструменты на все случаи жизни.
Недавно мы разбирали тему создания веб-приложений на Go. Сегодня продолжим данную тему, но уже в видеоформате:

- Введение в язык Go - Смотреть
- Отслеживание URL адресов - Смотреть
- Создание структур (модели данных) - Смотреть
- Работа с HTML шаблонами - Смотреть
- Подключение MySQL - Смотреть
- Новостной сайт. Главные настройки - Смотреть
- Добавление данных через сайт - Смотреть
- Динамические страницы - Смотреть
- Публикация на сервер - Смотреть
👍1
Вы профи в своём деле? Мы хорошо за это заплатим. Ищем экспертов для проведения мероприятия в Москве 22 и 23 мая. Темы следующие:

- Архитектура программного обеспечения
- Подходы к решению алгоритмических задач с собеседований Google и Яндекс
- Базы данных: модели, миграции, тестирование
- Практикум по рефакторингу

За один день платим от 20 до 30 тыс. ₽ (в зависимости от опыта и вовлеченности). Отклики с резюме кидайте сюда: @proglib_expert_bot
Разработчик из IVI делится практическими кейсами написания unit-тестов к приложениям на Go:

✔️Использование интерфейсов при разработке
✔️Используование генераторов моков
✔️Перехват логирования
✔️Подсчет покрытия кода тестами
✔️Подсчет покрытия при тестировании приложения как черного ящика

В конце статьи приводится несколько полезных статей о тестировании в Go:
- Unit-тестирование в Go с помощью интерфейсов
- 5 продвинутых техник тестирования на Go
- Golang тестирование за пределами gotour
Russ Cox не смог пройти мимо, когда начал замечать разговоры вроде «вы не используете стандартный макет проекта Go».

Он инициировал конструктивное обсуждение, итогом которого должна стать «официальная» документация для макета проекта на Go.

Как вы считаете, текущий неофициальный макет отражает ту структуру, которая должна быть у проекта на Go? И вообще, вы придерживаетесь какого-то макета или каждый раз все по-новому?
Про оптимизацию компоновщика, поддержку Apple M1 и новый пакет embed уже все знают. Давайте разберёмся с остальными глобальными изменениями Go 1.16:

✔️ Новые системы модулей. По умолчанию теперь требуется использование новой системы модулей с интегрированной поддержкой версионирования, которая пришла на смену средствам управления зависимостями на основе GOPATH. Переменная окружения GO111MODULE теперь выставлена в значение "on" по умолчанию и режим модулей используется независимо от присутствия файла go.mod в рабочем или родительском каталоге. В новом режиме сборочные команды, такие как "go build" и "go test", не изменяют содержимое go.mod и go.sum, а команда "go install" обрабатывает аргументы с указанием версии ("go install example.com/cmd@v1.0.0"). Для возвращения старого поведение следует изменить GO111MODULE на значение "auto".
✔️ Добавлена поддержка inline-развёртывания. В компиляторе добавлена поддержка inline-развёртывания функций с сокращённым определением циклов "for", методом значений (method values) и конструкциями 'type switch'.
✔️Прекращена поддержка режима компиляции x87 (GO386=387). Поддержка процессоров без инструкций SSE2 теперь доступна через программный режим "GO386=softfloat".

Источник
Авторы бесплатного курса по созданию веб-приложения на Go дополнили его следующими материалами по работе с MySQL:

- Установка MySQL для веб-приложения на Golang
- Установка MySQL драйвера для работы в Golang
- Создание пула подключений к MySQL в Go
- Проектирование модели в Go
- Выполнение SQL запросов в Golang
- Выводим запись из базы данных по её ID из URL
- Вывод последних записей из базы данных
- SQL Транзакции через Golang