Презентации и полная запись недавнего онлайн-митапа «Карантин, Go away»:
– Тестирование (микро)сервисов — Алексей Палажченко, Percona
– Dependency Injection and it’s friends (in Go) — Антон Кучеров, Toggl
– Чистая архитектура в автоматизации — Сергей Шамбир, iSpring
– Go-Swagger в продуктиве: взлеты и падения — Илья Казначеев, МТС
Полная запись на YouTube
– Тестирование (микро)сервисов — Алексей Палажченко, Percona
– Dependency Injection and it’s friends (in Go) — Антон Кучеров, Toggl
– Чистая архитектура в автоматизации — Сергей Шамбир, iSpring
– Go-Swagger в продуктиве: взлеты и падения — Илья Казначеев, МТС
Полная запись на YouTube
Изучаем Golang, разрабатывая простое приложение для банковской сферы:
– Начало
– Авторизация и REST API
– Начало
– Авторизация и REST API
DEV Community
Learn Golang by building a fintech banking app - Lesson1: Start the project
This post was originally published at: https://www.blog.duomly.com/golang-course-with-building-a-fint...
Сборник технических вопросов для собеседований, решенных с помощью Go: https://proglib.io/w/5deaef72
GitHub
GitHub - shomali11/go-interview: Collection of Technical Interview Questions solved with Go
Collection of Technical Interview Questions solved with Go - shomali11/go-interview
Forwarded from Go jobs — вакансии по Go
Вакансия: Lead Go developer
Компания: MillionAgents, один из ведущих игроков на рынке полевых исследований.
Мы собираем данные о товарах и ценах для крупных розничных сетей и производителей FMCG-товаров
Вилка: 230 000 - 270 000₽ на руки
Локация: офис, м. Новослободская, Москва
👨🎓 Требуемый опыт: Golang, gRPC, Redis, Linux / PostgreSQL / Go microservices.
Отлично, если вы работали с: Docker, имели опыт управления командой.
📌 Условия:
- График 5/2, начало рабочего дня с 10:00 - 12:00 часов;
- Возможность работать пару дней в неделю удаленно;
- Очередь технических задач;
- Технически грамотное руководство;
- Официальное трудоустройство
По всем вопросам можно писать в личные сообщения @svetafeeva
➡️ Подробности - https://proglib.io/vacancies/lead-go-developer-millionagents-2020-06-04
Компания: MillionAgents, один из ведущих игроков на рынке полевых исследований.
Мы собираем данные о товарах и ценах для крупных розничных сетей и производителей FMCG-товаров
Вилка: 230 000 - 270 000₽ на руки
Локация: офис, м. Новослободская, Москва
👨🎓 Требуемый опыт: Golang, gRPC, Redis, Linux / PostgreSQL / Go microservices.
Отлично, если вы работали с: Docker, имели опыт управления командой.
📌 Условия:
- График 5/2, начало рабочего дня с 10:00 - 12:00 часов;
- Возможность работать пару дней в неделю удаленно;
- Очередь технических задач;
- Технически грамотное руководство;
- Официальное трудоустройство
По всем вопросам можно писать в личные сообщения @svetafeeva
➡️ Подробности - https://proglib.io/vacancies/lead-go-developer-millionagents-2020-06-04
Что выведет программа?
Anonymous Quiz
36%
Ошибка компиляции
55%
30
2%
Нет правильного ответа
7%
Посмотреть результаты
Эта программа скомпилируется и выведет 30.
В строке 14 вышеупомянутой программы мы присваиваем адрес rect для r. Несмотря на то, что в строке 15 не использовался синтаксис (*r).area() и в связи с тем, что у area() есть получатель значения, Go способен интерпретировать r.area() как (*r).area(), что приводит к корректному выполнению.
В строке 14 вышеупомянутой программы мы присваиваем адрес rect для r. Несмотря на то, что в строке 15 не использовался синтаксис (*r).area() и в связи с тем, что у area() есть получатель значения, Go способен интерпретировать r.area() как (*r).area(), что приводит к корректному выполнению.
Разбираемся с реализацией интерфейсов на Go с помощью impl: https://proglib.io/w/bac69788
GitHub
GitHub - josharian/impl: impl generates method stubs for implementing an interface.
impl generates method stubs for implementing an interface. - josharian/impl
Викторина в большей степени на внимательность. Что выведет программа?
Anonymous Quiz
35%
2
41%
1005
16%
Ошибка компиляции
3%
Нет правильного ответа
5%
Посмотреть результаты
Интересной частью вышеупомянутой викторины является строка 12:
i,_: = strconv.Atoi(s)
Данный участок кода создает новую переменную i, область действия которой находится только в пределах оператора if. Переменная i, которая выводится в строке 15, фактически определена в строке 9, а не та, которая определена в строке 12. Следовательно, эта программа
Стоит также остановиться на строке 12, где происходит конвертация строк в числа.
Строки можно преобразовывать в цифры, используя пакет strconv в стандартной библиотеке Go. Пакет strconv содержит функции для преобразования integer и float. Это очень распространенная операция при получении ввода от пользователя. Например, если у вас есть программа, которая запрашивает возраст пользователя, и когда пользователь вводит данные, они сохраняются как string. Затем вам нужно будет преобразовать их в int, чтобы выполнять математические операции.
Если строка не имеет десятичных дробей, вы можете преобразовать ее в целое число, используя функцию strconv.Atoi. Если вы знаете, что будете использовать число типа float, вам следует использовать strconv.ParseFloat.
i,_: = strconv.Atoi(s)
Данный участок кода создает новую переменную i, область действия которой находится только в пределах оператора if. Переменная i, которая выводится в строке 15, фактически определена в строке 9, а не та, которая определена в строке 12. Следовательно, эта программа
выведет 2
.Стоит также остановиться на строке 12, где происходит конвертация строк в числа.
Строки можно преобразовывать в цифры, используя пакет strconv в стандартной библиотеке Go. Пакет strconv содержит функции для преобразования integer и float. Это очень распространенная операция при получении ввода от пользователя. Например, если у вас есть программа, которая запрашивает возраст пользователя, и когда пользователь вводит данные, они сохраняются как string. Затем вам нужно будет преобразовать их в int, чтобы выполнять математические операции.
Если строка не имеет десятичных дробей, вы можете преобразовать ее в целое число, используя функцию strconv.Atoi. Если вы знаете, что будете использовать число типа float, вам следует использовать strconv.ParseFloat.
Программа раннего доступа к GoLand 2020.2 открыта: вас ждет начальная поддержка Go 1.15, улучшенная и расширенная поддержка Go Modules, новые функции редактирования кода и многое другое.
https://proglib.io/w/177c6e0a
https://proglib.io/w/177c6e0a
The JetBrains Blog
GoLand 2020.2 Early Access Program Is Open! | The GoLand Blog
GoLand 2020.2 EAP starts today! We are aiming to pack this release with initial support for Go 1.15, polished and expanded Go Modules support, new code editing features, and much more. You can find a
Качественный туториал по работе с RabbitMQ в Go для начинающих: https://proglib.io/w/f78ab4b3
YouTube
Go RabbitMQ Beginners Tutorial
👨💻 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 and hit that 🔔 to get notified for all the latest tutorials!
Hi everyone! In this tutorial…
✅ Subscribe and hit that 🔔 to get notified for all the latest tutorials!
Hi everyone! In this tutorial…
Философия и инструменты тестирования кода на Go: https://proglib.io/w/b2907b24
lwn.net
Testing in Go: philosophy and tools
The Go programming language comes with
tools for writing and running tests: the standard library's testing package, and
the go
test command to run test suites. Like the language itself, Go's
philosophy for writing tests is minimalist: use the
lightweight…
tools for writing and running tests: the standard library's testing package, and
the go
test command to run test suites. Like the language itself, Go's
philosophy for writing tests is minimalist: use the
lightweight…
Go-yaml — библиотека, предназначенная для работы с форматом yaml в Go. Как заявляют авторы, имеет ряд преимуществ над существующей. Так или иначе, она заслуживает вашего внимания.
https://proglib.io/w/3c4dba29
https://proglib.io/w/3c4dba29
GitHub
GitHub - go-yaml/yaml: YAML support for the Go language.
YAML support for the Go language. Contribute to go-yaml/yaml development by creating an account on GitHub.
Что выведет программа?
Anonymous Quiz
16%
3
43%
4
27%
Ошибка компиляции
2%
Нет правильного ответа
12%
Посмотреть результаты
Выражение
Оно строит срез того же типа, с той же длиной и элементами, что и простое выражение среза
Следовательно, срез t в строке 9 имеет длину 1 (элемент 4) и ёмкость 1.
a[low : high : max]
является одним из способов создать срез и называется полным выражением срезов. Оно строит срез того же типа, с той же длиной и элементами, что и простое выражение среза
a[low:high]
. Кроме того, оно контролирует ёмкость результирующего среза, устанавливая её следующим образом: max - low
. Ёмкость (функция cap в Go) — это количество элементов в базовом массиве (начиная с элемента, на который ссылается указатель среза). Длина среза (функция len в Go) определяется как high - low
.Следовательно, срез t в строке 9 имеет длину 1 (элемент 4) и ёмкость 1.
Преимущества, которые вы как разработчик и ваши пользователи получаете от использования чистой архитектуры при разработке программы, очевидны: итоговая бизнес-логика, которая не заботится о том, какая используется СУБД; используется ли CLI, REST API или gRPC; какой используется фреймворк и так далее.
В данной статье автор делится своим подходом к построению чистой архитектуры: https://proglib.io/w/63955949
В данной статье автор делится своим подходом к построению чистой архитектуры: https://proglib.io/w/63955949
DEV Community
Clean Architecture, the right way
A practical guide to Clean Architecture, with a personal touch. Just last Sunday, I was randomly bro...
Деплой Golang-приложения в Kubernetes на DigitalOcean: учимся помещать приложение в Docker-контейнер, разворачивать в кластере Kubernetes и создавать средство балансировки нагрузки, которое будет служить точкой входа в приложение с общим доступом.
https://proglib.io/w/e6181a85
https://proglib.io/w/e6181a85
YouTube
How to Deploy a Resilient Go Application to Kubernetes on DigitalOcean
👨💻 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…