주요 문서
-
Polyfill을 사용하는 보다 쉬운 방법
이 글은 Andrew Betts와 Robert Nyman [Editor]이 쓴 An easier way of using polyfills의 한국어 번역본입니다. Polyfill은 낡은 브라우저에서 모던(modern) 코드를 쓸 수 있게 해주는 환상적인 방법입니다. 하지만 현재의 Polyfill 이용법은 너무 어렵습니다. 그래서 우리 FT(파이낸셜 타임즈)는 Polyfill을 쉽게 쓸 수 있게 해주는 새로운 서비스를 만들었습니다. Polyfill.io 서비스에 당신을 초대합니다. 우리가 서비스를 개선할 수 있게 […]
-
웹 개발자 툴 박스: Backbone
이 글은 모든 웹 개발자들이 자신의 툴 박스에 가지고 있어야 할 유용한 라이브러리들을 위한 네 번째 글입니다. 이 글을 통하여 이러한 라이브러리들이 무엇을 할 수 있고 여러분이 어떻게 사용하는지 이해하였으면 합니다. 네 번째 글을 통해 Backbone 라이브러리에 대해 알아보겠습니다. 소개 Backbone은 jeremy ashkenas가 만든 library입니다.(또한 CoffeeScript를 만든 걸로 유명합니다) Backbone 은 자바스크립트에서 MVC 디자인패턴의 구현입니다. […]
-
Emscripten으로 WebAssembly와 JavaScript 코드 크기 줄이기
Emscripten은 asm.js 및 WebAssembly를 위한 컴파일러 툴체인으로 웹에서 C/C++를 네이티브에 가까운 속도로 실행할 수 있게 해줍니다. Emscripten 출력물의 크기는 최근에 굉장히 작아졌습니다(특히 작은 프로그램에서 더). 다음은 예제 C 코드입니다: #include <emscripten.h> EMSCRIPTEN_KEEPALIVE int add(int x, int y) { return x + y; } 이 코드는 두 수의 합을 내보내는 순수 연산의 “hello world” 입니다. -Os […]
-
Flash 이후의 삶: 열린 웹을 위한 멀티미디어
Flash는 10년이 넘는 시간동안 수십억 사용자들에게 비디오, 애니메이션, 인터렉티브한 사이트 그리고 광고를 제공했지만, 이제는 사라질 것입니다. Adobe는 2020년까지 Flash의 지원을 서서히 중단하기로 하였습니다. Firefox는 더 이상 Flash를 지원하지 않으며, Chrome에서도 지원하지 않습니다. 그럼 무엇을 쓸 수 있을까요? Flash에서 제공했던 것들이 가능한 수 많은 공개 표준이 있습니다. 진짜 열린 멀티미디어 Flash는 인터렉티브한 멀티미디어 웹사이트를 구축 및 […]
-
Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기
이 글은 3부작 시리즈의 세번째 글입니다. 메모리 특강 만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기 지난 글에서, 저는 SharedArrayBuffer 를 사용할 때 레이스 컨디션이 발생할 수 있다고 이야기했습니다. 레이스 컨디션 때문에 SharedArrayBuffer 는 다루기 어렵습니다. 그래서 우리는 어플리케이션 개발자가 SharedArrayBuffer 를 직접 사용하리라고 생각하지 않습니다. 하지만 다른 랭귀지를 사용해서 멀티스레드 […]
-
만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer
이 글은 3부작 시리즈의 두번째 글입니다. 메모리 특강 만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기 지난 글에서는, JavaScript 같은 메모리 자동 관리 랭귀지의 메모리 관리 방식을 설명했습니다. 그리고 또 C 같은 메모리 수동 관리 랭귀지의 메모리 관리 방식도 설명했습니다. ArrayBuffers 와 SharedArrayBuffers 에 대해 이야기 하려고 하는데, 왜 이런 얘기가 […]
-
무엇이 WebAssembly를 빠르게 만드나?
이글은 WebAssembly와 그 실행성능에 관한 시리즈의 5번째 글입니다. 아직 다른 글들을 읽지 않았다면 처음부터 읽기를 권합니다. 지난 글에서, 저는 WebAssembly 또는 JavaScript 프로그래밍이 어느 하나를 취사선택해야 하는 일이 아님을 설명했습니다. 우리는 많은 개발자들이 전적으로 WebAssembly를 이용해서 코드를 만드리라고 생각하지 않습니다. 그래서 개발자들은 자신의 어플리케이션을 개발할 때 WebAssembly와 JavaScript 중에서 하나를 선택할 필요가 없습니다. 대신, 우리는 […]
-
Firefox 가 Async/Await 를 제공합니다
비동기 코드를 보다 간결하고, 분명하고, 관리하기 쉽게 만들어 주는 새로운 키워드, async 와 await 가 Firefox 52 에 도입되었습니다. 최신 개발자 에디션에서 사용 가능합니다. Firefox 52 는 2017년 3월 일반에게 공개될 예정입니다. JavaScript 의 탁월한 싱글-쓰래드 퍼포먼스와 웹 응답성은 JavaScript 의 철저한 비동기적 설계 덕분입니다. 하지만, 이 비동기적 설계 때문에 “콜백 지옥 (callback hell)” 문제도 […]
-
debugger.html 를 소개합니다
debugger.html 은 Mozilla 가 만든 새로운 JavaScript 디버거입니다. debugger.html 은 React 와 Redux 로 만든 웹 어플리케이션입니다. 이 프로젝트는 올해 초 Firefox Developer Tools 의 디버거를 교체하기 위해 시작됐습니다. 우리가 원한 것은 다양한 타겟(multiple targets)을 디버깅할 수 있고, 또 독립(standalone) 모드로도 동작할 수 있는 디버거였습니다. 현재, debugger.html 은 Firefox 타겟에 접속해서 디버깅할 수 있습니다. 뿐만아니라 […]
-
ES6 In Depth: 서브클래스 만들기 (Subclassing)
ES6 In Depth 시리즈는 ECMAScript 표준 6번째 에디션(줄여서 ES6)을 통해 JavaScript 에 새로 추가된 요소들을 살펴보는 시리즈입니다. 지지난 글에서, 우리는 객체의 생성자를 정의할 때 겪는 번거로움을 해소하기 위해 ES6 에 새로 도입된 클래스 시스템을 알아보았습니다. 그리고 클래스 시스템을 이용해서 아래처럼 코딩하는 방법을 알아보았습니다. class Circle { constructor(radius) { this.radius = radius; Circle.circlesMade++; }; static draw(circle, […]