Clojure programming study_00

540 views

Published on

test

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
540
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Clojure programming study_00

  1. 1. Lisp을 좋아하는 사람들의 그룹  http://lispkorea.org:8080/k-lisper
  2. 2. Clojure? - 소개 JVM위에서 돌아가는 Lisp 계통 언어. 발음은 "closure"와 같음.
  3. 3. Lisp가 뭘 의미하는 거야?  이름의 기원 : LISt Processing  이름에서 나타나듯이 Linked List(단일 연 결 리스트)가 주된 자료구조.
  4. 4. AI 언어?  “John McCarthy”  Lisp의 아버지 "존 매카시”  (1927년 9월 4일 ~ 2011년 10월 24일)  1956년 다트머스 학회에서 처음으로 인공지능(Artificial Intelligence)이라는 용어를 창안  1958년 Lisp 개발시작  1960년 논문 "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I“  1971년 튜링상 수상. 인공지능에 대한 연구업적 인정
  5. 5. Lisp Machine in MIT’s Museum
  6. 6. Clojure? - 역사 ● 1930년 – lambda calculus 소개 - Alonzo Church ● 1958년 – Lisp 언어 소개 - John McCarthy ● 1959년 – 첫번째 Lisp 구현 - Steve Russell ● 1995년 – Java 출현 - James Gosling, Sun Microsystems ● 2007년 10월 – Clojure 출현 1.0.x - Rich Hickey ● 2015년 06월 30일 – Clojure 1.7.0 - stable
  7. 7. Clojure? - 창시자 ● 리치히키(Rich Hickey) ● 20년 이상의 개발경력 – scheduling systems, broadcast automation, audio analysis, fingerprinting, dat abase design, yield management, exit poll systems, machine listening ● NYU(New York University)에서 Advanced C++강의 ● 다룬 언어들 C, C++, Java, C# ● 맘에드는게 없어 Clojure를 3년동안 개발 ● .clj(C#, Lisp, Java)
  8. 8. Clojure - Lisp
  9. 9. Clojure? - 비교 - scala ● 중위표기법 ● 정적타입 ● 객체지향 ● 타입시스템
  10. 10. Clojure? - 비교 - clojure ● 전위표기법 ● 동적타입 ● 데이터지향 ● 코드 역시 데이터
  11. 11. Clojure - 개발 - Java
  12. 12. Clojure - 개발 - Clojure
  13. 13. 뽐뿌  자바 창시자 제임스 고슬링, 프로그래밍 다양성 강조  "개인적으로도 스칼라(Scala), 클로저(Clojure) 를 좋아한다. 스칼라로는 프로젝트를 하나 했 고 클로저는 다뤄보고 있다”  http://www.zdnet.co.kr/news/news_view.asp ?artice_id=20150731111920
  14. 14. 뽐뿌 - 1  Walmart Runs Clojure at Scale  Our Clojure system just handled its first Wal mart black Friday and came out without a sc ratch. — Anthony Marcar, Senior Architect – WalmartLabs  https://www.youtube.com/watch?v=av9Xi6C Nqq4
  15. 15. 뽐뿌 - 2  Brandon Bloom - Building CircleCI's Front end With Om  https://www.youtube.com/watch?v=LNtQPS Ui1iQ  https://github.com/circleci/frontend
  16. 16. 뽐뿌 - 3  Driving React Native with ClojureScri pt / Om  https://www.youtube.com/watch?v=Dt2zNem LCCk
  17. 17. Clojure Programming 책  Clojure Programming  Practical Lisp for the Java World  By Chas Emerick, Brian Carper, Christophe Grand  Publisher: O'Reilly Media  Final Release Date: March 2012  Pages: 630  http://www.clojurebook.com/
  18. 18. 스터디 일정, 방식 결정.  참가자들 각자 소개  스터디 일정, 방식 결정.
  19. 19. Leiningen  Java 프로젝트 매니저인, ant와 maven은 XML을 가지고 프로젝트를 관리한다.  하지만, XML은 보고 수정하기 힘들다!  Leiningen은 프로젝트관리 파일 자체가 .clj 파일이다.
  20. 20. Leiningen Ant: Java 프로젝트 관리도구 Leiningen: Clojure프로젝트 관리도구 라이닝겐(Leiningen)은 끝내 개미(Ant)들을 물리치고 자신의 농장을 지켰다. “Leiningen Versus the Ants” - Carl Stephenso n
  21. 21. Leiningen - command lein new lein deps lein uberjar lein repl 새로운 프로젝트 의존성 dependencies 모두 jar로 묶기 REPL 실행
  22. 22. Leiningen - 설치 및 REPL
  23. 23. Leiningen - JAVA환경설정 JAVA_HOME C:Program FilesJavajdk1.7.0_40 PATH %PATH%;%JAVA_HOME%bin
  24. 24. Leinin – new hello > cd prj > lein new hello > tree hello hello ├─doc ├─resources ├─src │ └─hello └─test └─hello
  25. 25. nRepl https://github.com/clojure/tools.nrepl Clojure *n*etwork REPL. Read–Eval–Print-Loop
  26. 26. nRepl > lein repl
  27. 27. IntelliJ + Cursive 클로저 개발 환경 만들 기  http://manmyung.github.io/posts/2015- 03-17-post.html  https://www.jetbrains.com/idea/download/  https://cursiveclojure.com/userguide/
  28. 28.  https://groups.google.com/forum/#!forum /lisp-korea  https://lisp-korea.slack.com/  https://clojurians.slack.com/messages/cl ojure-korea/  https://www.facebook.com/groups/defncl ojure/

×