자주 묻는 질문

Lino가 Clean Architecture, DDD, CQRS, JWT, multi-tenancy, shadow entities, RabbitMQ, Hangfire, Blazor, 캐시, observability, deploy로 .NET 프로젝트를 어떻게 가속하는지 이해할 수 있습니다.

Lino은 .NET에서 최신 애플리케이션을 생성하기 위한 CLI입니다.

Clean Architecture, DDD 및 CQRS에 중점을 두고 아키텍처, 모듈, API, 인증, 프런트엔드 및 인프라를 자동화합니다.

Lino은 .NET 애플리케이션을 시작하고 발전시키는 반복적인 작업을 줄이는 역할을 합니다.

솔루션, 레이어, 엔드포인트, 인증 및 초기 배포를 수동으로 조립하는 대신 팀은 기성 기반에서 시작하여 비즈니스 규칙에 중점을 둡니다.

Lino은 폐쇄형 프레임워크가 아닌 .NET에 대한 코드 생성기입니다.

생성 후 프로젝트는 팀에 속하며 도구에 대한 필수 종속성 없이 수정할 수 있습니다.

Lino의 주요 초점은 템플릿과 규칙을 기반으로 한 결정적 생성입니다.

이는 예측 가능성, 아키텍처 일관성을 유지하고 AI 종속 흐름보다 소음을 줄이는 데 도움이 됩니다.

Lino은(는) Eduardo Tolino가 생산성을 높이고 .NET의 최신 애플리케이션 아키텍처를 표준화하기 위해 만들었습니다.

그렇습니다.

생성된 프로젝트는 Clean Architecture, CQRS, DDD, JWT, Docker, observability, pipeline 통합과 같은 엔터프라이즈 소프트웨어의 일반적인 patterns를 사용합니다. 생성된 기반은 각 프로덕션 환경에 맞게 계속 검토, 테스트, 설정되어야 합니다.

Lino의 주요 차이점은 첫 번째 명령부터 일관된 아키텍처 기반으로 .NET 애플리케이션 생성을 가속화한다는 것입니다.

코드 생성, 모듈식 구성, API, 프런트엔드, 인증, 이벤트 및 인프라를 단일 흐름으로 결합합니다.

Lino을(를) 사용하려면 .NET SDK, Git, Entity Framework CLI 및 Docker을 설치해야 합니다.

dotnet tool install --global Tolitech.Lino

설치 후 lino --version을 사용하여 버전을 확인할 수 있습니다.

lino project new --name MyProject

이 명령은 레이어, 모듈 및 기본 구성을 포함하는 초기 프로젝트 구조를 생성합니다.

Lino는 선택한 features에 따라 프로젝트 구조, services, modules, entities, value objects, enumerations, commands, queries, APIs, pages, events, event handlers, migrations, secrets 설정, background jobs, Docker images를 생성할 수 있습니다.

그렇습니다. 생성된 코드는 전적으로 귀하의 것이며 작업을 계속하기 위해 도구에 의존하지 않습니다.

그렇습니다. Lino은 나중에 진화하기 위해 깔끔한 기반을 포기하지 않고 속도를 원하는 경우 MVP에 적합한 옵션입니다.

예. Lino는 정리된 backend, 인증, APIs, web frontend, 표준화된 인프라, tenant 격리, context별 권한, secrets 관리, rate limiting이 필요한 SaaS 프로젝트를 돕습니다.

그렇습니다. Lino은(는) 레이어 분리, 잘 정의된 모듈, API, 이벤트 및 실제 인프라와의 통합이 필요한 .NET의 비즈니스 애플리케이션을 위해 설계되었습니다.

두 시나리오 모두 유효합니다. 대부분의 제품에서는 모듈식 모노리스로 시작하는 것이 더 간단하고 비용 효율적입니다.

Lino은 일관된 아키텍처, 빠른 설정 및 기본을 다시 작성하지 않고도 성장할 수 있는 공간을 갖춘 .NET 프로젝트를 제공해야 할 때 적합합니다.

프로젝트가 매우 작거나 일회용이거나 모듈식 아키텍처가 필요하지 않은 경우 Lino의 이득은 더 낮을 수 있습니다.

그렇습니다. 백엔드, 프런트엔드, 인증, 엔드포인트, 이벤트, 지속성 및 초기 인프라에 대한 반복적인 설정에 소요되는 몇 시간 또는 며칠을 없애는 이점이 있습니다.

웹 제품, SaaS, 내부 시스템, 플랫폼B2B 및 비즈니스 서비스를 구축하는 팀.NET은 Lino에서 가장 많은 이점을 얻는 경향이 있습니다.

Lino은 Clean Architecture을 사용하여 시스템을 도메인, 애플리케이션, 인프라 및 프리젠테이션과 같은 계층으로 분리합니다.

그렇습니다. Lino은 Entities, Value Objects, Enums, Domain Events 및 bounded contexts을 사용한 도메인 기반 모델링을 권장합니다.

그렇습니다. Commands 및 Queries는 애플리케이션의 구성, 유지 관리 및 확장성을 용이하게 하기 위해 분리되어 있습니다.

그렇습니다. 모듈식 모놀리스는 Lino에 대한 가장 자연스러운 시나리오 중 하나입니다. 특히 팀이 적절한 내부 분리와 함께 낮은 운영 비용을 원하는 경우 더욱 그렇습니다.

그렇습니다. Lino은(는) 모듈식 모놀리스, 독립 서비스 및 마이크로서비스 기반 아키텍처를 만드는 데 사용할 수 있습니다.

그렇습니다. Lino은 책임 분리, 느슨한 결합, 모듈화 및 지속 가능한 코드 발전을 강화하도록 설계되었습니다.

Entities은 사용자, 주문 또는 제품과 같이 도메인 내에서 고유한 ID를 가진 개체를 나타냅니다.

Value Objects은 돈, 주소 또는 이메일과 같이 고유한 ID가 없는 불변의 도메인 개념을 나타냅니다.

그렇습니다. Lino은 Domain Events을 지원하여 도메인 내의 관련 이벤트를 나타내고 시스템 부분 간의 낮은 결합을 유지합니다.

도메인은 카탈로그, 판매, 재고, ID 또는 청구와 같은 고유한 비즈니스 영역을 반영하기 위해 모듈 또는 bounded contexts로 나눌 수 있습니다.

그렇습니다. 몇 가지 모듈과 더 간단한 규칙으로 시작하고 제품이 성숙해짐에 따라 모델링을 발전시킬 수 있습니다.

그렇습니다. Lino은 애플리케이션 명령 및 쿼리를 기반으로 엔드포인트를 자동으로 생성할 수 있습니다.

그렇습니다. 생성된 API는 애플리케이션 계층과 직접 통합된 .NET의 Minimal APIs를 사용합니다.

생성된 프로젝트는 OpenAPI 및 Swagger를 통한 API 문서와 호환되므로 계약 검사, 테스트 및 팀 간 통합이 용이합니다.

버전 관리는 알려진 REST 표준을 따를 수 있으며 엔드포인트, 계약 및 빌드를 통해 조직과 결합될 수 있습니다.

그렇습니다. Lino 아키텍처를 사용하면 인프라 계층을 통해 외부 API, 웹후크, SDK 및 타사 서비스를 통합할 수 있습니다.

생성된 프로젝트는 OpenAPI/Swagger로 API contracts를 노출하며, 선택한 template과 workflow에 따라 HTTP 파일이나 유사한 client tooling으로 endpoint 실전 테스트를 지원할 수 있습니다.

그렇습니다. Lino은 프런트엔드 및 백엔드 프로젝트에 대한 인증 및 승인 생성을 지원합니다.

그렇습니다. Lino은 보안 및 ASP.NET Core와의 기본 통합에 중점을 두고 API 및 웹 애플리케이션에 대해 JWT 기반 인증을 지원합니다.

그렇습니다. Lino의 보안 모델에는 ASP.NET Core의 역할, 클레임 및 Authorization Policies을 통해 더욱 세부적인 액세스 제어가 포함됩니다.

그렇습니다. 프런트엔드는 로그인, 토큰 갱신, 페이지 및 API에 대한 보호된 액세스를 위한 인증 흐름에 통합될 수 있습니다.

Lino는 lino secret list, lino secret set, lino secret remove, lino secret clear 같은 secret 명령을 제공하여 로컬 민감 값을 versioned files 밖에 유지합니다. 생성된 secrets는 publish 및 deploy flows를 위해 Aspire Parameters로 모델링할 수도 있습니다.

예. 생성된 APIs는 public traffic, authenticated users, API key routes, temporary token flows를 위한 rate limiting policies로 시작할 수 있어, 프로덕션 세부 조정 전 노출을 줄입니다.

Domain Events은 도메인 내의 내부 이벤트를 나타냅니다. Integration Events은 분리된 방식으로 모듈, 서비스 또는 외부 시스템을 통신하는 데 사용됩니다.

그렇습니다. Lino은 아키텍처에 이 모델이 필요할 때 애플리케이션 부분 간 통신과 서비스 간 통합을 위한 이벤트를 지원합니다.

예. 비동기 messaging이 활성화되면 Lino는 RabbitMQ를 broker로 설정하여 services와 modules가 느슨하게 결합되고 resilient한 방식으로 메시지를 교환할 수 있게 합니다.

예. Lino는 messaging 시나리오에서 MassTransit을 사용하여 native dependency injection 모델로 distributed events의 publishing, consuming, registration을 단순화합니다.

예. Lino는 Hangfire 기반 background jobs를 지원하여 scheduled tasks, asynchronous processing, recurring operations, Hangfire dashboard를 통한 운영 가시성을 제공합니다.

domain 내부 변경에는 domain events, modules 또는 services 간 통신에는 integration events, asynchronous processing에는 queues, scheduled, recurring 또는 long-running work에는 background jobs를 사용하세요. 신뢰성 있는 publishing을 위해 Lino 시나리오는 Outbox Pattern을 사용합니다.

현재 Lino은 SQL Server 및 PostgreSQL와 같은 Entity Framework Core과 호환되는 데이터베이스를 지원합니다.

그렇습니다. 데이터 지속성은 프로젝트 수명 주기 전반에 걸쳐 모델링, 마이그레이션 및 데이터베이스 발전을 위한 Entity Framework Core을 기반으로 합니다.

Migrations는 Entity Framework Core로 관리되며 lino database migrations add로 만들 수 있어, deploy 전에 모델 변경을 명시적이고 versionable하며 reviewable하게 유지합니다.

반드시 그런 것은 아닙니다. 모듈식 모놀리스에서 가장 일반적인 것은 모듈별로 명확한 조직을 갖춘 공유 은행입니다.

마이크로서비스에서는 구조적으로 타당한 경우 각 서비스가 자체 은행을 가질 수 있습니다.

예. Lino는 migrations와 script-oriented deploy practices를 통한 database evolution을 지원하며, services가 release 준비될 때 이 flow를 build 및 versioning 기능과 결합합니다.

그렇습니다. Lino은 백엔드에 통합된 웹 애플리케이션을 생성하여 전체 시스템 제공을 가속화할 수 있습니다.

예. Lino는 해당 features가 선택된 경우 backend APIs에 연결된 frontend resources, localization, authentication을 포함하는 통합 Blazor Web Apps를 생성할 수 있습니다.

그렇습니다. Lino 아키텍처는 React, Angular, Vue 또는 프로젝트의 API를 사용하는 기타 프런트엔드 사용을 금지하지 않습니다.

그렇습니다. 프런트엔드는 로그인, 토큰 갱신, JWT 및 승인 정책으로 보호되는 API 소비 작업을 수행할 수 있습니다.

그렇습니다. Lino은 페이지, 구성 요소 및 기능을 보다 표준화된 방식으로 구성하여 프런트엔드에서 반복적인 결정을 내리는 데 도움이 됩니다.

예. Lino가 생성한 프로젝트는 structured logging, Aspire dashboard 통합, traces, metrics, operational diagnostics를 포함하여 프로덕션 debugging과 analysis를 지원할 수 있습니다.

예. Lino는 해당 옵션이 활성화된 경우 Microsoft HybridCache와 Redis 기반 distributed cache 시나리오를 지원하여 여러 instances 간 consistency를 개선합니다.

그렇습니다. Lino에서는 구조, 로그, 인증, API 및 인프라를 표준화하여 문제 조사 및 운영 유지 관리를 용이하게 합니다.

생성된 solution은 선택한 architecture에서 사용하는 .NET ecosystem practices를 따르며 health checks, metrics, traces, logs, Aspire resource visibility를 포함할 수 있습니다.

예. Lino는 build flow를 통해 services와 web applications의 Docker images를 생성할 수 있어, registries와 containerized environments용 artifacts 패키징을 돕습니다.

그렇습니다. 생성된 프로젝트는 빌드, 테스트, 패키징, 마이그레이션 및 자동화된 배포를 위해 CI/CD 파이프라인과 통합될 수 있습니다.

Build와 versioning은 SemVer-oriented practices를 따를 수 있으며, Lino는 선택한 services와 web applications를 release용 versioned Docker images로 패키징하도록 지원합니다.

그렇습니다. 프로젝트는 팀의 운영 전략에 따라 클라우드, 컨테이너화된 환경 또는 자체 인프라에 게시될 수 있습니다.

그렇습니다. Lino은 Docker, 표준화된 빌드, 지속성, 인증 및 파이프라인과의 통합을 통해 프로덕션 배포를 위한 기술 설정을 가속화합니다.

Lino는 lino feature tenant add 또는 lino features tenant add를 통해 multi-tenant support를 포함합니다. 생성된 구조는 domain 또는 slug로 tenants를 resolve하고, context별 permissions를 적용하며, tenant-scoped data를 보호할 수 있습니다.

Shadow entities는 한 module이 다른 context에서 필요로 하는 최소 data의 로컬 복사본입니다. lino shadow new 명령은 구조를 만들고, 해당 integration event handler는 lino event-handler new로 별도로 생성해야 합니다.

예. Roadmap은 지속적인 진화를 보여 주며 JWT authentication, Blazor Web Apps, Hangfire, RabbitMQ/MassTransit, migrations, Docker build, HybridCache, multi-language resources, smart merge, secrets, rate limiting 같은 많은 완료된 capabilities도 표시합니다.

완료된 roadmap에는 .NET/Aspire project generation, modular services, Minimal APIs, SQL Server 및 PostgreSQL support, background jobs, messaging, JWT security, Blazor Web Apps, Docker build/versioning, user secrets, rate limiting, tenant support, shadow entities 같은 핵심 capabilities가 포함됩니다.

코드 생성, integrations, developer experience, deploy workflows, observability, security hardening, template coverage는 제품이 성장함에 따라 계속 진화합니다.

변경 사항은 roadmap 페이지, documentation, 공식 제품 채널에서 확인할 수 있습니다. 완료된 features와 계획된 improvements를 구분해야 할 때는 roadmap status를 우선하세요.

처리되지 않은 오류가 발생했습니다. 새로 고침 🗙