Archive

Posts Tagged ‘Node.js’

개발 메모 : 6월 7일 (2012년)

– CSS를 이용해서 이미지에 필터효과를 주는 몇가지 방법이 담겨져 있는 아티클 : http://goo.gl/Z7GGL

– CSS 미디어 쿼리를 잘 정리해 둔 글이 있습니다. : http://goo.gl/adA4g

– 웹앱 50개 정리해 둔 아티클인데.. 써본게 몇개 안되네요. 시간 날때 하나씩 골라서 써봐야겠어요. 몇개는 API를 엮으면 작품 하나 나올 듯도 한데요. : http://goo.gl/cd1ce

– cocos2d 책 샘플 소스가 모여 있는데요. 하나씩 꺼내보면 좋을 것 같네요. : http://cocos2dbook.com/cocos2d/sourcecode/

– node.js에서 비동기 코딩에 대한 감을 잡을 수 있는 내용을 번역해 둔 자료가 있습니다. : http://goo.gl/HCHr4

node.js 뉴스 : 12월 29일.

– node.js에 대해 처음 시작할 때 유용해 보이는 아티클이 있어 공유합니다. : http://www.nodebeginner.org/

– node.js에 대한 좋은 한글 자료들이 많이 있는 곳이네요. : http://nodejs-kr.org/insidejs/

– 웹페이지 스크랩 관련 설명이 있는 아티클. : http://goo.gl/ElTbN

node.js 뉴스 : 12월 5일.

– node.js가 비동기 방식으로 동작하면서 매우 좋은 성능을 보인다는 얘기는 많이 하고 있습니다. 하지만, 이런 좋은 성능을 유지하기 위해서는 다양한 경험과 고려가 필요합니다. 그런데, LinkedIn에서 좋은 사례를 기반으로 한 팁을 개발 블로그에 개시해서 소개 드립니다.
간단하게 제목만 소개하면 아래와 같습니다.

놀랍도록 빠른 node.js: 링크드인 모바일에서 사용한 10가지 성능 팀 (Blazing fast node.js: 10 performance tips from LinkedIn Mobile)

1. 동기 방식 코드를 피해라. (Avoid synchronous code)
2. 소켓 풀링을 꺼라. (Turn off socket pooling)
3. 이미지나 CSS와 같은 정적리소스는 node.js에서 서비스하지 마라. -별도의 웹서버로 서비스해라.- (Don’t use Node.js for static assets)
4. 페이지 렌더링은 클라이언트 사이드에서 해라. 정적 리소스라고 볼 수 있는 HTML과 데이터를 분리해서 node.js에서는 데이터만 서비스해라. (Render on the client-side)
5. 요청 응답에 gzip을 사용해라. (Use gzip)
6. 병렬로 처리해라. (Go parallel)
7. 세션을 사용하지 마라. – 서버측에서 상태 유지를 하지 마라.- (Go session-free)
8. 가능한 경우 자바스크립트 대신 바이러리 빌드를 사용해라. (Use binary modules)
9. 스탠다드 구글 V8을 사용해라. (Use standard V8 JavaScript instead of client-side libraries)
10. 코드를 작게 유지하라. (Keep your code small and light)

원문 : http://goo.gl/44lhi

카테고리:node.js 태그:, , ,

node.js 뉴스 : 12월 1일.

– node.js에 대한 정보와 활용하여 만들어지는 여러가지 파생 기능을 모아둔 아티클. 한번 쭉 둘러보기를 권장합니다. : http://goo.gl/btXVh

카테고리:node.js 태그:

Node.js on Android.

개인적으로 node.js가 어디에 쓸모가 있을지를 고민해본 적이 있습니다.
그래서 내린 결론 중의 하나는 node.js는 유비쿼터스한 환경에서 작은 단말들이 연결성을 갖게 될 때, 그 작은 단말들의 통신을 책임져 주는 구조가 될 것이라고 생각을 했습니다.
그런데, 최근에 Android에 node.js를 올리는 시도를 하고 있는 프로젝트가 있네요. 아직은 아주 초기 단계이지만 관심 가져볼 만 합니다.
링크 : http://goo.gl/zsMeS

카테고리:node.js 태그:,

Node.js + ObjC = NodObjC.

node.js를 이용해서 재미있는 프로젝트가 무엇이 있는지를 찾던 중에 발견한 것입니다. 간단히 설명되어 있는 것은 objective-c와 node.js의 다리(bridge)라고 하는 군요.

몇가지 링크와 간단한 예제를 통해 맛을 보도록 하겠습니다.
프로젝트 홈페이지 – https://github.com/TooTallNate/NodObjC
간단한 윈도우를 띄운 예제 (이 예제를 조금 변경해서 실행해 보겠습니다.) – https://gist.github.com/1204212

위의 프로젝트 홈페이지를 통해 프로젝트를 다운 받습니다.
다운 받은 후에 예제의 자바스크립트 파일을 만듭니다. 그리고 node 커맨드로 실행만 하면 맥 윈도우를 만들 수 있습니다.

위의 예에서 보시는 것 처럼 창 타이틀에 제 블로그 주소와 Welcome이 보입니다.
그럼 위 윈도우를 실행하는 소스 코드를 보겠습니다.


var $ = require('[NodObjc의 폴더 위치]')

$.import('Cocoa')

var pool = $.NSAutoreleasePool('alloc')('init')
  , app  = $.NSApplication('sharedApplication')

app('setActivationPolicy', $.NSApplicationActivationPolicyRegular)

var menuBar = $.NSMenu('alloc')('init')('autorelease')
  , appMenuItem = $.NSMenuItem('alloc')('init')('autorelease')

menuBar('addItem', appMenuItem)
app('setMainMenu', menuBar)

var appMenu = $.NSMenu('alloc')('init')('autorelease')
  , appName = $._('Jongryong.wordpress.com. Welcome...')
  , quitTitle = $._('Quit ')('stringByAppendingString', appName)
  , quitMenuItem = $.NSMenuItem('alloc')('initWithTitle', quitTitle
                                        ,'action', 'terminate:'
                                        ,'keyEquivalent', $._('q'))('autorelease')
appMenu('addItem', quitMenuItem)
appMenuItem('setSubmenu', appMenu)

var styleMask = $.NSTitledWindowMask
              | $.NSResizableWindowMask
              | $.NSClosableWindowMask
var window = $.NSWindow('alloc')('initWithContentRect', $.NSMakeRect(0,0,200,200)
                                ,'styleMask', styleMask
                                ,'backing', $.NSBackingStoreBuffered
                                ,'defer', false)('autorelease')
window('cascadeTopLeftFromPoint', $.NSMakePoint(20,20))
window('setTitle', appName)
window('makeKeyAndOrderFront', window)

// set up the app delegate
var AppDelegate = $.NSObject.extend('AppDelegate')
AppDelegate.addMethod('applicationDidFinishLaunching:', 'v@:@', function (self, _cmd, notif) {
  console.log('got applicationDidFinishLauching')
  console.log(notif)
})
AppDelegate.register()

var delegate = AppDelegate('alloc')('init')
app('setDelegate', delegate)

app('activateIgnoringOtherApps', true)
app('run')

위 소스코드를 자세히 소개하지는 않겠습니다. 사실, 저도 잘 모릅니다. ^^;
아무튼 역시나 node.js를 이용한 다양한 시도중에 하나네요. 이런 클라이언트 기반 코드와 node의 통신 환경을 이용하면 간단한 맥용 클라이언트용 툴을 쉽게 만들 수도 있을 것 같습니다.
물론, 아직은 기본적인 것만 지원하는 것으로 보입니다.

Node.js 뉴스 : 9월 7일.

– node.js 라면 역시 비동기 동작이 기본이겠죠. 물론, javascript를 사용하면서 상당히 비동기에 대해서 느낌이 있었지만, 동기 방식과 비동기 방식을 비교한 이 아티클에서 다시 한번 각성을 시켜주네요.
기본 동작을 비동기로 바꾸는게 어렵게 느껴지시는 분들에게 추천합니다. : http://goo.gl/SSRKH

카테고리:node.js 태그:, ,
%d 블로거가 이것을 좋아합니다: