웹애플리케이션을 개발하기 위한 최신 기술셋을 알아보자. 모바일 컨버전스 솔루션 또는 서비스를 개발하기 위하여 방향전환을 시도중이다. 14년을 Java만 사용하다가 이제 다시 Reset 하는 기분으로 스터디중이랄까... 기본 언어가 자바스크립트이기 때문에 틈틈히 언어 공부도 필요하다. 하기 작성된 목록은 원문의 내용중 눈에 띄는 것을 임으로 정리한 것이다.
1) Node.js
- 생태계가 잘 갖추어져 가고 있다 : modules 와 resources
- 특징 : single-threaded, event-driven, asychronous I/O JavaScript Server Framework
- twitter list 팔로잉해서 최신 정보를 받자
- Logging, Error Handling, Bootup&Restart, Hosting 등의 해결책을 제시하고 있다
2) JavaScript
- Node를 하려면 기본적으로 숙달해 있어야 한다 (JavaScript: The Definition Guide 추천 - 번역서 나왔음 6th)
- DailyJS 통하여 최신 정보도 숙지한다
3) CoffeeScript
- .coffee 확장자로 코딩하여 .js로 컴파일 된다
- 코드가 깔끔해 지고 유지보수성이 높아진다
- CoffeeScript의 스타일 가이드 참조 (참조2)
- JavaScript를 CoffeeScript로 전환 툴
- cake.coffee 툴 : CoffeeScript로 작성한 make 버전이다. CLI 방식 호출 (참조)
4) MongoDB
- NoSQL : JSON방식 데이터 통신, 저장은 BSON(Binary JSON) 형태, JavaScript언어로 제어
- Replication Set 을 통한 High Availability 제공
- Sharding을 통한 Scale-out을 제공
- Aggregation Framework을 통하여 Big Data 제어
5) Web Application 개발
- Node에서는 Jade(Template Engine)사용, CSS는 stylus 사용함
- jQuery 기본 사용
- UI MV* Framework으로 Backbone.js가 대세 - underscore.js를 기본사용함 -
- Express : Node 에서 기본사용하는 MVC Framework - REST Web Services 개발함 -
6) Testing
- Jasmine : BDD
- Vows : 비동기 BDD
- QUnit : jQuery Javascript library
7) 통합 해주는 것들
- Express 개발할 때 : Express Wiki
- CoffeeScript, Express, Jade, Stylus에 대한 boilerplate 코드 생성 : Cham
8) 추가적인 것들
- socket.io : 실시간 구현
- meteor : 실시간 서버 프레임워크
- 모바일 프레임워크 : PhoneGap
위의 내용들이 대충 눈에 들어오면 SKT의 CornerStone Framework을 내가 생각하는 모바일 컨버전스 솔루션이나 서비스에 접목 시켜 볼까 한다. 맨땅에 해딩하지 말고 이미 만들어진 것을 사용 목적에 맞게 수정하여 써보는 방향을 택한다. 실력이 된다면 기여자가 되보고 싶다.
<참조>
- 원문 : Getting Started With Node.js, Coffeescript, MongoDB, and More
'Lean Agile Culture > Architecturing' 카테고리의 다른 글
[Design Pattern] Mediator Pattern 연구 (0) | 2013.03.25 |
---|---|
[아키텍쳐] A Full Javascript Architecture - NodeJS (1) (0) | 2013.02.06 |
[아키테쳐링] Netflix SlideShare (0) | 2012.12.10 |
[아키텍쳐링] Evernote SlideShare (0) | 2012.12.10 |
대용량 아키텍쳐 설계 엔지니어 되기 (0) | 2012.11.20 |