Search
Write a publication
Pull to refresh
1
0
Send message

Обзор библиотеки Go Kit

Level of difficultyEasy
Reading time10 min
Views5.7K

Салют, Хабр!

Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные протоколы, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.

Мотивацию создания этой либы разработчики описали так:

Go стал языком сервера, но он по-прежнему недостаточно представлен в так называемых «современных корпоративных» компаниях, таких как Facebook, Twitter, Netflix и SoundCloud. Многие из этих организаций обратились к стекам на основе JVM для создания своей бизнес-логики, во многом благодаря библиотекам и экосистемам, которые напрямую поддерживают их микросервисные архитектуры.

Чтобы достичь следующего уровня успеха, Go нужно нечто большее, чем простые примитивы и идиомы. Ему нужен всеобъемлющий набор инструментов для последовательного распределенного программирования в целом. Go Kit — это набор пакетов и лучших практик, которые обеспечивают комплексный, надежный и надежный способ создания микросервисов для организаций любого размера.

Читать далее

Как я пишу HTTP-сервисы спустя 13 лет работы с Go

Level of difficultyMedium
Reading time18 min
Views37K

Примерно шесть лет назад я написал пост о том, как пишу HTTP-сервисы на Go, и сегодня я снова хочу рассказать, как пишу HTTP-сервисы.

Тот пост оказался довольно популярным и вызвал обсуждения, повлиявшие на то, как я делаю это сегодня. И спустя годы ведения подкаста Go Time, обсуждения Go в X/Twitter и поддержки подобного кода я решил, что настало время обновить информацию.

(Если вы педант и скажете, что Go не совсем 13 лет, то я отвечу, что начал писать HTTP-сервисы на Go версии .r59.)

В этом посте рассматривается широкий спектр тем, связанных с созданием сервисов на Go

Читать далее

Электронные подписи. Но что мы знаем о мультиподписях?

Level of difficultyEasy
Reading time5 min
Views4.1K

Небольшое введение в технологии MPC и мультиподписей.

Краткое описание набора протоколов и используемой реализации мультиподписи.

Читать далее

Памятка: 15 фраз для стендапов на английском языке

Level of difficultyEasy
Reading time2 min
Views5.8K

Работая с зарубежными коллегами, вам наверняка придётся участвовать в стендапах — коротких ежедневных встречах, на которых IT-специалисты рассказывают о выполненных задачах, проблемах и планах на сегодня. Делать это на английском сложнее, чем на родном языке, но, к счастью, стендапы обычно проходят по шаблонам, и основные конструкции можно выучить.

Меня зовут Наталья Зеленова, я методист курсов английского для работы в IT в Яндекс Практикуме. В этой памятке я приведу 15 фраз, которые можно использовать в разных ситуациях, — сохраните в закладки, чтобы структурировать свою речь на стендапе и чувствовать себя увереннее.

Читать далее

Зачем учить алгоритмы?

Level of difficultyEasy
Reading time6 min
Views17K

Хочу поделиться своим взглядом на вопрос, зачем стоит или не стоит прокачивать знание алгоритмов. Попробую взвешенно посмотреть на алгоритмическую задачу, как способ проверки нужных в практической работе навыков.

Читать далее

Книга «Как сочинить видеоигру: 201 совет от сценариста Broken Sword и Resident Evil»

Reading time6 min
Views7.5K
image Привет, Хаброжители!

Разработка сценария для видеоигры — увлекательное дело. Но игровым писателям приходится постоянно учиться и бросать вызов ограничениям.

Это связано с тем, что игровая индустрия развивается и становится все более зрелой. Тут и стремительное совершенствование технологий, которое мы наблюдаем из года в год, и растущие ожидания игроков.

Написание текста — нелегкий труд, в особенности когда речь идет об игровом сценарии. Необходимость выдать нужное качество, не нарушая дедлайнов, еще больше усложняет задачу. Помощь никогда не будет лишней.

Перед вами книга, в которой собран 201 легко усваиваемый совет от легендарного гейм-дизайнера.
Читать дальше →

Введение в нейронные сети на Golang

Reading time2 min
Views35K
Привет читателям Habrahabr! В этой статье я продемонстрирую вам пример простой нейронной сети на языке Golang с использованием готовой библиотеки.

Немного предисловия


Начав изучать язык программирования Golang, мне стало интересно, что может этот язык в сфере машинного обучения. Тогда я начал искать примеры кода какой-либо НС на этом языке. К сожалению, ничего толкового найти не получилось. И вот тогда я решил переписать НС из этой статьи под GO.
Читать дальше →

Подобие CI/CD c микроконтроллерами. Jenkins + GitLab + HeadlessBuild

Level of difficultyEasy
Reading time7 min
Views4.6K

Прежде всего – хотелось избавить себя от рутинных операций, которые необходимо прокручивать в каждый релиз артефакта каждого проекта. Второе – понять, нужен ли мне вообще такой подход у разработке и сколько от него профита. Третье – узнать немного нового

Читать далее

Вопросы по SQL, которые часто задают на собеседовании. Часть 1

Reading time14 min
Views110K

SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков.

Читать далее

Некоторые возможности ssh в golang

Level of difficultyEasy
Reading time3 min
Views4.7K

Создать ssh-сервер на Go можно при помощи модуля golang.org/x/crypto/ssh.

А при помощи пакета github.com/gliderlabs/ssh можно разработать ssh-сервер легко и быстро. Ssh подразумевает не только доступ к оболочке(shell), но и прочие возможности: файловый сервер(sftp), проброс портов.

README пакета gliderlabs/ssh содержит минимальный пример, выводящий строку "Hello world" любому подключенному ssh-клиенту.

Реализуем же полноценный терминальный интерфейс.

go next()

Баги, которые мы пишем, ищем и исправляем

Level of difficultyMedium
Reading time11 min
Views2.2K

Привет! Меня зовут Денис, я - разработчик ПО SEDMAX. Это промышленное ПО для сбора и визуализации данных в энергетике. Как и у всех, у нас бывают баги. Мне бы хотелось поделиться опытом в поиске таких багов, а так же порассуждать на тему того, что необходимо было сделать, чтобы баг не появился. У нас серверная часть написана на go в виде некоторого множества сервисов, поэтому специфика большинства багов будет асинхронное взаимодействие, а код примеров представлен на go.

Читать далее

Проверяем актуальность go.mod и go.sum

Level of difficultyEasy
Reading time2 min
Views6.4K

При ревью запроса на слияние периодически приходится сталкиваться с подозрительными изменениями go.mod и go.sum. Например, когда изменяется только один файл из двух, или когда в Go коде мы не видим то, что могло бы привести к изменениям go.mod и go.sum.

В таких случаях возникают закономерные вопросы: нужны ли эти изменения? почему они появились?

Читать далее

Пишем GPT4 ботов на coze.com

Level of difficultyMedium
Reading time4 min
Views32K

Нет времени объяснять! Bytedance тестирует платформу создания АИ ботов, coze.com, в том числе на базе gpt-4/gpt-3.5/Dalle-3 с возможностью интеграции в телеграм/дискорд. На данный момент ограничений практически нет, бесплатный доступ к огромному количеству сервисов, включая платные. Сервис доступен в России и еще в ряде стран.

Есть возможность создавать сложные workflow, добавлять кастомные плагины/апи, да практически что угодно можно сделать. Я покажу на примере нескольких ботов. Простой gpt бот - переводчик, чуть более сложный - для написания кода на питон, с возможностью "гуглить" и очень сложный, для генерации изображений в Dalle, с сложным воркфлоу, кастомными плагинами/вставками кода/условиями и так далее. Поехали!

Читать далее

Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform

Reading time14 min
Views20K


Привет, Хабр! Меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложений и построения CI/CD-процессов вокруг него. Я постараюсь показать на практическом примере, который вы можете повторить сами, как развернуть за сравнительно небольшое время полноценный CI/CD с рабочим приложением, доступным для внешних пользователей.
Читать дальше →

Самообучение ИТ-специалиста: мой эксперимент с ChatGPT

Level of difficultyEasy
Reading time7 min
Views18K

Процитирую автора древнеримского романа «Сатирикон»: «Чему бы ты ни учился, ты учишься для себя». Актуальности она не потеряла и по сей день. Так что, как вы уже могли понять, речь в статье пойдет про самообразование. А точнее — про то, как его можно разнообразить и попробовать сделать интереснее, при этом получить новые навыки не только в теме, которую изучаем в конкретный момент.

Давайте знакомиться: меня зовут Евгений, мне 30 лет, работаю в сфере ИТ уже более 8 лет и сейчас занимаю позицию ведущего DevOps-инженера в Лиге Цифровой Экономики. 

Читать далее

Блокчейн-разработчик: как освоить профессию будущего уже сейчас

Reading time8 min
Views22K

Популярность решений с применением блокчейна растет с каждым днём. А, значит, и сотрудники, занимающиеся их разработкой, все более востребованы.  

Если еще семь лет назад мало кто знал, какие обязанности у блокчейн-разработчика, то сегодня представители этой профессии объединяются в профессиональные сообщества, общаются на форумах и штурмуют карьерные сайты в поисках лучшего работодателя. В статье расскажу, почему сейчас неправильно ассоциировать блокчейн-разработчиков исключительно с криптовалютами, что нужно для самостоятельного освоения профессии и как вырастет спрос компаний на этих специалистов в обозримом будущем. 

Читать далее

RPC на примере gRPC. Когда применять и как работает

Level of difficultyMedium
Reading time7 min
Views20K

Доброго времени суток, коллеги. Я go разработчик, по-этому примеры будут преимущественно на нём. Хочу порассуждать о методах взаимодействия сервисов. Тема очень обширна. Зачастую мы пользуемся реализациями, которые не всегда подходят, т.к. не знаем куда применить ту или иную технологию. Я хочу попытаться начать закрывать этот пробел как у себя, так и у людей. Любые комментарии и конструктивные исправления приветствуются.

В данной статье хочу разобрать как работает gRPC, что он может, а так же когда и зачем его использовать.

Узнать ->

SOLID и DRY в Go

Level of difficultyEasy
Reading time5 min
Views10K

Привет, Хабр!

Все знают, что SOLID и DRY делают код более чистым, гибким и, что немаловажно, понятным для других разрабов. Каждый компонент выполняет свою функцию и вместе они создают гармонию.

В этой статье рассмотрим как эти принципы применяются в golang.

Читать далее

Information

Rating
Does not participate
Registered
Activity