WIT – NTS UIT Blog

Ajax & CORS Overview

Posted by in Research

  Ajax의 역사   1990년대까지 웹 애플리케이션은 사용자가 서버로 요청을 보내면, 서버가 비지니스 로직을 처리한 후 새로운 웹 페이지를 만들어 클라이언트로 전송하는 방식이었다. 일부 데이터만 갱신하고 싶어도 페이지 전체를 받아와야하기 때문에 낭비가 많았다. 웹의 시작이 ‘문서’였다는 점을 생각해보면 당연한 일이었는지도 모르겠다.         처음으로 이러한 비효율적인 구조를 개선하려는 시도를 한 회사는 유명한 Microsoft였다. 1996년에 Microsoft는 Internet Explorer에 iframe을 도입함으로써 콘텐츠를 비동기 방식으로 로딩할 수 있는 길을 열었다.  2년 후인 1998년에는 Microsoft Outlook Web Access 팀이 첫번째 XMLHTTP 컴포넌트를 클라이언트 스크립트로 만들었다. 1999년에는 Internet Explorer의 기본 페이지의 뉴스 기사와 주식…read more

3

backbone.js에 대한 지극히 개인적인 생각

Posted by in Research

  작년 말에 어찌하다가 중간에 지원사격하러 들어간 프로젝트가 있다. 이 프로젝트는 backbone.js를 사용하고 있었는데 그점이 끌려서 내가 “지원”하겠다고 “자원”했다. 그리고 아직도 끝나지 않은 그 프로젝트는 내 주업무가 되었다. 이전에 backbone.js를 잠깐 공부했던 적도 있었던지라  “대충 그냥 삽 좀 푸면 금방 익숙해지겠지”라는 생각으로 무작정 뛰어들어서 닥치고 코딩부터 했다. 얼마 안 가서 이 삽질이 그냥 대충 삽질이 아니라는 사실을 깨달았다. 사이드 이펙트의 향연 앞에 야근 도장을 찍었던 날이 며칠이었던가(참고로 우리 실이나 팀은 야근을 하지 않는 것을 권장한다. 그래서 야근할 때 눈치봐야 된다. 깨알같은 회사 자랑). 물론 핑계거리가 아예 없는 것은 아니다. 이정도 규모의…read more

[번역] ECMA-262-3 in detail. Chapter 6. Closures.

Posted by in Research

원문 출처 : ECMA-262-3 in detail. Chapter 6. Closures. by Dmitry Soshnikov     소개(Introduction)   이번에는 JavaScript의 아주 중요한 개념인 클로저(Closures)에 대해서 알아보겠다. 그 동안 여러 번 이야기했던 내용으로 새로운 것은 아니지만, 이론적인 관점에서 조금 더 깊이 있게 들여다 보고 ECMAScript가 어떻게 클로저를 다루는지 설명할 생각이다. 이번 챕터를 이해하려면 스코프 체인(Scope chain)과 변수 객체(Variable Object)의 개념을 알아야하기 때문에,  이전에 공부했던 내용을 다시 한 번 정리하고 넘어가자.     일반 이론(General theory)   바로 ECMAScript의 클로저를 논의하기 전에, 함수형 프로그래밍의 일반 이론에서 정의하고 있는 내용을 구체화 할 필요가 있다. 다들 알고…read more

0

도전! JavaScript TDD – 3. 점진적 명세 작성

Posted by in Research

    이전 시간에는 자판기에 재고 기능을 추가하면서 “TDD 리듬”에 대해서 이야기를 했다. 지금까지 만든 테스트 코드는 아래와 같다.

  테스트 대상이 되는 모델 코드는 다음과 같았다.

  오랜만에 코드를 보니 좀 낯설기는 하지만, 다행히 라인이 길지 않아서 금방 눈에 들어온다. 이번에는 특별히 불만 있는 부분이 없으므로 별 설명없이 그냥 진행해야겠다.     동전 투입   오늘 만들어야 할 것이 무엇인지 이전 시간에 남겨둔 할 일 목록을 한 번 살펴보자.   음료를 뽑을 수 있다. 콜라, 사이다, 오렌지 주스, 사과 주스 중 원하는 음료를 뽑을 수 있다. 동전을…read more

7

[번역] Static Memory Javascript with Object Pools

Posted by in Research

  이번에 Static Memory Javascript with Object Pools라는 html5rocks의 아티클을 번역했다. 제목만 보고 상당히 흥미로울 것 같아서 무작정 번역을 시작했는데 막상 번역해놓고 보니 별로 재미가 없어서 실망했다. 하지만 누군가에게는 흥미로운 주제일지도. JavaScript는 Garbage Collector라는 메모리 관리 기술을 이용하기 때문에 개발자가 직접 메모리를 관리할 수 없다. 이 포스트는 Object Pool을 만들어서 우회적으로 메모리를 관리하는 기법을 설명하고 있다. 원문에 memory churn을 설명하는 부분이 있다. memory churn은 “메모리 할당/해제가 빈번하게 일어나는 현상“을 말한다. 이걸 뭐라고 번역해야할 지 한참 고민하다가, 다빈치 소프트웨어의 “도창욱”님의 의견들 받아들여서 “메모리 변동”이라고 적었다.  아무리 생각해도 메모리 변동은 부정적 의미가 너무…read more

0