#голанг — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #голанг, aggregated by home.social.
-
От LLM к агенту: Как заставить Go приложение думать и действовать
Всё началось с доклада про AI-агентов. Заинтересовало настолько, что решил написать своего на Go. Было сложно, но получилось! Делюсь опытом: LangChainGo, инструменты, цепочки, MCP и интеграция с GigaChat.
https://habr.com/ru/articles/1033718/
#go #golang #ai #исскуственный_интеллект #gigachat #langchain #голанг
-
От LLM к агенту: Как заставить Go приложение думать и действовать
Всё началось с доклада про AI-агентов. Заинтересовало настолько, что решил написать своего на Go. Было сложно, но получилось! Делюсь опытом: LangChainGo, инструменты, цепочки, MCP и интеграция с GigaChat.
https://habr.com/ru/articles/1033718/
#go #golang #ai #исскуственный_интеллект #gigachat #langchain #голанг
-
От LLM к агенту: Как заставить Go приложение думать и действовать
Всё началось с доклада про AI-агентов. Заинтересовало настолько, что решил написать своего на Go. Было сложно, но получилось! Делюсь опытом: LangChainGo, инструменты, цепочки, MCP и интеграция с GigaChat.
https://habr.com/ru/articles/1033718/
#go #golang #ai #исскуственный_интеллект #gigachat #langchain #голанг
-
От LLM к агенту: Как заставить Go приложение думать и действовать
Всё началось с доклада про AI-агентов. Заинтересовало настолько, что решил написать своего на Go. Было сложно, но получилось! Делюсь опытом: LangChainGo, инструменты, цепочки, MCP и интеграция с GigaChat.
https://habr.com/ru/articles/1033718/
#go #golang #ai #исскуственный_интеллект #gigachat #langchain #голанг
-
Разбираем net/http на практике. Часть 2.2: Архитектура и безопасность. Внедряем Clean Architecture, хэшируем пароли
Продолжаем писать сервис DeadDrop: сегодня идём от монолита к чистой архитектуре В предыдущей части мы реализовали готовый прототип, но его код был спорным: от смешанной логики до хранения секретов пользователей в открытом виде - пора вносить правки! Сегодня мы: 1) Превращаем "толстый" хэндлер в хорошее архитектурное решение с разделением слоёв 2) Хэшируем с bcrypt 3) Внедряем зависимости (DI) через интерфейсы 4) Готовим код к дальнейшему масштабированию Рефакторинг, который не ломает проект, а делает его удобным для дальнейшей разработки!
https://habr.com/ru/articles/1012470/
#go #golang #backend #бэкенд #вебразработка #голанг #информационная_безопасность #разработка #туториал
-
Паттерн Unit of Work в разрезе чистой архитектуры DDD на языке Golang
Всем привет! Недавно мне выпала возможность разработать шаблон сервиса, который можно было бы использовать как для монолитной, так и для микро‑сервисной архитектуры. Шаблон должен был придерживаться принципов Domain‑Driven Design (DDD). В этом процессе, я столкнулся с двумя интересными проблемами: Проблема 1: Сложности обеспечения транзакционности базы данных При разработке сервисов, часто возникает неотъемлемая потребность в использовании транзакций базы данных для обеспечения целостности данных. Однако, при попытке интегрировать транзакционную логику в традиционные подходы, столкнулся с трудностями. Связывание транзакционной логики с логикой слоя базы данных оказалось нетривиальным и привело к нарушению принципов разделения ответственности. Это, в свою очередь, сказалось на тестировании и поддержке кода. Проблема 2: Нарушение изолированности слоя В попытке решить первую проблему, некоторые разработчики переносят работу с транзакциями на уровень слоя приложения, чтобы избежать прямой зависимости от базы данных. Однако, такой подход, несмотря на его обоснование, может нарушить изолированность слоев и противоречить принципам DDD и чистой архитектуры. Это, в конечном итоге, затрудняет поддержку приложения и усложняет его масштабирование. Эти две проблемы стали отправной точкой для исследования применения паттерна Unit of Work и его роли в обеспечении надежности и консистентности данных в контексте Golang и DDD. В статье я расскажу о своем подходе к решению этих задач.
https://habr.com/ru/articles/784186/
#ddd #unit_of_work #arhitectura #архитектура #архитектура_приложений #голанг #golang #hexagon #гексогональная_архитектура
-
Паттерн Unit of Work в разрезе чистой архитектуры DDD на языке Golang
Всем привет! Недавно мне выпала возможность разработать шаблон сервиса, который можно было бы использовать как для монолитной, так и для микро‑сервисной архитектуры. Шаблон должен был придерживаться принципов Domain‑Driven Design (DDD). В этом процессе, я столкнулся с двумя интересными проблемами: Проблема 1: Сложности обеспечения транзакционности базы данных При разработке сервисов, часто возникает неотъемлемая потребность в использовании транзакций базы данных для обеспечения целостности данных. Однако, при попытке интегрировать транзакционную логику в традиционные подходы, столкнулся с трудностями. Связывание транзакционной логики с логикой слоя базы данных оказалось нетривиальным и привело к нарушению принципов разделения ответственности. Это, в свою очередь, сказалось на тестировании и поддержке кода. Проблема 2: Нарушение изолированности слоя В попытке решить первую проблему, некоторые разработчики переносят работу с транзакциями на уровень слоя приложения, чтобы избежать прямой зависимости от базы данных. Однако, такой подход, несмотря на его обоснование, может нарушить изолированность слоев и противоречить принципам DDD и чистой архитектуры. Это, в конечном итоге, затрудняет поддержку приложения и усложняет его масштабирование. Эти две проблемы стали отправной точкой для исследования применения паттерна Unit of Work и его роли в обеспечении надежности и консистентности данных в контексте Golang и DDD. В статье я расскажу о своем подходе к решению этих задач.
https://habr.com/ru/articles/784186/
#ddd #unit_of_work #arhitectura #архитектура #архитектура_приложений #голанг #golang #hexagon #гексогональная_архитектура