ingeeKim가 쓴 문서
-
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 에 추가된 이유를 이해하려면, 우리는 메모리 관리에 대해 조금 알아야할 필요가 있습니다. 머신에 탑재된 메모리를 상자 더미로 생각해 봅시다. 나는 이것이 사무실에 있는 사서함이나, 유치원에서 있는 사물함과 비슷하다고 생각합니다. 만약 […]
-
Firefox 브라우저와 Mozilla 커뮤니티 소개
파이어폭스 브라우저와 그것을 만드는 모질라 커뮤니티에 대해 소개하는 자리가 있었습니다. 발표 장표를 만든 김에 Hacks를 통해 공유합니다. 자료를 정리하면서 Hacks를 통해 발표되는 글들이 모질라의 방향성과 맞닿아 있다는 사실을 알게 됐습니다. 여러모로 멋진 커뮤니티입니다. 파이어폭스 소개 (2017년 8월)
-
HTML5 게임 워크샵: JavaScript로 오락실 게임을 만들어보세요!
저는 오래전 부터 게임 개발 워크샵을 열어보고 싶었습니다. 그러던 중 드디어 몇 주 전, 바르셀로나에 있는 AdaJS의 도움으로 기회를 얻었습니다. 좋은 뉴스요? 제가 만든 자료를 인터넷에서 볼 수 있습니다! 그 자료로 혼자 학습하거나 당신 스스로 게임 개발 워크샵을 열 수 있습니다. 제 자료의 내용은 다음과 같습니다. Phaser와 JavaScript 기반 게임 개발 머신 설정하기. 게임에서 사용할 […]
-
무엇이 WebAssembly를 빠르게 만드나?
이글은 WebAssembly와 그 실행성능에 관한 시리즈의 5번째 글입니다. 아직 다른 글들을 읽지 않았다면 처음부터 읽기를 권합니다. 지난 글에서, 저는 WebAssembly 또는 JavaScript 프로그래밍이 어느 하나를 취사선택해야 하는 일이 아님을 설명했습니다. 우리는 많은 개발자들이 전적으로 WebAssembly를 이용해서 코드를 만드리라고 생각하지 않습니다. 그래서 개발자들은 자신의 어플리케이션을 개발할 때 WebAssembly와 JavaScript 중에서 하나를 선택할 필요가 없습니다. 대신, 우리는 […]
-
왜 WebAssembly가 asm.js보다 빠를까?
WebAssembly는 웹을 위한 새로운 바이너리 포맷입니다. WebAssembly가 새로운 안정화 버전 브라우저에 탑재되기 시작했습니다. WebAssembly의 주요 목표는 속도입니다. 이 글을 통해 WebAssembly가 어떻게 실행속도를 개선했는지 설명하려고 합니다. “속도”는 상대적인 이야기입니다. JavaScript 같은 다이나믹 랭귀지와 비교하면 WebAssembly의 실행속도가 빠릅니다. 왜냐하면 WebAssembly는 속도를 최적화하기 쉬운 정적 타입 시스템을 사용하기 때문입니다. WebAssembly는 네이티브 코드만큼 빠른 속도를 목표로 하고 있습니다. […]
-
웹 개발자를 위한 Firefox 하드웨어 리포트
당신이 복잡한 웹 게임이나 어플리케이션을 개발하고 있다고 가정해봅시다. 당신은 이런 질문을 던질 것입니다. 이 게임 (또는 어플리케이션)이 제대로 실행될까? 가능한 폭넓은 사용자를 대상으로 하려면 어떤 하드웨어를 타겟으로 해야 할까? 이 질문을 위한 훌륭한 하드웨어 리포트들이 존재합니다 (Valve 나 Unity 에서 발간된 리포트들 말입니다). 하지만 이 리포트들은 일반 웹 사용자들이 아닌 다른 종류의 사용자들을 대상으로 하고 […]
-
Firefox 가 Async/Await 를 제공합니다
비동기 코드를 보다 간결하고, 분명하고, 관리하기 쉽게 만들어 주는 새로운 키워드, async 와 await 가 Firefox 52 에 도입되었습니다. 최신 개발자 에디션에서 사용 가능합니다. Firefox 52 는 2017년 3월 일반에게 공개될 예정입니다. JavaScript 의 탁월한 싱글-쓰래드 퍼포먼스와 웹 응답성은 JavaScript 의 철저한 비동기적 설계 덕분입니다. 하지만, 이 비동기적 설계 때문에 “콜백 지옥 (callback hell)” 문제도 […]
-
Rust 와 시스템 프로그래밍의 미래
만약 Hacks 를 즐겨 보는 독자라면, 아마도 Rust 를 알고 계실 겁니다. 혁신적인, 커뮤니티가 만드는, Mozilla 의 시스템 프로그래밍 랭귀지 말입니다. 저는 지난 7월 Hacks 에 Rust 관련 기사를 올린 적이 있습니다. 당시 Mozilla 는 Firefox 에 처음으로 Rust 모듈을 실어 보내는 업적을 만들었습니다. 그동안 Rust 의 세계는 쉬임 없이 굴러 갔습니다. 점점 더 많은 […]