Библиотека программиста планирует организовать серию офлайн-мероприятий.
Мы создали опрос, чтобы учесть пожелания и интересы подписчиков, а также какие темы наиболее интересны. Опрос займет не более 3-х минут и пройти его можно тут.
Мы создали опрос, чтобы учесть пожелания и интересы подписчиков, а также какие темы наиболее интересны. Опрос займет не более 3-х минут и пройти его можно тут.
Google Docs
Какие мероприятия наиболее интересны?
Arch-Go — это инструмент тестирования, который проверяет соответствие проекта Go архитектурным рекомендациям. В статье представлены основы использования данного инструмента для проверки ваших проектов.
https://proglib.io/w/3cfb68c7
https://proglib.io/w/3cfb68c7
DEV Community
Introducing Arch-Go
Summary In this article, we'll show what is Arch-Go and how to use it in order to check th...
Создание веб-приложения на Go
Серия уроков проведёт вас по этапам создания сайта на Go. После ознакомления с материалами вы сможете создать небольшую CMS на Go и запустить свой сайт в интернете.
https://proglib.io/w/be810e29
Серия уроков проведёт вас по этапам создания сайта на Go. После ознакомления с материалами вы сможете создать небольшую CMS на Go и запустить свой сайт в интернете.
https://proglib.io/w/be810e29
Golang
Учебник по созданию сайта на Golang (CMS)
Уроки по созданию веб-приложений на Голанг. Создание простого сайта на Golang с HTML шаблоном. Примеры сайтов на Golang.
Извлекаем данные из файла журнала объемом 16 ГБ за 25 секунд с помощью Go.
https://proglib.io/w/3f7c0a7f
https://proglib.io/w/3f7c0a7f
Medium
Processing 16GB File in Seconds, Golang
Any computer system in today’s world generates a very high amount of logs or data daily. As the system grows, it is not feasible to store…
Практика написания модульных тестов
Модульные тесты важны для разработчиков, потому что позволяют продемонстрировать правильность написанного кода. Что еще более важно, модульные тесты позволяют обновлять базу кода с уверенностью, что мы ничего не сломали.
Однако, стремясь получить 100% покрытие кода, мы часто пишем тесты для логики, для которой, возможно, у нас нет бизнес-тестирования. Автор статьи утверждает, что создание фиктивных абстракций базы данных для написания модульных тестов — это почти всегда плохая идея.
https://proglib.io/w/117cff40
Модульные тесты важны для разработчиков, потому что позволяют продемонстрировать правильность написанного кода. Что еще более важно, модульные тесты позволяют обновлять базу кода с уверенностью, что мы ничего не сломали.
Однако, стремясь получить 100% покрытие кода, мы часто пишем тесты для логики, для которой, возможно, у нас нет бизнес-тестирования. Автор статьи утверждает, что создание фиктивных абстракций базы данных для написания модульных тестов — это почти всегда плохая идея.
https://proglib.io/w/117cff40
blog.boot.dev
Writing Good Unit Tests; Don't Mock Database Connections
Unit tests are incredibly important to us as developers because they allow us to demonstrate the correctness of the code we’ve written. More importantly, unit tests allow us to make updates to our code base with confidence that we haven’t broken anything.…
Data scientist входит в тройку лучших профессий 2020 года в США. В России эта специальность только набирает обороты, поэтому сейчас самое время начать осваивать перспективную специальность на бесплатном онлайн-интенсиве, который пройдёт с 26 по 28 апреля в 19:00 по московскому времени!
Регистрируйтесь: 🔜 https://clc.am/ll4iHA.
Что вас ждёт на занятиях?
🔥 Примерите на себя роль data scientist, поработаете с основными инструментами профессии.
🔥 Визуализируете данные.
🔥 Построите формулы и выявите зависимости на Python.
🔥 Изучите техники исследования данных и разберёте реальные задачи.
🔥 Создадите проект, который наверняка оценят потенциальные работодатели.
👌 Преподаватель: ведущий исследователь данных Сбербанка с шестилетним опытом в программировании — Анастасия Борнева.
🎁 Все участники, сдавшие домашнее задание, получат сертификат на 15 000 рублей для поступления на любой курс Skillbox!
Регистрируйтесь: 🔜 https://clc.am/ll4iHA.
Что вас ждёт на занятиях?
🔥 Примерите на себя роль data scientist, поработаете с основными инструментами профессии.
🔥 Визуализируете данные.
🔥 Построите формулы и выявите зависимости на Python.
🔥 Изучите техники исследования данных и разберёте реальные задачи.
🔥 Создадите проект, который наверняка оценят потенциальные работодатели.
👌 Преподаватель: ведущий исследователь данных Сбербанка с шестилетним опытом в программировании — Анастасия Борнева.
🎁 Все участники, сдавшие домашнее задание, получат сертификат на 15 000 рублей для поступления на любой курс Skillbox!
Philipp Tanlak делится опытом использования Go для создания веб-интерфейсов. По его словам, использование связки пакетов
https://proglib.io/w/2807d0ef
html/template
и embed
(представлен в Go 1.16) вместо других веб-фреймворков, позволяет сосредоточиться на макете и не вносить ненужную сложность.https://proglib.io/w/2807d0ef
Philipptanlak
How I build web frontends in Go - Philipp Tanlak
Go is a great language for building all kinds of backend services like APIs. But what about web frontends? Let’s have a look…
Продолжаем конкурс на самый интересный контент в телеграм-каналах 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 с указанием, на какой канал идет публикация. Юридическая информация здесь.
Призовой фонд — 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 курсовых проекта с поддержкой крупных компаний.
Для такой задачи нужно широкое видение процесса разработки и архитектуры информационных систем. На одной интуиции можно набить шишек, а книжки по таким вопросам достаточно быстро устаревают. Обратите внимание на страницу курса Архитектор ИТ https://proglib.io/w/52694778
На странице можно почерпнуть сведения о том, какие знания нужны, и составить собственную программу-максимум. Или сэкономить время и воспользоваться учебным планом GeekBrains – благо уже есть площадка с контентом, приглашенные эксперты-практики и 4 курсовых проекта с поддержкой крупных компаний.
Tunny — это библиотека, предназначенная для создания и управления пулом горутин. С помощью синхронного API она позволяет ограничить работу, исходящую от любого количества горутин.
https://proglib.io/w/b6979099
https://proglib.io/w/b6979099
GitHub
GitHub - Jeffail/tunny: A goroutine pool for Go
A goroutine pool for Go. Contribute to Jeffail/tunny development by creating an account on GitHub.
Статья описывает практические аспекты работы с goleak — инструментом, нацеленным на интеграцию с модульными тестами. Этот пакет отслеживает наличие утечек горутин в текущем тестируемом фрагменте кода.
https://proglib.io/w/29adfed9
https://proglib.io/w/29adfed9
Хабр
Go: детектор утечек горутин (Goroutine Leak Detector)
Перевод статьи подготовлен в преддверии старта курса "Golang Developer. Professional".Также приглашаем всех желающих на демо-занятие "Blockchain на Go". На этом...
За последнее время интерес к NFT-токенам стремительно увеличивается. Вы наверное слышали о таких крупных сделках, как картина Бенкси, портрет Сноудена или токен Нурмагомедова? Кажется, мода на цифровое искусство только набирает обороты, а тут кто первый, тот и выиграл.
Являясь медиа об IT, «Библиотека программиста» просто не могла пройти мимо тренда и решила внести свой вклад в развитие блокчейн-технологий и цифрового искусства. Любой желающий может приобрести первую статью на сайте (proglib.io), которая имеет более 470 000 просмотров.
Цена лота от 1 Ethereum, торги продлятся 3 недели.
Узнать больше можно по ссылке: https://proglib.io/w/874152a9
Являясь медиа об 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 — Канал, где Вы найдете уникальные онлайн-сервисы и инструменты на все случаи жизни.
Сегодня представляем вашему вниманию 5 каналов, которые действительно этого заслуживают. Подписывайтесь на наших друзей:
CodeCamp — Мастхэв канал для любого IT-специалиста: лучшие книги, полезные сервисы и отборные видеоуроки.
@bugfeature — Подлинный канал "Не баг, а фича", который раскрывает секреты социальных сетей, уязвимости приложений, а так же рассказывает об этичном хакинге, анонимности в сети и личной безопасности в интернете.
@front_end_dev – Актуальные материалы для веб-разработчика: статьи, туториалы, инструменты, фишки ЯП и лучшие практики.
@S_E_Book — Самая редкая и актуальная литература в сети, для ИТ специалистов любого уровня и направления, которая публикуется еще до момента выхода в официальных источниках.
GIT — Канал, где Вы найдете уникальные онлайн-сервисы и инструменты на все случаи жизни.
Недавно мы разбирали тему создания веб-приложений на Go. Сегодня продолжим данную тему, но уже в видеоформате:
- Введение в язык Go - Смотреть
- Отслеживание URL адресов - Смотреть
- Создание структур (модели данных) - Смотреть
- Работа с HTML шаблонами - Смотреть
- Подключение MySQL - Смотреть
- Новостной сайт. Главные настройки - Смотреть
- Добавление данных через сайт - Смотреть
- Динамические страницы - Смотреть
- Публикация на сервер - Смотреть
- Введение в язык Go - Смотреть
- Отслеживание URL адресов - Смотреть
- Создание структур (модели данных) - Смотреть
- Работа с HTML шаблонами - Смотреть
- Подключение MySQL - Смотреть
- Новостной сайт. Главные настройки - Смотреть
- Добавление данных через сайт - Смотреть
- Динамические страницы - Смотреть
- Публикация на сервер - Смотреть
👍1
Вы профи в своём деле? Мы хорошо за это заплатим. Ищем экспертов для проведения мероприятия в Москве 22 и 23 мая. Темы следующие:
- Архитектура программного обеспечения
- Подходы к решению алгоритмических задач с собеседований Google и Яндекс
- Базы данных: модели, миграции, тестирование
- Практикум по рефакторингу
За один день платим от 20 до 30 тыс. ₽ (в зависимости от опыта и вовлеченности). Отклики с резюме кидайте сюда: @proglib_expert_bot
- Архитектура программного обеспечения
- Подходы к решению алгоритмических задач с собеседований Google и Яндекс
- Базы данных: модели, миграции, тестирование
- Практикум по рефакторингу
За один день платим от 20 до 30 тыс. ₽ (в зависимости от опыта и вовлеченности). Отклики с резюме кидайте сюда: @proglib_expert_bot
Разработчик из IVI делится практическими кейсами написания unit-тестов к приложениям на Go:
✔️Использование интерфейсов при разработке
✔️Используование генераторов моков
✔️Перехват логирования
✔️Подсчет покрытия кода тестами
✔️Подсчет покрытия при тестировании приложения как черного ящика
В конце статьи приводится несколько полезных статей о тестировании в Go:
- Unit-тестирование в Go с помощью интерфейсов
- 5 продвинутых техник тестирования на Go
- Golang тестирование за пределами gotour
✔️Использование интерфейсов при разработке
✔️Используование генераторов моков
✔️Перехват логирования
✔️Подсчет покрытия кода тестами
✔️Подсчет покрытия при тестировании приложения как черного ящика
В конце статьи приводится несколько полезных статей о тестировании в Go:
- Unit-тестирование в Go с помощью интерфейсов
- 5 продвинутых техник тестирования на Go
- Golang тестирование за пределами gotour
Хабр
Подсказки по написанию тестов в приложениях на Go
В нашей компании в стеке разработки есть язык Go. И иногда, при написании unit-тестов к приложениям написанным на Go, у нас появляются сложности. В этой статье м...
Russ Cox не смог пройти мимо, когда начал замечать разговоры вроде «вы не используете стандартный макет проекта Go».
Он инициировал конструктивное обсуждение, итогом которого должна стать «официальная» документация для макета проекта на Go.
Как вы считаете, текущий неофициальный макет отражает ту структуру, которая должна быть у проекта на Go? И вообще, вы придерживаетесь какого-то макета или каждый раз все по-новому?
Он инициировал конструктивное обсуждение, итогом которого должна стать «официальная» документация для макета проекта на Go.
Как вы считаете, текущий неофициальный макет отражает ту структуру, которая должна быть у проекта на Go? И вообще, вы придерживаетесь какого-то макета или каждый раз все по-новому?
GitHub
GitHub - golang-standards/project-layout: Standard Go Project Layout
Standard Go Project Layout. Contribute to golang-standards/project-layout development by creating an account on GitHub.
Про оптимизацию компоновщика, поддержку 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".
Источник
✔️ Новые системы модулей. По умолчанию теперь требуется использование новой системы модулей с интегрированной поддержкой версионирования, которая пришла на смену средствам управления зависимостями на основе 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.dev
Go 1.16 Release Notes - The Go Programming Language