[Oh-My-Zsh] + agnoster 테마 설치하기

콘솔창을 이렇게 만들고 싶다면 한번쯤 해볼만 하다. Git을 자주 사용하는 개발자라면 설치하는걸 권장하고 싶다. 일단 이쁘고 그다음 Git 사용하는게 매우 편하다.

https://github.com/robbyrussell/oh-my-zsh

이쪽으로 가서 OMZ를 설치한다.

그담에 ~/.zshrc를 vi나 vim으로 열고 ZSH_THEME 값을 agnoster로 바꿔준다.

#ZSH_THEME=”robbyrussell”
ZSH_THEME=”agnoster”

당연히 요런식으로 기본값을 주석처리하고 새 값을 추가하는게 좋겠다.

https://gist.github.com/agnoster/3712874

그담에 여기로 이동하면 폰트 설치할 수 있는 링크가 나오는데 그 링크 타고가서 폰트 3개를 다운받고 하나 하나 클릭해서 폰트를 설치한다. (폰트 파일을 클릭하면 그냥 설치되니까 편하다.)

그런담에 ~/.zshrc를 다시 한번 vi나 vim으로 열고

DEFAULT_USER=whiteship

이런식으로 자기 닉넴이나 자주 사용하는 아이디를 적어준다.

http://ethanschoonover.com/solarized

마지막으로 테마인데.. 여기로 가서 아래로 쭉 스크롤 한담에 다운로드 받으면 여러 종류의 테마가 있는데 그 중에서 iterm2 테마 폴더에 들어가서 테마 파일 클릭해주면 설치된다.

두개 설치하고나서  iterm2 환경 설정(커맨드 + 쉼표) 들어가서 Profile -> Colors -> Load Presets 가서 방금 설치한 테마(중에서도 다크로)로 바꿔준다.

이렇게 하면 git 명령어 자동완성과 현재 브랜치 정보 등을 이쁘게 볼 수 있다.

끝!

[Thymeleaf] 스프링에 타임리프 연동하기

매우 쉽습니다. ViewResolver만 바꿔주면 됩니다. 기존에 JSP뷰를 사용하고 있었다면 InternelResourceVewResolver를 사용해서 JSTL뷰를 설정한 다음 prefix와 suffix 정도를 설정해서 사용하고 있으실텐데요.

ThymeleafViewResolver로 바꿔주시면 됩니다. 그리고 ThymeleafViewResolver가 필요로하는 빈도 몇개 등록해야되구요. 아.. 그전에 메이븐 의존성부터 추가하셔야겠군요. 저는 스프링 자바 설정을 사용했는데 코드 보시면 XML 설정으로도 쉽게 설정하실 수 있으실 겁니다.

좋아~ 이제야 드뎌 서버 띄우지 않고 html만 작업하면서 뷰를 만든다음 서버 띄우고나서도 계속 사용할 수도 있겠군요.

Thymeleaf 죽이네.

“백리향 잎사귀”

http://www.thymeleaf.org/doc/Natural%20Templating%20in%20Spring%20MVC%20with%20Thymeleaf%2020120217.pdf

뭔지 알고싶다면 위에 있는 발표자료를 쭉 훑어보시면 됩니다.

일단.. 저는 뷰 만들 때 프리마커나 벨로시티같은 템플릿 엔진을 쓰지 않습니다. 그냥 JSP + JSTL + Spring Tags를 사용합니다. 사이트매쉬나 타일즈같은 레이아웃 엔진도 쓰지 않습니다. 그냥 JSP 태그파일을 씁니다. 랜더링 속도가 전체 앱 성능에 얼마나 영향을 준다고 그 불편한 문법과 설정을 적용하며 애플리케이션에 덕지 덕지 붙이지 싫습니다. 성능이 문제면 차라리 varnish 같은걸 추가해서 캐싱을 하죠 뭐. 잡다구리한걸 잔뜩 붙이고 싶지 않아요.

그런데 진짜 괜찮은 템플릿 엔진이 있군요… 타임리프라.. 캬.. JSP 개발도 마찬가지고 프리마커나 벨로시티를 쓸때도 마찬가지인데.. 뭐냐면..

보통 뷰 만들 때 HTML로 프로토타입을 만들기 나름이죠. 이때는 편하게 HTML로 만들어서 서버를 띄우지 않고 브라우저에서 바로바로 확인하면서 HTML/CSS/JS 코딩을 합니다. 어느정도 됐다 싶으면 그걸 JSP로 변경합니다. 그럼 이제부턴 지옥입니다. 매번 서버를 실행해야지만 뷰를 변경할 수 있죠. 이게 아주 짜증입니다. 그런데 타임리프는 안그래요. 일단 파일을 변경할 필요없이 HTML 그대로 두면 되고 그 상태 그대로 서버를 띄우고 보면 템플릿이 적용되고, 서버를 띄우지 않고 웹 브라우저에서 그냥 열어도 작업이 가능한 HTML 그대로 보여줍니다. JSP나 프리마커 뷰로 바꾼뒤부터는 그렇게 안되기 때문에 거기에 비해서 타임리프 뷰는 개발이 훨씬 편하겠죠.

어떻게 그런지는 안갈쳐 드리죠. 위에 있는 PDF를 보세요. 이 기능을 이름하여 내츄럴 템플릿이라고 하더군요. 이름 참 잘 지었네요.

추가로..

  • 스프링 바인딩 지원
  • 스프링 PE 지원
  • 스프링 EL 지원
등 스프링과 아주 합이 잘 맞는 템플릿 엔진인듯 합니다.

앞으론 이걸 한번 써봐야겠습니다.