Research
도전! JavaScript TDD – 2. TDD 리듬
우선 이야기를 시작하기에 앞서, 이전에 작성했던 코드를 다시 한 번 살펴보자. 아래는 모델 코드다. 모델 코드는 테스트 코드에 대응하는 실제 구현 코드를 말한다. function VendingMachine() {}; VendingMachine.prototype = { _htProducts : { “Coke” : “Coke”, “Sprite” : “Sprite”, “Orange Juice” : “Orange Juice”, “Apple Juice” : “Apple Juice” }, 더보기…
Research
[번역] ECMA-262-3 in detail. Chapter 5. Functions.
원문 출처 : ECMA-262-3 in detail. Chapter 5.Functions. by Dmitry Soshnikov 소개(Introduction) 이번 글에서는 ECMAscript의 객체 중에 하나인 함수(Function)를 알아보고, 함수에는 어떠한 것들이 있는지 설명한다. 함수가 콘텍스트의 변수 객체(Variables object)에 어떠한 영향을 미치며, 각 함수의 스코프 체인에는 무엇이 들어가는지도 알아볼 계획이다. 다음과 같은 질문을 자주 받는다. 첫 더보기…
Research
도전! JavaScript TDD – 1. 시작
얼마 전에 끝난 프로젝트를 통해서, 느낀 점 하나가 테스트 코드의 필요성이다. 솔직하게 말하자면 단위 테스트를 하나도 작성하지 않았다. 프로토타이핑이나 해 볼 생각이었는데 일정(물리적 일정보다는 심리적 일정에 더 가까웠음)에 쫓겨서 이 코드가 바로 제품이 되어버리는 바람에 그랬어요 라고 말하고 싶지만, 어디까지나 나의 게으름이 가장 큰 이유다. 바빠 죽겠는데 무슨 테스트냐 더보기…
Research
모바일 웹에서 동적 그리드 리스트(Dynamic Grid List) 구현시, 기울기 전환 성능 이슈
동적 그리드 리스트(Dynamic Grid List) UI 이번 프로젝트를 진행하면서 pinterest.com 스타일의 동적 그리드 리스트를 모바일에 적용하기 위한 모듈을 만들었다. 타일 리스트(Tile List), 동적 그리드 뷰(Dynamic Grid View) 등.. 다양한 이름으로 불리는 UI인데 공식적인 명칭이 무엇인지는 잘 모르겠다. 프로젝트를 진행하면서 명칭을 통일해야 할 것 같아서, 임의로 동적 그리그 더보기…
Review
yobi – 협업 소프트웨어 개발 플랫폼. 간단 리뷰
Yobi? yobi는 Naver(Naver Labs)에서 만든 소프트웨어 협업 개발 플랫폼입니다. 간단하게 이야기해서 GitHub에서 핵심 기능만을 추려서 설치형으로 만든 게 yobi라고 생각하시면 됩니다. Apache License 2.0의 오픈 소스이며, Java 7 이상을 요구하지만 설치가 쉬운 것이 장점입니다. yobi라는 이름은 IEC에서 2005년 8월에 지정한 현존 가장 큰 디지털 데이터 정보 저장 단위인 2^80을 나타내는 더보기…
Research
[번역] ECMA-262-3 in detail. Chapter 4. Scope chain.
원문 출처 : ECMA-262-3 in detail. Chapter 4. Scope chain.. by Dmitry Soshnikov 소개(Introduction) 변수 객체를 살펴보았던 두 번째 챕터에서 보았듯이, 실행 콘텍스트의 데이터(변수, 함수 선언 그리고 함수의 형식 매개변수)는 변수 객체의 프로퍼티로 저장된다. 그리고 콘텍스트로 진입할 때 매번 초기값을 갖는 변수 객체를 생성하며, 코드 실행 단계에서 값을 더보기…
Research
[번역] The race for speed part 3: JavaScript compiler strategies
원문 출처 : http://creativejs.com/2013/06/the-race-for-speed-part-3-javascript-compiler-strategies/ JavaScript는 많은 이유로 큰 인기를 누리고 있다. 폭 넓은 사용 범위를 가지고 있고, 개발자의 관점에서 볼 때 아주 빠르고 유연하다. 언어의 모든 것이 객체여서 즉각적으로 구조를 만드는 것이 아주 쉽고 어떠한 데이터 타입도 필요 없다. 데이터 타입을 모두 추론하기 때문이다. 그러나 분명 이러한 다양성은 더보기…
Research
Interpreter and JavaScript Engine
기계어(Machine code)와 어셈블리어(Assembly) 컴퓨터 프로그램은 수 많은 명령어로 구성되어 있다. 컴퓨터의 두뇌격인 CPU는 사람의 언어를 이해하지 못하기 때문에 어떤 작업을 지시하려면 CPU가 이해할 수 있는 언어로 이야기를 해줘야 한다. 컴퓨터에 조금이라도 관심있는 사람이라면 알고 있겠지만, 컴퓨터의 언어는 비트(bit)로 구성되어 있다. 비트는 최소의 정보 저장 단위인데 0 또는 1의 더보기…
Research
[번역] ECMA-262-3 in detail. Chapter 3. This.
원문 출처 : ECMA-262-3 in detail. Chapter 3. This. by Dmitry Soshnikov 소개(Introduction) 이 글에서는 실행 콘텍스트와 관련있는 내용을 더 자세하게 알아볼 것이다. 이번 주제는 this 키워드다. 사례에서 보듯이, 이 주제는 상당히 어려워서 종종 다른 실행 콘텍스트의 this 값을 처리할 때 이슈를 만들곤 한다. 많은 프로그래머가 프로그래밍 언어의 this 더보기…