Mihalis_Tsoukalos_Mastering_Go_Create_Golang_production_applications.pdf
8.1 MB
Mastering Go: Create Golang production applications using network libraries, concurrency, and advanced Go data structures (2018)
В книге подробно описаны основные функции, пакеты, а также типы и структуры данных, которые позволят читателю писать потокобезопасные, облачные и сетевые приложения. Большинство программистов на Go сталкиваются с трудностями интеграции своих проектов с production кодом. С Mastering Go автор показывает вам, как решить эту проблему.
Из книги вы научитесь:
– понимать варианты дизайна синтаксиса Golang;
– оптимизировать код Golang;
– оценивать модели параллелизма, доступные в Golang;
– понимать взаимодействия систем и сетевого кода;
– писать код на уровне сервера, который хорошо работает во всех средах;
– грамотно использовать типы данных и структуры данных Golang.
В книге подробно описаны основные функции, пакеты, а также типы и структуры данных, которые позволят читателю писать потокобезопасные, облачные и сетевые приложения. Большинство программистов на Go сталкиваются с трудностями интеграции своих проектов с production кодом. С Mastering Go автор показывает вам, как решить эту проблему.
Из книги вы научитесь:
– понимать варианты дизайна синтаксиса Golang;
– оптимизировать код Golang;
– оценивать модели параллелизма, доступные в Golang;
– понимать взаимодействия систем и сетевого кода;
– писать код на уровне сервера, который хорошо работает во всех средах;
– грамотно использовать типы данных и структуры данных Golang.
Mihalis_Tsoukalos_Mastering_Go_Create_Golang_production_applications.pdf
8.4 MB
Mastering Go: Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures (2019)
Второе издание книги включает в себя совершенно новую главу по машинному обучению в Go, в которой вы познакомитесь с методами фундаментальной статистики посредством простой регрессии и кластеризации, классификации, нейронных сетей и обнаружения аномалий. Другие главы расширены, чтобы охватить использование Go с Docker и Kubernetes, Git, WebAssembly, JSON и многим другим. Если вы серьезно относитесь к языку программирования Go, второе издание этой книги является важным руководством по экспертным методам.
Второе издание книги включает в себя совершенно новую главу по машинному обучению в Go, в которой вы познакомитесь с методами фундаментальной статистики посредством простой регрессии и кластеризации, классификации, нейронных сетей и обнаружения аномалий. Другие главы расширены, чтобы охватить использование Go с Docker и Kubernetes, Git, WebAssembly, JSON и многим другим. Если вы серьезно относитесь к языку программирования Go, второе издание этой книги является важным руководством по экспертным методам.
Разбираемся с аспектами безопасности в Golang: https://prglb.ru/smc2
Если вы ещё не видели этот ресурс, то советуем обязательно уделить ему внимание: серия уроков по языку Go на русском от ребят из 4gophers
На нем вы найдёте как шпаргалки по языку и теоретические основы, так и основательные практические выкладки.
https://golangs.org
На нем вы найдёте как шпаргалки по языку и теоретические основы, так и основательные практические выкладки.
https://golangs.org
Golang имеет сильную поддержку параллелизма. Начиная с самого языка (goroutines, channels) и заканчивая конструкциями в стандартной библиотеке (WaitGroup, Mutex), язык пытается облегчить разработчику написание параллельных программ. В статье автор разбирается с некоторыми из них, создавая программу, которая раскручивает три разных HTTP-сервера и позволяет изящно отключаться, когда программа получает сигнал SIGTERM.
https://prglb.ru/2a2d2
https://prglb.ru/2a2d2
Alexsears
Fun with Concurrency in Golang
Golang has a few good ways to handle concurrency. We can demonstrate a few of these ways by implementing graceful shutdowns for multiple HTTP servers.
Серия постов с примерами приложений на языке Go, использующих чистую архитектуру:
– Чистая архитектура с использованием Golang
– Golang: использование тегов сборки для хранения конфигураций
– Непрерывная интеграция в проекты с использованием monorepo
– Миграция данных с помощью Golang и MongoDB
– Использование Golang в качестве языка сценариев
– Создание тестовых макетов с использованием GoMock
– Использование Prometheus для сбора метрик из приложений Golang
– Чистая архитектура с использованием Golang
– Golang: использование тегов сборки для хранения конфигураций
– Непрерывная интеграция в проекты с использованием monorepo
– Миграция данных с помощью Golang и MongoDB
– Использование Golang в качестве языка сценариев
– Создание тестовых макетов с использованием GoMock
– Использование Prometheus для сбора метрик из приложений Golang
eltonminetto.net
Clean Architecture using Golang - Elton Minetto
1_Быстрый_запуск_микросервиса_на.pdf
1.4 MB
Доклад Николая Муляра (AirPush) о быстром запуске микросервиса. В своем практическом докладе автор делится опытом создания шаблона Go микросервиса, рассказывает о проблемах, которые привели его команду к данному шаблону, чтобы уберечь других разработчиков от повторения ошибок.
Пишем элементарную базу данных с нуля на Go
На основе материалов статьи вы сможете создать парсер для выполнения простых запросов (CREATE, INSERT и SELECT). Затем вы создадите внутреннюю память, поддерживающую типы TEXT и INT, и напишете базовый REPL.
https://proglib.io/w/59a96433
На основе материалов статьи вы сможете создать парсер для выполнения простых запросов (CREATE, INSERT и SELECT). Затем вы создадите внутреннюю память, поддерживающую типы TEXT и INT, и напишете базовый REPL.
https://proglib.io/w/59a96433
Продолжим тему, связанную с базами данных, и рассмотрим, как правильно использовать PostgreSQL вместе с Go. Автор статьи показывает, как начать работу с Object Relational Mapper в Go, рассматривает пример настройки базы данных PostgreSQL и приводит практические примеры по соединению с БД, выгрузке данных и др.
https://proglib.io/w/39997659
https://proglib.io/w/39997659
Enterprisedb
How to use PostgreSQL with Go
This article covers how to use PostgreSQL together with the programming language Golang (Go). After showing how to get started with Go’s Object Relational Mapper, it offers an example of setting up a
Есть много разных книг и статей о том, как писать хороший код на ходу, но не так много, как эффективно отлаживать код. Поэтому смотрим доклад Андрея Солдатенко с FOSDEM 2020 и учимся продвинутым техникам отладки приложений на языке Go.
https://proglib.io/w/fa3236cc
https://proglib.io/w/fa3236cc
YouTube
'Advanced Debugging Techniques of Go Code' by Andrii Soldatenko
There are many different books and articles about how to write good code in go, but not so many how to debug code efficiently.
Uploaded to this channel as we wanted to link this talk in the https://golangweekly.com/ newsletter and it's not on FOSDEM's channel…
Uploaded to this channel as we wanted to link this talk in the https://golangweekly.com/ newsletter and it's not on FOSDEM's channel…
Пишем roguelike (генерируемые случайным образом уровни, пошаговость и необратимость смерти персонажа) игру на Go под названием «Jumpdrive»
Это космическая фантастика 70-х годов о пилоте, который разбил свой разведывательный корабль на острове чужой планеты. Для автора создание игры является, по всей видимости, пет-проектом, а вам может принести практическую пользу.
https://proglib.io/w/905fcd8a
Это космическая фантастика 70-х годов о пилоте, который разбил свой разведывательный корабль на острове чужой планеты. Для автора создание игры является, по всей видимости, пет-проектом, а вам может принести практическую пользу.
https://proglib.io/w/905fcd8a
Плейлист с видеоуроками исключительно практических сторон Golang, в котором вы увидите следующие темы: RESTful API на Go, Go Based AWS Lambda, тестирование в Go, Go MySQL, Go API на основе ORM, вебсокеты в Go, Goroutine, Go WebAssembly, Protocol Buffers в Go, безопасность Go REST APIs с помощью JSON Web Tokens, Каналы в Go, Go sync.WaitGroup, разработка системы мониторинга YouTube в режиме реального времени с помощью Go, докеризация приложения на Go и деплой в DigitalOcean, безопасность приложений на языке Go и многое другое.
https://proglib.io/w/3f2511ae
https://proglib.io/w/3f2511ae
YouTube
Creating a Simple RESTful API in Go - Part 1
👨💻 For the price of a ☕ every month, sign up and gain access to a growing list of premium courses on my site - https://tutorialedge.net/pricing/ 👩💻
● SUBSCRIBE to see more of my Videos & hit that LIKE button to support the channel!
In this tutorial…
● SUBSCRIBE to see more of my Videos & hit that LIKE button to support the channel!
In this tutorial…
Если вы боитесь, что ваш заработок пострадает из-за карантина, участвуйте в онлайн-марафоне от GeekBrains. За 14 дней вы выберете другую востребованную профессию. Вас ждут:
23 бесплатных вебинара по программированию, дизайну, маркетингу и управлению.
Инсайды от экспертов из Mail ru Group, Wikium, Альфа-Банка и других компаний-лидеров рынка.
Заряд мотивации: вы поймете, что начать карьеру можно в любом возрасте, с любым бэкграундом.
Шанс выиграть бесплатное обучение.
Успейте зарегистрироваться и выбрать новую профессию мечты!
23 бесплатных вебинара по программированию, дизайну, маркетингу и управлению.
Инсайды от экспертов из Mail ru Group, Wikium, Альфа-Банка и других компаний-лидеров рынка.
Заряд мотивации: вы поймете, что начать карьеру можно в любом возрасте, с любым бэкграундом.
Шанс выиграть бесплатное обучение.
Успейте зарегистрироваться и выбрать новую профессию мечты!
Учимся искать Goroutines во время отладки
Goroutines являются неотъемлемой частью большинства Golang программ, но использование множества процедур делает программу более трудной для отладки. На основе материалов статьи вы научитесь маркировать goroutines с пользовательскими данными, что является одной из последних функций GoLand 2020.1.
https://proglib.io/w/45dd448c
Goroutines являются неотъемлемой частью большинства Golang программ, но использование множества процедур делает программу более трудной для отладки. На основе материалов статьи вы научитесь маркировать goroutines с пользовательскими данными, что является одной из последних функций GoLand 2020.1.
https://proglib.io/w/45dd448c
The JetBrains Blog
How to Find Goroutines During Debugging | The GoLand Blog
Goroutines are an essential part of most programs written in Go. But using lots of goroutines makes a program harder to debug. Or does it? In this blog post, we'll take a look at labeling goroutines w
Состояние гонки в Golang
Состояние гонки (Race conditions) или гонка даных (Data race) является ошибкой проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Подобная ошибка может привести к ошибочным и загадочным сбоям, чем благополучно пользуются злоумышленники для получения доступа к системе или приложению. Несмотря на то, что механизмы конкурентности Go упрощают написание чистого конкурентного кода, они не предотвращают состояние гонки. В данном случае требуется осторожность, усердие и тестирование, а инструменты автоматизации поиска могут помочь.
Начиная с версии 1.1 Go включает в себя детектор гонки, инструмент для определения состояний гонки в коде Go. В настоящее время он доступен для систем Linux, OS X и Windows с 64-разрядными процессорами x86.
О гонках данных простыми словами можно почитать здесь. Учимся использовать детектор гонки данных с помощью данных статей (1 и 2).
Состояние гонки (Race conditions) или гонка даных (Data race) является ошибкой проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Подобная ошибка может привести к ошибочным и загадочным сбоям, чем благополучно пользуются злоумышленники для получения доступа к системе или приложению. Несмотря на то, что механизмы конкурентности Go упрощают написание чистого конкурентного кода, они не предотвращают состояние гонки. В данном случае требуется осторожность, усердие и тестирование, а инструменты автоматизации поиска могут помочь.
Начиная с версии 1.1 Go включает в себя детектор гонки, инструмент для определения состояний гонки в коде Go. В настоящее время он доступен для систем Linux, OS X и Windows с 64-разрядными процессорами x86.
О гонках данных простыми словами можно почитать здесь. Учимся использовать детектор гонки данных с помощью данных статей (1 и 2).
Давайте уже добьем тему многопоточности и всего, что с ней связано, и рассмотрим следующую серию статей на русском:
– Race condition и data race
– Deadlocks, livelocks и starvation
– Примитивы синхронизации в go
– Безопасная работа с каналами в go
– Goroutine Leaks
– Race condition и data race
– Deadlocks, livelocks и starvation
– Примитивы синхронизации в go
– Безопасная работа с каналами в go
– Goroutine Leaks
Medium
Race condition и Data Race
Race condition и data race — две проблемы многопоточности, которые часто путают или считают одного типа проблем. Но это не так. Попробуем…
В мультифункциональной команде, создающей приложение под Kubernetes, разработчику стоит знать основы Kubernetes. Возможности и ограничения Кубернетес диктуют архитектуру приложения. К тому же разработчикам иногда приходится самим деплоить приложение, настраивать мониторинг, вплоть до создания окружений.
Понимание того, как эксплуатируется приложение, превращает разработчика в инженера.
7 апреля стартует цикл из 19 бесплатных вебинаров от Слёрма по основам Kubernetes. Для прохождения достаточно знать Linux.
Вебинары идут 1-2 раза в неделю в 20:00 по Москве.
Регистрация: https://proglib.io/w/4227fda6
Понимание того, как эксплуатируется приложение, превращает разработчика в инженера.
7 апреля стартует цикл из 19 бесплатных вебинаров от Слёрма по основам Kubernetes. Для прохождения достаточно знать Linux.
Вебинары идут 1-2 раза в неделю в 20:00 по Москве.
Регистрация: https://proglib.io/w/4227fda6
Репозиторий содержит коллекцию из 100+ популярных проблем (задач) с портала LeetCode, решенных на языке Go. Каждая задача включает соответствующую ссылку с условием задания и решение, покрытое тестами.
https://proglib.io/w/75bf65eb
https://proglib.io/w/75bf65eb
Leetcode
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
Свежие разборы проектов на Go с канала «Good reviewer - Bad reviewer» (CASPaxos, riot + typo, molecule) и выпуски подкаста Generic Talks о языке Go и сопутствующих темах от этих же ребят:
– Go 1.14 и что он нам несёт
– Таймеры, почему языки такие, GopherСon
– Live show про GolangCI-Lint, настройку линтеров на CI, дизайн API под батчинг по дефолту, кеширование и другие вещи
– Что же там происходит в CPU
– Zig, LLVM и как всегда Go
– Go 1.14 и что он нам несёт
– Таймеры, почему языки такие, GopherСon
– Live show про GolangCI-Lint, настройку линтеров на CI, дизайн API под батчинг по дефолту, кеширование и другие вещи
– Что же там происходит в CPU
– Zig, LLVM и как всегда Go
The-Go-Security-Checklist.pdf
709.2 KB
Сборник лучших практик, которые помогут вам лучше понять приоритеты безопасности при разработке на Golang.