발생일: 2013.06.24 문제: 한 달 전 즈음, 자바스크립트 스터디를 하면서,K과장님이 BSON을 쓰는 경우가 있었냐는 질문을 하셨더랬다.당시에는 BSON이 Binary JSON의 약어라고만 알고 있었고,실제로 써본 적도 없었기에 '잘 모른다'고 대답하고 말았다. 그리곤 잊고 있다가,얼마 전에 사내 위키에서 'BSON으로 인코딩해서 보낸다'라는 문구를 만나게 돼서,이 참에 자세히 한 번 살펴봤다. BSON 스펙을 정의한 사이트와 자세한 설명은 아래 링크에서 확인할 수 있다. http://bsonspec.org/http://en.wikipedia.org/wiki/BSON 간단히 정리해보면, 다음과 같다. BSON 은 Binary JSON의 약어로, JSON 문서를 바이너리로 인코딩한 포맷이다.최초에 ..
발생일: 2013.03.09 문제: 지난 주 스터디에선 `JSON.stringify()` 에 대한 얘기가 나왔었다. 가끔 객체를 문자열로 바꾸다가 에러가 발생했던 경험이 있어서,객체를 직렬화하는 경우 오류가 발생할 수 있으니 주의해야하고,아마도 프로토타입을 순회하는 과정에서 발생하는 것 같다고 설명했었다. 다음 날, 스터디 멤버 중 한 분이 오류가 발생하는 예제 코드에 대한 질문을 하셨는데,살펴보니 내가 잘못 설명한 부분이 있더라. =_= 해결책: 정확하게는, 프로토타입을 순회하는 과정에서 발생하는 게 아니라,순환 참조로 인해 발생하는 경우가 많다. 예를 들어,아래 코드는 TypeError: Converting circular structure to JSON 를 발생하게 된다. var a = []; a[..
발생일: 2011.06.14 문제: 얼마 전 수정 작업 이후, 스크립트에서 구현한 모듈의 네임스페이스를 찾지 못하는 오류가 발생했다. IE7 이하에서 아래와 같은 오류가 발생했다. 식별자나 문자열 또는 숫자가 필요합니다. 'abc.namespace'은(는) null 이거나 개체가 아닙니다. 코드가 압축되어 있는 데다 IE 하위 버전에서만 발생하다보니 디버깅이 녹녹치 않더라. 알고 보니, JSON 리터럴에서 마지막 컴마를 삭제하지 않은 것이 문제였다. 아아... 원인에 대해서는 이미 알고 있었지만, 이렇게 나타나니 좀 당황스러웠다. 해결책: 최근 브라우저에서는 JSON 형태의 객체 리터럴에서 마지막 컴마를 올바르게 종료하지 않아도 오류 없이 정상적으로 표시된다. 하지만 IE7 이하에서는 아래와 같은 오류를..