タグ

関連タグで絞り込む (251)

タグの絞り込みを解除

JavaScriptとjavascriptに関するsh19910711のブックマーク (1,979)

  • 大規模グラフデータの可視化:Cosmographの紹介

    テラーノベルで機械学習を中心に担当している川尻です。最近、グラフニューラルネットワーク(GNN)に注目しており、サーベイや検証をしております。以前にも以下の記事を書きました。 複雑なアルゴリズムを適用する前に、当たりをつけたり、結果を確認したりするためには、可視化が重要です。記事では、いくつかあるグラフの可視化ツールの中でも、大規模なネットワークでも簡単に使えるCosmographを紹介し、テラーノベルのデータを使って可視化してみます。 Cosmographとは グラフデータを可視化するツールはたくさんありますが、もっとも有名なのはgrapgvizです。graphvizにはsfdp[1]という大規模なデータに対応したアルゴリズムが用意されていますが、ノード数が10k以上のような大規模なグラフになると計算時間もかなりかかって、パラメータ調整も大変になります。 Cosmographは、Web

    大規模グラフデータの可視化:Cosmographの紹介
    sh19910711
    sh19910711 2023/09/07
    "Cosmograph: WebGLを使用して大規模なグラフをレンダリングできる + 100k以上のノードを持つグラフでも計算しながらレンダリング / npmパッケージとして公開されているため、自分でウェブアプリに組み込むことも可能"
  • Bullmqを使ったジョブキューの実装 | gihyo.jp

    連載では分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。 今回は、サーバー上で実行されるタスクを管理するシステムであるジョブキューについての全般と、そのライブラリであるBullMQについて紹介します。 ジョブキューとは ジョブキューは、Webサーバー上で発生する様々なタスク(ジョブ)を管理するシステムで、タスクを複数のサーバーで分散して処理させたり、タスク失敗時にリトライしたりする機能を持ちます。 Misskeyでもジョブキューを活用しており、例えばActivityPubにおけるアクティビティの受信および配送や、ユーザーデータのインポートエクスポート処理をジョブとして管理しています。 Misskeyが使っているジョブキューのライブラリであるBullMQは、毎日指定した時刻にジョブを実行する機能などもあるので、サーバーの統

    Bullmqを使ったジョブキューの実装 | gihyo.jp
    sh19910711
    sh19910711 2023/08/13
    "BullMQ: TypeScriptネイティブ + 活発にメンテ + 性能が高い / ジョブ間の親子関係を定義できたり / QueueはRedisとやり取りするだけ + ジョブを処理するWorkerだけRustで書くといったことも可能"
  • ruby.wasm で await を使う - tmtms のメモ

    最近はずっと ruby.wasm で遊んでます。 2023/5/19 に ruby.wasm 2.0 が出ました。 ruby.wasm 1.0 では await がうまく動かないことがあったけど、2.0 でちゃんと動くようになったんで、記念に前の記事以降にやったこと等をまとめてみた。 await ruby.wasm で await を使うには2つ問題がある。 Ruby スクリプトを eval ではなく evalAsync で実行する必要がある。 スタックサイズが小さくてすぐに SystemStackError エラーが出てしまう。 Ruby スクリプトを eval ではなく evalAsync で実行する必要がある HTML 内で <script type="text/ruby"> で気軽に Ruby スクリプトを書いたときに await を使うとエラーになってしまう。(ruby.wasm

    ruby.wasm で await を使う - tmtms のメモ
    sh19910711
    sh19910711 2023/07/21
    "ruby.wasm 1.0 では await がうまく動かないことがあったけど、2.0 でちゃんと動くように / JavaScript の値は Ruby からは JS::Object として見える / 値の型に応じて JS::Object#to_i や JS::Object#to_s みたいにして使うことになる"
  • Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する

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

    Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する
    sh19910711
    sh19910711 2023/06/23
    "Service WorkerとWasmを組み合わせて、ブラウザー上でPHPのコードを実行する / サーバー処理をブラウザー上でエミュレートできる / WordPressのPlaygroundもこの方法で実装されていたりします"
  • Document Picture-in-Picture が便利 - ASnoKaze blog

    ピクチャーインピクチャー (PIP) ピクチャーインピクチャー (PIP)は、ブラウザ上で小窓で動画視聴できる仕組みです。 例えば、YouTube上で右クリックして、『ピクチャー イン ピクチャー』を選択すると 次のように小窓で動画を再生してくれます。 他のタブを表示したり、ウィンドウを最小化しても再生され続けるため、作業しながらの視聴時に大変助かります。 Document Picture-in-Picture 現在の『ピクチャー イン ピクチャー』はHTMLVideoElementでしか行なえません。そのためYouTubeのプレイヤー操作(シークバー操作やショートカットキーによる早送り/巻き戻し)は出来ません。 現在 任意のHTMLElements を『ピクチャー イン ピクチャー』可能にする「Document Picture-in-Picture Explained」の議論がされいます

    Document Picture-in-Picture が便利 - ASnoKaze blog
    sh19910711
    sh19910711 2023/05/06
    "現在の『ピクチャー イン ピクチャー』はHTMLVideoElementでしか行なえません / 任意のHTMLElements を『ピクチャー イン ピクチャー』可能にする「Document Picture-in-Picture Explained」の議論 / Chrome Canaryですでに動く"
  • OpenAI APIで思い出す、Server-Sent Events - console.lealog();

    Server-Sent Events・・・お前・・・生きていたのか・・・! っていう気持ちになったので、ちょっとだけまとめておく。 OpenAI API 話題のChatGPTAPIが公開されていて、それぞれの言語のライブラリだったりREST APIだったりから利用できる。 それを使ってチャットを実装する場合に、GUIみたく、レスポンスを一気にまとめてではなくちょっとずつ返ってくるようにしたいとする。 そこで、あの挙動はどうやって実現するのか?ってなった人も多いはず。 あのレスポンスをちょっとずつ、ストリーミングで返してもらう挙動を実現するためには、`stream: true`というオプションを指定する。 これはREST APIJavaScriptから利用する場合の指定。 const res = await fetch("https://api.openai.com/v1/chat/

    OpenAI APIで思い出す、Server-Sent Events - console.lealog();
    sh19910711
    sh19910711 2023/04/27
    "Server-Sent Events / チャットを実装する場合に、本家GUIみたく、レスポンスを一気にまとめてではなくちょっとずつ返ってくるようにしたい / SSE: DevToolsで見えるHTTPのコネクションは1つ + EventSourceという専用のAPI"
  • GPUラーメンを作ろう - Qiita

    概要 デモはこちら Gitはこちら Three.jsでラーメンを作ります。 ラーメンの主な成分はGPU Trailですが、こちらは前の記事でベースを作ったのでそちらも参照してください。だいたい同じ内容です。 Three.jsでGPU Trails 今回はこいつにメッシュを貼ってべ応えのあるラーメンに仕上げていきたいと思います。 GPUComputationRendererの初期化 GPUComputationRendererを初期化します。 initComputeRenderer(){ this.computeRenderer = new GPUComputationRenderer(this.length,this.num,this.renderer); let initPositionTex = this.computeRenderer.createTexture(); let in

    GPUラーメンを作ろう - Qiita
    sh19910711
    sh19910711 2023/04/09
    2019 / "GPUラーメンを作ろう / 美味しい麺を作るためにはやはり麺の光沢感というのが必要 / blenderでぽちぽち作ってGLTFで書き出し + gltfの読み込みにはthree-gltf2-loaderを使いました"
  • Web技術年表 - 角谷鵜技術五十三次

    sh19910711
    sh19910711 2023/04/09
    2021 / "1958 Lispリリース / 1991.8 World Wide Web開始 / 1993 CGIの登場。動的にHTMLを生成できるように / 1995.11 HTML2.0(RFC 1866) / 1996 Netscape Navigator 2.0でJavaScriptがサポート"
  • サイトのテーマ切り替え機能を ChatGPT と GitHub Copilot に書かせる

    このサイトのテーマ切り替え機能だが、ほぼほぼ実装が完了している。しかし、最後にテーマを切り替えるところをドロップダウンリストなりなんなりで実装するのがめんどくさくてどうにも気のりしなかった。やりかけのまま放置するのも気持ちが悪いのでやり始めたが、やはりめんどくさい…。React も TS も書きたくない…。 そうか!! ChatGPT にコードを書かせればよいのではないか?と思ったので書かせてみたら思いのほかあっさりできてしまったので驚愕している。 コンテキストもクソもないめちゃくちゃ雑な質問で投げた。驚くべきことに onChange とか useState あたりの一番めんどくさそうな部分を書いて返してきた。 返ってきたコードを抜粋すると下記の通りだ。 import React, { useState } from 'react'; function SelectBox() { cons

    sh19910711
    sh19910711 2023/03/26
    "ドロップダウンリストなりなんなりで実装するのがめんどくさくて / React も TS も書きたくない / ChatGPT にコードを書かせればよいのではないか?と思ったので書かせてみたら思いのほかあっさりできてしまった"
  • ブラウザで動くSQLite alternativesとしてのLovefield - console.lealog();

    タイトルはさておき、LovefieldというSQLライクなAPIが使えるライブラリがあって、個人的に便利だったので。 Lovefieldとは https://github.com/google/lovefield Google製で Pure JSの クロスブラウザーで動作する SQLライクなAPIが使えるリレーショナルデータベース っていうライブラリ。 実績としてはGmailで使われてたらしい。(現在もそうなのかは不明) Is Lovefield production quality? Yes. As of May 2016, Inbox by GMail heavily relies on Lovefield to perform complex client-side structural data queries. https://github.com/google/lovefiel

    ブラウザで動くSQLite alternativesとしてのLovefield - console.lealog();
    sh19910711
    sh19910711 2023/03/24
    "Lovefield: Gmailで使われてたらしい。(現在もそうなのかは不明) / SQLiteのWASM版: br圧縮でも最低300KBくらいかかる + インメモリでだけ使いたいのに、そう設定してもIndexedDBが必要だったり"
  • ほんの数時間でChatGPTにゲームを作ってもらいリリースまで持って行けた衝撃|毛糸祭り

    ChatGPT(GPT-4)を使用して作ったゲーム「Straight Line Challenge」をリリースしました! 以下のリンクから実際に遊べます。https://t.co/gfiJk252Xv 2点間をきれいな直線で結び、高得点を目指しましょう! 一部スタイルを除き、ほぼすべてChatGPTがコードを生成しています。#ChatGPT #GPT4 pic.twitter.com/MrnrihMQAJ — 毛糸祭り (@keitomatsuri) March 18, 2023 上記ツイートの通り、ChatGPT(GPT-4)を使用して作ったゲーム「Straight Line Challenge」をリリースしました。 以下のリンクから実際に遊べるので、気軽に遊んでみてください。 https://keitomatsuri.github.io/straight-line-challenge/

    ほんの数時間でChatGPTにゲームを作ってもらいリリースまで持って行けた衝撃|毛糸祭り
    sh19910711
    sh19910711 2023/03/19
    "いきなり完成形を求めるよりも、そのもととなるシンプルなアプリケーションに徐々に機能を追加していくというやり方が現状よさそう / より効率的に開発を進められることを期待してライブラリを指定してみました"
  • ruby.wasm で MySQL Parameters を作り直した

    プライベートでは基的に誰の役にも立たないプログラムを作ってるんだけど、たまにうっかり MySQL Parameters みたいな役に立つものを作ってしまう。 MySQL Parameters は5年くらい前に Vue.js の勉強のために作ってみたんだけど、結局そのまま Vue.js は触らず放置状態だった。MySQL の新しいバージョンが出るたびにデータは更新してたけど。 ruby.wasmRubyWebAssembly 上で動くようになり、ブラウザ上で JavaScript の代わりに使えるようになったんで、MySQL Parameters を Ruby で作り直してみた。 ruby.wasm ruby.wasm のページに載ってるけど、これだけでブラウザ上で Ruby が動く。簡単。 <html> <script src="https://cdn.jsdelivr.ne

    ruby.wasm で MySQL Parameters を作り直した
    sh19910711
    sh19910711 2023/02/25
    "Promise も JavaScript オブジェクトなので、Ruby から使うことができる / そのままだと then で Ruby の Object#then が呼ばれちゃうので削除 / 処理に時間が掛かる場合にはイルカをくるくる回す"
  • Angularの学習コストは本当に高いのか? | lacolaco's marginalia

    sh19910711
    sh19910711 2023/02/10
    2019 / "「学習コスト」における予算とは何 / ある技術の学習コスト考えるときには、その内訳を考えてみましょう。そのコストの中で資産になる部分、費用になる部分があるはず"
  • Web Machine Learningについて – Rest Term

    W3Cが推進しているWeb Machine Learning (WebML)という取り組みについて少し調べてみました。今回は解説記事というわけではなく個人用のメモに近いので正確性についてはあまり自信がありませんが。。 Web Machine Learning (WebML)とは Web Machine Learning | Making Machine Learning a first-class web citizen W3C Web Machine Learning Working Group standardizes Web APIs for in-device machine learning inference working together with the W3C ecosystem using well-received Community Group incubatio

    sh19910711
    sh19910711 2023/02/09
    2021 / "WebML: W3CではAPI仕様の標準化を推進しており、そのAPIをWebNN APIと呼んでいます / WebNN: 計算グラフを構築するためのAPIが一通り定義 + TensorFlow.jsやONNX.jsなどの既存のフレームワークもWebNN対応するらしい"
  • ブログをAstroに移行した

    ブログを Astro に移行した Astro とは Astro の公式サイトの説明を見てもらうのが早いかもしれない Astro is an all-in-one web framework for buildingfast, content-focusedwebsites. コンテンツ主体のウェブサイトを高速に作れるオールインワンウェブフレームワーク、という説明だが実際使ってみた感じ概ね合っていると思う. 特徴的なのが Astro で採用している Island Architecture と呼ばれるアーキテクチャで、UI の各コンポーネントを Island (島)のように見立ててそれぞれ独立したマイクロフロントエンドのように扱うことが出来る構成になっていること。 完全に Static な HTML とレンダリング後に Hydration (静的な HTML に後からイベントハンドラを設定)し

    ブログをAstroに移行した
    sh19910711
    sh19910711 2023/02/06
    "2022 年辺りから過剰な SPA への反省という文脈がある程度共通認識として開発者界隈に広がってきたように思える / それ以外のやり方を知らないという理由で SPA を利用し必要のない複雑性を受け入れ"
  • 当ブログを GatsbyJS で作り直した

    式年遷宮です。54. YATTEIKI のが商業書籍化決定! そして Coinhive の話 でも少し話題にしたのですが、元気を出したいときはブログを作るのがよくて、定期的にブログを作っています。思い返してみると、この習慣はプログラミングをしたことがないような頃からありました。それこそガラケーでHTMLタグ打ってたような時から。その時代にできる一番テンションの上がるスタックでブログを組むというのが楽しい。 まずはデザイン含め Rails で組んでいたブログの構造をそのまま GatsbyJS に移行するというところからはじめました。見た目変わっていないので、以前から知っていた人は違いに気づかないレベルかと思います。ちょくちょく改良を加えていきたい。 GatsbyJS GatsbyeJSというのは React 製の速度に特化した静的サイトジェネレーターです。自分のフロントエンドスタックとして

    sh19910711
    sh19910711 2023/02/01
    2018 / "それこそガラケーでHTMLタグ打ってたような時から。その時代にできる一番テンションの上がるスタックでブログを組むというのが楽しい / Webサイトはなるべく自分で運用しない作りにするのが現代の正義"
  • WebAssembly 版 ImageMagick 〜 magick-wasm の紹介 - Qiita

    はじめに サーバでなくブラウザ側で画像処理が動く WebAssembly 版 ImageMagick 〜 magick-wasm の使い方と 2023年初頭での状況報告です。 https://github.com/dlemstra/magick-wasm magick-wasm 体にまだブラックボックス要素があるので、体自体の解説はせず、今回は、実際に magick-wasm を使う事ができた。でも機能的に物足りなく感じた。それだけの解説エントリです。 書いたきっかけ magick-wasm 使いたいけど分からないと呟いてたら作者からリプライを貰ったので、自分で解説書くしかないなと。。٩( 'ω' )و There is a demo repository here: github.com/dlemstra/magic... that uses the library with @vu

    WebAssembly 版 ImageMagick 〜 magick-wasm の紹介 - Qiita
    sh19910711
    sh19910711 2023/01/20
    "magick-wasm: 入出力できる画像形式は充実している一方、画像処理の対応は控えめ + API はほぼ Magick++ / WebAssembly 版 ImageMagick はずっと前から色んな人が公開しているのですが、いずれもメンテナンスが止まってます"
  • C/C++に組み込める軽量JavaScriptエンジン “QuickJS” を試す - Qiita

    はじめに QuickJS は C/C++ に組み込める軽量な JavaScript エンジンである。ライセンスは MIT license。JavaScript を組み込みたいけれど V8 はオーバースペックすぎる、という時に有用と思われる。 デザインがシンプルすぎてかえって信頼感のある公式ページはこちら。 QuickJS Javascript Engine QuickJS is a small and embeddable Javascript engine. It supports the ES2020 specification including modules, asynchronous generators, proxies and BigInt. (訳:QuickJS は小さい・組み込み可能な JavaScript エンジンである。モジュール・非同期ジェネレータ・プロキシ・Bi

    C/C++に組み込める軽量JavaScriptエンジン “QuickJS” を試す - Qiita
    sh19910711
    sh19910711 2023/01/06
    2020 / "QuickJS: JavaScript を組み込みたいけれど V8 はオーバースペックすぎる、という時に有用 / ちなみに QuickJS 作者の Fabrice Bellard 氏は qemu や ffmpeg の作者でもある"
  • JavaScript を愛してくれ - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2022 の 21 日目の記事です。 前日は @mski_iksm による 毎日追加学習する機械学習モデルを、日次実行を止めずにコードをバージョンアップしたい - エムスリーテックブログ でした。 こんにちは。エンジニアリンググループの西川です。 好きな言語は JavaScript です。 適当に書いているので実はあまり習熟していないです。 さて、私は趣味JavaScript のことを頻繁に調べているのですが、この言語は「好き」と打つと「好きになれない」がサジェストに出てきます。 私はこのことを大変心苦しく思っていました。 JavaScript は思い立ったらすぐ書け、動かせる、非常に魅力的な言語です。今この記事を閲覧しているブラウザひとつで、サクッと実行できます。 そんな素晴らしい言語が嫌われることは極めて遺憾であり、やり切れな

    JavaScript を愛してくれ - エムスリーテックブログ
    sh19910711
    sh19910711 2022/12/22
    "趣味で JavaScript のことを頻繁に調べているのですが、この言語は「好き」と打つと「好きになれない」がサジェストに出てきます / 私はこのことを大変心苦しく思っていました"
  • JavaScriptでつくる量子コンピューター : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の4日目です。 「DSAS for Socialは量子コンピューターつかってるのかよ」という声が聞こえてきそうですが、すいません、単にタイミングの問題です。 ■古典計算脳の恐怖 JavaScriptで量子コンピューターがつくれるのか?もちろん無理です。物は。古典的計算機の上で動くブラウザの上で量子コンピューターが動くはずはありません。 しかしシミュレーターならば話は別です。たとえば来なら並列で計算すべきところを、順番に計算すればよいだけ。非決定性チューリングマシンだって、何だってつくれます。 何のためにJavaScriptで量子コンピューターをつくる必要があるのか。NO REASON! ですが、強いていえば「新しい計算パラダイムを学ぶため」です。古典計算機に憑かれた頭をリフレッシュして、

    JavaScriptでつくる量子コンピューター : DSAS開発者の部屋
    sh19910711
    sh19910711 2022/12/17
    2011 / "量子コンピューターはmapにあたる超並列計算を実現するが結果を観測しようとするとランダムにそのなかのただひとつの計算結果に収束 / 実用的な目的に供するにはreduceの段階でさまざまなトリックを弄する必要"