Concurrency in Go.pdf
4.3 MB
Concurrency in Go
Tools and Techniques for Developers (2017)
Автор: Katherine Cox-Buday
Эта практическая книга демонстрирует лучшие практики и шаблоны, которые помогут вам включить конкурентность в свои системы.
Автор шаг за шагом проведет вас через этот процесс. Вы поймете, как Go выбирает моделирование конкурентности, какие проблемы возникают из этой модели и как вы можете составлять примитивы в этой модели для решения проблем. Изучите навыки и инструменты, необходимые для уверенного написания и реализации конкурентных систем любого размера.
Книга позволит вам:
- Понять, как Go решает фундаментальные проблемы, которые затрудняют правильное выполнение конкурентности.
- Узнать о ключевых различиях между параллелизмом и конкурентностью.
- Сформировать шаблоны с этими примитивами для написания поддерживаемого конкурентного кода.
- Составить из шаблонов серию приемов, которые позволят писать большие распределенные системы.
- Изучить синтаксис примитивов синхронизации памяти Go и многое другое.
Tools and Techniques for Developers (2017)
Автор: Katherine Cox-Buday
Эта практическая книга демонстрирует лучшие практики и шаблоны, которые помогут вам включить конкурентность в свои системы.
Автор шаг за шагом проведет вас через этот процесс. Вы поймете, как Go выбирает моделирование конкурентности, какие проблемы возникают из этой модели и как вы можете составлять примитивы в этой модели для решения проблем. Изучите навыки и инструменты, необходимые для уверенного написания и реализации конкурентных систем любого размера.
Книга позволит вам:
- Понять, как Go решает фундаментальные проблемы, которые затрудняют правильное выполнение конкурентности.
- Узнать о ключевых различиях между параллелизмом и конкурентностью.
- Сформировать шаблоны с этими примитивами для написания поддерживаемого конкурентного кода.
- Составить из шаблонов серию приемов, которые позволят писать большие распределенные системы.
- Изучить синтаксис примитивов синхронизации памяти Go и многое другое.
Gta — инструмент от DigitalOcean, который позволяет найти пакеты, зависимости которых изменились.
Во время сборки или непрерывной интеграции вам не придется собирать каждый пакет, поскольку вы будете знать, какие пакеты (и зависимости) изменились.
Статья с описанием
Репозиторий
Во время сборки или непрерывной интеграции вам не придется собирать каждый пакет, поскольку вы будете знать, какие пакеты (и зависимости) изменились.
Статья с описанием
Репозиторий
Digitalocean
GTA: Detecting affected dependent Go packages | DigitalOcean
Helping millions of developers easily build, test, manage, and scale applications of any size - faster than ever before.
Статья, в которой показан процесс преобразования старого статического сайта в современный динамический с помощью Buffalo (экосистема веб-разработки на Go).
https://proglib.io/w/a876ac01
https://proglib.io/w/a876ac01
Gopher Guides
Converting a Static Site to Buffalo
Get a quick start on how to take a static web site and make it dynamic with Buffalo, a rapid Go web framework. - Authored by Cory LaNou
Пакет
ioutil
будет исключен из версии Go 1.16: https://proglib.io/w/5bf111d1srcbeat
Go's ioutil package to be deprecated in 1.16
New features may get all the coverage, but work on core packages has not stopped.
Structslop — инструмент, который исследует и рекомендует оптимальное расположение полей структуры. Это поможет уменьшить объем оперативной памяти и сделать код более эффективным.
Подробное описание
Репозиторий
Подробное описание
Репозиторий
Medium
Efficient struct packing guided pass for Go
TL;DR: at Orijtech, we’ve developed a static analysis pass called “structslop” that can run through your Go programs and recommend for you…
Как Go-разработчику дорасти до мидла и выше? У нас есть ответ!
⠀
Уже знакомы с Golang или другим языком программирования, хотите знать, как развиваться дальше? Онлайн-курс «Go-разработчик PRO» поможет вам повысить уровень владения языком и добиться новых высот в профессии!
⠀
За 8 месяцев вы научитесь:
- разрабатывать веб-приложения с микросервисной архитектурой;
- работать с многопоточностью и конкурентностью;
- использовать алгоритмы и паттерны;
- уменьшать время отклика от сервера;
- работать с сетевыми протоколами;
- проектировать приложения и API;
- разворачивать приложения на Go в Docker;
- понимать принципы взаимодействия приложений на Go с операционными системами *nix.
⠀
По окончании курса вас ждёт дипломный проект, который дополнит портфолио. Вы самостоятельно создадите сервис для получения данных о маршрутах с функциями рендеринга через OSRM, сохранения и отдачи данных пользователю.
⠀
Записывайтесь сейчас: https://clc.am/xlWxKg и получите скидку до 60%!
⠀
Уже знакомы с Golang или другим языком программирования, хотите знать, как развиваться дальше? Онлайн-курс «Go-разработчик PRO» поможет вам повысить уровень владения языком и добиться новых высот в профессии!
⠀
За 8 месяцев вы научитесь:
- разрабатывать веб-приложения с микросервисной архитектурой;
- работать с многопоточностью и конкурентностью;
- использовать алгоритмы и паттерны;
- уменьшать время отклика от сервера;
- работать с сетевыми протоколами;
- проектировать приложения и API;
- разворачивать приложения на Go в Docker;
- понимать принципы взаимодействия приложений на Go с операционными системами *nix.
⠀
По окончании курса вас ждёт дипломный проект, который дополнит портфолио. Вы самостоятельно создадите сервис для получения данных о маршрутах с функциями рендеринга через OSRM, сохранения и отдачи данных пользователю.
⠀
Записывайтесь сейчас: https://clc.am/xlWxKg и получите скидку до 60%!
Ускоряем работу с Go и SQLite с помощью пула соединений и подготовленных операторов: https://proglib.io/w/a491a1db
Sandro Turriate
Making SQLite faster in Go
Make sqlite faster with a connection pool and prepared statements.
Команда разработчиков языка выпустила версии Go 1.15.7 и Go 1.14.14 для решения нескольких недавно обнаруженных проблем безопасности: https://proglib.io/w/2215f6bc
Go language Tutorial
Go 1.15.7 and Go 1.14.14 versions are released
Go language team at Google released Go 1.15.7 and Go 1.14.14 versions to address few security issues recently reported
Краткий список изменений, которых стоит ожидать в Golang 1.17: https://proglib.io/w/a04b3037
Twitter
Daniel Martí
Here's a short list of the changes to look forward to for #golang 1.17, to start landing once the merge window opens in a few weeks. Don't get confused with 1.16, releasing next month. 1.17 will come out in seven months. Each change with a link, so you can…
Евгений Радионов, бэкенд-разработчик на Go, делится опытом настройки продвинутого полнотекстового поиска с использованием ElasticSearch и рассказывает, как интегрировать его в приложение на Go так, чтобы это было удобно поддерживать и расширять.
https://proglib.io/w/8e240968
https://proglib.io/w/8e240968
DOU
Строим продвинутый поиск с ElasticSearch
Евгений Радионов, Back-end Dev, за все время работы столкнулся с множеством интересных и сложных задач, в одной из которых и познакомился с ElasticSearch. В этой статье разберем, как настроить продвинутый полнотекстовый поиск с использованием ElasticSearch…
Мэт Райер на dotGo 2017 с докладом «Искусство тестирования»: https://proglib.io/w/34f1552a
YouTube
dotGo 2017 - Mat Ryer - The Art of Testing
Filmed at https://2017.dotgo.eu on November 6th in Paris. More talks on https://dotconferences.com/talks
Testing code feels like science; we setup expectations, control the environment, run repeatable experiments, make assertions about the outcome. Yet in…
Testing code feels like science; we setup expectations, control the environment, run repeatable experiments, make assertions about the outcome. Yet in…
Почему пакеты Go так отличаются от других языков? Это потому, что их надо рассматривать как слои, а не группы.
https://proglib.io/w/de74b266
https://proglib.io/w/de74b266
Go Beyond
Packages as layers, not groups
Packages in Go are not like other languages. Understand how to structure them as your application grows.
Ребята из Razorpay реализовали аналог Python-библиотеки numpy-financial на Go и включили в нее создание графика амортизации. На данный момент в приоритетном порядке перенесены только 4 функции, но работа идет полным ходом. Отлично подойдет для сферы финтех.
https://proglib.io/w/a1ce9982
https://proglib.io/w/a1ce9982
Кратко о востребованности Go-разработчиков от Хабр Карьеры: https://proglib.io/w/b220eb1d
Хабр
Golang: на что рассчитывать специалисту по Go в море IT-специальностей?
В апреле на Хабре публиковалась статья «Зачем вам учить Go», в которой подробно освещались возможности языка и его преимущества. Ну а сейчас — самое время по...
Интенсив по Docker для разработчиков без «капитанской теории». Отправляемся 25 февраля.
На 2 дня оставим за бортом всё то, о чём и так все знают и погрузимся в глубины крутейшей практики. Вы запустите сайт в контейнере, соберёте несколько контейнеров в рабочую систему, запустите готовый pipeline в Gitlab, рассмотрите подводные камни использования stateful и Docker и научитесь обходить ограничения DockerHub. Помимо этого расскажем об особенностях использования контейнеров с ruby, php, python, go, java, c#, c++ и работе Docker в облаках.
Интересно? А ведь это ещё не всё! Почитать всю программу (там много вкусного) и посмотреть реальные примеры практических заданий можно на сайте.
Йо-хо-хо, морские волки! На абордаж!
На 2 дня оставим за бортом всё то, о чём и так все знают и погрузимся в глубины крутейшей практики. Вы запустите сайт в контейнере, соберёте несколько контейнеров в рабочую систему, запустите готовый pipeline в Gitlab, рассмотрите подводные камни использования stateful и Docker и научитесь обходить ограничения DockerHub. Помимо этого расскажем об особенностях использования контейнеров с ruby, php, python, go, java, c#, c++ и работе Docker в облаках.
Интересно? А ведь это ещё не всё! Почитать всю программу (там много вкусного) и посмотреть реальные примеры практических заданий можно на сайте.
Йо-хо-хо, морские волки! На абордаж!
Google исправила критическую уязвимость удаленного выполнения кода (RCE) в Go.
CVE-2021-3115, в основном затрагивает пользователей Windows, выполняющих команду
Подробности
CVE-2021-3115, в основном затрагивает пользователей Windows, выполняющих команду
go get
, из-за поведения по умолчанию при поиске PATH в Windows.Подробности
BleepingComputer
Google fixes severe Golang Windows RCE vulnerability
This month Google engineers have fixed two vulnerabilities in the Go language (Golang), including a severe RCE flaw, and a cryptographic weakness. The RCE vulnerability tracked as CVE-2021-3115 mainly impacts Windows users of Go running the 'go get' command…
Обзор 20ти полезных пакетов Go, которые помогут усовершенствовать ваши приложения и сэкономить время.
https://proglib.io/w/3cfe6be1
https://proglib.io/w/3cfe6be1
Medium
20 Go Packages You Can Use in Your Next Project
Improve your application and save your time.
Springer_Nonsequential_and_Distributed_Programming_with_Go.pdf
5.1 MB
Nonsequential and Distributed Programming with Go
Synchronization of Concurrent Processes: Communication - Cooperation - Competition (2021)
Автор: Christian Maurer
Книга знакомит с непоследовательным и распределенным программированием на Go. В ней систематически представлены основные концепции синхронизации и взаимодействия конкурентных процессов.
Алгоритмы сформулированы на языке Go, который можно использовать для выражения множества концепций синхронизации. Благодаря простому синтаксису Go также предлагает то преимущество, что читатели без предварительных знаний могут следовать основным концепциям.
Synchronization of Concurrent Processes: Communication - Cooperation - Competition (2021)
Автор: Christian Maurer
Книга знакомит с непоследовательным и распределенным программированием на Go. В ней систематически представлены основные концепции синхронизации и взаимодействия конкурентных процессов.
Алгоритмы сформулированы на языке Go, который можно использовать для выражения множества концепций синхронизации. Благодаря простому синтаксису Go также предлагает то преимущество, что читатели без предварительных знаний могут следовать основным концепциям.