인텔리제이는 소스코드를 컴파일한 후에 프로젝트의 빌드선언에 따라서 의존성을 클래스패스 classpath 로 추가하여 실행시킨다. 그래서 스프링부트와 관련해서 build.gradle에서 providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') 가 선언되어 있으면 스프링부트 앱을 실행시킬 때 클래스패스 상에서 내장 컨테이너를 제외한다. 그래서 실제로 인텔리제이상에서 providedRuntime 을 선언해두면

/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java -Dspring.output.ansi.enabled=always -Didea.launcher.port=7540 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "... 의존성 라이브러리들 선언...(providedRuntime 선언과 관련된 것은 제외 )" com.intellij.rt.execution.application.AppMain {내 앱}

으로 실행되면서 실행안된다.

이클립스는 소스코드만 컴파일하고 실행에 필요한 클래스패스는 빌드경로buildpath 기준으로 잡기 때문에 무리없이 실행된다.

이 두 IDE 의 차이를 이제야 이해했다. @_@)>



자바Java 를 어설프게 파온지 7년이 조금 넘고 있는 요즘.

새로운 언어를 배우고 싶다는 욕심이 뭉글뭉글 피어오르고 있는 즈음하여,

하스켈과 관련된 책을 리뷰하게 된다.

하스켈로 배우는 함수형 프로그래밍 - JPUB

이 책을 리뷰하는데... 좌절을 경험한다. 함수형 프로그래밍에 대한 무지함이 나를 덥쳐온다.


그 이후 클로져clojure 를 오래전부터 사용해온 완수형과 저 책을 리뷰해보기로 하지만, 함께하던 파티원들 모두 하스켈이란 언어에 막혀 좌절하고 만다.

그 다음으로 고른 책은

자바 개발자를 위한 함수형 프로그래밍

이 책을 읽으면서 함수형 프로그래밍을 익히게 되면 가지게 될 강점에 대해서 살짝 맛을 느끼기는 했다. 마지막에 살짝 AKKA로 빠지면서 방향을 잃었지만...


함수형 프로그래밍 언어로 배워볼만한 순으로 추천받은 건

클로저 > 스칼라 > 하스켈

그런데... 좀 오기가 생겨서 그런지 함수형 프로그래밍 언어의 순수함을 맡본 후에 필요하다면 다른 함수형 언어를 배우는 쪽으로 가고 싶어졌다.


https://www.haskell.org/


하스켈 언어에 집중을 해보도록 하자. 케빈님의 하스켈 맛보기 보기!


+ Recent posts