Size: a a a

Библиотека Go разработчика

2020 May 15
Библиотека Go разработчика
Развернутая статья о разработке CLI приложения на Go с помощью пакета flag и UNIX-style опций
(gnuflag, go-flags и cli.go): https://proglib.io/w/a9f2cbf0
источник
2020 May 16
Библиотека Go разработчика
Hands-On System Programming with Go: Build Modern and Concurrent Applications for Unix and Linux Systems Using Golang (2019)

Автор(ы): Alex Guerrieri

С помощью книги вы изучите основы системного программирования, начиная от API ядра и файловой системы до сетевого программирования и процессов взаимодействия.

Вы узнаете, как оптимизировать операции ввода и вывода с файлами и потоками данных, которые являются полезными инструментами при создании приложений псевдотерминала, получите представление о том, как процессы взаимодействуют друг с другом, узнаете о процессах и управлении демоном с помощью сигналов, каналов и кодов выхода. Эта книга также позволит вам понять, как использовать сетевое взаимодействие с помощью различных протоколов, включая TCP и HTTP.

По мере продвижения вы будете фокусироваться на лучшей функции Go ― параллелизме, помогающем вам управлять связью с каналами и goroutines, для синхронизации общих ресурсов.
источник
2020 May 17
Библиотека Go разработчика
У нас есть структура: type person struct { name string age int }

Определяем её и выводим имя человека:  var P person    P.name = "Astaxie"   P.age = 25   fmt.Printf("Имя человека - %s\n", P.name)    Есть еще 3 способа определить структуру, какие?
Анонимный опрос
31%
tom := person{"Tom", 25}
34%
tom := person{age: 25, name: "Tom"}
4%
tom := person{name Tom, age 25}
29%
tom := struct{name string; age int}{"Tom", 25}
1%
Не знаю
Проголосовало: 2044
источник
Библиотека Go разработчика
Golang позволяет определить структуру следующим образом (кроме указанного в задании):
– Присвоить начальные значения по порядку:
tom := person{"Tom", 25}

– Использовать формат поле:значение, чтобы задать начальные значения полей структуры, при этом можно не соблюдать порядок, в котором поля шли при описании структуры:
tom := person{age: 25, name: "Tom"}

– Определить анонимную структуру, а затем задать ей значения:
tom := struct{name string; age int}{"Tom", 25}
источник
Библиотека Go разработчика
Туториал по использованию стандарта AES для шифрования и дешифрования информации в программах на Go: https://proglib.io/w/b073e0b4
источник
2020 May 18
Библиотека Go разработчика
Хоть и старая, но не теряющая свою актуальность подборка видеоматериалов о разработке полноценного веб-приложения на Go:
Часть 1 (net/http)
Часть 2 (martini + markdown)
Часть 3 (MongoDB - mgo)
Часть 4 (Сессия + Авторизация)
Часть 5 (Рефакторинг)
Часть 6 (Заключительная)
источник
2020 May 19
Библиотека Go разработчика
Разбираемся с использованием преимуществ структур и интерфейсов в Go для макетирования любого сервиса или библиотеки: https://proglib.io/w/0c9d8358
источник
Библиотека Go разработчика
​​Сегодня, 19 мая в 20:00 мск приглашаем на День открытых дверей онлайн-курса «Разработчик Golang».
                                                                                                                                                           Зарегистрируйтесь на трансляцию: https://otus.pw/suSZ/  
Всех, кто запишется на этот вебинар,  ждет сертификат на обучение в OTUS (придет вам после трансляции на почту).
                                                                                                                                                                    На бесплатном вебинаре вы:
- Узнаете, насколько востребованы Golang разработчики в период/после кризиса?
- Обсудите перспективы выпускников.
- Получите ответы на свои вопросы.
                                                                                                                                                            Вебинар ведет руководитель программы,преподаватель-практик Антон Телышев (ведущий Golang-разработчик, который владеет также Python, С++ и другими языками и технологиями). Готовьте свои вопросы и воспользуйтесь возможностью проконсультироваться с экспертом.
                                                                                                                                                          Также напоминаем, что для поступления в группу необходимо пройти вступительный тест: https://otus.pw/t6gC/
источник
Библиотека Go разработчика
​​Mvn-golang ― плагин, который осуществляет вызовы к утилитам и командам GoSDK с автоматическим формированием нужных переменных окружения и позволяет использовать Maven для построения Go-проекта.

Статья с описанием
Ссылка на репозиторий
источник
2020 May 20
Библиотека Go разработчика
источник
Библиотека Go разработчика
Что выведет программа?
Анонимная викторина
55%
nil
28%
not nil
16%
Ошибка компиляции
Проголосовало: 1133
источник
2020 May 21
Библиотека Go разработчика
В программировании на Go nil является нулевым значением. Как помните, переменная integer, объявленная без значения, по умолчанию будет равна 0. Пустая строка будет нулевым значением переменной string и так далее. Указатель, который ни на что не указывает, принимает значение nil. Идентификатор nil также обладает нулевым значением для срезов, карт и интерфейсов.

Если мы объявляем переменную типа интерфейса без присваивания, нулевым значением является nil. В нашем примере тип интерфейса и значение являются nil, тогда и переменная i считается равной nil.
источник
Библиотека Go разработчика
Перевод статьи, в которой описан процесс разработки системы удалённого мониторинга пациентов (технический стек: Go/Vue), заражённых Covid-19.

https://proglib.io/w/da87faf2
источник
2020 May 22
Библиотека Go разработчика
1 июня в 20:00 мск приглашаем на день открытых дверей онлайн-курса «Архитектор Программного Обеспечения».
Зарегистрируйтесь на трансляцию - напомним в день вебинара: https://otus.pw/RCPh/

- Ответим на все интересующие вопросы о разработке архитектуры программного обеспечения, курсе, формате обучения и выпускном проекте;
- Поговорим о программе курса и ее наполнении;
- Расскажем о компаниях-партнёрах, которые с нетерпением ждут на собеседование выпускников;
- Обсудим актуальные тенденции отрасли.

Встречу проводит преподаватель курса Станислав Щетинников - Программирует больше 10 лет. Архитектурой систем занимается уже больше 6 лет.

Приходите за подробностями онлайн и помните: старт курса уже 27 июня, успейте пройти вступительный тест и поступите в группу: https://otus.pw/Iqf70/
источник
Библиотека Go разработчика
источник
Библиотека Go разработчика
Что выведет программа?
Анонимная викторина
44%
5
36%
18
11%
Ошибка компиляции
2%
Нет правильного ответа
7%
Посмотреть результаты
Проголосовало: 1064
источник
2020 May 23
Библиотека Go разработчика
В нашей викторине затронута тема вариативных функций в Go, которые в качестве единого аргумента принимает ноль, одно или несколько значений. Хотя вариативные функции используются не так часто, в отдельных случаях они могут сделать ваш код чище и читабельнее.

Срез i передается в вариативную функцию hello() в строке №13. Изменения, внесенные во фрагмент внутри функции, видны вызывающей стороне (5 заменилось на 18, т.к. это нулевое значение среза). Следовательно строка №14 напечатает 18.
источник
Библиотека Go разработчика
Автор статьи делится шаблонами для написания веб-сервисов на Go: https://proglib.io/w/05683c0e
источник
2020 May 24
Библиотека Go разработчика
Сборка приложений Go для разных операционных систем и архитектур

Используя переменные среды и теги сборки, вы можете контролировать, для какой ОС и архитектуры создается окончательный двоичный файл. С помощью мануала вы научитесь собирать тестовое приложение, которое объединяет строки в путь к файлу, создает и выборочно включает зависимые от платформы фрагменты и собирает двоичные файлы для нескольких ОС и архитектур в своей системе.

https://proglib.io/w/774fa86e
источник
2020 May 25
Библиотека Go разработчика
Hands-On Software Architecture with Golang: Design and architect highly scalable and robust applications using Go (2019)

Автор(ы): Jyotiswarup Raiturkar

Книга предоставляет набор знаний, которые позволят понимать на практике  принципы архитектуры программного обеспечения с охватом SOA (сервис-ориентированная архитектура), распределенных систем, систем обмена сообщениями и моделирования баз данных.

Автор книги знакомит читателей с различными архитектурными шаблонами для создания распределенных приложений; показывает процесс переноса приложений, написанных на Java или Python, на язык Go; описывает различные аспекты уровня кода (модульность, дизайн классов и конструкции), специфичные для Golang; представляет основные задачи архитектуры, такие как эффективное управление сложностью, масштабируемостью и надежностью программных систем; показывает практику развертывания архитектуры и планирования миграции приложений с других языков и многое другое.
источник