浮動小数点数にはIEEE 754という標準規格がありますが、規格の範囲内であっても僅かに実装による差異が認められています。その一つがNaNのビットパターンです。 WebAssemblyはNaNのビットパターンに関しては実装依存の結果を許容しており、Wasmランタイムは特に深い理由がなければホストCPUの浮動小数点命令をそのまま用いると考えられるため、結果として「WasmからNaNのビットパターンを観測することでホストのCPUの命令セットを推測する」ことができます。 ここでは、「x86(_64)」「RISC-V」「その他(Armなど)」の3択で判定することを目指します。 判定コード 判定するコードは以下です: #include <inttypes.h> #include <stdio.h> #include <string.h> float u32_to_f32(uint32_t x) {
Rust and WebAssemblyでSPAを作ってみよう:Webアプリ実装で学ぶ、現場で役立つRust入門(12) 第12回からは、第11回までで作成した投稿アプリの延長として、Rust and WebAssemblyでTODOアプリを開発します。第12回では、プロジェクトの構築やさまざまな準備のためのコードを通じて、Rust and WebAssemblyの基本的な利用方法を理解します。
「Porffor」は、JavaScript/TypeScriptをWebAssemblyバイナリやネイティブバイナリへとコンパイルする実験的なツールであり、これまでにない2つの特徴を備えています。 1つ目はJavaScript/TypeScriptをコンパイルしてWebAssemblyバイナリやネイティブバイナリを生成しようとしている点です。 これまでもJavaScript/TypeScriptをWebAssemblyに変換するツールは存在していましたが、JavaScriptのコードとWebAssembly版のJavaScriptエンジンを1つにパッケージングするという手段で実現していました。 実行時には、パッケージ内部のJavaScriptコードをWebAssembly版JavaScriptエンジンで実行していたのです。そのため生成されたバイナリの大きさは比較的大きく、また実行速度はあく
はじめに PGliteの概要 PGliteの特徴 PGliteを試す ブラウザで使う PGliteの速度計測 まとめ はじめに こんにちは!エンジニア2年目のTKDSです! 今回はPGliteについて調べてみました! 概要・使い方・速度実験・まとめの内容で記事は構成されています。 使ってみた結果として、軽量高速であり色々使いみちがありそうなツールだと感じました。 ぜひ最後まで読んでいただけると幸いです。 PGliteの概要 PGliteは、PostgreSQLをWebAssembly(WASM)にコンパイルした軽量なデータベースエンジンです。 これにより、ブラウザ、Node.js、Bun、DenoなどでPostgreSQLの機能を利用でき、開発者はローカルやサーバーレス環境でデータベース操作を行うことが可能です。 PGliteは、インメモリデータベースやファイルシステム(Node.jsやB
執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、
本記事は、TechFeed Experts Night#29 〜 HTTP3/QUIC…Webプロトコル最前線のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 @flano_yukiと言います。普段はXのこのアカウントでHTTP関連の情報発信をしています。この領域に10年ぐらい前に興味を持って取り組んできて、ウェブやHTTPが進化し続けていくおもしろさを感じて追い続けています。今回、HTTPがまだまだ進化しているということを、HTTPそのものの話として皆様にご紹介できればと思います。 HTTPのセマンティクスと、ヘッダやCookieなどの仕様動向をご紹介します。今回は議論中の内容を含んでいることと、HTTPの仕様上の話で、ブラウザやクラウドの側
本記事は、TechFeed Experts Night#29 〜 HTTP3/QUIC…Webプロトコル最前線のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 僕の方からは「Media Over QUIC 最新事情」という話をしたいと思います。Media Over QUICは映像通信向けQUICの規格で、IETFから出て1年ちょっとぐらいです。自己紹介は割愛します。 今日の概要ですが、Media Over QUIC(MoQ)について、従来の映像通信であるHLSやWebRTCと何が違うのかという話と、標準化の最新動向の話をします。 既存方式の短所を埋めるMedia Over QUIC まず、Media Over QUICとは何かという話ですが、W
本記事は、TechFeed Experts Night#29 〜 HTTP3/QUIC…Webプロトコル最前線のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 奥一穂と申します。今日は「これからのHTTP~拡大するセマンティクスと高速化」と題して話をさせていただきます。 私はFastlyというCDNの会社で、シニアプリンシパルOSSエンジニアという仕事をやっています。具体的には、Fastlyで使われているHTTPのターミネーターサーバー実装であるH2Oの開発と、その中で使われているTLSやQUICのスタックのメンテナーもやっています。その他、標準化関連ではいくつかのRFCやドラフトで著者や共著者を務めています。
Rust言語がWebAssemblyでコンポーネントモデルなどを実現するWASI 0.2(もしくはWASI Preview 2:WebAssembly System Interface Preview 2)に対応することを明らかにしました。 Rust言語はWebAssemblyアプリの開発に人気 Rust言語は、C言語のように低レベルのシステム開発向けに作られた言語です。不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理と、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点が特長です。 WebAssemblyアプリケーションを開発するために使われる言語としても人気が高く、WebAssembly関連の調査では、WebAssemblyアプリケーション開発で最も使われている言語として3年連続で1位となっています。 WASI Preview 2ではコンポーネント
こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向
Dockerコンテナの開発環境「Rancher Desktop」でWebAssemblyがサポートされた。Spinフレームワークを用いることで実現する。これでDocker DesktopやPodman Desktopを含む主要な環境でWebAssemblyがサポートされる。 SUSEがオープンソースで開発し提供しているDockerコンテナの開発環境「Rancher Desktop」の最新バージョンとなる「Rancher Desktop 1.13.0」で、WebAssemblyが実験的にサポートされると発表されました。 We're proud to introduce Rancher Desktop v1.13 Starting this release, we've enabled experimental support for #WebAssembly workloads, lever
WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現 WebAssembly関連仕様の標準化を行っているW3C WebAssembly Community GroupのWASI Subgroupミーティングにおいて、2024年1月25日に行われた投票で「WASI Preview 2」(もしくはWASI 0.2.0)仕様が承認され、安定版に到達したことが明らかになりました。 WASI Preview 2では、WebAssemblyアプリケーションがOSなどのプラットフォームに依存せず、さまざまなプログラミング言語で開発したWebAssemblyコンポーネントを組み合わせて開発できるように、「コンポーネントモデル」とそのインターフェイスを記述するIDL(Interface Definition Language)であ
Using the ZBar barcode scanning suite in the browser with WebAssembly I don’t have time for your dry prose, show me the code! GitHub repo with the code in-browser demo If you find any mistakes in the code or in this post, be sure to let me know! You can create an issue in the github repo or send me an email. Goal So I wanted to make a cross-platform barcode scanner for a research project involving
米Wasmer社が、WebAssemblyへのコンパイルだけに特化した新しいプログラミング言語「Onyx」をブログで紹介しています。 Onyxは(Wasmer社ではなく)Brendan Hansen氏が開発に3年を費やしたプログラミング言語です。 (2023/12/13 お詫びと訂正。当初OnyxをWasmer社が開発したと紹介していましたが、Wasmer社とは直接関係のないBrendan Hansen氏が開発した者でした。お詫びして訂正します。タイトルと本文の一部を修正しました) We're so excited about Onyx . A new programming language which solely compiles to #WebAssembly. Read all about it in our new blogpost:https://t.co/L6yZ9Ls5Q
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く