중형 Clojure 샘플 애플리케이션?


96

"모범 사례"예제로 사용할 수있는 중간 크기의 Clojure 샘플 응용 프로그램이 있습니까? 그리고 이러한 응용 프로그램이 코드 및 코드 구성 측면에서 어떻게 보이는지 확인할 수있는 좋은 방법이 있습니까? 웹 응용 프로그램이 특히 흥미로울 수 있지만 가장 중요한 것은 프로그램이 일반적으로 유용한 작업 (예 : 블로그, 버그 추적, CMS)을 수행하고 실제로 구현할 필요가 없었던 수학적 작업이 아니라는 것입니다. 세계 (N-queens 문제 해결, 생명 시뮬레이션, 피보나치 시퀀스 생성, 함수 프로그래밍 언어의 일반적인 요금).

감사!


저는이 똑같은 질문을하려고했습니다. "실제 세계"에서 얼마나 실용적인지 궁금합니다
ScArcher2

5
사람들은이 "현실 세계"에 너무 질식하고 있습니다
Rayne

나는 그것으로 IRC 봇을 만들었습니다. 그것은 완벽한 언어입니다 (성능은 문제가 아니며 핫스왑 플러그인, 출력은 입력 기능과 사소한 관련이 있습니다). 대부분의 다른 용도로는별로 좋지 않습니다. 너무 많은 CPU 낭비, 특히 너무 많은 메모리 사용, 메모리 변동, 캐시 누락.
RokL

답변:


42

Brian Carper의 cow-blog 를 추천 합니다. 저자에 따르면 그것은 당신의 목적을 염두에두고 작성되었습니다.


2018 년 현재 cow-blog는 지침에 따라 컴파일되지 않습니다. lein deps다음 메시지와 함께 실패 :```clojars에서 gaka / gaka / 0.1.0 / gaka-0.1.0.pom 검색 TLS없이 안전하지 않은 HTTP 저장소를 사용하려고했습니다. 이것은 거의 틀림없이 실수입니다. 그러나 드물게 의도적 인 경우 자세한 내용 lein help faq을 참조하십시오 . TLS없이 안전하지 않은 HTTP 저장소를 사용 하려고했습니다 . 이것은 거의 틀림없이 실수입니다. 그러나 드물게 의도적 인 경우 자세한 내용 lein help faq을 참조하십시오. ```
Teodor

19

당신이 검색하는 경우 Clojure의-있는 contrib의 소스 코드를 사용하면 라이브러리가 Clojure를 구현하는 방법을 볼 수 있습니다.

같은 소스 트리 아래에서 " ClojureScript "를 체크 아웃 할 수도 있습니다 .

Clojure의 아주 작은 부분 집합으로 작성된 코드를 자바 스크립트로 자동 번역 할 수 있습니다.

ClojureScript 번역기는 전체 Clojure 앱입니다.

Stewart Halloway의 Port of Practical Common Lisp 샘플을 아직 확인하지 않았다면 Clojure에게 확인하는 것이 좋습니다.


모 놀리 식 Clojure Contrib 라이브러리는 다음에서 찾을 수있는 새로운 모듈 식 contrib 라이브러리 세트를 위해 더 이상 사용되지 않습니다. dev.clojure.org/display/doc/Clojure+Contrib(Clojure 가 Github의 richhickey 저장소에서 공식 clojure 저장소)
Sean Corfield 2011

15

Compojure를 살펴 보십시오 . Clojure로 작성된 웹 프레임 워크이므로 Clojure에서 유용한 웹 앱을 작성하고 실행할 수 있습니다 (내장 된 Jetty에서).

현재 개발 중이며 유용한 Google 그룹이 있습니다.


1
이제 대부분의 코드가 Compojure Ring에서 사라 졌으므로 이제 살펴볼 곳이 될 수 있습니다.
mac

Compojure의 HTML 생성 코드의 많은 지금은 생각 히컵의 일부입니다 ( github.com/weavejester/hiccup )
mikera

10

Clojure, Rich Hickey의 저자가 작성한 개미 데모를 확인하십시오.

http://clojure.googlegroups.com/web/ants.clj

다음은 emacs 개발 환경과 함께 설정하기위한 몇 가지 좋은 지침입니다.

http://riddell.us/clojure

또한이 코드와 함께 제공되는 Rich의 프레젠테이션을 확인하십시오.

http://blip.tv/file/812787


1
소스를 보려고 할 때 계속 리디렉션됩니다. 이상하게도 Google을 통해 찾을 수없는 것 같습니다.
AnnanFay

blip.tv 링크가 현재 youtube.com/watch?v=dGVqrGmwOAw 에있는 것 같습니다. 코드 설명은 프레젠테이션 후 약 1 시간 24 분 동안 시작됩니다.
Roger Allen

7

Clojure 자체는 Clojure 모범 사례의 좋은 예입니다. Core.clj의 맨 아래로 읽어보십시오.



5

나는 Compojure가 아마도 가장 좋은 예라고 생각합니다. 나는 그것이 "중간 크기"의 예라고 의심하지만, 작동하는 작은 하위 섹션이있을 것입니다. 적어도 그것은 내 접근 방식이 될 것입니다. 미소

또한 확인하십시오

http://github.com/technomancy/mire/tree/master

이것은 클로저로 만들어진 작은 진흙 클라이언트 프로토 타입입니다. 장점은 그것이 완전히 독립적이고 관련된 개념을 포함하여 아마도 꽤 간단하다는 것입니다. 문서화는 괜찮지 만 코드의 개념은 쉽게 실행되는 MUD의 액션 요소와 매우 밀접하게 연결되어 있습니다.


5

우리는이 질문에서 2 년이 지났고, 아직 언어주기의 초기 단계이지만 Clojure는 확실히 심각한 프로덕션 작업에 사용되고 있습니다. World Singles에는 웹 플랫폼에서 모든 종류의 범용 작업을 처리하는 수천 개의 Clojure 라인이 프로덕션에 있습니다 . Real World Clojure 시리즈 에서 이에 대해 블로그에 올렸습니다 .

일부 합리적으로 큰 오픈 소스 프로젝트 (정확히 애플리케이션은 아니지만 높은 프로필 인프라)의 경우 Twitter의 StormBackType (현재 Twitter의 일부)의 Cascalog를 볼 수 있습니다. 4clojure.com은 오픈 소스 웹 응용 프로그램으로 언급되었으므로 살펴볼 가치가 있지만 4clojure에 대한 새로운 github 저장소에 유의하십시오 .


3

긍정적 인 신호 : "대규모 프로덕션 배포에 사용되는 Clojure에 대한 최초의 발표 보고서 중 하나" 대한 기사가 InfoQ 에 있습니다. 공개 된 것처럼 보이지는 않지만 적어도 실제 프로덕션 세계에서 미션 크리티컬 애플리케이션에 Clojure가 사용되고 있다는 신호입니다. Clojure 커뮤니티를위한 큰 발걸음.




1

서버 측과 클라이언트 측 모두에서 매우 유망한 웹 프레임 워크 인 Pedestal 을 확인하는 것이 좋습니다 (ClojureScript를 용이하게 함). GUI 항목은 이해하기가 조금 어렵지만 큰 앱에서 제정신을 유지하기 위해 수행해야하는 방법은 상당히 많습니다.


1

edge 는 Clojure, ClojureScript, Component, Yada, Aero 및 Boot를 사용하여 애플리케이션을 구조화하는 것을 보여주는 중간 크기의 애플리케이션입니다.


0

Clojure는 아직 사용 가능한 소스 코드가있는 중간 크기의 응용 프로그램을 갖기에는 아직 너무 젊고 움직이는 표적입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.