문서
-
동적 테마 생성을 위한 규칙 기반 프레임워크
12월에 저는 Firefox의 테마 API에 대한 소개를 했습니다. 이는 animated themes, macOS-style overscroll 또는 interactive theme editors와 같은 많은 것들을 할 수 있게 해주지만 몇 가지 한계가 있습니다. 전통적인 CSS와 비교해서 동적 테마 API의 한 가지 문제는 기본 동적 테마를 만들기 위해선 JavaScript와 WebExtension API를 알아야 한다는 점입니다. 이 문제를 해결하기 위해 간단한 테마 “규칙”을 […]
-
Firefox Debugger로 console.log를 뛰어 넘기
console.log 는 디버거는 아닙니다. JavaScript 앱이 무엇을 하고 있는지 표시하는 훌륭한 방법이지만 너무 적은 정보만 표시하는 한계가 있습니다. 코드가 복잡하면, 적합한 디버거가 필요하게 됩니다. 그것이 Firefox 개발자도구 놀이터(playground)(디버깅에 대한 모든 것)에 새로운 세션을 포함한 이유입니다. 간단한 JavaScript 할일 앱을 검사하고 고치기 위해 Firefox 디버거를 사용하는 4개의 강의를 마련했습니다. 디버거 놀이터 강의들은 완전히 무료이고 할일앱 코드는 […]
-
Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기
이 글은 3부작 시리즈의 세번째 글입니다. 메모리 특강 만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기 지난 글에서, 저는 SharedArrayBuffer 를 사용할 때 레이스 컨디션이 발생할 수 있다고 이야기했습니다. 레이스 컨디션 때문에 SharedArrayBuffer 는 다루기 어렵습니다. 그래서 우리는 어플리케이션 개발자가 SharedArrayBuffer 를 직접 사용하리라고 생각하지 않습니다. 하지만 다른 랭귀지를 사용해서 멀티스레드 […]
-
만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer
이 글은 3부작 시리즈의 두번째 글입니다. 메모리 특강 만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기 지난 글에서는, JavaScript 같은 메모리 자동 관리 랭귀지의 메모리 관리 방식을 설명했습니다. 그리고 또 C 같은 메모리 수동 관리 랭귀지의 메모리 관리 방식도 설명했습니다. ArrayBuffers 와 SharedArrayBuffers 에 대해 이야기 하려고 하는데, 왜 이런 얘기가 […]
-
메모리 특강
이 글은 3부작 시리즈의 첫번째 글입니다. 메모리 특강 만화로 소개하는 ArrayBuffer 와 SharedArrayBuffer Atomics 를 이용해서 SharedArrayBuffer 레이스 컨디션 피하기 ArrayBuffer 와 SharedArrayBuffer 가 JavaScript 에 추가된 이유를 이해하려면, 우리는 메모리 관리에 대해 조금 알아야할 필요가 있습니다. 머신에 탑재된 메모리를 상자 더미로 생각해 봅시다. 나는 이것이 사무실에 있는 사서함이나, 유치원에서 있는 사물함과 비슷하다고 생각합니다. 만약 […]
-
Quantum 시대 – 어떻게 Firefox는 다시 빨라졌는가? 그리고 더 빨라질 것인가?
Firefox가 다시 달려가기 시작했습니다. 지난 7개월 동안, 우리는 신속하게 Firefox 주요 엔진의 대부분을 대체했습니다. 즉, Rust와 Servo의 일부를 추가했습니다. 또한, 성능 문제에 대해 코드 베이스를 샅샅이 뒤져서 브라우저 성능에 대한 파격적인 변화를 주었습니다. 그동안 Project Quantum을 통해 베타 테스트를 거쳐, 오늘 Firefox Quantum을 출시하였습니다. 이것은 끝이 아닌 시작입니다만, 파이어 폭스가 어떻게 다시 빠른 속도와 성능을 […]
-
웹어셈블리와 컴퓨터 비전을 사용한 실험
이 글은 Dan Callahan 이 쓴 Experimenting with WebAssembly and Computer Vision의 한국어 번역본입니다. 지난 여름, 이전에 웹어셈블리 경험이 없는 4명의 엔지니어가 실험을 시작했습니다. 6개월간 실험의 결과는 WebSight: OpenCV를 이용한 실시간 안면 인식 데모에서 확인할 수 있습니다. OpenCV를 웹어셈블리로 컴파일하여 우리 팀은 브라우저에서 검증된 C/C++ 라이브러리를 재사용할 수 있었고, 동일한 데이터를 수행하는데 유사한 자바스크립트보다 훨씬 […]
-
RNNoise: 소음 감소를 위한 딥러닝 모델
이 글은 Jean-Marc Valin이 쓴 RNNoise: Using Deep Learning for Noise Suppression의 한국어 번역본입니다. Mozilla에서 진행하는 RRNoise 프로젝트는 소음을 줄이기 위해 어떻게 딥러닝을 사용하는지 보여줍니다. 여기엔 전통적인 신호처리와 딥러닝을 함께 사용하지만, 매우 작고 빠릅니다. 비싼 GPU들이 필요하지 않습니다 — 라즈베리 파이에서 쉽게 동작할 수 있습니다. 전통적인 소음 제거 시스템보다 쉽게 조정할 수 있고, 더 좋은 […]
-
굉장히 빠른 CSS 엔진, Quantum CSS(aka Stylo) 살펴보기
이 글은 Lin Clark이 쓴 Inside a super fast CSS engine: Quantum CSS (aka Stylo)의 한국어 번역본입니다. 여러분께선 아마 프로젝트 Quantum을 한번쯤은 들어보셨을겁니다. Firefox를 더욱 빠르게 만들기 위해 브라우저 내부를 개선하고 있는 프로젝트이죠. 저희는 실험중인 브라우저, Servo로부터 부분적으로 Firefox에 반영하고 있으며 CSS 엔진에 엄청난 개선을 진행 중에 있습니다. 이 프로젝트는 하늘을 날고 있는 비행기에서 제트 […]
-
Firefox 브라우저와 Mozilla 커뮤니티 소개
파이어폭스 브라우저와 그것을 만드는 모질라 커뮤니티에 대해 소개하는 자리가 있었습니다. 발표 장표를 만든 김에 Hacks를 통해 공유합니다. 자료를 정리하면서 Hacks를 통해 발표되는 글들이 모질라의 방향성과 맞닿아 있다는 사실을 알게 됐습니다. 여러모로 멋진 커뮤니티입니다. 파이어폭스 소개 (2017년 8월)