Наследие Go
Эта презентация была разработана для GoLab во Флоренции, Италия. Она была представлена в качестве заключительного выступления на конференции. Презентация рассказывает о наследии Go, глядя в прошлое и в будущее. Присутствующие назвали эту презентацию красивой, вдохновляющей и удивительной. Как вам?
Эта презентация была разработана для GoLab во Флоренции, Италия. Она была представлена в качестве заключительного выступления на конференции. Презентация рассказывает о наследии Go, глядя в прошлое и в будущее. Присутствующие назвали эту презентацию красивой, вдохновляющей и удивительной. Как вам?
Learning Functional Programming in Go (2017)
Автор: Sheehan L.
#go #book #en
Язык: English.
Целевая аудитория: для go-разработчиков, знакомых с ООП и заинтересованных в изучении применения функциональной парадигмы.
Эта книга является учебным пособием для программистов, которые хотят изучать FP и применять его для написания лучшего кода. Автор ведет читателя от базовых приемов к продвинутым темам в логической, лаконичной и понятной последовательности.
В книге рассматриваются следующие темы:
✔️ создание надежных приложений;
✔️ методы устранения побочных эффектов;
✔️ первоклассные функции для реализации чистых функций;
✔️ реализация лямбда-выражения в Go и многое другое.
Преимущества:
➕ глубокое введение в тему;
➕ все взаимосвязано, просто и продуманно.
Недостатки:
➖не обнаружено.
Автор: Sheehan L.
#go #book #en
Язык: English.
Целевая аудитория: для go-разработчиков, знакомых с ООП и заинтересованных в изучении применения функциональной парадигмы.
Эта книга является учебным пособием для программистов, которые хотят изучать FP и применять его для написания лучшего кода. Автор ведет читателя от базовых приемов к продвинутым темам в логической, лаконичной и понятной последовательности.
В книге рассматриваются следующие темы:
✔️ создание надежных приложений;
✔️ методы устранения побочных эффектов;
✔️ первоклассные функции для реализации чистых функций;
✔️ реализация лямбда-выражения в Go и многое другое.
Преимущества:
➕ глубокое введение в тему;
➕ все взаимосвязано, просто и продуманно.
Недостатки:
➖не обнаружено.
Ответ: да, может. Происходит следующее: функция, которая возвращает одно значение, выделяет один слот в стеке, чтобы удерживать его, а функция, которая возвращает два значения, выделяет два слота в стеке для их хранения и так далее.
Мини-руководство для начинающих
Создание REST API как микросервис Go вместе с MySQL.
👇👇
https://teletype.in/@sofiya-yurova/B1koTNvjS
Создание REST API как микросервис Go вместе с MySQL.
👇👇
https://teletype.in/@sofiya-yurova/B1koTNvjS
Teletype
Мини-руководство для начинающих
Создание REST API как микросервис Go вместе с MySQL.
Основные операции, необходимые для начала работы с модулями
Go 1.11 и 1.12 включают предварительную поддержку модулей, новую систему управления зависимостями, которая делает информацию о версии зависимостей явной и простой в управлении. Модуль представляет собой набор пакетов Go, хранящихся в файловом дереве с файлом "go.mod" в корне. "go.mod" определяет путь модуля (module path), который также является путем импорта, используемого для корневого каталога. Его требование зависимостей, другие модули, необходимы для успешной сборки. Каждое требование к зависимости записывается в виде пути к модулю и конкретной семантической версии .
Начиная с Go 1.11, команда go позволяет использовать модули, если текущий каталог или любой родительский каталог имеет go.mod, при условии, что каталог находится снаружи $GOPATH/src. Внутри $GOPATH/src, для совместимости, команда go по-прежнему выполняется в старом режиме GOPATH, даже если go.mod найден. Начиная с Go 1.13, режим модуля будет использоваться по умолчанию для всех разработок.
В этих ссылках на четыре части одного большого поста можно найти более подробную информацию об использовани Go Modules:
Часть 1 - Использование Go Modules
Часть 2 - Миграция на Go Modules
Часть 3 - Публикация Go Modules
Часть 4 - Go Modules: v2 и последующие
Go 1.11 и 1.12 включают предварительную поддержку модулей, новую систему управления зависимостями, которая делает информацию о версии зависимостей явной и простой в управлении. Модуль представляет собой набор пакетов Go, хранящихся в файловом дереве с файлом "go.mod" в корне. "go.mod" определяет путь модуля (module path), который также является путем импорта, используемого для корневого каталога. Его требование зависимостей, другие модули, необходимы для успешной сборки. Каждое требование к зависимости записывается в виде пути к модулю и конкретной семантической версии .
Начиная с Go 1.11, команда go позволяет использовать модули, если текущий каталог или любой родительский каталог имеет go.mod, при условии, что каталог находится снаружи $GOPATH/src. Внутри $GOPATH/src, для совместимости, команда go по-прежнему выполняется в старом режиме GOPATH, даже если go.mod найден. Начиная с Go 1.13, режим модуля будет использоваться по умолчанию для всех разработок.
В этих ссылках на четыре части одного большого поста можно найти более подробную информацию об использовани Go Modules:
Часть 1 - Использование Go Modules
Часть 2 - Миграция на Go Modules
Часть 3 - Публикация Go Modules
Часть 4 - Go Modules: v2 и последующие
go.dev
Using Go Modules - The Go Programming Language
An introduction to the basic operations needed to get started with Go modules.
Небольшой пакет golang для рендеринга разметки удобным для терминала способом
Пакет termd обеспечивает рендеринг разметки терминала с поддержкой подсветки синтаксиса блоков кода.
Особенности:
- подсветка синтаксиса кода,
- перенос слов до указанной ширины столбца,
- терминальный стиль.
Пакет termd обеспечивает рендеринг разметки терминала с поддержкой подсветки синтаксиса блоков кода.
Особенности:
- подсветка синтаксиса кода,
- перенос слов до указанной ширины столбца,
- терминальный стиль.
GitHub
GitHub - tj/go-termd: Package termd provides terminal markdown rendering, with code block syntax highlighting support.
Package termd provides terminal markdown rendering, with code block syntax highlighting support. - tj/go-termd
Go Flutter для компьютера
Google Flutter — это платформа, которая позволяет вам разрабатывать приложения с единой кодовой базой на гугловском языке Dart. Flutter позволяет создавать красивые нативные приложения на iOS и Android. Этот неофициальный проект выводит Flutter на рабочий стол благодаря возможностям Go и GLFW. Сам механизм не знает, как обращаться с компьютером (например, обрабатывать ввод с клавиатуры / мыши). Вместо этого он предоставляет уровень абстракции для любой платформы для реализации. Целью этого проекта является реализация API встраивания Flutter с использованием единой кодовой базы, работающей в Windows, MacOS и Linux. GLFW подходит для этой задачи, потому что он предоставляет правильные абстракции поверх буфера / мыши / клавиатуры OpenGL для каждой платформы.
Google Flutter — это платформа, которая позволяет вам разрабатывать приложения с единой кодовой базой на гугловском языке Dart. Flutter позволяет создавать красивые нативные приложения на iOS и Android. Этот неофициальный проект выводит Flutter на рабочий стол благодаря возможностям Go и GLFW. Сам механизм не знает, как обращаться с компьютером (например, обрабатывать ввод с клавиатуры / мыши). Вместо этого он предоставляет уровень абстракции для любой платформы для реализации. Целью этого проекта является реализация API встраивания Flutter с использованием единой кодовой базы, работающей в Windows, MacOS и Linux. GLFW подходит для этой задачи, потому что он предоставляет правильные абстракции поверх буфера / мыши / клавиатуры OpenGL для каждой платформы.
dart.dev
Dart programming language
Dart is an approachable, portable, and productive language for high-quality apps on any platform.
Go.dev: новый центр для разработчиков Go
"За последние два года, когда мы общались с пользователями компаний всех размеров, мы неоднократно слышали три вопроса: кто еще использует Go, для чего они его используют и как я могу найти полезные пакеты Go?", — сообщают в блоге Go.
Вчера был запущен go.dev, новый хаб для разработчиков Go, чтобы помочь ответить на эти вопросы. Там можно найти множество учебных ресурсов для начала работы с языком, примеры использования и примеры компаний, использующих Go.
golang.org по-прежнему является домом для проекта Go с открытым исходным кодом и дистрибутива Go. Go.dev — это сопутствующий сайт, предоставляющий эти вспомогательные ресурсы.
"За последние два года, когда мы общались с пользователями компаний всех размеров, мы неоднократно слышали три вопроса: кто еще использует Go, для чего они его используют и как я могу найти полезные пакеты Go?", — сообщают в блоге Go.
Вчера был запущен go.dev, новый хаб для разработчиков Go, чтобы помочь ответить на эти вопросы. Там можно найти множество учебных ресурсов для начала работы с языком, примеры использования и примеры компаний, использующих Go.
golang.org по-прежнему является домом для проекта Go с открытым исходным кодом и дистрибутива Go. Go.dev — это сопутствующий сайт, предоставляющий эти вспомогательные ресурсы.
blog.golang.org
Go.dev: a new hub for Go developers - The Go Blog
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Статическая проверка в действии: инструмент статического анализа Staticcheck
Слишком часто мы обнаруживаем ошибки только после развертывания деплоя на продакшн. Даже на таком языке, как Go, можно писать неэффективный код и не отлавливать ошибки, пока не станет слишком поздно. Staticcheck — это инструмент статического анализа, который может решить эту проблему. Он специализируется на поиске ошибок, простоте кода, производительности и интеграции редактора. Staticcheck с открытым исходным кодом и предлагается бесплатно. Он постоянно дополняется новыми и улучшенными проверками.
Он имеет различные проверки:
- на неиспользуемые переменные,
- на откладывание метода Lock для мьютекса сразу после блокировки (пользователь, вероятно, намеревался вместо этого отложить Unlock),
- на недоступность кода и многое другое.
Слишком часто мы обнаруживаем ошибки только после развертывания деплоя на продакшн. Даже на таком языке, как Go, можно писать неэффективный код и не отлавливать ошибки, пока не станет слишком поздно. Staticcheck — это инструмент статического анализа, который может решить эту проблему. Он специализируется на поиске ошибок, простоте кода, производительности и интеграции редактора. Staticcheck с открытым исходным кодом и предлагается бесплатно. Он постоянно дополняется новыми и улучшенными проверками.
Он имеет различные проверки:
- на неиспользуемые переменные,
- на откладывание метода Lock для мьютекса сразу после блокировки (пользователь, вероятно, намеревался вместо этого отложить Unlock),
- на недоступность кода и многое другое.
Superhighway
Staticcheck in Action
An introduction to the static analysis tool Staticcheck for improving Go code
Методы оценки безопасности для проектов Go
"Практика Trail of Bits Assurance получила множество проектов Go, что было подтверждено успехом оценки в Kubernetes этим летом. В результате мы адаптировали для проектов Go некоторые методы и тактики оценки безопасности, которые мы использовали с другими скомпилированными языками", — вырезка из весьма полезного поста о методах безопасной разработки.
В результате авторами была создана адаптация для проектов Go, некоторые методы и тактики оценки безопасности, которые они использовали с другими скомпилированными языками.
"Практика Trail of Bits Assurance получила множество проектов Go, что было подтверждено успехом оценки в Kubernetes этим летом. В результате мы адаптировали для проектов Go некоторые методы и тактики оценки безопасности, которые мы использовали с другими скомпилированными языками", — вырезка из весьма полезного поста о методах безопасной разработки.
В результате авторами была создана адаптация для проектов Go, некоторые методы и тактики оценки безопасности, которые они использовали с другими скомпилированными языками.
Trail of Bits
Trail of Bits | Services
Since 2012, Trail of Bits has helped secure some of the world’s most targeted organizations and products. We combine high-end security research with a real...
Salt — Простая утилита командной строки, написанная на Go, которая поддерживает шифрование/дешифрование NaCL и криптографию с открытым ключом secretbox.
GitHub
GitHub - prologic/salt: A simple command-line utility written in Go that supports NaCL (salt) box encryption/decryption and secrebox…
A simple command-line utility written in Go that supports NaCL (salt) box encryption/decryption and secrebox public key crypto - prologic/salt
Использование HTTP/2 Server Push для создания быстрых и идиоматических клиентских API REST
Vulcain — это совершенно новый протокол, использующий HTTP/2 Server Push для создания быстрых и идиоматических клиентских REST API.
Также предоставляется сервер с открытым исходным кодом, который вы можете поместить поверх любого существующего веб-API, чтобы мгновенно превратить его в Vulcain-совместимый. Он поддерживает гипермедиа API, а также любой «устаревший» API, документируя его отношения с помощью OpenAPI .
Vulcain — это совершенно новый протокол, использующий HTTP/2 Server Push для создания быстрых и идиоматических клиентских REST API.
Также предоставляется сервер с открытым исходным кодом, который вы можете поместить поверх любого существующего веб-API, чтобы мгновенно превратить его в Vulcain-совместимый. Он поддерживает гипермедиа API, а также любой «устаревший» API, документируя его отношения с помощью OpenAPI .
GitHub
GitHub - dunglas/vulcain: 🔨 Fast and idiomatic client-driven REST APIs.
🔨 Fast and idiomatic client-driven REST APIs. Contribute to dunglas/vulcain development by creating an account on GitHub.
Gotraning — это материал для любого разработчика среднего уровня, который имеет некоторый опыт работы с другими языками программирования и хочет изучать Go. Материал идеально подходит для тех, кто хочет начать обучение изучению го или для тех, кто хочет лучше понять язык и его внутреннюю среду.
Примечание. Этот материал предназначен для обучения в группе с тренером или же с ментором, так как код хорошо прокомментирован, но в нем отсутствуют некоторые контекстуальные концепции и идеи, которые будут рассмотрены в классе. Также вы можете внести свой вклад в развитие, создав новую учетную запись. :)
Примечание. Этот материал предназначен для обучения в группе с тренером или же с ментором, так как код хорошо прокомментирован, но в нем отсутствуют некоторые контекстуальные концепции и идеи, которые будут рассмотрены в классе. Также вы можете внести свой вклад в развитие, создав новую учетную запись. :)
GitHub
gotraining/topics/go/README.md at master · ardanlabs/gotraining
Go Training Class Material : . Contribute to ardanlabs/gotraining development by creating an account on GitHub.
DockerSlim — прекрасный репозиторий с открытым исходным кодом, написанный на Go. Его использование — это большой шаг в правильном направлении! ;)
"Продолжай делать то, что делаешь. Не нужно ничего менять. Используй базовое изображение, которое хочешь. Используй менеджер пакетов, который хочешь. Не беспокойся о ручной оптимизации свое Dockerfile. Тебе не нужно выбрасывать свои инструменты и рабочий процесс, чтобы иметь небольшие изображения контейнеров" — обо всем этом беспокоится docker-slim.
"Продолжай делать то, что делаешь. Не нужно ничего менять. Используй базовое изображение, которое хочешь. Используй менеджер пакетов, который хочешь. Не беспокойся о ручной оптимизации свое Dockerfile. Тебе не нужно выбрасывать свои инструменты и рабочий процесс, чтобы иметь небольшие изображения контейнеров" — обо всем этом беспокоится docker-slim.
16 избранных ссылок на материалы о языке Go для начинающих
Подборка лучших статей о языке Go для читателей различного круга интересов и уровня подготовки, на английском и русском языках.
Golang: основы для начинающих (rus)
Трюки с использованием срезов
5 советов по использованию строк
Типы данных Struct, Map, Array и Slice
Понятное объяснение указателей Go менее чем в 800 слов
Туториал по каналам Go
Разработка с использованием каналов
Аксиомы каналов
Наглядная визуализация структур Go
Понимание panic-ошибок
3 наиболее распространенных ловушки языка Go (rus)
Как обойти подводные камни
Основные подводные камни
50 оттенков Go: ловушки, подводные камни и распространенные ошибки новичков
Неофициальный список частых вопросов и ответов
Лекции Техносферы: Программирование на Go (rus)
Подборка лучших статей о языке Go для читателей различного круга интересов и уровня подготовки, на английском и русском языках.
Golang: основы для начинающих (rus)
Трюки с использованием срезов
5 советов по использованию строк
Типы данных Struct, Map, Array и Slice
Понятное объяснение указателей Go менее чем в 800 слов
Туториал по каналам Go
Разработка с использованием каналов
Аксиомы каналов
Наглядная визуализация структур Go
Понимание panic-ошибок
3 наиболее распространенных ловушки языка Go (rus)
Как обойти подводные камни
Основные подводные камни
50 оттенков Go: ловушки, подводные камни и распространенные ошибки новичков
Неофициальный список частых вопросов и ответов
Лекции Техносферы: Программирование на Go (rus)
Tproger
Golang: основы для начинающих
Golang, или Go — язык программирования, начало которого было положено в 2007 году сотрудниками компании Google. Это быстрый, статически типизированный, компилируемый язык, который создает впечатление динамически типизированного и интерпретируемого языка.…
Многие платят за образование, но после выпуска работают за зарплату ниже рынка, только чтобы получить опыт работы. МТС и Сколково создали образовательную программу для выпускников бакалавриата и магистратуры(возраст - 19-24 года), которая поможет подтянуть навыки и скиллы и, что самое главное, получить реальный опыт работы над проектом.
Программа платная, но у тебя есть возможность выиграть 100% грант на обучение. Узнай о программе, перейдя по ссылке https://prglb.ru/33gwx со своего ПК, найди все подсказки, информацию об обучении и сразу же стартуй с одного из этапов квеста.
Программа платная, но у тебя есть возможность выиграть 100% грант на обучение. Узнай о программе, перейдя по ссылке https://prglb.ru/33gwx со своего ПК, найди все подсказки, информацию об обучении и сразу же стартуй с одного из этапов квеста.
Как начать работать с Docker
Docker раскрывает потенциал вашей организации, предоставляя разработчикам и ИТ-специалистам свободу создавать, управлять и защищать критически важные для бизнеса приложения, не опасаясь блокирования технологий или инфраструктуры. Docker позволяет объединять традиционные и облачные приложения, созданные на Windows Server, Linux и мэйнфреймах, в автоматизированную и безопасную цепочку поставок, улучшая сотрудничество между разработчиками и сокращая время окупаемости.
Docker можно использовать по-разному. Например, он предлагает одноразовую среду, которую можно использовать для изучения новых технологий. Docker предоставляет удобный способ иметь локальные среды разработки, которые часто соответствуют производственной среде. Docker также имеет популярный способ конфигурирования, сохранения и совместного использования серверных сред с использованием контейнеров, который помогает в установке приложения или большого стека с помощью простой команды запуска, например, «docker pull» или «docker run».
В этой статье описано когда и зачем использовать Docker.
Docker раскрывает потенциал вашей организации, предоставляя разработчикам и ИТ-специалистам свободу создавать, управлять и защищать критически важные для бизнеса приложения, не опасаясь блокирования технологий или инфраструктуры. Docker позволяет объединять традиционные и облачные приложения, созданные на Windows Server, Linux и мэйнфреймах, в автоматизированную и безопасную цепочку поставок, улучшая сотрудничество между разработчиками и сокращая время окупаемости.
Docker можно использовать по-разному. Например, он предлагает одноразовую среду, которую можно использовать для изучения новых технологий. Docker предоставляет удобный способ иметь локальные среды разработки, которые часто соответствуют производственной среде. Docker также имеет популярный способ конфигурирования, сохранения и совместного использования серверных сред с использованием контейнеров, который помогает в установке приложения или большого стека с помощью простой команды запуска, например, «docker pull» или «docker run».
В этой статье описано когда и зачем использовать Docker.
go.dev
Deploying Go servers with Docker - The Go Programming Language
How to use Docker's new official base images for Go.