주요 문서
-
WebAssembly를 이용, Firefox의 보안성 개선하기
이 글은 Nathan Froyd이 쓴 Securing Firefox with WebAssembly의 한국어 번역본입니다. 개인의 안전(Security)과 프라이버시(Privacy) 보호는 Mozilla의 핵심 목표입니다. 그래서 우리는 온라인 상의 사용자들을 보다 안전하게 보호하려고 끊임 없이 노력합니다. 복잡하면서 동시에 고도로 최적화된 Firefox 같은 시스템에 있어, 메모리 안전성(memory safety)은 보안 측면에서 가장 어려운 도전 중 하나입니다. Firefox 는 대부분 C 와 C++ 로 개발됐습니다. […]
-
만화로 소개하는 WebAssembly
WebAssembly는 빠릅니다. 아마 들어봤을거에요. 하지만 왜 빠른지 알고 계신가요? 이번 시리즈에서는 왜 WebAssembly가 빠른지 그 이유에 대해 설명하고자 합니다. 잠시만, 근데 WebAssembly가 뭐죠? WebAssembly 는 JavaScript가 아닌 다른 언어로 짜여진 코드를 브라우저에서 작동할 수 있게 만드는 하나의 수단입니다. 그러므로 사람들이 WebAssembly가 빠르다고 말할 때 비교 대상은 JavaScript를 의미합니다. 저는 지금 둘 중 반드시 하나를 선택하라는 […]
-
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 […]
-
웹어셈블리와 컴퓨터 비전을 사용한 실험
이 글은 Dan Callahan 이 쓴 Experimenting with WebAssembly and Computer Vision의 한국어 번역본입니다. 지난 여름, 이전에 웹어셈블리 경험이 없는 4명의 엔지니어가 실험을 시작했습니다. 6개월간 실험의 결과는 WebSight: OpenCV를 이용한 실시간 안면 인식 데모에서 확인할 수 있습니다. OpenCV를 웹어셈블리로 컴파일하여 우리 팀은 브라우저에서 검증된 C/C++ 라이브러리를 재사용할 수 있었고, 동일한 데이터를 수행하는데 유사한 자바스크립트보다 훨씬 […]
-
무엇이 WebAssembly를 빠르게 만드나?
이글은 WebAssembly와 그 실행성능에 관한 시리즈의 5번째 글입니다. 아직 다른 글들을 읽지 않았다면 처음부터 읽기를 권합니다. 지난 글에서, 저는 WebAssembly 또는 JavaScript 프로그래밍이 어느 하나를 취사선택해야 하는 일이 아님을 설명했습니다. 우리는 많은 개발자들이 전적으로 WebAssembly를 이용해서 코드를 만드리라고 생각하지 않습니다. 그래서 개발자들은 자신의 어플리케이션을 개발할 때 WebAssembly와 JavaScript 중에서 하나를 선택할 필요가 없습니다. 대신, 우리는 […]
-
왜 WebAssembly가 asm.js보다 빠를까?
WebAssembly는 웹을 위한 새로운 바이너리 포맷입니다. WebAssembly가 새로운 안정화 버전 브라우저에 탑재되기 시작했습니다. WebAssembly의 주요 목표는 속도입니다. 이 글을 통해 WebAssembly가 어떻게 실행속도를 개선했는지 설명하려고 합니다. “속도”는 상대적인 이야기입니다. JavaScript 같은 다이나믹 랭귀지와 비교하면 WebAssembly의 실행속도가 빠릅니다. 왜냐하면 WebAssembly는 속도를 최적화하기 쉬운 정적 타입 시스템을 사용하기 때문입니다. WebAssembly는 네이티브 코드만큼 빠른 속도를 목표로 하고 있습니다. […]
-
WebAssembly 브라우저 프리뷰
지난 3월 마지막 웹어셈블리(WebAssembly) 이정표를 세운 이래, 우리는 WebAssembly 커뮤니티 그룹안에서 표준을 정의하고 저마다의 브라우저에 그 표준을 구현하기 위해 노력해 왔습니다. 저는 이제 우리가 출시후보 바이너리포맷을 확보했고, 그와 호환되는 구현체가 스파이더몽키(SpiderMonkey) 및 V8의 근간에 있으며, 이를 위한 작업이 차크라(Chakra) 및 자바스크립트코어(JavaScriptCore)에도 활발히 진행 중이라 말하게 돼 기쁩니다. 이 중요한 이정표를 세움으로써, 우리는 이제 커뮤니티, 특히 […]
-
WebAsssembly 표준 진행 사항: 주요 브라우저 지원 시작
WebAsssembly는 새로운 표준의 하나로 보안과 빠른 웹 페이지 이동을 유지하면서 크기와 로딩 시간 면에서 효율적인 포맷을 정의하기 위한 목적으로 진행되고 있습니다. WebAssembly는 컴파일러에 의해서 네이티브에 가까운 성능으로 동작합니다.즉, WebAssembly는 웹을 위한 가상 CPU 실행 코드입니다. 현재는 Mozilla, Microsoft, Google그리고 Apple을 포함한 회원사로 구성되는 W3C의 커뮤니티 그룹(CG)에서 논의되고 있습니다. WebAssembly가 중요한 로드맵으로 복수의 브라우저가 WebAssembly을 상호 […]