스퀘어의 레일즈
스퀘어의 RubyConf 발표 동영상에서 기억해둘만한 부분들이 있어 정리/공유 합니다.
JRuby, Clojure, Jython 등 사용, 모두 JVM위에서 동작,디플로이 할때 JVM만 고민하면 된다.
API 만들 때는 fdoc을 이용, 문서부터 만든다.
자꾸 기능 추가하다보니 거대한 한덩어리 서비스가 되어버림.
- CI 에 오랜시간걸림
- 이제는 한덩어리 레일즈 서비스가 아니라, 여러 서비스의 조합으로 나가려고 함.
- 이를 위해 doc, deploy, security를 고민한 템플릿을 만들어 두었슴.
테스트에 참고한 책 “Growing object-oriented software guided by Tests“
다른 서비스와 통신하는 것까지 테스트에 넣는다.
- 포함해 독립된 환경에서 테스트 할 수 있도록 fake server 를 만든다.
- 이때는 foreman을 써서 실행.
- (faceserver 는 시나트라로 간단하게 만드는 것 같네요.)
코드 검수는 cane을 사용
웹서비스는 Jetty 사용. 빠르고 가볍고, 레일즈서비스에 임베드 해버릴수있다.
- 이부분도 소스 공개함 : Jetpack
내부서비스간의 통신 보안에는 SSL 인증서를 사용한다.
결제 서비스에 레일즈를 쓰고 있다는 것도 신기했고, 자신들이 만든 것을 공개하는 모습도 멋집니다.
P.S. 갈겨썼더니 옮기기가 쉽지 않군요.