並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 2003件

新着順 人気順

wasmの検索結果201 - 240 件 / 2003件

  • [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020

    [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020 オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、「Blazor WebAssembly 3.2.0」のリリースを発表しました。 Blazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよび実行系です。 Blazor WebAssembly 3.2.0はBlazor WebAssemblyとしてフル機能が実装され、本番運用に対応したバージョンです。これによりBlazor WebAssemblyは正式版としてリリースされたことになります。 It's here!!! Blazor WebAssembly 3.2.0

      [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020
    • Bevy + WebGPU

      Bevy + WebGPU Posted on May 17, 2023 by Carter Anderson ( @cart @cart_cart cartdev ) I'm excited to announce that Bevy's main branch now supports WebGPU rendering on the web! This means you can play with it now by checking out our repo provided you have a supported web browser (WebGPU is still in the process of rolling out). You can also explore our live WebGPU examples. The upcoming Bevy 0.11 rel

        Bevy + WebGPU
      • ChatGPTのプロンプトを自動改善するPrompt Perfectプラグインを使ってみた - Taste of Tech Topics

        カメラ好き機械学習エンジニアの@yktm31です。 ChatGPTは便利ですが、プロンプトの内容でいかに質問・指示するかで、その精度はだいぶ変わってきます。 うまく質問・指示するのは、工夫が必要だったりしますが、そこで役立つのが、「Prompt Perfect」というプラグインです。 www.blog.promptperfect.xyz Prompt Perfectは、ChatGPTへのプロンプトの内容を自動で改善してくれるプラグインです。 本記事では、その使い方や効果について、試していきます。 プラグインを有効化 使い方 基本の使い方 日本語で回答させる もう一つ試してみる Prompt Perfectの補完内容 注意点 まとめ プラグインを有効化 1) プラグインを有効化するため、Plugin storeからインストールします。 2) インストール後、メールアドレスの登録か、Googl

          ChatGPTのプロンプトを自動改善するPrompt Perfectプラグインを使ってみた - Taste of Tech Topics
        • WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開

          WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開 WebAssemblyやWebAssembly System Interface(WASI)の普及と改善を推進するBytecode Allianceは、今後のWebAssembly関連技術のロードマップを明らかにしました。 ロードマップは「Core Wasm」(WebAssembly本体)、「Component Model」(WebAssemblyコンポーネントモデル)、「WASI」の3つに分かれています。 WebAssembly本体には現在実装が勧められているガベージコレクションに加えて今後スレッドの実装予定などが、コンポーネントモデルにはコンポーネントのネーミングとバージョニングなどの実装予定などが、WASIにはWASI CLIやWASI HTTPなどの実装予定など

            WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開
          • RubyとWebAssemblyの関係についてわかる範囲でまとめる | うなすけとあれこれ

            はじめに 2021年1月にv1.0がリリースされたWasmerにRuby Gemが存在することに触発されて調べてみました。RubyとWebAssemblyが関わっているものについてわかる範囲でまとめ、軽くどのようなものかを書いていきます。 僕自身、業務はおろかプライベートでもWASMを書いたことはなく浅い理解しかしていないですが…… WebAssembly (WASM)とは WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル対象となるように設計されています。 この機能はウェブプラットフォームにとって大きな意味を持ちます。 — ウェブ上で動作するクライアントアプリで従来は実現できなかった、ネイティブ水準の速度で複数の言語で記述

              RubyとWebAssemblyの関係についてわかる範囲でまとめる | うなすけとあれこれ
            • 出来ることは計算だけ?「WebAssembly」は一体なにが新しいのか〜エンジニアが語る技術愛 #03〜|ミクシル

              ミクシィには、探究心溢れるエンジニアがたくさん在籍しています。 その探究心は業務で扱う技術にとどまらず、趣味で書いているプログラムだったり、個人的に研究している言語だったりと、自身の気になった技術への追求も留まることを知りません。そこで、社内のエンジニアに“好きな技術”について、思う存分に語ってもらうシリーズを始めました。 ルールはこの通り。 ・業務で使っている技術でも、使われていない技術でもOK ・あくまでも個人的な見解で ・その技術のどこが面白いのか ・愛を込めて語り尽くしてもらう 第3回目は、新規プロダクトを目下開発しているSREグループの神谷に、「WebAssembly」の魅力をたっぷり語ってもらいました。 Webの技術でもないしアセンブリでもない? ━━早速ですが、今アツい技術について教えてください! 今回話すのは「WebAssembly(以下Wasm)」についてです。生まれた背

                出来ることは計算だけ?「WebAssembly」は一体なにが新しいのか〜エンジニアが語る技術愛 #03〜|ミクシル
              • PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表

                PythonコードをWebAssemblyにコンパイルする「py2wasm」がWasmer社から発表された。WebAssembly版CPythonよりも約3倍高速だ。PythonコードをCPythonのAPIコールに変換するトランスパイラがベースになっている。 WebAssemblyランタイムの開発と提供を行っているWasmer社は、PythonのコードをWebAssemblyバイナリにコンパイルする「Py2wasm」を発表しました。 Announcing py2wasm – A #Python to #WebAssembly compiler that speeds up by 3x your Python apps!https://t.co/0v4YLZC7lY — Wasmer (@wasmerio) April 18, 2024 WebAssembly版CPythonよりも3倍高速

                  PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表
                • 新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発

                  新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発 WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」の正式版となる「WinterJS 1.0」のリリースを発表しました。 ❄️ Introducing WinterJS 1.0 - the fastest WinterCG Javascript runtime in the world powered by Rust and SpiderMonkey ...and #WebAssembly compatible! Now supporting: React Server Components Cloudflare mode 150

                    新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発
                  • Ichigo Lispコンパイラ完全解説

                    Ichigo Lispコンパイラ完全解説 はじめに この記事では私がWebAssemblyで書いた Ichigo Lispという LISP 1.5実装のコンパイラのソースコードをすべて解説する。 というのも、最近とあるコンパイラの本を読んで 「説明が特定の実装に基づいてる割にそのソースが一部しか載ってない」 という不満を感じたのだが、自分で書いたコンパイラの記事 を読み返してみると、コンパイラのソースコードが一切出てこないことに気づいた。 こんな記事を書きながらよく人様の本に不満を持てたものだと 瀬戸内海より深く反省したので、 ここにIchigo Lispのコンパイラのすべてのソースコードを解説する。 想定読者とか Ichigo Lispのコンパイラは(ほとんど)すべてLISP 1.5で書かれている。 LISP 1.5特有のややこしい機能などは使っていないので、 Common Lisp、S

                    • Rustから目覚めるぼくらのゲームボーイ! - undefined

                      Conway氏についてですが、公式にアナウンスがでたようです。ご冥福をお祈り申し上げます。 www.math.princeton.edu 2003年に発売された「Linuxから目覚めるぼくらのゲームボーイ!」というC言語でゲームボーイアドバンスで動作する自作ゲームを作成していく書籍があります。 ゲームボーイアドバンスはARM7TDMIというコアを使用しており、Rustで自作ゲームを作ることも可能となっています。 この記事では「Linuxから目覚めるぼくらのゲームボーイ!」のステップをRustで実施するための準備としてライフゲームが動くまでを書いてみます。 動機は今作っているWasmインタープリタをGBAで動かすことができないかの調査です。(たとえLチカレベルでも)AssemblyScriptとかでGBAのゲームかけたら面白くないですか。 成果物 github.com I succeeded

                        Rustから目覚めるぼくらのゲームボーイ! - undefined
                      • Rust+WebAssemblyのオープンソースライブラリ「Photon」で高速な画像処理が可能になる - ITnews

                        photon https://silvia-odwyer.github.io/photon/ photonの特徴 引用: photon from GitHub 「Photon」は、WebAssemblyにコンパイルされる高性能のRust画像処理ライブラリ。モジュールに組み込むことで、Web・ネイティブ上で高速な画像処理が可能になります。 Photonを試してみる ヘッダーにある「ファイルを選択」から、処理したい画像をアップロード。 続いて、左メニューに用意された様々なエフェクトを画像に提供していきます。プレビューとともに処理にかかった時間も併記され、高速な処理を実感できます。 画像の反転にかかる時間もわずか47ms! Photonの導入 https://github.com/silvia-odwyer/photon オープンソースとして提供されており、npmで既存プロダクトにモジュールとし

                          Rust+WebAssemblyのオープンソースライブラリ「Photon」で高速な画像処理が可能になる - ITnews
                        • マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で

                          マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で マイクロソフトは今年(2023年)11月にリリースが予定されている.NET 8のBlazor WebAssemblyにおいて、.NET中間言語をWebAssemblyに動的にコンパイルすることで、Blazor WebAssemlbyの高速化を実現する機能を備えた「Jiterpreter」を搭載予定であることを明らかにしました。 BlazorはWebAssemblyで.NETランタイムを実装している そもそもBlazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよびランタイムです。 一般にWebブラウザはJavaScriptで記述されたコードを

                            マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で
                          • Rustでわかる! WebAssemblyのメリット~処理速度の違いを、サンプルを作りながら体験しよう

                            本連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法を説明していきます。前回はRust言語の基礎を説明しました。今回はいよいよ、Rust言語でWebAssemblyを実装していきます。また実装したサンプルを利用して、WebAssemblyのメリットなどを説明します。 はじめに 本連載では、Webフロントエンド開発において注目されているバイナリ形式のプログラムファイルWebAssemblyを、Rustで実装して活用する方法を説明しています。初回記事ではWebAssemblyの背景およびRust開発環境の作成について、前回記事ではRust言語の基本的な言語仕様について説明しました。 今回はこれまで説明した内容を利用して、実際にRust言語でWebAssemblyを実装していき

                              Rustでわかる! WebAssemblyのメリット~処理速度の違いを、サンプルを作りながら体験しよう
                            • GitHub - rinsuki/play-flv-in-browser: Play FLV in Browser!

                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                GitHub - rinsuki/play-flv-in-browser: Play FLV in Browser!
                              • WebAssembly の利用シナリオを調べる

                                参考 : Frequently asked questions 加えて wasm はパフォーマンスの他に移植生も考慮されて設計されています。これによって C++ などでクライアント向けに実装された SDK なども Web に移植できる可能性も生まれます。他にもゲームの SDK, 画像コーデック, 機械学習のモデル、言語ランタイムなども対象にできるでしょう。 とはいえ現実世界で使えているのか Google みたいなトップクラスの技術力の会社だけじゃない?と思われるかもしれません。次はプロダクションの例を調べてみます。 プロダクションでの導入例 Web アプリではまだそこまで実装例は多くないですが、着実にプロダクションでの使用例は年々増えているようです。Google は Meet だけでなく Earth でもプロダクション投入しているようで流石ですね… Google Earth Google

                                  WebAssembly の利用シナリオを調べる
                                • LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで

                                  コンパイラ基盤であるLLVMについて、全く知識がない私が、 javascriptソースコードをパースしLLVMでコンパイルできるようになりました。 LLVMの記事は数多くありますが、初心者向けの記事が少なく感じたため、 本記事では、できる限り分かりやすくLLVMについて紹介できる記事を書こうと思います。 ソースコードは、こちらに置いています。 自己紹介 ふだん、javascriptやpythonなどインタプリタ言語を使うエンジニアです。 LLVMについて、全く知識がなかった人間です。 背景 過去に、おもちゃのブラウザ自作をやってみました。 HTMLとCSSを解析し、レンダリングするところを書き、基本的な動作を知ることができました。 HTMLとCSSとくれば、次はJSだと思い、JSを実行するエンジンを書いてみたくなりました。 ただし、WebブラウザのAPIとJS実行エンジンをバインディングす

                                    LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで
                                  • web.dev live 2020 を聴講した - from scratch

                                    今年はコロナの影響でいろんなイベントがオンラインになったり、中止になったりしてますが、 web.dev live 2020 が7月初頭にやっていたので、聴講してきました。 web.dev その中でも面白かったものについていくつか紹介します。 Day 1 ほぼ Core Web Vitals についての話でした。 以下のトークが面白かったです。 What's new in speed tooling Optimize for Core Web Vitals Core Web Vitals についてはもう既にたくさん資料があると思いますが、一応解説しておきます。 Core Web Vitals 初期表示の新しい指標です。去年くらいからずっと Chrome Dev Summit とかでは言われていて、既にLighthouse をはじめとして、色々なツールでサポートされています。Largest C

                                      web.dev live 2020 を聴講した - from scratch
                                    • PWAゲームを開発しネイティブアプリ化までした中での課題と対策

                                      builderscon tokyo 2019 の発表資料です

                                        PWAゲームを開発しネイティブアプリ化までした中での課題と対策
                                      • 10年後のために今勉強しておきたい技術 - Qiita

                                        息抜きを兼ねてQiitaで開催されている以下のイベントに参加してみました。 ※個人の好みが強い点、将来気が変わって別のことを学んだりといったことも結構起こると思いますがその辺はご容赦ください。また、仕事のものは別途学んだりはしますがその辺はあまり含みません(プライベートで興味を惹かれているものを中心に触れていきます)。 ※執筆者はゲーム業界に在籍しており、現在データエンジニアをしているためその辺の色が強くなっています。 数学関係の強化 以前も何冊か数学関係の本を消化したり、コンピューターサイエンスの基礎本なども消化したりしてきましたが、機械学習含めたデータサイエンス周りを強化するにしろゲーム関係にしろ数学は強化して損はない・・・ですし学んだことは長持ちしそうなため復習や新しいことの勉強も含め数学方面を強化したい・・・という感じがあります。 最近は朝は仕事関係のクラウドやらの勉強・夜はOSS

                                          10年後のために今勉強しておきたい技術 - Qiita
                                        • GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク

                                          はじめに がんばって書いた書籍が低評価で少々しょんぼりしているあんどうです。まぁ、つい力が入りすぎて袋小路に思い切り突っ込んだ結果抜けられなくなることってあるよね。あるある。そんなわけで今日はできるだけ力を入れずテンション低めにサクッと行きます。 で、GoのWASM。大道の真ん中をまっすぐに歩まれているみなさんはWASMするときはRustかいっそC/C++をemscriptenでってことになると思いますが、私はしょせん路傍の石の下で低評価が目に入らないように丸まっているダンゴムシ。せっかくだからオレはこのGoでWASMを選ぶぜって感じなんですが、ぶっちゃけあれ、めんどくさいすよね。 あ、ちなみに今回の話は「このめんどくささをまるっと解決!」みたいな気持ちのいい話ではなくて、ただただ「めんどくさいよね」っていうだけの話です。あーめんどくさい。 Rustの場合 まず比較のためにRustの例をあ

                                            GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク
                                          • オープンソースプログラミング言語zigまとめ - Qiita

                                            WebAssemblyのモジュール記述のためのプログラミング言語を調べていると、比較的新しいオープンソースのプログラミング言語zigがWebAssemblyモジュールを書くのに適している感じだったので、ソースコードを書いて動かしながら調べたことについて、コードに出ている順で並べています。 この文章中で用いているソースコードはmacOSやlinux上でビルド可能な状態で以下のURLにおいてあります: https://gist.github.com/bellbind/3c52ea6e506656701c9b7ff00a8599fa Qiitaは現時点でzigコードのシンタックスハイライトに未対応であり視認性がよくないですが、githubではzigコードでもシンタックスハイライトされます。 0. プログラミング言語zigについて オープンソースのプログラミング言語zigは、以下のURLで公開され

                                              オープンソースプログラミング言語zigまとめ - Qiita
                                            • Rust と WebAssembly で爆速な Markdown Editor を作ってみる

                                              TypeScript でフロントエンドな皆さん、今日も型パズルしていますか? 型が好きなら Rust ですよね。ということで、いまいち使い所が思いつかない WebAssembly と Rust でなにか面白いことできないかな、と爆速(JS比2倍)の Markdown Editor を作ってみました(面倒な人は直接 GitHub みてください) この記事は iCARE Advent Calendar 2020 の 8日目の記事になります。昨日は アオキタカユキ さんの 【adobe XD】線型、円型のグラデーションを引く方法 という記事でした Webアプリケーションを作る まず、利用する側の Web アプリケーションを作成します どんな構成でもいいんですが、タイミング的にもちょうど良い Vue3 + TypeScript で環境を作りました $ npm install -g @vue/cli

                                                Rust と WebAssembly で爆速な Markdown Editor を作ってみる
                                              • Web フロントエンドエンジニアのための Rust 製 Web フロントフレームワーク Yew 入門

                                                Rust と呼ばれる言語はわりかし新しめの言語であり、2016–2021 年の間 Stack Overflow Developer Survey で「もっとも愛されているプログラミング言語」で一位を獲得し続けている人気の高い言語であります。 Rust の得意とする分野は OS やコンパイラなどのいわゆる低レイヤーの領域ですが、Web サーバー、機械学習、コマンドラインアプリケーションなどさまざまな用途で利用されます。 Web フロントエンドの領域では高速化を目的として Rust から WebAssembly(以下、WASM)を生成して JavaScript から実行する用途がよく知られています。その他にも SWC と呼ばれる Rust ベースで作成されているビルドツールが高速に動作することで注目を集めています。(実際に jestの実行 に試してみたところ実行時間が 3 倍ほどになって驚いて

                                                  Web フロントエンドエンジニアのための Rust 製 Web フロントフレームワーク Yew 入門
                                                • Fastlyが開発者向けの無料プランを提供開始。CDNやDDoS対策、Wasm対応ランタイム、KVストアなど提供

                                                  大手CDNベンダのFastlyは、開発者向けにさまざまな機能を無料で提供する無料プランの提供開始を発表しました。 開発者向けの無料プランでは、月50ドル相当のCDN、L3/4のDDoS対策、画像の最適化、Wasm対応のエッジランタイム、エッジでのキーバリューストア(1GB)、ログのリアルタイムストリーミングによる可観測性などを始めとする各種機能が提供されます。 すでに日本語版の価格表にも無料プランが表記されており、クレジットカード不要で申し込めるようになっています。 ……

                                                    Fastlyが開発者向けの無料プランを提供開始。CDNやDDoS対策、Wasm対応ランタイム、KVストアなど提供
                                                  • 2022年に注目したいCloudNative関連技術 | gihyo.jp

                                                    あけましておめでとうございます。サイバーエージェントの青山真也(@amsy810)です。今年の新春企画では、2022年にも動向を見ていきたいと思っている、2021年のCloudNative関連のトピックを紹介します。項目としてはeBPF、WebAssembly(Wasm⁠)⁠、複数Kubernetesクラスタの管理・連携、CNCF Technical Advisory Groups(TAGs)によるWhitepaperを取り上げていきます。 eBPF eBPFは、カーネルのソースコードの変更なしに任意のプログラムをカーネルに組み込み、カーネル空間で任意の処理を実行するための仕組みです。CNCFのプロジェクトでは、Cilium・Calico・Falco・Pixieなどで利用されています。 CloudNative領域でのeBPFは、ネットワーク関連での利用が一番活発です。eBPFを利用したCN

                                                      2022年に注目したいCloudNative関連技術 | gihyo.jp
                                                    • WebGPUとRustでネコチャンを点描した話

                                                      はじめに 昨年12月にこんなツイートを見かけました。 かわいいですね。幸いにして論文と実装が公開されていたので、自分でもやってみようと思って、その結果を書いたのが前回の記事です。 読んでいただければわかるとおり、前回の記事の中ではGPUを使わずにアルゴリズムやデータ構造を工夫して近似的に計算しています。結果の画像についてはそんなに悪くないと思っていますが、限界もありました。パーティクルの数も少ないし、一部の画像ではうまく行きませんでした。 やっぱり、もっとちゃんとネコチャンを点描してみたいですよね。 なので、今回の記事ではGPUを使ってアルゴリズムを再現し、よりヴィヴィッドなネコチャンの点描を作成しようと思います。GPUを使って計算するために、WebGPUのRust実装であるwgpuを使用します。ネコチャンの画像を点描にしたい人と、WebGPUに入門してcompute shaderで何か計

                                                        WebGPUとRustでネコチャンを点描した話
                                                      • プログラミング言語 Ruby30 周年記念イベント レポート

                                                        プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                                                        • Building a more private web: A path towards making third party cookies obsolete

                                                          $200K 1 10th birthday 4 abusive ads 1 abusive notifications 2 accessibility 3 ad blockers 1 ad blocking 2 advanced capabilities 1 android 2 anti abuse 1 anti-deception 1 background periodic sync 1 badging 1 benchmarks 1 beta 83 better ads standards 1 billing 1 birthday 4 blink 2 browser 2 browser interoperability 1 bundles 1 capabilities 6 capable web 1 cds 1 cds18 2 cds2018 1 chrome 35 chrome 81

                                                            Building a more private web: A path towards making third party cookies obsolete
                                                          • サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ

                                                            サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」を発表しました。 Announcing WinterJS: a blazing-fast Javascript Service Workers server written in Rust powered by SpiderMonkey ❄️https://t.co/kX7jjJj6qv — Wasmer (@wasmerio) October 27, 2023 WinterJSはRustで書かれた高速なService Workerサーバであり、オープンソースとして公開さ

                                                              サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ
                                                            • C言語でWASMインタプリタを実装した話

                                                              概要 公式のcore testが全て(UTF8, WAT, SIMD関連のものは除く)通るWASMインタプリタをC言語でフルスクラッチで実装した。自作WASMランタイムで省略されがちなValidation Stageも実装した。この記事はWebAssembly Advent Calendar 2023の三日目の記事である。 目的 このWASMランタイムを実装するにあたり、「できるだけ仕様に従って実装する」ことを心掛けた。WASMの仕様書は以下のissueが立つほど読みにくいものとなっているが、ランタイムをどのように実装すべきかが詳しく書いてあり、一応仕様書を頑張って読めばランタイムが作れるようになっている。 この自作WASMランタイムの目的は、できるだけ仕様に従った実装を与えることで、仕様の理解を助けることである。早さや効率性よりも分かりやすさを優先しているため、実用には向かない。仕様書を

                                                                C言語でWASMインタプリタを実装した話
                                                              • mints: 5.7kb の TypeScript コンパイラを作った

                                                                世の中の TypeScript コンパイラが大きすぎるので作りました。 ここで試せます。 jsx と jsx pragma のサポートもしたので、 preact も動いています。 実装方針 ビルドサイズ第一 とにかく軽量に mints自体が他のコードをビルドするときの速度ではない点に注意 現状、まともなエラーレポートが出ない。エラーメッセージをインライン化するとビルドサイズが増えるため。 空白行と型情報を落とすだけ ES5 への変換や commonjs への変換は実装しない enum と constructor と jsx のみ transform する特殊対応をしている 真面目な構文解析をしてない 例えば 1+1*2 のような binary expression は結合順を解析してない。型を落とすだけなら不要 prettier でフォーマットされたコードはコンパイルできるのが目標(空白行

                                                                  mints: 5.7kb の TypeScript コンパイラを作った
                                                                • Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する

                                                                  今回の話はWasmというよりもService Workerの話がメインになりますが、WasmとService Workerを組み合わせることで、ブラウザー上でサーバー処理をリアルに再現することができるので、このタイトルにしています。 まずは動画をご覧ください。 見ていただくと分かるように、ブラウザー上でPHPのコードを書くとその実行結果が右側に表示されています。 特に面白い点が、お問い合わせフォームのPOST後の処理までもブラウザー上だけで実行できているという点です。 これはWasmとService Workerを組み合わせて実現しています。 大体以下のようなプロセスで実現しています。 Wasmはブラウザー側でも実行可能ですが、あえてService Worker上で実行しているのは、URLへのリクエストに対してそのリクエストにインターセプト(介入)することで、POST後の処理などもブラウザ

                                                                    Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する
                                                                  • https://ffmpegwasm.github.io/

                                                                    • WebAssemblyに注目 | POSTD

                                                                      WebAssemblyは今、転換点にあります。今後数年間で、コンテナ化からプラグインシステムやサーバレス・コンピューティング・プラットフォームに至るまで、IT業界全体でWebAssemblyの導入が増えると筆者は予想しています。この記事では、WebAssemblyとは何か、なぜそれが重要なテクノロジーであるのか、現在はどのような分野で利用されているかを説明します。また、WebAssemblyが大きな影響をもたらす可能性がある用途や、WebAssemblyの将来に関する予測も紹介します。 WebAssemblyとは何か WebAssembly(Wasm)とは、さまざまなプログラミング言語と多様な実行環境の間に位置する中間層です。30以上の異なるプログラミング言語で書かれたコードを.wasmファイルにコンパイルし、そのファイルをブラウザ、サーバ、あるいは自動車でも実行できます。 「WebAss

                                                                        WebAssemblyに注目 | POSTD
                                                                      • SharedArrayBuffer と過渡期な cross-origin isolation の話

                                                                        2021/12/26: Safari も 15.2 から COOP/COEP を使って SharedArrayBuffer が利用できるようになったので、該当箇所の表記を変更しました。 長い記事なので先に結論を書きます。 Chrome、Firefox および Safari で SharedArrayBuffer や高精細タイマーが使えるようになりました。そのためには cross-origin isolation という状態を有効にするのですが、親となる HTML ドキュメントに下記 2 つのヘッダーを送ります。 Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Opener-Policy: same-origin ただ、これを有効にするには様々な条件と制約が存在し、現段階では多くのサイトは苦戦するでしょう。とりあえず従来通り C

                                                                          SharedArrayBuffer と過渡期な cross-origin isolation の話
                                                                        • ブラウザでRubyを動かす夢 - まめめも

                                                                          何に使うわけでもないけど、とにかくブラウザで Ruby を動かしたかったんです。 その夢が、ついにかなった気がします。 長年の念願だった Emscripten と xterm.js でブラウザで irb を動かすやつがついに(一応)できたhttps://t.co/ubentOzj7p— Yusuke Endoh (@mametter) 2024年1月27日 振り返ってみると、ここに来るまで 6 年もかかったようです。ちょっと嬉しくなったので経緯を書き残します。 Emscripten で Ruby をビルドする 2018 年、ふと思い立って、Emscripten で Ruby をビルドできるようにしました。 Emscripten は、要するに C/C++ プログラムを JavaScript や Wasm に変換してくれるコンパイラです。C で書かれた Ruby を Emscripten でビ

                                                                            ブラウザでRubyを動かす夢 - まめめも
                                                                          • Goで作ったロジックにWebUIをつけてGitHubページに公開する | フューチャー技術ブログ

                                                                            ちょっとしたツールをGoで作ってみたのですが、わざわざインストールしなくてもいいようにWebのUIをつけてブラウザで使えるようにしてみました。作ってみたのは以下のツールで、Markdownのリスト形式でざっと下書きしたテーブルの設計をSQLとか、PlantUMLとかMermaid.js形式のERDの図にします。 https://shibukawa.github.io/md2sql/ ウェブフロントエンド部分はNext.jsの静的サイトで、GoはWASMにしてロードして実行しています。WASMを使うのは初めてなのであえて選んでみました。 GoをWASM化するもともとCLIツールは作っておりました。CLIのメインはcmd/md2sql/main.goで作っていました。この中でやっていることは kingpin.v2のオプションパース 指定されたファイルを読み込み(あるいは標準入力) パース 指定

                                                                            • WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース

                                                                              Ruby開発チームは、2022年12月25日にRuby 3.2.0の正式リリースを発表しました。Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっています。 WebブラウザでRubyコードをそのまま実行可能に 新バージョンであるRuby 3.2.0の最大の新機能は、WASIベースのWebAssembly版Rubyが登場したことです。 これによりWASIをサポートしたWebAssemblyの実行環境、例えばWebブラウザやNode.js、DenoなどのサーバサイドJavaScriptランタイム、Cloudflare WorkersやFastly Compute@Edgeなどのクラウドエッジ環境で、WebAssembly版のRubyを実行できるようになりました。 これらの環境でWebAssemblyの上でRubyランタイムを実行すると、Rubyで書かれたコードをそのまま走ら

                                                                                WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース
                                                                              • プログラミング言語Rustになぜ注目するのか - Qiita

                                                                                この記事は NTTコムウェア AdventCalendar 2023 5日目の記事です。 自己紹介&動機 高鶴と申します。NTTコムウェア コーポレート革新本部で、プログラム設計~コーディング~ユニットテストにかかわる技術の社内標準化をやっております。 プログラムの静的な解析で早期にバグを発見・修正することで、後工程でのバグ対処コスト削減(ウォーターフォール開発の場合)や、技術的負債の早期解消(アジャイル開発の場合)を目指す、というのが私のチームの仕事の大きな一部となっています。 静的な解析で早期にバグを発見するツールには、オープンソースでも商用でも様々なものがあります。しかし、ソフトウェアの品質をより抜本的に良くしていこうと思うと、「プログラミング言語を何とかする」というところを考えたくなってきます。 Rustであれば、そのような期待に応えてくれるのではないかと期待し、調査・検証を始めま

                                                                                  プログラミング言語Rustになぜ注目するのか - Qiita
                                                                                • Block Pong: Web 技術を駆使したゲームアプリの実装舞台裏 - DevFest 2020

                                                                                  Block Pong: Web 技術を駆使した ゲームアプリの実装舞台裏 Takuo Kihira Engineering Manager, SmartNews

                                                                                    Block Pong: Web 技術を駆使したゲームアプリの実装舞台裏 - DevFest 2020