Exercism의 Clojure 트랙에 참여해서 105개의 연습 문제와 12개의 Clojure 개념으로 묶여 있고, 코드 자동 분석, 그리고 개인 멘토링까지 모두 100% 무료로 이용할 수 있어요.
(ns hello-world)
(defn hello
([] (hello "World"))
([name] (str "Hello, " name "!")))
Exercism에서 재미있고 보람찬 코딩 연습 문제로 개념에 대한 이해를 확인하며 프로그래밍 실력을 키워 보세요.
애플리케이션 로그를 파싱하며 문자열에 대해 배워요
간단한 수학 문장제를 분석하고 계산해 답을 정수로 반환해요.
니코마코스(서기 60~120년)의 양의 정수 분류 체계에 따라 어떤 수가 완전수인지, 과잉수인지, 부족수인지 판별해요.
Lisp의 코드를 데이터로 다루는 체계를 벡터와 맵으로 확장했고, 강력한 매크로 시스템을 갖추고 있어요.
Clojure의 주된 프로그래밍 인터페이스는 코드를 읽고 평가하고 출력하는 과정을 반복하는 REPL이에요.
가변 상태를 피할 수 있게 해주고, 함수를 일급 객체로 다루며, 재귀를 강조해요.
프로그램이 참조 투명성을 갖도록 강제하지 않고, '증명 가능한' 프로그램을 추구하지도 않아요.
스레드 사이에서 변하는 상태를 동기적이고 조율된 방식으로 공유하는 기능을 지원해요.
JVM의 타입 시스템, GC, 스레드 등을 그대로 공유해요. 모든 함수를 JVM 바이트코드로 컴파일해요.
모든 언어에는 저마다의 방식이 있어요. Clojure도 마찬가지예요. 멘토가 Clojure 개발자처럼 생각하는 법과 Clojure다운 코드를 작성하는 법을 익히도록 도와줘요. 연습 문제를 하나 풀면 자원봉사 팀에 제출해 보세요. 그러면 힌트와 아이디어, 그리고 Clojure에서 흔히 볼 수 있는 코드에 더 가깝게 다듬는 방법에 대한 피드백을 받을 수 있어요. 스스로는 알지 못한다는 사실조차 몰랐던 것들을 발견하도록 도와주는 거예요.
멘토링에 대해 더 알아보기Exercism의 Clojure 트랙에는 더 나은 코드를 작성하는 데 도움이 되는 12개의 개념과 105개의 연습 문제가 있어요.
Clojure 연습 문제 모두 보기