| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- ring
- 버퍼
- hiccup
- Compilation
- clojure
- Jetty
- tools deps
- projectile
- clojure 설치
- Tramp
- 사용법
- init-file
- paredit
- Cider
- 스탄다르트
- eshell
- reitit
- deps.edn
- 아상
- web
- 이맥스
- 휴민트
- package-menu-buffer
- EMACS
- 컴돌이
- etags
- 러시아 보드카
- 기생충
- .emacs
- IDE
- Today
- Total
목록clojure (5)
컴돌이
들어가기Router 라이브러리 reitit으로 교체하고, 404, 500 에러 페이지를 추가하겠습니다. Session 데이터를 cookie에 저장하도록 수정하겠습니다.예제 코드https://github.com/bjtj/learning-clojure/tree/main/ring-reititRouter 라이브러리: Reitit 사용하기Router 라이브러리의 주요 기능은 route table을 체계적으로 관리할 수 있고, 빠른 routing 성능을 제공하는 일입니다.https://github.com/metosin/reitithttps://cljdoc.org/d/metosin/reitit/0.9.2/doc/introduction우리에게 다소 생소한 reitit 이라는 단어는 핀란드어로 '길' (영어로 'rout..
들어가기지난 포스트에서 ring을 이용하여 기본적인 웹 서버를 구동하여 보았습니다. 이번엔 아주 간단한 router를 직접 구현해 보고 session 처리, parameter 파싱하는 ring middelware를 추가하여 웹 서버의 기본적인 기능을 추가해 보겠습니다. 그리고 HTML 렌더링 라이브러리인 hiccup을 이용해 HTML 렌더링하는 방법을 살펴 보겠습니다.예제 코드설명하는 내용의 최종 코드입니다.https://github.com/bjtj/learning-clojure/tree/main/ring-web-advanceRouter 만들기(defn router [{:keys [uri] :as req}] (case uri "/" (hello req)))파라미터인 request 맵에 :uri 값..
서문Clojure 세계에서 웹 프레임워크의 표준은 ring 프로젝트가 맡고 있습니다. 다양한 웹 서버 구현체에 의존하지 않고 웹 앱 개발에만 집중할 수 있는 표준을 마련하고 있습니다. Reitit 프로젝트 는 router 프로젝트로 ring과 연동합니다. Clojure 웹 앱 개발자들은 독특한 HTML 렌더링 방식을 주로 사용하는데, Clojure 데이터 타입을 HTML 로 변환하는 방식을 사용합니다. Hiccup을 이용하면 Clojure 데이터 타입의 풍부한 표현방식을 사용하는 이점이 있고 HTML 파일을 소스코드와 분리할 필요 없이 개발할 수 있다는 장점이 있습니다. 본 'Web 앱 개발 시작하기'는 3개 포스팅으로 나눠서 소개하겠습니다. 들어가기Ring 프로젝트는 clojure 웹 개발 표준을 마련..
서문REPL환경의 장점은 프로그램을 재구동할 필요 없이 코드를 동적으로 수행할 수 있다는 점입니다. Clojure 내장 REPL은 쉘에서 곧바로 사용할 수 있기는 하지만, 원격으로 접근 가능한 nREPL(network REPL) 서버와 CIDER 같은 확장가능한 clojure 개발 도구를 사용하면 코드 편집기의 기능과 더불어 더욱 다양한 clojure 개발에 도움이 되는 기능을 활용할 수 있습니다. 들어가기Clojure REPL은 쉘에서 interactive한 개발을 지원하기는 하지만 nREPL (network REPL)이라는 서버-클라이언트 방식의 확장 가능한 개발 환경을 더욱 선호합니다. CIDER는 nREPL 서버에 연결하여 Emacs에서 interactive 한 clojure 개발을 지원합니다. ..
Clojure 는 JVM 위에서 동작한다. Lisp 계열의 언어이다. Lisp 계열이 아닌 언어는 Fortran 계열 언어로 C, C++, Java, Python 우리가 대부분 알고 있는 언어들이다. 15년 넘는 개발 경력 중 함수형 프로그래밍의 세계에 제대로 입문하기는 얼마되지 않았다. (1년 남짓?) Lisp 에 대해서는 들은지 오래다. 시도도 해보았다. '해커와 화가'를 읽으며 폴 그레이엄에 매료되어 common lisp, scheme 등을 써보려고 했지만 도무지 감을 잡을 수 없었다. Clojure 의 존재는 그 자체로 호기심의 대상이었다. 그러나 마찬가지로 입문하기 어려웠다. 한국은 lisp, clojure 의 존재 자체를 인식하는 사람이 많지 않았다. 몇몇 커뮤니티를 찾아 다녔다. 개념이 잘 ..