빠른 개발, 뛰어난 코드 품질.

Lino는 생산성을 향상시키고 깔끔하고 견고하며 고품질의 코드를 제공하기 위해 개발된 명령줄 도구(CLI)입니다. 대화형 인터페이스를 통해 Lino는 첫 번째 명령어부터 현대적이고 확장 가능한 애플리케이션을 생성할 수 있도록 합니다.

dotnet tool install --global Tolitech.Lino --version 1.0.0-alpha.11
๐Ÿ”ง Lino 도구를 전역 설치 중...
lino project new --name MyProject
๐Ÿš€ .NET 9 + Aspire로 새 프로젝트 생성 중...
lino service new --name MyService
๐Ÿ“ฆ 새로운 모듈형 서비스 추가 중...
lino module new --name MyModule
๐Ÿ”Œ Clean Architecture로 모듈 생성 중...
lino entity new --name MyEntity
๐Ÿ“š 새 도메인 엔터티 생성 중...

현대 기술 스택

.NET 생태계의 최신 기술을 활용하여 개발하세요.

.NET 9

.NET 9은 더 효율적인 애플리케이션을 위한 최신 기능과 성능 향상을 제공합니다.

.NET Aspire

클라우드 네이티브 개발, 현대적 아키텍처, 간편한 통합을 위한 완전한 지원을 활용하세요.

다국어 지원

다양한 사용자를 위한 맞춤형 경험을 제공하는 다국어 애플리케이션을 구축하세요.

유연한 보안

JWT를 사용한 안전한 인증과 유연한 권한 제어를 구현하세요.

다중 데이터베이스

각 서비스에 전용 데이터베이스를 지정하고 SQL Server 및 PostgreSQL을 지원하세요.

아키텍처 선택

마이크로서비스 또는 모듈식 모놀리스를 선택하여 유연성과 확장성을 확보하세요.

분산 캐시

서비스 또는 인스턴스 간 캐시를 사용하여 성능을 최적화하세요.

메시징

서비스나 모듈 간의 효율적이고 확장 가능한 비동기 메시지 교환으로 통신을 향상시키세요.

트랜잭셔널 아웃박스 패턴

메시지를 전송하기 전에 저장하여 안정적인 전달을 보장하세요.

작업 스케줄링

작업과 프로세스를 유연하고 확장 가능하게 예약하여 적시에 실행되도록 보장하세요.

클린 아키텍처

구성 요소가 명확히 구분된 계층형 애플리케이션을 유지하여 코드의 조직성과 유지보수성을 높이세요.

코드 분석

정적 분석과 모범 사례를 통해 코드의 품질과 가독성을 보장하세요.

빠르고 효율적인 고성능 코드

현대적인 아키텍처와 검증된 실천 방식을 통해 강력한 백엔드를 생성하세요.

새 프로젝트를 시작하나요?

언어와 원하는 스택을 선택하고, 빠르고 효율적으로 프로젝트를 시작하세요.

마이크로서비스 또는 모놀리식?

독립적인 서비스를 추가하거나 하나의 서비스로 시작하세요, 필요에 따라 선택할 수 있습니다.

모듈식 모놀리식은 어떤가요?

모놀리식을 잘 구성하고, 성장할 수 있도록 모듈화하여 유지 관리를 쉽게 하세요.

풍부한 도메인 모델

엔터티, 애그리거트, 값 객체, 도메인 서비스, 열거형, 이벤트 등을 생성하세요.

데이터베이스 마이그레이션

간단한 명령어로 데이터베이스 변경을 위한 스크립트를 생성하고 문서화하세요.

API? 프론트엔드? 통합?

네, 강력한 API를 생성하고 웹 페이지에서 사용하며 다양한 통합 작업도 수행할 수 있습니다.

Lino vs. AI 코드 생성

Lino๋Š” ๋‹จ์ˆœํ•œ ์ฝ”๋“œ ์–ด์‹œ์Šคํ„ดํŠธ๋ฅผ ๋„˜์–ด, ํ’ˆ์งˆ, ํ‘œ์ค€ํ™”, ์ตœ์‹  .NET ์ƒํƒœ๊ณ„์— ๋งž์ถ˜ ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ์— ์ค‘์ ์„ ๋‘” ์ง€๋Šฅํ˜• ์ฝ”๋“œ ์ƒ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฐจ๋ณ„ํ™”๋œ ํŠน์„ฑ Lino ๊ธฐ์กด ์ฝ”๋“œ ๋ณด์กฐ ๋„๊ตฌ
์•„ํ‚คํ…์ฒ˜ ์ œ์–ด Clean Architecture ์›์น™์„ ์ผ๊ด€๋˜๊ฒŒ ์ ์šฉํ•˜์—ฌ ๋ชจ๋“ˆํ™”๋˜๊ณ  ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์šด ์‹œ์Šคํ…œ์„ ์ƒ์„ฑํ•˜๋ฉฐ, ์™„์ „ํ•œ ์•„ํ‚คํ…์ฒ˜ ์ œ์–ด๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์˜ ํ’ˆ์งˆ์— ์˜์กดํ•˜๋ฉฐ ์•„ํ‚คํ…์ฒ˜ ์ผ๊ด€์„ฑ์— ๋Œ€ํ•œ ๋ณด์žฅ์ด ์—†์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ ์ผ๊ด€์„ฑ ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ์ผ๊ด€๋œ ํ‘œ์ค€๊ณผ ๊ด€ํ–‰์„ ์œ ์ง€ํ•˜์—ฌ ํ†ต์ผ์„ฑ๊ณผ ํ’ˆ์งˆ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์— ๋”ฐ๋ผ ์ผ๊ด€์„ฑ์ด ๊ฒฐ์—ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ปจํ…์ŠคํŠธ ์ดํ•ด ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋„๋ฉ”์ธ๊ณผ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ”„๋กฌํ”„ํŠธ์˜ ์ปจํ…์ŠคํŠธ์— ํ•œ์ •๋˜๋ฉฐ ์ด์ „ ์ƒํ˜ธ์ž‘์šฉ์— ๋Œ€ํ•œ ๊ธฐ์–ต์ด ์—†์Šต๋‹ˆ๋‹ค.
๋ณด์•ˆ ๋ณด์•ˆ ๊ด€ํ–‰๊ณผ ๊ฒ€์ฆ์„ ์ž๋™์œผ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์ค„์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ทจ์•ฝํ•œ ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์œ ์ง€๋ณด์ˆ˜์„ฑ ์ž˜ ๊ตฌ์„ฑ๋˜๊ณ  ๋ฌธ์„œํ™”๋œ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ์œ ์ง€๋ณด์ˆ˜์™€ ๋ฐœ์ „์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ํ’ˆ์งˆ์ด ๋ถˆ์•ˆ์ •ํ•˜๊ณ  ์ž์ฃผ ๋ฆฌํŒฉํ† ๋ง์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋„๊ตฌ ํ†ตํ•ฉ .NET ๋„๊ตฌ์™€ ํ˜„๋Œ€์ ์ธ ๊ฐœ๋ฐœ ๊ด€ํ–‰๊ณผ์˜ ๋„ค์ดํ‹ฐ๋ธŒ ํ†ตํ•ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ง€์‹์— ์˜์กดํ•˜๋ฉฐ ๊ตฌ์‹์ด๊ฑฐ๋‚˜ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๊ด€ํ–‰์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ ์†๋„ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•œ ๊ฐœ๋ฐœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ ๊ด‘๋ฒ”์œ„ํ•œ ์กฐ์ •์˜ ํ•„์š”์„ฑ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ํ’ˆ์งˆ์„ ๋‹ฌ์„ฑํ•˜๋ ค๋ฉด ์ž์ฃผ ๊ฒ€ํ† ํ•˜๊ณ  ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ™•์žฅ์„ฑ ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ฑ์žฅ์— ๋Œ€๋น„ํ•œ ์•„ํ‚คํ…์ฒ˜๋กœ ์‹œ์Šคํ…œ ํ™•์žฅ์„ฑ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํžˆ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒ๋‹นํ•œ ์žฌ์ž‘์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ถœ๋ ฅ ์ •์˜๋œ ์Šคํƒ๊ณผ ์ผ์น˜ํ•˜๋Š” ์ผ๊ด€๋œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ์˜ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€๋™๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ง€์†์ ์ธ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒ์‚ฐ ์ค€๋น„ ์™„๋ฃŒ ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋Š” ์•ˆ์ „ํ•˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€์„ ๋”ฐ๋ฅด๋ฉฐ ์ƒ์‚ฐ ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ƒ์‚ฐ ์ค€๋น„๊ฐ€ ๋œ ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ์ถ”๊ฐ€ ์ˆ˜์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ ํ‘œ์ค€ํ™” ํ”„๋กœ์ ํŠธ ๊ฐ„ ๋†’์€ ํ‘œ์ค€ํ™”๋ฅผ ํ†ตํ•ด ํŒ€ ๊ฐ„ ํ˜‘์—…์„ ์ด‰์ง„ํ•˜๊ณ  ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ํ™”๊ฐ€ ๋‚ฎ๊ณ , ์ œ๊ณต๋œ ํ”„๋กฌํ”„ํŠธ์™€ ์ปจํ…์ŠคํŠธ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ’ˆ์งˆ ์žˆ๋Š” ์ƒ์‚ฐ์„ฑ ์‹œ์Šคํ…œ์˜ ๊ฒฌ๊ณ ํ•จ๊ณผ ํ’ˆ์งˆ์„ ํ›ผ์†ํ•˜์ง€ ์•Š๊ณ  ๋น ๋ฅด๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ’ˆ์งˆ์— ๋ณ€๋™์ด ์žˆ์–ด ์ถ”๊ฐ€ ๊ฒ€์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๋น„์šฉ ๊ด€๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก์„ฑ์ด๋‚˜ ๊ทœ๋ชจ๊ฐ€ ์ฆ๊ฐ€ํ•ด๋„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋น„์šฉ ๋ชจ๋ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋น„์šฉ์ด ๋ณ€๋™์ ์ด๋ฉฐ, ๋” ๋งŽ์€ ์ปจํ…์ŠคํŠธ์™€ ํ† ํฐ ์ฒ˜๋ฆฌ ์š”๊ตฌ๋กœ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

왜 Lino를 사용해야 하나요?

Lino는 코드 품질을 유지하면서 생산성을 극대화하는 도구입니다.

.NET 개발자만을 위한 도구인가요?

현재는 C#/.NET으로 코드를 생성하지만, 향후 다른 언어나 기술도 지원할 수 있도록 설계되었습니다.

어떤 아키텍처를 선택할 수 있나요?

확장성을 위한 마이크로서비스, 단순함을 위한 모놀리식 또는 균형 잡힌 모듈형 모놀리식을 선택하세요.

어떤 데이터베이스가 호환되나요?

현재 이 도구는 SQL Server 및 PostgreSQL을 지원하며, 시장의 요구에 따라 다른 데이터베이스로 확장할 계획입니다.

이 도구는 글로벌화 및 현지화에 어떻게 대응하나요?

최대 10개 언어와 자동 번역을 지원하는 다국어 프로젝트를 생성하여 다양한 시장과 지역에 쉽게 적응할 수 있습니다.

서비스 구현 시 어떤 아키텍처 접근 방식을 사용할 수 있나요?

현재 이 도구는 클린 아키텍처(Clean Architecture)를 따르고 있지만, 시장의 필요에 따라 Vertical Slice Architecture와 같은 새로운 접근 방식도 통합할 준비가 되어 있습니다.

도메인에서 타입이 지정된 ID를 사용할 수 있나요?

예, Strongly Typed Ids를 사용하면 코드의 안전성과 견고함이 향상되어 일반적인 타입 오류를 방지할 수 있습니다.

시스템은 열거형을 어떻게 처리하나요?

클래식 열거형, 스마트 열거형, 또는 테이블로 저장하는 방식 등 다양한 열거형을 생성 및 사용할 수 있어 데이터 무결성을 보장합니다.

더 많은 스택을 사용할 수 있나요?

예, 새로운 프레임워크 및 버전이 등장함에 따라 각 언어에 사용할 수 있는 스택 수를 시장 요구에 맞춰 확장할 계획입니다.

프론트엔드는 어떤가요?

현재 프론트엔드에서는 Blazor Web App(Server 및 WebAssembly)을 생성하고 있으며, 곧 다른 프레임워크로 확장하여 더 많은 현대적이고 동적인 UI 옵션을 제공할 예정입니다.

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