🌅 Lua конфигурация Neovim для разработки на Go
В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.
Эта статья может быть полезна тебе, если:
пишешь на Go
есть конфиг на Vimscript, но хочется на Lua
хочется пересесть с тяжелых современных IDE или текстовых редакторов, таких как Goland, Vscode и других, на Neovim
Смотреть
@Golang_google
В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.
Эта статья может быть полезна тебе, если:
пишешь на Go
есть конфиг на Vimscript, но хочется на Lua
хочется пересесть с тяжелых современных IDE или текстовых редакторов, таких как Goland, Vscode и других, на Neovim
Смотреть
@Golang_google
🗼 watchtower – инструмент, который позволяет автоматизировать обновление docker-контейнеров после внесения в них изменений
Следит за обновлениями и корректно обновляет контейнеры
$ docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
@Golang_google | #Go #Docker #Interesting #Useful
@Golang_google
Следит за обновлениями и корректно обновляет контейнеры
$ docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
@Golang_google | #Go #Docker #Interesting #Useful
@Golang_google
Trivy – Сканер на наличие уязвимостей в образах контейнеров, файловых системах и репозиториях Git, а также для проблем с конфигурацией
Trivy обнаруживает уязвимости пакетов ОС (Alpine, RHEL, CentOS и т. д.) и языковых пакетов (Bundler, Composer, npm, yarn и т. д.). Кроме того, Trivy сканирует файлы Infrastructure as Code (IaC), такие как Terraform, Dockerfile и Kubernetes, чтобы обнаружить потенциальные проблемы конфигурации
#GitHub | #Go #Useful #Scanner
@Golang_google
Trivy обнаруживает уязвимости пакетов ОС (Alpine, RHEL, CentOS и т. д.) и языковых пакетов (Bundler, Composer, npm, yarn и т. д.). Кроме того, Trivy сканирует файлы Infrastructure as Code (IaC), такие как Terraform, Dockerfile и Kubernetes, чтобы обнаружить потенциальные проблемы конфигурации
#GitHub | #Go #Useful #Scanner
@Golang_google
Полезная статья на Хабр о Конкурентности Go
В ней Golang-разработчик в МТС Digital Артем Чаадаев собрал и подробно разобрал наиболее подходящие примеры использования конкурентного кода в Go на основе личного опыта.
Хотите узнать, как писать конкурентный код, и как с его помощью решать бизнес-кейсы? Значит, вам сюда.
В ней Golang-разработчик в МТС Digital Артем Чаадаев собрал и подробно разобрал наиболее подходящие примеры использования конкурентного кода в Go на основе личного опыта.
Хотите узнать, как писать конкурентный код, и как с его помощью решать бизнес-кейсы? Значит, вам сюда.
Хабр
Конкурентность в Go: пять примеров
Привет, Хабр! Я Артем Чаадаев, Golang-разработчик в МТС Digital. Традиционно считается, что главная фича Go – это «многопоточность из коробки». Этому посвящено немало статей, авторы которых...
Golang-дайджест № 19 (1 – 31 июля 2022)
Свежая подборка новостей и материалов
Интересное в этом выпуске
Выпущены версии 1.18.4 и 1.17.12;
Выпущен GoLand 2022.2;
Go To Memory;
Что нового в Go 1.19?
Приятного чтения!
@Golang_google
Свежая подборка новостей и материалов
Интересное в этом выпуске
Выпущены версии 1.18.4 и 1.17.12;
Выпущен GoLand 2022.2;
Go To Memory;
Что нового в Go 1.19?
Приятного чтения!
@Golang_google
Расскажите про структуры данных: stack, queue, linked list, trie, balanced tree, Hash Table
Ответ:
8 известных структур данных, о которых спросят на собеседовании
#теория #middle
@golang_interview
Ответ:
8 известных структур данных, о которых спросят на собеседовании
#теория #middle
@golang_interview
Тестирование в Go: от плохого к хорошему.
В этом видео мы расскажем теорию тестирования, поговорим о том, как нужно писать тесты в Golang и затронем тему архитектуры проекта.
Первая часть
Вторая часть
Код
Test Pyramid
@Golang_google
В этом видео мы расскажем теорию тестирования, поговорим о том, как нужно писать тесты в Golang и затронем тему архитектуры проекта.
Первая часть
Вторая часть
Код
Test Pyramid
@Golang_google
Напишите свою инфраструктуру Kubernetes — как код Go
cdk8s (Cloud Development Kit for Kubernetes) — это опенсорсный фреймворк (часть CNCF), при помощи которого можно определять приложения Kubernetes при помощи обычных языков программирования (вместо yaml). В предыдущих постах по этой теме я познакомил читателей с фреймворком и рассказал об использовании библиотеки cdk8s-plus для дальнейшего расширения базовых возможностей функций библиотеки cdk8s. В этом посте мы ещё больше расширим границы возможностей cdk8s.
Я продемонстрирую, как можно использовать Kubernetes Custom Resource Definitions при помощи cdk8s. Мы начнём с простого примера Nginx, а затем используем комбинацию CRD проекта Strimzi вместе с Go cdk8s для описания и развёртывания кластера Kafka на Kubernetes!
Читать дальше
Полный код
@Golang_google
cdk8s (Cloud Development Kit for Kubernetes) — это опенсорсный фреймворк (часть CNCF), при помощи которого можно определять приложения Kubernetes при помощи обычных языков программирования (вместо yaml). В предыдущих постах по этой теме я познакомил читателей с фреймворком и рассказал об использовании библиотеки cdk8s-plus для дальнейшего расширения базовых возможностей функций библиотеки cdk8s. В этом посте мы ещё больше расширим границы возможностей cdk8s.
Я продемонстрирую, как можно использовать Kubernetes Custom Resource Definitions при помощи cdk8s. Мы начнём с простого примера Nginx, а затем используем комбинацию CRD проекта Strimzi вместе с Go cdk8s для описания и развёртывания кластера Kafka на Kubernetes!
Читать дальше
Полный код
@Golang_google
↪️ Обработка ошибок в Go
Механизм обработки ошибок в Go отличается от обработки исключений в большинстве языков программирования, ведь в Golang ошибки исключениями не являются. Если говорить в целом, то ошибка в Go — это возвращаемое значение с типомerror, которое демонстрирует сбой. А с точки зрения кода — интерфейс. В качестве ошибки может выступать любой объект, который этому интерфейсу удовлетворяет.
➡️ Читать дальше
@Golang_google
Механизм обработки ошибок в Go отличается от обработки исключений в большинстве языков программирования, ведь в Golang ошибки исключениями не являются. Если говорить в целом, то ошибка в Go — это возвращаемое значение с типомerror, которое демонстрирует сбой. А с точки зрения кода — интерфейс. В качестве ошибки может выступать любой объект, который этому интерфейсу удовлетворяет.
➡️ Читать дальше
@Golang_google
Шпаргалка по Go для начинающих с примерами из Go-тура.
https://github.com/a8m/golang-cheat-sheet
@Golang_google
https://github.com/a8m/golang-cheat-sheet
@Golang_google
GitHub
GitHub - a8m/golang-cheat-sheet: An overview of Go syntax and features.
An overview of Go syntax and features. Contribute to a8m/golang-cheat-sheet development by creating an account on GitHub.
Пример объединения концепций нескольких паттерноа для создания простой и гибкой структуры Go-сервиса.
Читать
Простые highload паттерны на Go
@Golang_google
Читать
Простые highload паттерны на Go
@Golang_google
Абстрактные анонимные сети
Среди анонимных сетей можно выявить класс систем максимально разграничивающих субъектов информации от их объектов, что приводит к возможности различных способов транспортирования информации. Из-за своей специфичной архитектуры передача информации может осуществляться в любой дуплексной среде, что полностью отрывает распространение объектов от своей сетевой архитектуры и переводит маршрутизацию в этап виртуального транслирования. Тем не менее у такой концепции существуют и свои недостатки, где одним из основных является невозможность построения поточной связи из-за отсутствия постоянных соединений, что в определённой степени становится уязвимостью к активным нападениям (более подробно данный момент будет показан в разделе «Модель абстрактных анонимных сетей на базе очередей»).
➡️ Читать дальше
📃 Теория скрытых систем
@Golang_google
Среди анонимных сетей можно выявить класс систем максимально разграничивающих субъектов информации от их объектов, что приводит к возможности различных способов транспортирования информации. Из-за своей специфичной архитектуры передача информации может осуществляться в любой дуплексной среде, что полностью отрывает распространение объектов от своей сетевой архитектуры и переводит маршрутизацию в этап виртуального транслирования. Тем не менее у такой концепции существуют и свои недостатки, где одним из основных является невозможность построения поточной связи из-за отсутствия постоянных соединений, что в определённой степени становится уязвимостью к активным нападениям (более подробно данный момент будет показан в разделе «Модель абстрактных анонимных сетей на базе очередей»).
➡️ Читать дальше
📃 Теория скрытых систем
@Golang_google
⚙️ Cервер от Gotify для обмена сообщениями в режиме реального времени через веб-сокеты.
➡️ Репозиторий
↪️ Документация
@Golang_google
➡️ Репозиторий
↪️ Документация
@Golang_google
🛠 Инструмент на GO для отображения использования диска. (Линукс, macOS и Windows)
go install github.com/chenquan/diskusage@latest
➡️ Github
@Golang_google
go install github.com/chenquan/diskusage@latest
➡️ Github
@Golang_google
🐄 cowsay - это забавная и очень полезная (нет) библиотека, которая умеет выводить картинки различных животных, нарисованные символами 👌🏼
Чтобы увидеть этот шедевр самостоятельно, запускай код, который приведен ниже.
Github
@Golang_google
Чтобы увидеть этот шедевр самостоятельно, запускай код, который приведен ниже.
Github
@Golang_google
✒️ Мои собеседования (Golang developer)
Привет, меня зовут Олег, я разработчик со стажем почти 10 лет.
Разработкой начал заниматься ещё со старшей школы, изучал C/C++ (очень пригодилось при написании скриптов в injection для ультимы онлайн). Профессионально начал работать разработчиком приблизительно с 2014, основной язык до 2020 года был C# с примесью C++. Сначала разрабатывал и поддерживал некоторые проекты в банковской сфере, потом резко поменял предметную область и ушёл писать софт для автоматизации работы одного строительного девелопера. На начальных этапах это было огромное легаси на C# от бывшего архитектора, решившего стать программистом, с кучей багов и неочевидных решений, пришлось много переписывать.
Со временем появились задачи, которые не были привязаны к языку и технологиям в принципе (изначально писал, по сути, плагины к CAD-приложениям), и я попробовал Golang, а вместе с ним и микросервисы, NoSQL, gRPC и прочие модные штуки. Побывал в шкуре админа-девопса, так как новые сервисы я запускал и поддерживал сам.
➡️ Читать дальше
@Golang_google
Привет, меня зовут Олег, я разработчик со стажем почти 10 лет.
Разработкой начал заниматься ещё со старшей школы, изучал C/C++ (очень пригодилось при написании скриптов в injection для ультимы онлайн). Профессионально начал работать разработчиком приблизительно с 2014, основной язык до 2020 года был C# с примесью C++. Сначала разрабатывал и поддерживал некоторые проекты в банковской сфере, потом резко поменял предметную область и ушёл писать софт для автоматизации работы одного строительного девелопера. На начальных этапах это было огромное легаси на C# от бывшего архитектора, решившего стать программистом, с кучей багов и неочевидных решений, пришлось много переписывать.
Со временем появились задачи, которые не были привязаны к языку и технологиям в принципе (изначально писал, по сути, плагины к CAD-приложениям), и я попробовал Golang, а вместе с ним и микросервисы, NoSQL, gRPC и прочие модные штуки. Побывал в шкуре админа-девопса, так как новые сервисы я запускал и поддерживал сам.
➡️ Читать дальше
@Golang_google
📰 Новости из мира Go: вредоносное ПО, зарплаты разработчиков, книги и новые релизы
Специалисты компании Avast заявили о том, что сейчас наблюдается рост количества вредоносных и потенциально опасных программ, которые написаны на Golang. Новые экземпляры вредоносов обнаруживаются каждую неделю, но наиболее важные зловреды — бэкдор Backdoorit и IRC-бот Caligula.
Оба могут работать на самых разных платформах. Сколько они существуют — сказать сложно, поскольку обнаружили их в конце апреля, когда они еще не детектировались базами VirusTotal.
➡️ Читать дальше
@Golang_google
Специалисты компании Avast заявили о том, что сейчас наблюдается рост количества вредоносных и потенциально опасных программ, которые написаны на Golang. Новые экземпляры вредоносов обнаруживаются каждую неделю, но наиболее важные зловреды — бэкдор Backdoorit и IRC-бот Caligula.
Оба могут работать на самых разных платформах. Сколько они существуют — сказать сложно, поскольку обнаружили их в конце апреля, когда они еще не детектировались базами VirusTotal.
➡️ Читать дальше
@Golang_google
🎮 CloudRetro
Cервис, написанный на GO предоставляет возможность поиграть в ретро-игры в облаке
Также, есть возможность играть в одну игровую сессию с нескольких устройств. Интресный проект для изучения.
➡️ GitHub
➡️ Video demo
#Go #Game
@Golang_google
Cервис, написанный на GO предоставляет возможность поиграть в ретро-игры в облаке
Также, есть возможность играть в одну игровую сессию с нескольких устройств. Интресный проект для изучения.
➡️ GitHub
➡️ Video demo
#Go #Game
@Golang_google