TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #247 · 11.03

Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе. Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода. Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу". С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой. Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого. Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :) Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие. #dev

Hashtags

Резултати

Намерени 4 подобни публикации

Търсене: #oauth2

当前筛选 #oauth2清除筛选
GitHub Trends

@githubtrending · Post #14663 · 02.05.2025 г., 12:30

#python#agents#ai#ai_agents#api#developer_tools#function_calling#integration#llm#mcp#oauth2#open_source#permissions#tools ACI.dev is an open-source platform that helps build AI agents by providing easy access to over 600 tools. It simplifies authentication and tool integration, allowing AI agents to work with many services like Google Calendar and Slack without needing separate setups. This platform offers multi-tenant authentication, flexible access methods, and natural language permissions, making it easier to manage and secure AI agent capabilities. It's open-source and works with any framework, which means you can build AI agents without worrying about vendor lock-in. https://github.com/aipotheosis-labs/aci

GitHub Trends

@githubtrending · Post #15214 · 12.10.2025 г., 11:30

#python#agents#ai#ai_agents#api#developer_tools#discord#function_calling#integration#llm#mcp#mcp_client#mcp_server#oauth2#open_source Klavis AI helps developers connect AI tools to other services like GitHub, Gmail, and Slack easily. It offers hosted servers that handle authentication and client code automatically, making it simpler to integrate AI with various platforms. This saves time and effort by eliminating the need for custom authentication management and client library maintenance. Users can quickly set up and scale their AI applications without worrying about complex integrations, making it easier to deploy AI-powered workflows securely and efficiently. https://github.com/Klavis-AI/klavis

GitHub Trends

@githubtrending · Post #15556 · 12.03.2026 г., 12:30

#typescript#ai#ai_agents#coding#deno#embeddings#insforge#nextjs#oauth2#pgvector#postgresql#realtime#vectors#websockets InsForge is an open-source backend platform for AI coding agents, offering easy auth, Postgres database, S3 storage, edge functions, and model gateway via a simple semantic layer. Agents fetch context, configure services, and inspect state to build full-stack apps quickly. Set up locally with Docker or use cloud deploys. It boosts agent accuracy 1.7x, speed 1.6x, and cuts tokens 30% vs. rivals, letting you prototype and ship AI-driven apps faster with less hassle and cost. https://github.com/InsForge/InsForge

GitHub Trends

@githubtrending · Post #14691 · 10.05.2025 г., 00:00

#csharp#architecture#aspnetcore#clean_architecture#cqrs#ddd#dotnet#dotnetcore#event_driven_architecture#event_sourcing#kubernetes#masstransit#messaging#microservice#microservices#oauth2#opentelemetry#software_architecture#software_design#software_engineering#vertical_slice_architecture Migrating from a monolithic architecture to a cloud-native microservices architecture offers several benefits. It improves scalability, allowing different parts of the application to grow independently. This approach also enhances reliability by isolating faults, so if one service fails, others continue to work. Additionally, microservices enable faster deployment and updates, as each service can be developed and deployed separately. This flexibility allows teams to use the best technology for each service, making development more efficient and agile[2][3][5]. https://github.com/meysamhadeli/monolith-to-cloud-architecture