주요 문서
-
ES6 In Depth: 미래
ES6 In Depth 시리즈는 ECMAScript 표준의 6번째 에디션(줄여서 ES6)을 통해 JavaScript 에 새로 추가된 기능들을 살펴보는 시리즈입니다. 지난번 ES6 모듈에 관한 글까지 우리는 ES6 에 새로 도입된 주요 기능들을 살펴보았습니다. 이번 글에서는 새로운 기능을 십여 개 더 살펴보려고 합니다. 우리가 지금까지 깊게 살펴보지 않은 기능들입니다. JavaScript 라는 건축물의 벽장과 구석방들을 들여다보는 재미있는 여행이라고 생각하세요. 거대한 […]
-
Firefox OS 개발자용 폰 “Keon” 사용기
지난 4월 23일 Firefox OS 개발자용 폰이 출시되었습니다. Firefox OS 개발 단계에서 테스트를 목적으로 단말기들이 여러 대 만들어졌지만, 실제 개발자들이 구매해서 사용해 볼 수 있는 단말기는 이번이 처음입니다. Firefox OS 개발자용 폰을 통해 개발자들은 시뮬레이터로는 할 수 없었던 실제 모바일 네트워크 상황에서의 작동과 카메라, 가속도계와의 연동 등을 테스트할 수 있습니다. 이번 Firefox OS 개발자용 폰은 […]
-
메모리 특강
이 글은 3부작 시리즈의 첫번째 글입니다. 메모리 특강 만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기 ArrayBuffer 와 SharedArrayBuffer 가 JavaScript 에 추가된 이유를 이해하려면, 우리는 메모리 관리에 대해 조금 알아야할 필요가 있습니다. 머신에 탑재된 메모리를 상자 더미로 생각해 봅시다. 나는 이것이 사무실에 있는 사서함이나, 유치원에서 있는 사물함과 비슷하다고 생각합니다. 만약 […]
-
ES6 In Depth: 모듈
ES6 In Depth 시리즈는 ECMAScript 표준 6번째 에디션(줄여서 ES6)을 통해 JavaScript 에 새로 추가된 요소들을 살펴보는 시리즈입니다. 2007년 제가 모질라 JavaScript 팀에서 일하기 시작했을 때, 이런 농담이 있었습니다. 통상적인 JavaScript 프로그램의 라인 길이는 몇 줄일까요? 정답은 한 줄이었습니다. 그 때는 구글맵이 시작된 지 2년 지났을 때였습니다. 그전까지, JavaScript 의 주된 용도는 폼(form) 값을 검증하는 것이었습니다. […]
-
Rust 는 처음이죠? 도전해봅시다
Rust는 실행성능, 병렬처리, 메모리보호 문제를 풀기위해 새로 만든 프로그래밍 랭귀지입니다. 최신 프로그래밍 랭귀지 요소들을 반영해서 완전히 새로 만듬으로써, Rust 창조자들은 전통적인 랭귀지들이 감수해야만 하는 수많은 “제약점(baggage)” (backward-compatibility requirements)을 회피했습니다. 그대신, Rust는 하이레벨(high-level language) 랭귀지의 유연성과 표현력(expressive syntax)을 받아들임과 동시에, 로레벨(low-level language) 랭귀지의 성능과 절대적인 컨트롤(unprecedented control) 능력도 융합시킬 수 있었습니다. 프로그래밍 랭귀지를 선택하는 것은 균형점을 […]
-
HTML5에 대한 7가지 오해
본 글은 Mozilla Tech Evangelist인 Chris Heilmann의 HTML5 mythbusting라는 글을 번역한 것입니다. HTML5의 실용성을 둘러싸고 요즈음 벌어지고있는 논쟁은 많은 잘못된 가정에 근거하고 있습니다. 계속 반복되거나 많은 경우 올바른지 전혀 검증하지 않은 HTML5에 대한 오해와 관련결되어 있습니다. 이 글에서는 이러한 오해들을 해소하는 차원에서 설명을 해 보겠습니다. 1. HTML5는 느리다? HTML5의 문제에 대해 이야기하고 싶어하는 사람들이 반드시 […]
-
Mozilla에서 WebRTC를 지원합니다!
웹은 우리의 삶과 우리가 다른 사람들과 소통하는 방법 중 중요한 부분입니다. 이것은 더 좋고 개방된 게임 -사용자와 웹개발자의 경험을 바꿔놓는- 을 기하 급수적으로 제공받는 발전의 정점에 우리가 도달했을 때 흥분하는 이유입니다! 우리는 그러한 단계 중 하나로 WebRTC라고 생각합니다. WebRTC란 무엇인가? WebRTC에서 RTC는 어떠한 플러인, 서드파티 소프트웨어없이 웹에서 바로 제공되는 실시간 커뮤니케이션(Real-Time Communications)을 의미합니다. 이는 미디어 […]
-
Quantum 시대 – 어떻게 Firefox는 다시 빨라졌는가? 그리고 더 빨라질 것인가?
Firefox가 다시 달려가기 시작했습니다. 지난 7개월 동안, 우리는 신속하게 Firefox 주요 엔진의 대부분을 대체했습니다. 즉, Rust와 Servo의 일부를 추가했습니다. 또한, 성능 문제에 대해 코드 베이스를 샅샅이 뒤져서 브라우저 성능에 대한 파격적인 변화를 주었습니다. 그동안 Project Quantum을 통해 베타 테스트를 거쳐, 오늘 Firefox Quantum을 출시하였습니다. 이것은 끝이 아닌 시작입니다만, 파이어 폭스가 어떻게 다시 빠른 속도와 성능을 […]
-
굉장히 빠른 CSS 엔진, Quantum CSS(aka Stylo) 살펴보기
이 글은 Lin Clark이 쓴 Inside a super fast CSS engine: Quantum CSS (aka Stylo)의 한국어 번역본입니다. 여러분께선 아마 프로젝트 Quantum을 한번쯤은 들어보셨을겁니다. Firefox를 더욱 빠르게 만들기 위해 브라우저 내부를 개선하고 있는 프로젝트이죠. 저희는 실험중인 브라우저, Servo로부터 부분적으로 Firefox에 반영하고 있으며 CSS 엔진에 엄청난 개선을 진행 중에 있습니다. 이 프로젝트는 하늘을 날고 있는 비행기에서 제트 […]
-
Mozilla의 사명과 W3C EME 스펙의 조화
대다수 경쟁 브라우저들과 콘텐츠 산업은 W3C의 암호 미디어 확장(Encrypted Media Extension) 표준을 지원하고 있어 Mozilla는 사용자가 모든 콘텐츠를 즐길 수 있도록 하는 접근성을 개선하고자 W3C EME 표준을 지원을 해야하는 어려운 선택을 하였습니다. 이 글에서는 그 배경과 방법에 대해 설명하고자 합니다. 디지털 저작권 관리(DRM)은 어려운 문제입니다. 콘텐츠 소유자 입장에서는 저작권 제한을 강제하기 위해 사용자들이 콘텐츠를 공유하는 […]