Duct는 데이터 중심 아키텍처를 사용하여 Clojure에서 서버 측 응용 프로그램을 구축하기위한 모듈 식 프레임 워크입니다.
아라크네와의 범위가 비슷하며 적분을 기반으로합니다. 덕트는 구조적 청사진 역할을하는 불변의 구성 주위에 응용 프로그램을 구축합니다. 정교한 동작을 생성하기 위해 구성을 조작하고 쿼리 할 수 있습니다.
참조 : 업그레이드 .md.
Leiningen과 함께 새로운 덕트 프로젝트를 만들려면 :
lein new duct < your project name >이것은 최소한의 덕트 프로젝트를 만듭니다. 프로파일 힌트를 추가하여 추가 기능을 추가하여이를 확장 할 수 있습니다.
+api API 미들웨어 및 처리기를 추가합니다+ataraxy Ataraxy 라우터를 추가합니다+cljs 는 Clojurescript 컴파일 및 핫로드를 추가합니다+example 예제 핸들러가 추가됩니다+heroku Heroku에 배포하기위한 구성을 추가합니다+postgres PostgreSQL 종속성 및 데이터베이스 구성 요소를 추가합니다+site 사이트 미들웨어, Favicon, Webjars 등을 추가합니다+sqlite sqlite 종속성 및 데이터베이스 구성 요소를 추가합니다예를 들어:
lein new duct foobar +site +example 모든 Leiningen 템플릿과 마찬가지로 Duct는 프로젝트와 동일한 이름의 새 디렉토리를 만듭니다. 프로젝트를 실행하고 구축하는 방법에 대한 자세한 내용은 프로젝트의 README.md 파일을 참조하십시오.
응용 프로그램의 구조는 통합 구성 맵으로 정의됩니다.
개발에서 덕트는 Stuart Sierra의 재 장전 워크 플로를 사용합니다.
생산에서 덕트는 12 단계 앱 방법론을 따릅니다.
지역 국가는 글로벌 주보다 선호됩니다.
네임 스페이스는 레이어가 아닌 의도적으로 기능을 그룹화해야합니다.
프로토콜을 사용하여 외부 API를 마무리해야합니다.
덕트는 Integrant 위에 추상화 층을 추가합니다. Integrant에서는 구성 맵이 실행중인 시스템 맵으로 시작 됩니다.
┌────────┐ ┌────────┐
│ config ├──>│ system │
└────────┘ └────────┘
덕트에서 구성은 두 번 시작됩니다. 구성은 먼저 중간 구성으로 시작하여 시스템으로 시작됩니다.
┌────────┐ ┌──────────────┐ ┌────────┐
│ config ├──>│ intermediate ├──>│ system │
└────────┘ └──────────────┘ └────────┘
고차 기능이 코드의 공통 패턴을 추상화 할 수있는 것과 마찬가지로 덕트의 계층 구성을 통해 공통 구성 패턴을 추상화 할 수 있습니다.
덕트 구성의 키는 구성 맵을 변환하는 함수로 시작될 것으로 예상됩니다. 두 가지 유형이 있습니다 : 프로파일은 구성으로 구성되어 있으며 모듈을 보다 복잡한 조작을 제공합니다.
덕트 프로젝트는 다음과 같이 구성됩니다. *가 표시된 파일은 버전 제어를 중단합니다.
저작권 © 2021 James Reeves
MIT 라이센스에 따라 배포됩니다.