並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 976件

新着順 人気順

wasmの検索結果1 - 40 件 / 976件

  • Docker一強の終焉にあたり、押さえるべきContainer事情

    章立て はじめに Docker・Container型仮想化とは Docker一強時代終焉の兆し Container技術関連史 様々なContainer Runtime おわりに 1. はじめに Containerを使うならDocker、という常識が崩れつつある。軽量な仮想環境であるContainerは、開発からリリース後もすでに欠かせないツールであるため、エンジニアは避けて通れない。Container実行ツール(Container Runtime)として挙げられるのがほぼDocker一択であり、それで十分と思われていたのだが、Dockerの脆弱性や消費リソースなどの問題、Kubernetes(K8s)の登場による影響、containerdやcri-o等の他のContainer Runtimeの登場により状況が劇的に変化している。本記事では、これからContainerを利用したい人や再度情報

      Docker一強の終焉にあたり、押さえるべきContainer事情
    • ファミコンエミュレータの創り方

      ------- GND -- |01 31| -- +5V CPU A11 -> |02 32| <- M2 CPU A10 -> |03 33| <- CPU A12 CPU A9 -> |04 34| <- CPU A13 CPU A8 -> |05 35| <- CPU A14 CPU A7 -> |06 36| <> CPU D7 CPU A6 -> |07 37| <> CPU D6 CPU A5 -> |08 38| <> CPU D5 CPU A4 -> |09 39| <> CPU D4 CPU A3 -> |10 40| <> CPU D3 CPU A2 -> |11 41| <> CPU D2 CPU A1 -> |12 42| <> CPU D1 CPU A0 -> |13 43| <> CPU D0 CPU R/W -> |14 44| <- /ROMSEL (/A

        ファミコンエミュレータの創り方
      • PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット - エンジニアHub|Webエンジニアのキャリアを考える!

        PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット ネイティブアプリに近い体験を簡単に提供できるとして注目を集めている「PWA」。実際に導入し、表示速度が2倍になったという日経新聞電子版の開発者に「PWA」のメリットとデメリットを伺いました。 PWA(Progressive Web Apps)は本当に「アリ」なのか――? ネイティブアプリの開発にはWebとは異なる専門知識が必要であり、またAndroidやiOSなどOSごとでも異なるため、リソースが膨大にかかるという課題があります。そこで昨今は、XamarinやReact Nativeなどのクロスプラットフォーム開発ツールを使い、ネイティブアプリやWebの開発を一本化しようという動きが活発になっています。 一方で、ネイティブアプリに近い体験を簡単に提供できるとして注目を集めているのが、Goog

          PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット - エンジニアHub|Webエンジニアのキャリアを考える!
        • 20 年代のフロントエンド.md

          Clone via HTTPS Clone with Git or checkout with SVN using the repository’s web address. 明日の下書き これはなに 高円寺.dev #3 用の資料 https://koenji.connpass.com/event/160886/ フロントエンド専門じゃない人向けの、フロントエンドの最先端〜やや未来の話です このレイヤーでは Node.js を使うべき/使うと強いという部分がありますが、他言語を否定しているわけではありません。むしろ他言語でこのアーキテクチャを模倣してほしいという話です。 10 年代のフロントエンドのポストモーテム 10 年代まとめ IE が死ななかったので各種ポリフィル、メタ言語からのトランスパイルが発達。しかしモダンとレガシーの乖離が深刻に。 node と npm エコシステムの成立

            20 年代のフロントエンド.md
          • ゲームボーイエミュレータをGo言語で書いた - undefined

            概要 Goはこれまで量を書いたことがなかったので入門にゲームボーイエミュレータを書いてみることにした。ゲームボーイである理由はたまたまよくできたゲームボーイの資料(http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf)を見つけてしまったため。 成果物 github.com まだ基本的なカートリッジタイプしか実装できていないがそこそこ動き始めたので公開することにした。直近は対応カートリッジを増やしながらWebAssemblyを吐けるようにしたい。 ゲームボーイの基本仕様 項目 概要 CPU LR35902 4.19MHz 8bit RAM 8kB VRAM 8KB ROM 256k~32MBit Display 4階調モノクロ、160×144ドット スプライト 8×8 最大40個表示 / 1ライン上に 最大10個表示 背景 256×256ドット ウィン

              ゲームボーイエミュレータをGo言語で書いた - undefined
            • Linuxコンテナの「次」としてのWebAssembly、の解説

              はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

                Linuxコンテナの「次」としてのWebAssembly、の解説
              • Vim を WebAssembly に移植した - はやくプログラムになりたい

                久々のブログです. 6月ぐらいにWebAssembly の仕様をざっくり読んだので,なんか WebAssembly でやりたいなと思って,Vim を WebAssembly に移植してブラウザで動くようにしてみました,という話です. github.com 多分実物を見ていただくのが一番早いので,下記のリンクにアクセスしてみてください. デモページはこちら(下記の注意事項を先にお読みください) 注意 デスクトップ版の Chrome か Firefox か Safari か Edge を使ってください.どうやら macOS では Safari が一番動きが良いです. デモページは全部で1MBほどのリソースを fetch します.モバイルネットワークなどからアクセスする場合はお気をつけください. keydown でキー入力を取っているので,キー入力を横取りするブラウザ拡張などが有効になっていると

                  Vim を WebAssembly に移植した - はやくプログラムになりたい
                • FFmpeg Explorer!

                  • Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE

                    Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE Mozillaは、Webブラウザ上で高速に実行できるWebAssemblyに対応したアプリケーションを開発するためのオンラインIDE「WebAssembly Studio」を発表しました。 オンラインIDEのサービスとして「WebAssembly.Studio」でベータ公開され利用できるほか、コードがGitHubでオープンソースとして公開されており、サーバにインストールして実行することも可能です。 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 マイクロソフト、Google、Mozilla、Appleなどの主要なWebブラウザベンダがW3CのWebAssembly Community Grou

                      Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE
                    • Docker終焉は別にしないと思うけど、知っておいたほうがいい知識の補足を書く - inductor's blog

                      Docker一強の終焉にあたり、押さえるべきContainer事情 を読んで漠然とDockerが終わるって思った人、素直に手をあげてください。別にDockerは終わりません。なんかむしろWASMとかんばるぞって息巻いてて可愛いので頑張って欲しいと個人的には考えています。 その昔、Kubernetes 1.20からDockerが非推奨になる理由 - inductor's blog を書いたら炎上しました。最初の記事の書き方が良くなかったという反省はあるにせよ、世間一般で「Dockerは開発環境で使うやつ」という認識があまりにも広がりすぎているというのが良くわかる勉強の機会になりました。 逆を言うと、みなさんがこれらの記事を読む時には、Dockerという言葉に含まれる意味に注意して読んでいただきたいと思っています。Dockerには大きく分けて以下の意味が含まれると僕は考えています。 Docke

                        Docker終焉は別にしないと思うけど、知っておいたほうがいい知識の補足を書く - inductor's blog
                      • TechCrunch

                        Identity and access giant Okta said a hacker broke into its customer support ticket system and stole sensitive files that can be used to break into the networks of Okta’s customers. Okta chief s

                          TechCrunch
                        • スイカゲームの作り方

                          はじめに Go言語用のEbitengineというゲームエンジンに興味があったので、試しにスイカゲームもどきを作りってみました。Ebitengineを使うと意外と簡単にスイカゲームもどきを作る事ができたので、なるべく分かりやすく作り方を紹介してみようと思います。 まずは先に完成品をお見せします。ちなみにフルーツの回転は面倒くさいので実装しないことにしました。 ちなみにEbitengineはwasmでも普通に動きます。ビルドしたものをこちらに置いたのでブラウザから実際に動かす事ができます。 それではスイカゲームもどきを作って行きましょう。 描画する まず一番初めにフルーツの画像を作るところから始めます。これはリンゴ、オレンジ、ブドウ、パイナップル、メロン、スイカのつもりです。 続いてフルーツを定義します

                            スイカゲームの作り方
                          • Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場

                            Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場 WindowsやMacなどのデスクトップPCでVisual Studio Code(以下VSCode)を利用して開発をする場合、同じローカルマシン上でDockerコンテナのLinux環境を起動し、VSCodeのターミナルで接続して操作することは、開発環境としてよくあることだと思います。 これと同じことをWebブラウザ版のVSCodeでも実現する、すなわちWeb版VSCodeが同一Webブラウザ上にWebAssembly化したDockerコンテナを起動し、Web版VSCodeからローカルマシンとして接続し利用できる、実験的実装を実現したVSCodeの拡張機能「vscode-container-wasm」が登場しました。 V

                              Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場
                            • なぜGoogle Meetの背景ぼかしが最強なのか(一般公開版)

                              はじめに 最近ついに、Google Meet に背景ぼかし機能が利用可能になりましたよね。日本語だとインプレスのケータイ Watchの記事などで紹介されてます。確か 2020 年 9 月末前後で順次リリースされていたと記憶しています。 このときは「背景ぼかし」の機能しかなかったのですが、最近(私が気づいたのは 2020/10/30)更にアップデートされました。アップデートで「背景差し替え」機能が付いて、ぼかし機能もぼかし効果が強弱 2 つから選べるようになりました。まだ日本語のニュース記事は見てないですが、Googleによるアップデートの発表はちゃんとされています。 そして、Google AI Blog でBackground Features in Google Meet, Powered by Web MLという記事が公開され、実装についての解説がされました。 この記事はその解説記事を

                                なぜGoogle Meetの背景ぼかしが最強なのか(一般公開版)
                              • Figma: The Collaborative Interface Design Tool

                                Downloads Get the desktop, mobile, and font installer apps

                                  Figma: The Collaborative Interface Design Tool
                                • C# で Single Page Web Application が書ける Blazor が凄かった件 - Qiita

                                  Blazor との出会い 今年2018年2月7日に、自分のソーシャルネットワークのタイムラインに Microsoft のブログ記事が流れてきました。 A new experiment: Browser-based web apps with .NET and Blazor ブラウザベースの .NET による Web アプリフレームワーク、"Blazor" (ブレイザー) だそうです。 これを読んだ当時、自分はこんな感想を持ちました。 「 "ブラウザベースの .NET による Web アプリ" ってなんのこっちゃ? まだ実験段階的なこと書いてるし、急いで試さなくてもいいかー。それよりも、これまで作った Angular 1.x な Web アプリの Angular5 への移行を急がなきゃ...」 ...ということで、何度も import 文を書く苦行や、*[(xyz)] みたいな呪文マークアッ

                                    C# で Single Page Web Application が書ける Blazor が凄かった件 - Qiita
                                  • Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか

                                    Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか https://d.potato4d.me/entry/20220405-nodejs/ へのアンサーソング。 プログラミング言語としての JavaScript の話をする。 2010年頃、Python 2 でプログラミングを学習した自分にとっては Node.js + CoffeeScript が Better Python だった。 CoffeeScript は当時の JS(ES3~5) に足りない機能を補ってくれて、Python と同じく空白制御のオフサイドルールなのが気に入った。見た目が少しだけ Ruby っぽいので当時全盛だった Rails の人間に訴求するにも有利だった。 Node.js のモジュールシステムである Commonjs は Pytho

                                      Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか
                                    • WebAssemblyのWeb以外のことぜんぶ話す

                                      Kernel/Vm探検隊 online part2. 発表動画: https://youtu.be/brrm328XItM?t=8221Read less

                                        WebAssemblyのWeb以外のことぜんぶ話す
                                      • 「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開

                                        「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開 Pythonの主要なディストリビューション「Anaconda」などを提供しているAnaconda社は、HTML文書の中にJavaScriptと同じようにPythonのコードを記述し、実行可能にする「PyScript」をオープンソースで公開しました。 Did you hear the news from PyCon!? We are thrilled to introduce PyScript, a framework that allows users to create rich Python applications IN THE BROWSER using a mix of Python with standard HTML! Head to h

                                          「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開
                                        • Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現

                                          これだけ多種多様なデバイスに対して、ログイン画面やパーソナライズされたポータル画面、動画の再生などの機能を実現するために、Amazon Prime VideoのアプリケーションはC++で開発されたJavaScript VMと、その上で動くJavaScriptアプリケーションの2つから構成されています。 そしてそれぞれが必要に応じてデバイスにダウンロードされ、実行されます。 特にJavaScriptのアプリケーション部分は実行時にダウンロードされ実行されることで、機能追加などの変更やバグフィクスが容易になっていると説明されています。 プロトタイプのWebAssembly化で10倍から25倍高速に Amazon.comがこのAmazon Prime VideoのアプリケーションにWebAssemblyの採用を検討し始めたのは2020年8月とのことです。 同社はプロトタイプとして低レイヤのJav

                                            Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現
                                          • WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史

                                            はじめに 「Typescriptの次はRustかもしれない」という記事がバズってるのを見かけました。 なかなか面白くて、PAとしてのWASMとRustを比較している記事です。ちょうど最近「レガシーおじさん、SPAを始めてみた。そして限界を知る」でも書いた通り最近SPAに手を出してみたのですが、いろいろやろうとするとSSRのためのBackend for Frontend (BFF)等が必要になるとわかり「これJSでやる必要なくない?」とも感じていたのでちょうど良かったです。 こういうのを見るとRIAやGWTのように似たアプローチで廃れた技術や、登場が早すぎたMeteor、今も頑張ってるMSのBlazorなど色々頭をよぎります。といわけで歴史を俯瞰する意味でHTML + JavaScriptとそれ以外の技術のせめぎ合いの歴史やMSのBlazorやRustのyewなどWebassemblyを使う

                                              WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史
                                            • これから先10年、フロントエンドに関する予言 - mizchi's blog

                                              これは怪文書です ここから10年はWASMがDOMのGCインテグレーションを果たしてJSを置き換えるか、JSがWASMに追いつかれる前にまともな言語として進化しきれるかのチキンレースになる ES Modules のブラウザ実装が枯れた頃に先鋭化したフロントエンドツールセット群は一旦そこで破棄され、シンプル化への揺り戻しが起こる 仮想DOMはブラウザエンジンの何らかの処理で更新が隠蔽されるか専用のDOM更新APIができ、Reactのような実装の手を離れる WASMで git, vim, bashなどが porting されるにつれ、再びWebOSのようなものが試みられる TC39でJSの型アノテーションの構文だけだけ決めよう => V8 が型アノテーションを元にランタイムを最適化したぜ! => 気づいたら標準化みたいな流れがある IE11のサポートは延長されず、MSがなんらかの強攻策に出る

                                                これから先10年、フロントエンドに関する予言 - mizchi's blog
                                              • WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能

                                                WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能 Leaning Technologiesは、Webブラウザ上でx86バイナリをそのまま実行できるWebAsesmbly製の仮想マシン「WebVM」を発表しました(同社による紹介記事「WebVM: server-less x86 virtual machines in the browser」)。 Google ChromeやMicrosoft Edge、Firefox、Safariなどのモダンブラウザであれば、上記のURLにアクセスすることで誰でもWebブラウザ上にx86仮想マシンを走らせることが出来ます。 WebVMではx86仮想マシンの上でLinux OSのDebianがバイナリが変更なしにそのまま稼働し、さまざまなコマンドも実行可能。 Linuxアプリ

                                                  WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能
                                                • Go言語がWebAssemblyをサポートへ。GOARCHは「wasm」、GOOSは「js」に

                                                  Googleが中心となってオープンソースで開発されているGo言語は、WindowsやmacOS、Linux、FreeBSD、iOS、Androidなど、さまざまなOSやCPUに対応したバイナリを生成できることが特長の1つとなっています。 そのGo言語のコンパイラが生成するバイナリにWebAssemblyが追加されました。WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 WebAssemblyのサポートは昨年2月から検討がはじまり、先月末に最初のコードがコミットされた状態で、現在も開発が進んでいます。 GOの今後のバージョンアップで正式にWebAssemblyがサポートされる見通しです。 Go言語はサポートするOSやCPUの種類をそれぞれ「GOOS」と「GOARCH」の値で示しています。例えばWindowsのGOOS値は「

                                                    Go言語がWebAssemblyをサポートへ。GOARCHは「wasm」、GOOSは「js」に
                                                  • わかりやすい画像のdiffを求めて - Qiita

                                                    どうも。フロントエンドエンジニアの @Quramy です。 さて、前回、1日10万枚の画像を検証するためにやったことで書いているとおり、reg-suitという画像に特化した回帰テストツールをメンテしています。 画像回帰テストという文脈において、差分の可視化方法はとても重要なファクターです。なぜなら、画像(=スナップショット)に差分が発生したからといって、それすなわち棄却、というわけではなく、その差分の内容を判断して、意図せぬ変更であれば棄却、意図した変更であればexpectedを更新する必要があります。すなわち、ワークフローに目視による差分のレビューが発生するのです。 そこで、少しだけ異なる2枚の画像について差分を効果的に可視化する、というテーマに向き合ってみました。 主にC++とOpenCVでの実装ですが、これらの知識が無くとも読めるよう、コードやAPIへの言及を少なくして、中間画像で説

                                                      わかりやすい画像のdiffを求めて - Qiita
                                                    • 2020年以降のプログラミング技術のトレンド予想 - Qiita

                                                      こちらの記事は、2019年7月に公開された Indrek Lasn 氏による『 2020 and Beyond Programming Trend Predictions 』の和訳になります。 本記事は著者の許可を得て掲載しています。 Thank you for letting us share your knowledge! 著者に何かメッセージがある方は Twitter までご連絡ください。 また本記事は転載であり、本記事はこちらになります。 はじめに 2020年は、もうすぐそこです。 2020年はSFの世界のように聞こえますが、そろそろ新しい世界のドアをノックする時期になっています。 すぐそこまで来ている未来のプログラミングの世界に興味をお持ちの方は、この文章をこのまま読み続けて下さい。 これから述べることは、間違っているかもしれませんが、私が将来起こると考えていることです。 未来を

                                                        2020年以降のプログラミング技術のトレンド予想 - Qiita
                                                      • Docker 19.03新機能 (root権限不要化、GPU対応強化、CLIプラグイン…)

                                                        NTTの須田です。2019年7月23日に公開された、Docker 19.03の新機能をお伝えします。2018年11月8日にリリースされたDocker 18.09以来、8ヶ月ぶりのリリースです。 root権限不要化従来のDockerは、ホストのroot権限でデーモン(dockerd)を動作させる必要があったため、脆弱性や設定ミスを突かれると、ホストのroot権限を奪われる恐れがありました。 Docker 19.03では、非rootユーザでデーモンを実行できるようになりました(Rootlessモード)。 Rootlessモードを有効化することで、万一Dockerに脆弱性や設定ミスがあっても、攻撃者にホストのroot権限を奪取されることを防ぐことが出来ます。ただし、現時点ではcgroupを利用できないなどの制約があります。 RootlessモードのDockerは, curl -fsSL http

                                                          Docker 19.03新機能 (root権限不要化、GPU対応強化、CLIプラグイン…)
                                                        • WebAssemblyはなぜ速いのか | POSTD

                                                          本記事はWebAssemblyに関するシリーズの第5回目で、今回のテーマはWebAssemblyが高速な理由です。前の記事をお読みでない方は、 初めから目を通される (訳注:原文リンク)ことをお勧めします。 前回の記事 (訳注:原文リンク)では、プログラミングに WebAssembly あるいはJavaScriptを使うかは二者択一の選択ではないことを説明しました。私たちは、WebAssemblyのみのコードベースを書く開発者が膨大な数になるとは思っていません。 ですので、アプリケーションにWebAssemblyとJavaScriptのどちらを使うか選ぶ必要はありません。しかし私たちとしては、開発者がJavaScriptコードの一部をWebAssemblyに置き換えることを期待しています。 例えば、Reactで開発しているチームは、リコンサイラコード(言い換えれば仮想DOM)をWebAss

                                                            WebAssemblyはなぜ速いのか | POSTD
                                                          • 6x6リバーシの神 - まめめも

                                                            絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIはWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIのソースコードはRustで書きました。わりと堅実なゲーム木探索になってます。UIは普通にTypeScriptとthree.jsで実装しました。 github.com 作った順に説明します。 盤面の表現

                                                              6x6リバーシの神 - まめめも
                                                            • WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開

                                                              WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開 オープンソースのデータベースPostgreSQLの商用サービスを提供しているCrunchy Dataは、WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かしながらPostgreSQLの基本から性能分析などさまざまな機能を学べる「Postgres playground」を公開しました。 Webブラウザ上でPostgreSQLを動かすため、サーバを用意する必要もなく、万が一間違った操作でデータベースを壊したとしてもすぐにインストール直後の初期状態に戻せるため、気軽にPostgreSQLを使って動作を学ぶことができます。 WebAssembly化されたPostgreSQLにはあらかじめチュートリアル用のデータ

                                                                WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開
                                                              • コンテナ技術を捨て、 WASIを試す

                                                                こんにちは、NTTの藤田です。 Dockerfileを書くのに疲れた?イメージサイズの縮小で1日が終わった?コンテナの起動が遅すぎる?コンテナ技術と悪戦苦闘する皆様のための新技術、アーキテクチャに依存しないポータブルなバイナリフォーマットと数十μsで起動するsandbox環境を実現する、WebAssembly System Interface(WASI)を試してみました。 WebAssembly System InterfaceとはWASIは、 WebAssembly(WASM)をウェブブラウザ以外の環境で実行するため、 ホストのファイルやネットワークなどの資源に安全にアクセスさせるための仕様です。 具体的には、POSIXに似たAPIが定義されており、WASMのバイナリが、OSが管理する資源にアクセスできるようになります。 WASMは、ネイティブコードなみの速度で動作する、ポータブルなバイ

                                                                  コンテナ技術を捨て、 WASIを試す
                                                                • WebAssemblyの歴史について

                                                                  はじめに 最近、Node.jsとDenoの開発者であるRyan DahlさんがJavaScript Containersという記事を書いていることを知った。 Webとの親和性の高さがサーバーサイドで求められる中、JavaScriptがユニバーサルスクリプトとして活躍するだろう。そして、コンテナランタイムがLinuxコンテナの抽象レイヤーとしてあるように、JavaScript界隈では既存のWebAPIそのものが抽象化の手助けとなるであろう、みたいな趣旨の内容だった。 彼がChromeのV8 JavaScript Engineを使ってNode.jsを誕生させた同じ頃、JavaScriptの可能性を信じて方法を模索した人がいる。Alon Zakaiさんだ。 Alon(以降、敬称略)はWebAssemblyやその考えの元になった asm.js 、 JavaScriptコンパイラ Emscripte

                                                                    WebAssemblyの歴史について
                                                                  • 今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ?

                                                                    概要 Partytownというプロジェクトが先月発表された。このプロジェクト自体はWebのパフォーマンス向上(3rd Party Scriptによるブロッキングの低減)を主目的としているが、実質ブラウザにおけるJavaScript Sandboxの方向性に一石を投じるものであるとして自分は理解した。本稿ではこちらについて背景とともに解説を試みる。 WebブラウザにおけるJavaScript Sandbox JavaScriptで記述されたWebアプリケーションにおいて、たとえばプラグイン機構を実現したいなど、他Partyが提供あるいはユーザ自身が記述したスクリプトを、ホストとなるアプリケーションに影響を与えることなく実行することを許可したい、というケースはままある。2000年代に跋扈したブログパーツの類はWebコンテンツに対するプラグインの代表例とも言えるが、埋め込み先ページに対しての全権

                                                                      今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ?
                                                                    • Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは?

                                                                      Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは? CDNプロバイダとして知られるFastlyは先月(4月1日)、WebAssemblyのコンパイラとランタイムで構成される「Lucet」をオープンソースで公開。同社のエッジコンピューティング環境として開発を進めていることを明らかにしました。 WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 FastlyはこれをCDNのエッジにあるサーバ上で動作するように移植し、しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動し

                                                                        Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは?
                                                                      • 動画をブラウザーだけで変換 ~「FFmpeg」をWebAssembly/JavaScriptへ移植した「ffmpeg.wasm」に期待/クロスプラットフォーム、ポータブル、高速な「WebAssembly」(WASM)が熱い!【やじうまの杜】

                                                                          動画をブラウザーだけで変換 ~「FFmpeg」をWebAssembly/JavaScriptへ移植した「ffmpeg.wasm」に期待/クロスプラットフォーム、ポータブル、高速な「WebAssembly」(WASM)が熱い!【やじうまの杜】
                                                                        • Single Page Applications using Rust

                                                                          WebAssembly (wasm) allows code written in languages other than JavaScript to run on browsers. If you haven’t been paying attention, all the major browsers support wasm and globally more than 90% of users have browsers that can run wasm. Since Rust compiles to wasm, is it possible to build SPAs (Single Page Applications) purely in Rust and without writing a single line of JavaScript? The short answ

                                                                            Single Page Applications using Rust
                                                                          • DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場

                                                                            DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場 DockerコンテナイメージをWebAssemblyに変換し、WebAssemblyランタイム上で実行可能にするツール「container2wasm」のバージョン0.3がリリースされました。 開発者はNTTの徳永航平氏。container2wasmは実験的なツールとしてオープンソースで公開されています。 バージョン0.3では、RISC-Vアーキテクチャに加えてx86_64アーキテクチャのDockerコンテナイメージにも対応したことが大きな変更点です。 実際にDockerコンテナイメージをWebAssemblyに変換したものをWebブラウザ上で実行できるデモページも用意されました。 下記はインテルの64ビットプロセッサを搭載したWindows

                                                                              DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場
                                                                            • WasmでJavaScriptを動かす意義 - id:anatooのブログ

                                                                              ある時Twitterのタイムラインを見ていたら、「JavaScriptをWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するので、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これは「Wasm化=パフォーマンスのため」という考えだと意義がわからないのでこの記事ではそれについて解説します。 JavaScriptをWasm化して動かすツールやライブラリとしては、Shopifyが開発しているJavyやquickjs-emscriptenなどがあります。JavaScriptをWasm化して動かすためには、ある特定のJavaScriptエンジンをWasm向けにビルドして動かす必要がありますが、そのような用途ではQuickJSというJava

                                                                                WasmでJavaScriptを動かす意義 - id:anatooのブログ
                                                                              • WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう!|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                                                ハイクラス求人TOPIT記事一覧WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう! WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう! WebAssembly(Wasm)は、ブラウザー上で直接動くプログラミング言語として、JavaScriptを置き換える期待が寄せられますが、実際にWasmが果たすべき役割や適したユースケースとはどういったものでしょうか? Wasmの動作を体験するチュートリアルとあわせて、山本悠滋(igrep)さんが解説します。 WebAssembly(以下、略称の「Wasm」と呼びます。「キャズム」や「~イズム」などからの類推なのか「ワズム」と発音するようです)とは、ブラウザーをはじめとするさまざまな環境で動作する、仮想マ

                                                                                  WebAssembly入門 ─ Webフロントエンドの現実的なユースケースを知り、Wasm製アプリケーションを体験してみよう!|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                                • ffmpeg.wasm | ffmpeg.wasm

                                                                                  ffmpeg.wasmffmpeg.wasm is a pure WebAssembly / JavaScript port of FFmpeg enabling video & audio record, convert and stream right inside browsers! Data Securityffmpeg.wasm runs only inside your browser, data security is gaurantee as no data is sent to remote server. Powered by WebAssemblyffmpeg.wasm transpiles ffmpeg source code to WebAssembly code using Emscripten to achieve optimal performance.