일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- npm
- 크로스브라우징
- 빅데이터
- 개발환경
- 자바스크립트
- 마이크로소프트
- JQuery
- NoSQL
- AngularJS
- Python
- non-blocking
- callback function
- github
- Ajax
- 인턴
- git
- Microsoft
- 750R
- 제이쿼리
- Javascript
- 마소
- 테스트
- node.js
- MongoDB
- CoffeeScript
- 웹디자인
- 콜백 함수
- 오픈소스
- CSS
- Today
- Total
목록분류 전체보기 (50)
Inspired World
2012년 1월 Amazon Web Service 에서 DynamoDB 서비스를 베타 런칭하였습니다. 개념은 엄청 혁신적이고 매력적이었습니다. Read/Write Throughput 을 마음대로 조절할 수 있고 이에 따라 또 사용하는 용량에 따라 돈을 과금하고 확장 능력(Scalability) 나 가용 능력(Usability)가 Sharding이나 Replication 에 대한 개념 없이 무한대로 데이터를 읽고 쓰면 사용하는 용량이나 트래픽 처리를 알맞게 알아서 다 자동으로 해주는 것입니다. (물론 throughput은 수동으로 설정, 알림 서비스를 통해 부족하면 알려줌) 거기에 일반 HDD가 아닌 SSD로 구축한 서버라서 속도도 무지 빠릅니다. 또한 최대 용량 제한 또한 없어서 정말 DB 확장이나 그 ..
jQuery를 처음 사용할 때 "어 이게 왜 안돼지?" 하는 상황이 종종 생깁니다. 제가 jQuery를 1.4.2 버전 때 첨 접하고 나서 지금까지 쭉 써오고 있는데 제가 모든 API를 섭렵하고 매일매일 jQuery를 Heavy하게 쓰는 유저는 아니지만 경험을 통해 얻은 팁 몇가지가 있습니다. DOM이 다 로드 된 이후에 처리하지 않으면 아무리 셀렉터를 이용해서 선택을 한들 DOM 객체를 인식하지 못하고 공들여 쓴 JavaScript + jQuery 소스가 제대로 작동하지 않게 되는데요. 기본적이지만 짚고 넘어가겠습니다. $(document).ready(function() { // Source Code Start }); 또는 $(function() { // ..
JavaScript 에서는 콜백 함수를 아주 쉽게 구현할 수 있고 아주 강력합니다. 특히 AJAX요청과 함께 사용하면 정말 강력한데요. 예를 들어, AJAX요청을 해서 어떤 정보를 가져와 그 가져온 정보로 무엇인가를 처리해주고 싶습니다. 하지만 AJAX특성상 서버의 응답도 영향이 있기 때문에 같은 요청도 같은 컴퓨터일지라도 네트워크 환경 등 여러가지 변수 때문에 반응 속도가 천차만별입니다. 따라서 setTimeout 을 이용한다거나 여러가지 다른 방법도 있겠지만 보다 확실한 방법은 콜백 함수를 이용하는 방법입니다. 콜백함수를 이용하게 되면 "어, 나 이 작업 다 끝났으니까 뭐 할 꺼 있으면 해" 라고 메시지를 전달함으로써 확실히 가져온 데이터를 가지고 처리를 할 수 있게 됩니다. 이제 예제 소스를 보여드..
Node.js 의 큰 특징인 이벤트 기반은 하나의 스레드를 사용함에 있어서는 비동기처리에 있어서 아주 뛰어나지만 멀티코어 CPU를 사용하는 서버에서 Node.js를 돌리다보면 나머지 사용하지 않는 코어들이 아깝게 느껴집니다. 또 그런 사용하지 않는 코어 때문에 다른 언어/웹프레임워크와의 벤치마크에서도 많이 밀리는 모습을 보여줍니다. 하지만 Node.js 0.4.x 시절에도 cluster라는 모듈이 있었고 버전이 0.6.x 가 되면서 자체 모듈로써 포함이 되면서 멀티코어에서도 Node.js를 활용할 수 있게 되었습니다. 사용 방법은 간단합니다. 위 코드 처럼 이미 작성된 http server나 express 코드를 else 부분에 넣어주고 Worker를 CPU 코어 갯수 만큼 생성하게 하면 됩니다. 또 위..
Node.js 에서의 장점은 non-blocking 입니다. 하지만 이것이 하기에 따라 오히려 독이 될 수도 있는데요. blocking 코드를 Node.js 에서 작성하게 되면 Node.js 가 돌아가는 이벤트 루프의 특성상 모든 일이 blocking 코드가 다 할때까지 기다리게 됩니다. 예를 들어 for(var i=0; i
jQuery의 문구처럼 짧은 소스로 더 풍부하게 코딩하는 것이 지향하는 목표입니다 jQuery는 John Resig라는 Mozilla JavaScript 개발자가 만든 자바스크립트 프레임워크입니다. 위 문구처럼 보다 간결한 소스로 더 많은 일을 할 수 있게 해주는데요. 그럼 왜 구지 JavaScript를 그냥 쓰지 않고 jQuery를 많은 사람들이 사용할까요? 마이크로소프트에서도 jQuery를 Visual Studio MVC Framework에 포함시켰고 국내, 외 사이트에 들어가서 소스보기를 눌러보면 심심치 않게 jQuery가 포함되어 있는 것을 확인해 볼 수 있습니다. 점점 RIA (Rich Internet Application) 이 부각 되는데 비해 Flash나 Silverlight 는 부가적으로 ..
Node.js 는 단순히 웹서버로써 또 서버 앞 단에 두는 Reverse Proxy로써만 사용하기에도 좋지만 Nginx 나 Apache 와 같은 웹서버와 PHP, Java, C#, Python, Ruby 등을 연결해서 사용해야 하는 기존의 방법과는 달리 Node.js 는 자체적으로 자신이 웹서버이면서 로직도 담당할 수 있습니다! 이렇게 1 어시1 골을 혼자 다 하는 것이나 다름없죠 ㅎㅎ 물론 예전 포스팅 글에서 밝혔듯이 "Ryan Dahl 의 추천사항으로 아직 발견되지 않은 Buffer Overflow 으로 인해 발생할 수 있는 취약점을 Nginx 를 앞에 Reverse Proxy로 둠으로써 완벽하진 않지만 어느정도 가릴 수(?) 있다고 합니다. 또 Static File( CSS, JavaScript, ..
먼저 Node.js 를 설치해보겠습니다. 설치에 앞서 반드시 미리 설치되어 있어야 할 것들이 있는데요. Python 2.5+ libssl-dev 이 두가지는 설치를 하기 위한 파일이므로 꼭 필요합니다. 이것 말고도 버전관리를 위해 git을 주로 쓰지 않는다 하더라도 다른 오픈 소스 커뮤니티의 git repository에서 소스를 가져올 때도 git을 사용하기 때문에 혹시 git이 깔려있지 않다면 git-core도 함께 설치해줍니다. 제가 즐겨 사용하는 Ubuntu 11.04 Natty 기준으로 설명하겠습니다. apt-get install g++ curl libssl-dev apache2-utils git-core make설치가 다 되었다면 설치파일을 다운 받고 압축을 풀고 싶은 디렉토리로 이동 후 Nod..
Node.js를 호스팅 할 수 있는 방법은 여러가지가 있습니다. 가장 쉬운 방법은 PaaS 클라우드 호스팅을 이용하는 방법인데요. 소스만 가지고 특정 포트 설정이나 이런것만 호스팅에 따라 조금만 맞춰주면 서버 관련된 설정은 아예 신경을 써도 되지 않아도 되는 장점이 있습니다. no.de (Node.js를 만든 Ryan Dahl이 있는 회사에서 운영하고 있습니다) Heroku (Salesforce가 인수, Facebook App을 생성할 때 호스팅 옵션에 Heroku가 있죠. 첨에 들어가면 보라색 화면에 일본풍의 이름들이 있어서 처음에 좀 많이 당황했던 UI입니다) DotCloud CloudFoundry (VMware) Nodejitsu NodeSocket Nodester 저는 개인적으로 git repos..
Node.js JavaScript에 관심이 있거나 새로운 웹 트렌드에 관심이 있는 사람이라면 한번 쯤은 인터넷을 돌아다니다가 본 적이 있을 단어입니다. JavaScript와 JavaScript 개발자들이 저평가 받는 시절이 있었습니다. JavaScript라 하면 그저 Mouse, Keyboard 이벤트나 간단한 DOM 조작이나 가능한 웹브라우저에 탑재된 언어라는 인식이 있었지만 (물론 SpiderMonkey나 Rhino와 같이 웹브라우저가 아닌 곳에서 JavaScript를 사용해왔지만) 이 인식을 깨는 데 AJAX 의 탄생이 한 몫 했는데요. AJAX (정확히는 XmlHttpRequest, 줄여서는 XHR)의 활용으로 인해 JavaScript 에서 Client-side 와 Server-side를 넘나들며..