並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 2016件

新着順 人気順

wasmの検索結果281 - 320 件 / 2016件

  • ハンズオンNode.js

    Node.jsの入門書。対象読者は、フロントエンド開発の知識はあってもサーバサイド開発は知らないエンジニアや、他言語の経験はあってもNode.jsは触ったことがないプログラマー。本書ではターミナルのプロンプトにコマンドを入力してその反応を確認したり、簡単なスクリプトをNode.js環境で実行したりしながら、Node.jsプログラミングの基本からWebアプリケーションの開発、テスト、デプロイまでをハンズオン形式で学びます。また、コードの背景にある設計思想や、プログラムの挙動の仕組みについてもしっかり掘り下げます。本書のゴールは、読者がNode.jsの全体像を掴み、業務レベルでのアプリケーション開発に対応可能な知識を身につけることです。 関連ファイル GitHubリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、

      ハンズオンNode.js
    • Pyscript.net

      Just kidding, you don't need to install anything. 😃 To use PyScript you can either download it and follow the instructions, or add the following lines to your page. <link rel="stylesheet" href="https://pyscript.net/releases/2024.1.1/core.css" /> <script type="module" src="https://pyscript.net/releases/2024.1.1/core.js"></script> Click here for more info on how to use PyScript. Say Hello to PyScri

      • Rustによる機械学習概覧を技術書典11に寄稿するまでの軌跡 - Stimulator

        - はじめに - 今回、技術書典11に「Rustによる機械学習概覧」というタイトルで、所属企業であるエムスリー株式会社の執筆チームより出る「エムスリーテックブック3」に文章を寄稿した。 執筆チームからの熱いコメントは以下。 販売ページは以下。 techbookfest.org 本ブログは、エムスリーテックブック3を企画して立ち上げてから、自分で同人誌を書くまでのお気持ちを綴った、所謂ポエムである。 - はじめに - - Rustによる機械学習への想い - - エムスリーテックブック3の立ち上げ - - おわりに - - Rustによる機械学習への想い - ポエムといえば自分語り、自分語りといえばポエム。まず思い出に浸ろう。 私が機械学習を初めて実装したのは高専の頃。あの時はC/C++とJava、C#なんかを使って、何とかアルゴリズムを理解して実験していた。VisualStudioの起動に悠

          Rustによる機械学習概覧を技術書典11に寄稿するまでの軌跡 - Stimulator
        • 趣味で創作する時は常に何かしら新しいことに挑戦する - mizdra's blog

          普段趣味プログラミングで何か作る時、何かしら新しいことに挑戦するということを意識している 例えば何か触ったことのない技術を導入してみるとか、採用したことのない開発手法を取り入れてみるとか より具体的に言うとHeroku導入してみるとか、TDDで開発してみるとか 折角何か創作活動をするので、ついでに新たなことに挑戦し、新たな学びやスキルの向上へと繋げようという狙い ここまではよくある話だと思うけど、mizdraの場合は更に踏み込んで、「新しいことは数を絞って注力できるようにする」ということも意識している 新しいことに挑戦するのは多くの場合、非常に負荷が掛かる 例えばHeroku導入するにしても、HerokuのCLIやダッシュボードの使い方を学ぶ必要があるし、PaaSを触ったことが無ければそもそもPaaSとは、一体何が出来てどこまで面倒を見てくれるのか、ということから学ぶ必要がある 挑戦する数

            趣味で創作する時は常に何かしら新しいことに挑戦する - mizdra's blog
          • WasmGCについて予習する

            この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js

              WasmGCについて予習する
            • WasmLinux: LinuxカーネルをWebAssemblyにする

              LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                WasmLinux: LinuxカーネルをWebAssemblyにする
              • フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD

                目次# 前編 準備段階:計画と指標 パフォーマンスを重視する文化、Core Web Vitals、パフォーマンスのプロファイル、CrUX、Lighthouse、FID、TTI、CLS、端末。 現実的な目標の設定 パフォーマンスバジェット、パフォーマンス目標、RAILフレームワーク、170KB/30KBバジェット。 環境の定義 フレームワークの選択、パフォーマンスコストの基準設定、Webpack、依存関係、CDN、フロントエンドアーキテクチャ、CSR、SSR、CSR + SSR、静的レンダリング、プリレンダリング、PRPLパターン。 中編 アセットの最適化 Brotli、AVIF、WebP、レスポンシブ画像、AV1、アダプティブメディア読み込み、動画圧縮、Webフォント、Googleフォント。 ビルドの最適化 JavaScriptモジュール、モジュール/ノーモジュールのパターン、ツリーシェイ

                  フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD
                • A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler

                  I wrote a basic search module that you can add to a static website. It's very lightweight (50kB-100kB gzipped) and works with Hugo, Zola, and Jekyll. Only searching for entire words is supported. Try the search box on the left for a demo. The code is on Github. Static site generators are magical. They combine the best of both worlds: dynamic content without sacrificing performance. Over the years,

                    A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler
                  • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

                    こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向

                      モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
                    • 緊急解説! 突如出現したnitrogqlの中身と裏側

                      皆さんこんにちは。これは、筆者が最近公開したnitrogqlを宣伝する記事です。nitrogqlの概要や、開発にあたっての裏話などを紹介します。 nitrogqlとは nitrogqlは、TypeScriptコードからGraphQLを使用するためのツールです。有体にいえば、graphql-code-generatorを置き換えることを目指して開発しています。具体的には、.graphqlファイルからTypeScriptの型定義を生成する機能を備えています。 例えば、次のようなクエリがあったとします。 query ($unfinishedOnly: Boolean) { todos(filter: { unfinishedOnly: $unfinishedOnly }) { id body createdAt finishedAt tags { id label color } } } imp

                        緊急解説! 突如出現したnitrogqlの中身と裏側
                      • Introducing workerd: the Open Source Workers runtime

                        Introducing workerd: the Open Source Workers runtime09/27/2022 Today I'm proud to introduce the first beta release of workerd, the JavaScript/Wasm runtime based on the same code that powers Cloudflare Workers. workerd is Open Source under the Apache License version 2.0. workerd shares most of its code with the runtime that powers Cloudflare Workers, but with some changes designed to make it more p

                          Introducing workerd: the Open Source Workers runtime
                        • WebAssembly Interface Types で全てが連携する! (翻訳) - inzkyk.xyz

                          ブラウザ外での WebAssembly の利用が盛り上がっています。 盛り上がりはスタンドアローンのランタイムを使った WebAssembly の実行だけではありません。Python, Ruby, Rust といった言語からの WebAssembly の実行にも注目が集まっています。 なぜそんなことが望まれるのでしょうか? 理由はいくつかあります: 「ネイティブ」をもっと簡単に Node あるいは Python の CPython のようなランタイムでは、C++ などの低レベル言語でもモジュールを書ける場合があります。低レベル言語を使っ

                            WebAssembly Interface Types で全てが連携する! (翻訳) - inzkyk.xyz
                          • 世界のプログラミング言語(20) 「WebAssembly」ならブラウザで高速にCもRustもGoも動く

                            今回紹介するのは、WebAssemblyです。これは、その名の通りWebブラウザ上で動かせるアセンブリ風の言語です。既に、C/C++言語、RustやGo言語などのプログラミング言語がWebAssemblyに対応しています。また、主要Webブラウザではサポートされており、JavaScriptよりも高速に実行できるため、ブラウザの可能性が大きく広がっています。今回は、WebAssemblyについて、また、実際にブラウザで実行する方法を紹介します。 Go言語でWebAssemblyを出力して実行したところ ブラウザにはJavaScriptがあるのになぜ? WebAssemblyはWebブラウザ上で動作する言語です。しかし、Webブラウザ上で動作する言語には、既にJavaScriptがあります。モダンブラウザであれば、どのブラウザを使っても同じようにJavaScriptのプログラムを動かすことがで

                              世界のプログラミング言語(20) 「WebAssembly」ならブラウザで高速にCもRustもGoも動く
                            • 社内のオンライン技術情報交換会を36回やってやめた話 - Qiita

                              社内ではオンライン技術情報交換会を「雑談会」と呼んでいました。 以下、雑談会で統一します。 背景 弊社は受託開発の会社です。 社内では常時複数の開発案件が動いています。 各案件で働いて居る人は、それぞれ技術的な知見を貯めています。 しかし、別の案件で働いている人が、どのような知見を持っているか知るすべがありません。 特に、雑談会をはじめた当初はコロナ禍の最中でした。 オフラインで技術的な雑談や相談をする機会もありませんでした。 そこで雑談会をはじめることにしました。 雑談会の形態 毎週金曜日の15時から30分間、Slackのハドルで開催しました。 参加者のハードルを下げるために、Zoomのようなビデオ会議は使いませんでした。 発表者からは必要に応じて画面共有をしました。 特に継続性を重視し、運営や参加の負担を低くなるように雑談会を設計しました。 会の名称が雑談会なのも、この狙いのためです。

                                社内のオンライン技術情報交換会を36回やってやめた話 - Qiita
                              • RustでWasm Runtimeを実装してみた

                                はじめに 最近Wasmの勢いがすごくて、ブラウザでPostgreSQLを動かせたり、DockerでWasmを動かせたりできます。 以前からWasm自体に興味があって、動作原理を知りたいと思ってchibiwasmというRuntimeを実装してみました。 Rustを選んだのは、最近Rustを勉強していてそれに慣れるためです。 苦労しましたが、*.wasmがどのようにして実行されるのかを理解できたので良かったです。 今回はWasmのバージョン1の仕様を満たすように実装して、テストスイートは正常系と実行時異常系のテストは通しましたが、バリデーションなどのテストはスキップしています。 また、少しだけバージョン2の命令とWASIを実装していて、RustからビルドしたHello Worldを標準出力するwasmバイナリも動きます。 本記事は実装したWasm Runtimeの概要と、実装を通して学んだこと

                                  RustでWasm Runtimeを実装してみた
                                • Announcing wasi-threads

                                  Until now, one piece missing from WebAssembly standalone engines was the ability to spawn threads. Browsers have had this ability for some time via Web Workers, but standalone engines had no standard way to do this. This post describes the work of several collaborators to bring about wasi-threads, a proposal to add threads to WASI. It will explain the history to this proposal, the work done to get

                                    Announcing wasi-threads
                                  • Rustの日本語書籍紹介 - Qiita

                                    はじめに この記事はRust Advent Calendar 2020の3日目です。 今年の春から夏にかけて、「実践Rustプログラミング入門」という本を書いていました。お陰さまで売上好調のようでありがとうございます。(ちなみにちょうど昨日、電子書籍版も出ました) この本を書くにあたって、すでにいくつかRustの日本語書籍があるなか新しい本を出すということで、既刊との差別化をどう図るかは考えないといけないと思っていました。その時にRust本を一通り読み直したので、それぞれどのような本であるかを簡単にまとめておこうと思います。 基本的な書誌情報に加え、Rustコンパイラのバージョンとエディション、内容のざっくりとした方向性(実践よりか文法解説よりか、といったような)を書いていきます。いくつかの本にはよく使われる呼び名があるのでそちらも書いておきました。 Rustはいろいろなプログラミング言語

                                      Rustの日本語書籍紹介 - Qiita
                                    • RustによるマクロサービスフレームワークSpin入門

                                      この記事はAdvent of Spin 2023というオンラインチャレンジに参加した結果してSpinに入門した結果のまとめとなっています。学んだことのまとめですが、Spin入門としても利用いただけるかなとも思っています。 TL;DR マクロサービスフレームワークのSpinをつかって、Rustでマイクロサービスを作ります。 JSONのやり取りや、key-valueストアの利用、ルーティングがカバーされています。 Hurlというツールを使ってテストファースト開発します。 Spinとは? Spinとはマイクロサービスを作成するためのフレームワークで次の特徴があります。 イベント駆動型のフレームワーク HTTP(S)とRedisにデフォルトで対応 いくつかのストレージに標準で対応 イベントハンドラーはWasmコンポーネントとして実装される WASI preview 2に対応 開発元が配布しているコ

                                        RustによるマクロサービスフレームワークSpin入門
                                      • What's New In DevTools (Chrome 94)  |  Blog  |  Chrome for Developers

                                        Use DevTools in your preferred language Chrome DevTools now supports more than 80 languages, allowing you to work in your preferred language! Open Settings, then select your preferred language under the Preferences > Language dropdown and reload DevTools. Preferences" width="800" height="494"> Chromium issue: 1163928 New Nest Hub devices in the Device list You can now simulate the dimensions of Ne

                                        • emruby: ブラウザで動くMRI - クックパッド開発者ブログ

                                          こんにちは、フルタイムRubyコミッタの遠藤です。 Ruby 3.0が出てもう4ヶ月経ってしまいました。最近のTypeProfの開発ですが、vscode拡張として使えるようにするために、一生懸命Language Server Protocolをいじって遊んでるところです。 今日の成果です。 RBS が .rb と別ファイルなのが面倒という問題、vscode 拡張をちゃんと作れば解決できそう(まだ実現可能性を調べただけで中身はありません)。 pic.twitter.com/tv6xB0Tm59— Yusuke Endoh (@mametter) 2021年4月2日 こっちのほうはまだ実験段階なので、まとまったころに説明するとして、今回は、Ruby 3.0リリース後にほそぼそとやっていたemrubyをご紹介してみます。 emrubyとは ブラウザの上で動くMRI(Matz Ruby Inter

                                            emruby: ブラウザで動くMRI - クックパッド開発者ブログ
                                          • Speculation in JavaScriptCore

                                            This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine. Speculative compilation is ideal for making dynamic languages, or any language with enough dynamic features, run faster. In this post, we will look at speculation for JavaScript. Historically, this technique or closely related variants has been applied successfully t

                                            • Ruby on Browser

                                              ruby.wasm で作ったページの紹介と ruby.wasm の使い方 スライド内のリンク - 文字化けを復元するよ https://tmtms.net/mojibake/ - シャッフル https://tmtms.net/shuffle.html?list=Ruby,Perl,Pytho…

                                                Ruby on Browser
                                              • Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた 2021年12月25日にリリースされたばかりのRuby 3.1では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさん、ko1さんに詳しくうかがいました。 プログラミング言語Rubyでは2013年の2.1.0以降、毎年クリスマス(12月25日)にメジャーバージョンアップが行われています。2021年も無事にバージョン3.1.0がリリースされました。 ▶ Ruby 3.1.0 リリース Ruby 3.1は、言語機能の面では全体的に穏やかなリリースにも見えますが、新しい方式のJIT(just in time)コンパイラ、標準の新デバッガー、事前アナウンスでも好評だったエラーメッセージの改善な

                                                  Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                • Adding Python WASI support to Wasm Language Runtimes

                                                  We recently added Python support to Wasm Language Runtimes. This article provides an overview of how Python works in WebAssembly environments and provides a step by step guide on how to use it. At VMware OCTO WasmLabs we want to grow the WebAssembly ecosystem by helping developers adopt this new and exciting technology. Our Wasm Language Runtimes project aims to provide up-to-date, ready-to-run We

                                                    Adding Python WASI support to Wasm Language Runtimes
                                                  • 2022年の Flutter ロードマップ【要約】 - Qiita

                                                    最近、Flutterのロードマップが更新され、2022年のものが追加されました。 Flutterの最新情報は追いかけたい、でも英語読むのはめんどくさい! そんな方に向けて、本記事ではこのロードマップの要約を記載します。 あくまで個人の要約ですので、細かいニュアンスや詳細を知りたい方は、 下記の元記事を読んでください。 時間がない人向け 短くまとめると、以下の内容でした。 開発者体験向上させる デスクトップのサポートをstableチャンネルにする Webも色々向上、ページ埋め込み機能を実装予定だ Material 3のサポートとか色々予定 Dartに静的メタプログラミングの追加予定 全文の要約 2022年、尽力する部分 開発者体験 開発者が愛するSDKを作りたい。 例えば、 共通の問題を解決するwidgetやプラグインの追加 現状のAPIの整理 単純に多く使われるパターンのAPIの導入 エラ

                                                      2022年の Flutter ロードマップ【要約】 - Qiita
                                                    • Swiftのみを使って、今Qiitaを作るとしたら - Qiita

                                                      Swift は iOS アプリを作るための言語というイメージが強いと思います。しかし、実際にはサーバーサイドプログラムや機械学習、コマンドラインツールの開発など、 多様な目的で利用できる汎用言語です 。 2015 年にオープンソース化され、 Linux でも動作し、近々 Windows もサポートされる予定です。 Swift は Apple の言語ですが、それは TypeScript が Microsoft の、 Go が Google の言語だというのと同じ程度の意味しか持たないと思います。 Swift Core Team には Google のエンジニアも入っていますし、新しい言語の機能はすべて、オープンな場で議論された上で決定されます。 そんな Swift にとって期待される二つの分野が、 Web のクライアントサイドとサーバーサイドです。 WebAssembly に対応することで、

                                                        Swiftのみを使って、今Qiitaを作るとしたら - Qiita
                                                      • FirefoxもWebAssemblyのガベージコレクション機能を実装中であることが明らかに

                                                        Google Chromeに続いてFirefoxもWebAssemblyのガベージコレクション機能を試験的に実装していることが、KotlinのWebAssembly対応ドキュメントから分かりました(現時点ではFirefoxのBeta版やNightlyのドキュメントには記載がないようです)。 すでにGoogle Chromeが、Dart言語のWebAssembly対応への対応のために試験的実装を示すOrigin TrialとしてWebAssemblyのガベージコレクション機能の実装を開始しています。 参考:WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進 Firefoxでもほぼ同様に、現在Nightlyとして公開されているFirefox 112aにおいて、開発者向けの設定である「about:co

                                                          FirefoxもWebAssemblyのガベージコレクション機能を実装中であることが明らかに
                                                        • RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する

                                                          wasm-packを使うことで、ビルドしてwasm-bindgen-cliでさらに変換処理を行い、npmで配布可能なパッケージにするという多段階必要なビルド手順をまとめることが可能です。 またnewコマンドのようなテンプレートから生成する機能などもあり、より手軽にWasmの実行を行えます。 後述のTrunkとの違いは、wasm-packはwebpackなどのJavaScript側で使われるバンドラーなどと合わせて使うことが想定されていることです。 webpackと合わせて使わない場合には今回のテーマであり後述するTrunkを利用したほうがより簡単にWasmの実行を行えます。 wasm-opt GitHub binaryenというリポジトリでwasm-optというツール含むいくつかのツールが作られています。 wasm-optはその名の通りWasmの最適化をしてくれるツールです。 与えるオプシ

                                                            RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する
                                                          • Rustで少しずつリバーシを作ってみた

                                                            はじめに Rustの学習目的でリバーシを作ってみたいと思います。最初からすべての機能を作るのではなく、少しずつ機能を追加しながら解説していきます。また、できるだけよいコードを目指すために機能追加の度にリファクタリングをします。 最初の開発 仕様策定 まずはリバーシとして最低限遊べるうえで最も工数がかからなさそうな仕様を策定します。 cuiアプリ 矢印キーでカーソル移動 Wキーで白石を置き、Bキーで黒石を置き、Backspaseキーで石を取り除く Escキーでアプリ終了 とりあえずこれだけあればリバーシとして遊ぶことはできます。cuiアプリなので実行はWindowsTerminalを想定します。 実装 ソース とりあえずコードの良し悪しは置いといて動くものを作ります 実行結果 解説 cuiアプリとして実装するのでターミナルライブラリを導入します。今回はcrosstermを利用します。Carg

                                                              Rustで少しずつリバーシを作ってみた
                                                            • SwiftUI で Web アプリという可能性 - OPTiM TECH BLOG

                                                              はじめに こんにちは.R&D チームの久保です. 現在 JavaScript や JavaScript にトランスパイルする言語 (TypeScript, 新し目の ECMAScript など) が主流であるフロントエンドの Web アプリケーションフレームワーク界隈ですが,数年前に WebAssembly の実行が主要ブラウザ全てでサポートされて以来,ひそかに他の言語によるフレームワークが増えつつあるのをご存知でしょうか?しかもそれらは,JavaScript でデファクトスタンダードとなりつつある React や Vue.js などと同様,仮想 DOM を実装していたりします. 例としては C# (.NET) の Blazor, Rust の Yew, Go の Vugu, C++ の asm-dom などがあります.ただ,現時点ではその多くが実験的なプロジェクトであり,今すぐに Jav

                                                                SwiftUI で Web アプリという可能性 - OPTiM TECH BLOG
                                                              • RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita

                                                                概要 静的ウェブページ向け検索エンジンtinysearchをrust_icuのトークナイザ(icu::BreakIterator)を使って日本語対応させてみた。 また、これをmdBookに組み込み、The Rust Programming Language 日本語版へ適用してみた (chromiumのみ対応。その他は従来どおりの検索性能) 実装: https://github.com/tamuhey/tinysearch/tree/japanese mdBookへの適用: https://github.com/tamuhey/mdBook/tree/tiny_search The Rust Programming Language 日本語版への適用例: https://tamuhey.github.io/book-ja/ tinysearch tinysearchは静的ウェブページ向け検索

                                                                  RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita
                                                                • Node.js fetch の内部の話 - from scratch

                                                                  前置き この記事は リクルートエンジニアアドベントカレンダーの3日目の記事です。 Recruit Engineers Advent Calendar 2022 - Adventar ちなみにココで書いたやつを一部抜粋させていただいております(ネタ切れにより過去投稿を利用してしまっております。。。すいません。。。) www.codegrid.net fetch が Node v18 から試験的にサポートされた ブラウザでは数年前から採用されていた HTTP リクエストを行う関数の fetch が global 空間に関数として作成されました。使うだけなら特に何のフラグもいりません、その代わり使うと Experimental であることを知らせる Warnings が出ます。 // fetch.mjs const response = await fetch('https://api.gith

                                                                    Node.js fetch の内部の話 - from scratch
                                                                  • WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった

                                                                    きっかけ(となったtweetの訂正) もう1ヶ月以上も経ってしまったが、こちらのtweetの公約どおり、WebAssembly (Wasm)におけるDOMの操作について知っている限りのことを書こう。 まずこの節の見出しのとおり、上記の発言は大きく間違えている。私はReference Typesがもたらすパフォーマンス的なメリットや、JavaScriptのオブジェクトを直接Wasmで渡すことが(一応)可能になったということを根拠に上記のtweetをした。しかし下記のtweetでも否定されているとおり、この観点は穴だらけなので、実際のところ多くの人が「直接操作できる」と実感できる状態ではないだろう。 詳細は後述するとして、我ながらひどい凡ミスを犯してしまった。JavaScriptのことを十分に知っているはずなのに、情けない。謹んでお詫びし、ここで訂正する。 大前提: ある意味で永遠にそんな日は

                                                                      WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった
                                                                    • 都会の星の撮り方本を出版しました。WebAssembly を使っています

                                                                      先日、都会で撮る 星の軌跡の撮影術 〜はじめて撮る人から上級者まで比較明合成による撮影の完全ガイドという本を出版しました。 この本は、比較明合成という画像処理によって都会の星の軌跡の撮り方を紹介している本ですが、それを WebAssembly を用いてブラウザ内で実現する Web アプリ を作りました(そしてその使い方を本の中で解説しました)ので、この記事では WebAssembly による移植周りについて少し解説したいと思います。 なぜ WebAssembly が必要だったか 今回 WebAssembly を、LibRaw というオープンソースソフトウェアをブラウザ上で利用するために使いまいた。 比較明合成をわかりやすく説明すると、複数の画像を比較して、最も明るい点を選択する合成方法です。星は日周運動により地上からは動いているように見えますが、カメラを固定して連写で何百枚と写真を撮り、そ

                                                                      • コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく

                                                                        コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく コンテナランタイムの事実上の標準となっているcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が昨年(2022年)12月に統合されていたことが分かりました。 これによりcontanerdはWebAssemblyランタイムとしてWasmtimeとWasmEdgeを正式にサポートし、containerdの管理下でこれらのランタイムを用いてWebAssemblyバイナリの実行が可能になる見通しです。 将来のcontainerdのリリースでこれらの機能が正式版として登場すると見られます。 containerdでWasmEdgeが正式サポート 先月、1月31日にWebAsse

                                                                          コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく
                                                                        • Making JavaScript run fast on WebAssembly - Bytecode Alliance

                                                                          JavaScript in the browser runs many times faster than it did two decades ago. And that happened because the browser vendors spent that time working on intensive performance optimizations. Today, we’re starting work on optimizing JavaScript performance for entirely different environments, where different rules apply. And this is possible because of WebAssembly. We should be clear here—if you’re run

                                                                            Making JavaScript run fast on WebAssembly - Bytecode Alliance
                                                                          • WebAssembly対応でRubyは何が出来るようになったのか?

                                                                            はじめに Ruby 3.2よりWASIベースのWebAssemblyサポートされました。 これによってRubyをブラウザ上で実行できるようになるわけですが、実はWASMはブラウザの外での動作も可能になっており、OSに依存しないライブラリを作ったり、Edge Computingで実行させたり、シングルバイナリの実行可能ファイルにしたりと色々な事が出来るようになります。 今回はRubyのWASM対応でどんなことが出来るようになったかをまとめたいと思います。 WebAssemblyとは? WASMに関して少しおさらいをしておきましょう。 WebAssemblyは仮想命令セットアーキテクチャです。WASMとも言います。RustやCをはじめとした多くの言語からコンパイルする事が出来、Webブラウザの中で高速にそしてセキュアに処理を実行するための仕組みとして登場しました。 元々ブラウザ向けに登場した仕

                                                                              WebAssembly対応でRubyは何が出来るようになったのか?
                                                                            • フロントエンドエンジニアがスキルアップのために意識する「素振り」の仕方と求められる役割 | Offers Magazine

                                                                              「Offersエージェント」では、業界で活躍するプロフェッショナルがあなたの転職を徹底サポート。CxO経験者を含む現役エンジニア・デザイナー・プロダクトマネージャーが在籍し、職種に特化した専門的なアドバイスをご提供・非公開求人の紹介も可能です。 →【かんたん30秒】無料登録で転職相談する ▲登壇時の写真 はじめまして、フリーランスエンジニアとしてフロントエンド開発をメインに行っている、小林(@neo6120)と申します。 もともとはインフラやサーバサイドも扱っていましたが、独立時にフロントエンドに絞り、現在もフロントエンドメインでエンジニアをしています。 変化が激しいと言われるフロントエンド界隈ですが、今回はフロントエンド特化のフリーランスエンジニアとして、スキルアップのために普段どのような点に気をつけているか、また注目している技術はなにか、について紹介したいと思います。 広がるフロントエ

                                                                                フロントエンドエンジニアがスキルアップのために意識する「素振り」の仕方と求められる役割 | Offers Magazine
                                                                              • Zellij: a Rusty terminal workspace releases a beta

                                                                                Zellij: a Rusty terminal workspace releases a beta 2021-04-20 :: Aram Drevekenin After long months of work by a dedicated team of enthusiasts, today we are proud to announce the release of the beta version of Zellij! Zellij is a terminal workspace and multiplexer written in Rust, aiming to become a general purpose application development platform in the future. How to install? Download a prebuilt

                                                                                  Zellij: a Rusty terminal workspace releases a beta
                                                                                • RustでWebAssemblyインタプリタ作った話 - Qiita

                                                                                  はじめに RustでWebAssemblyインタプリタを作ったのでその実装の話や、wasmの仕様についての記事です。 HListを使ったジェネリックプログラミングの話や、最後の方には「自作言語 on 自作wasmインタプリタ on 自作wasmインタプリタ」みたいな話も出てきます。 分かりにくい所や間違っている所は指摘してくださると助かります。 リポジトリ 作った成果物のリポジトリです。まだpublishはしていませんがクレートになっています。 cargoのexample実行に対応しているのでそれを見ればだいたい分かると思います。 今回はadc-2019-12-22というタグがついたコミットのソースを元に解説していきます。 https://github.com/kgtkr/wasm-rs/tree/adc-2019-12-22 仕様書 この記事では仕様書を読みながら順番に実装を解説していき

                                                                                    RustでWebAssemblyインタプリタ作った話 - Qiita