https://github.com/mcohen01/amazonica


이거로 aws의 모든 자바 API를 가져다가 reflection을 이용해서 Clojure 네이티브인 거처럼 만들어놈.


set이나 with로 시작하는 request object setter가 있으면 클로져랑은 좀 따로 노는 건데, 그런걸 모두 request object constructor 필요없이 operation 인자로 바꿔줌.


예를들어 


(put-object :bucket-name "two-peas"

            :key "foo"

            :metadata {:server-side-encryption "AES256"}

            :file upload-file)


이거는 실제로는 

withMetaData + withKey + withMetadata + withFile + PutObject 이건데, 걍 클로져 프렌들리 하게 저렇게 되게 해놈


문서도 자바문서와 맴핑되는 규칙 두줄만 알려주면 다 해결됨





항상 자바 삽질에 노고가 많으신 분들께 감사드리며, 깔끔한 클로져 월드에서 살아가렵니다.