タグ

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

  • 関連タグはありません

タグの絞り込みを解除

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

  • PEG Parser Generator + Packrat Parserを実装してみた

    詳しい解説はネット上に沢山存在するので割愛しますが、ご覧のようにEBNFの表現の一つに(EBNFはいくつかの表現方法があるようです。例えばこれはW3Cが定義しているものです)似ています。違いは先に述べたようにChoiceの働きが異なるのと、文法上に先読みが存在することです。 このPEGを使って四則演算を受理するシンプルなルールを書くとすると、例えばこのようになります。 # expressionからパースが始まるとする expression <- additive additive <- multitive ("+" multitive / "-" multitive)* multitive <- primary ("*" primary / "/" primary)* primary <- "(" expression ")" / number number <- digit+ digit

    PEG Parser Generator + Packrat Parserを実装してみた
    sh19910711
    sh19910711 2024/05/05
    "PEGを知ったのは5、6年前で、CoffeeScriptとかelmとかTypeScriptとか、AltJSが実用的なものとして認知され始めた時期 / PEG.jsを久しぶりに触っているうちにPEG Parser Generatorそれ自体を実装してみたいという気になって" 2018
  • WebHID APIを使ってJoy-ConとChromeを簡単コネクト - Qiita

    Joy-ConとChromeがツナガル こんな感じでJoy-Conをクネクネ動かしたりスティックをグリグリしたりすると、Chromeに表示されたJoy-Conが連動して動きます。Joy-Conって、普段はNintendo Switchゲームする時に使うコントローラーなので、こうしてブラウザのChromeと連動して動くだけでワクワクします。 このアプリはGoogleエンジニアの方が作られたもので、以下のGitHubで公開されています。 https://tomayac.github.io/joy-con-webhid/demo/ https://github.com/tomayac/joy-con-webhid どうやっているの? **WebHID API**という技術が使われています。 このAPIを使うことで、Webアプリケーションからニンテンドースイッチのジョイコンやプレイステーション

    WebHID APIを使ってJoy-ConとChromeを簡単コネクト - Qiita
    sh19910711
    sh19910711 2024/04/26
    "WebHID API: キーボードやマウス以外のさまざまなデバイスを制御 + Chrome89ではWebHIDがデフォルトで有効 / Joy-Conをクネクネ動かしたりスティックをグリグリしたりすると、Chromeに表示されたJoy-Conが連動" 2021
  • lumeで個人サイトを作り直した - はいばらのブログ

    フロントエンド技術に触れる機会を作るために、定期的に個人サイトを作り直している。 今回はVue.jsのSPAから、Deno向け静的サイトジェネレータであるlumeを使った構成にごっそり変えた。 lume.land SSGをしっかり触るのは初めてだったこともあり、ひとまずlumeの公式サイトにあるドキュメントを読んだ。 こういう文書が整理されているのは当にありがたい。 手を動かしながらチュートリアルを進めてみて、最近のNext.jsやNuxt.jsよりずっとシンプルで、Jekyllなどよりも取り回しが良く拡張性が高い、というような感触があった。 今回はこのような構成で作ってみた。 静的サイトジェネレータ: lume テンプレートエンジン: JSX CSSフレームワーク: Tailwind CSS ホスティング: Cloudflare Pages またTailwindの実装集であるHyper

    lumeで個人サイトを作り直した - はいばらのブログ
    sh19910711
    sh19910711 2024/04/25
    "フロントエンド技術に触れる機会を作るために、定期的に個人サイトを作り直している / lume: Deno向け静的サイトジェネレータ + Next.jsやNuxt.jsよりずっとシンプルで、Jekyllなどよりも取り回しが良く拡張性が高い" 2023
  • 社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちわ。フロントエンドエキスパートチームの@nus3_です。 最近、社内用の npm パッケージを作る必要があり、そのパッケージは依存が少なく、実装もシンプルだったので、npm パッケージの作成には Deno と dnt を採用しました。 dnt とは dnt は Deno で実装したモジュールを CJS、ESM に対応した npm パッケージに変換してくれるビルドツールです。 使い方も簡単で、次のように dnt が提供するbuild関数にエントリーポイントや出力先などの必要な情報を渡すだけです。 import { build } from "https://deno.land/x/dnt@0.38.1/mod.ts"; await build({ entryPoints: ["./mod/index.ts"], // Denoで実装したモジュールのエントリーポイント outDir:

    社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    sh19910711
    sh19910711 2024/04/24
    "dnt: Deno で実装したモジュールを CJS、ESM に対応した npm パッケージに変換してくれるビルドツール / Deno: Linter や Formatter、tsconfig の設定をせずにすぐに開発を始められる + 実装したい機能に集中できた" 2023
  • Vercel AI SDK で Ollama を使う方法

    はじめに Vercel AI SDK (React 等から LLM の API をいい感じに stream で呼び出せるようにするやつ) から Ollama (OSS の LLM をローカルで動かすやつ) を呼び出す方法を調べました。 参考 課題 Vercel AI SDK の サンプルコードを、OpenAI から Ollama の langchain のモデルを使って、置き換えて動かそうとしたけど、なぜかうまくいかなかった。 解決方法 ここのディスカッションにいろんな解決方法が記載されている。その中からいくつか試した。 解決方法 1 OpenAI Compatibility API を使う OpenAI API と同じ API で呼び出す方法。呼び出せるモデルに制約がある。マルチモーダルの llava は呼び出せない。 URL 変えるくらい。シンプル。すんなり動いた。 解決方法 2 la

    Vercel AI SDK で Ollama を使う方法
    sh19910711
    sh19910711 2024/04/23
    "Vercel AI SDK: React 等から LLM の API をいい感じに stream で呼び出せる / OpenAI Compatibility API (Ollama): OpenAI API と同じ API で呼び出す + 呼び出せるモデルに制約 / 最近、langchain のライブラリの一部が、coreとcommunityにわかれた"
  • Babylon.js で簡単 WebXR

    sh19910711
    sh19910711 2024/04/23
    "Babylon.js: シンプルなコードで3Dシーンを簡単にWebXR対応コンテンツにできる / Babylon.js 5.0ではWebXR LayersやLightning Estimation、Image Trackingにも対応 / WebXR Device API: ChromiumベースのEdgeとChromeは標準対応" 2022
  • GatsbyJS v2 はじめの一歩 (5) GraphQLによるデータ管理 - mottox2 blog

    GatsbyJS v2 はじめの一歩 (5) GraphQLによるデータ管理 2018.09.04 今までの記事 GatsbyJS v2 はじめの一歩 (1) 開発環境の立ち上げ GatsbyJS v2 はじめの一歩 (2) 実際にページを作る GatsbyJS v2 はじめの一歩 (3) ページにスタイルを当てる GatsbyJS v2 はじめの一歩 (4) gatsby buildとデプロイ Webページを構成するのに必要なのは、HTML, CSS, JSとDataです。Dataというのは stringという文字列だったり、42という数字だったり、{ pizza: true }のようなオブジェクトで表現できます。データはReact Componentの外にあるべきという考えに基づいており、マークダウンやCSVファイル、一般的なデータベース、Web APIなども含めてデータ層で持っておき

    GatsbyJS v2 はじめの一歩 (5) GraphQLによるデータ管理 - mottox2 blog
    sh19910711
    sh19910711 2024/04/18
    "Webページを構成するのに必要なのは、HTML, CSS, JSとData / GatsbyJS: データとファイルを同列に扱えることによってよりマイクロサービス志向でコンテンツとビューの分離が実現できている" 2018
  • WebGLからWebGPUにステップアップしよう! - Qiita

    はじめに この記事はHIKKYアドベントカレンダー2023の10日目の記事です。 こんにちは、 @emadurandal と申します。HIKKYのエンジン開発部でメタバースエンジンの開発に従事しています。 今回は、WebGLからWebGPUへのステップアップについての記事を書いてみようと思います。 なぜWebGPUが登場したのか WebGLはOpenGL ESのAPI体系をブラウザに移植したものです。 そのOpenGLですが、歴史的経緯により、GPUCPUの性能を完全に引き出しきれないレガシーな部分を引きずっていました。 詳しくはこちらの記事をご覧ください。 そのため、WebGL2の次はWebGL3というわけにはいかなかったようです。 よりGPUの性能を引き出せる、よりモダンなAPI体系が必要でした。ネイティブにはVulkan APIがありますが、それをそのままブラウザに持ってくるには、

    WebGLからWebGPUにステップアップしよう! - Qiita
    sh19910711
    sh19910711 2024/04/13
    "WebGPU: Metal、DirectX12、Vulkanそれぞれの特徴をうまくまとめ、その共通項となるAPI / Compute Shaderがサポートされ、GPUを汎用計算に使える / TensorFlow.jsなどがWebGPUのCompute Shaderを活用するように対応を始めている" 2023
  • Supabase+pgvector+OpenAI API+Remixで類似度検索を実装してみる

    はじめに こんにちは、健常者エミュレータ事例集の管理人をしているcontradiction29です。 「健常者エミュレータ事例集」は、「個人の属性に寄らず、誰もが暗黙知を投稿でき、閲覧でき、評価できるプラットフォームを作る」をコンセプトに開発が進められているプロジェクトです。以下のリンクからアクセスできるので、よかったら閲覧してみてください。 ユーザーはテンプレートにそって経験を整理し、知識として共有し、自由に評価し、コメントで議論ができます。GPL3.0ライセンスの元、コード自体も公開されています。詳しくは以下のレポジトリをご覧ください。 健常者エミュレータ事例集には、今読んでいる記事と関連した記事を表示する機能が実装されています。例えば、記事事中に料理の味を悪く言うのはよくないの関連記事は以下のようになっています。 ※ 2024-04-12時点です 今回は、この関連記事の推薦機能の裏

    Supabase+pgvector+OpenAI API+Remixで類似度検索を実装してみる
    sh19910711
    sh19910711 2024/04/12
    "Supabase: 様々なバックエンド機能の集合体ですが、その中にマネージドPostgresSQL + pgvectorを利用することができるため、ベクターストアとしての利用が可能 / インデックスを作成することを推奨: USING hnsw (embedding vector_ip_ops)"
  • Post by @hamalog

    まず、自分は受託制作がメインの会社(PixelGrid)に務めていて、一応、JavaScriptやる会社ですと謳っているのもあって、JavaScriptUIを組む仕事が結構多い。自分は、マークアップ出身なJavaScriptプログラマーみたいな感じになってる。最近よくあるのが、いままでFlashで作っていたものをJSでーとかだったり、WebアプリをAjaxベースでーとか、そういうのとかをメインにやったりしてる。 そのような状況で、複雑なUIを組むためには、設計方法に悩む。jQueryは素晴らしいけども、入り組んだUIを設計するための手段は提供してくれない。そんな状況で、自分はjQuery UIのベースになっているwidgetというフレームワークを使ってイベントのやりくりをしていたけれども、これはあくまでjQueryプラグインをOOPで書けるようにしたようにしたもので、そこまで豊富な機能が

    Post by @hamalog
    sh19910711
    sh19910711 2024/04/04
    "CoffeeScript + Backbone.jsの組み合わせでコードを書くことで、実際に実務をこなすためにかかった時間を、かなり短縮できた / 自分のCoffeeScriptに対する認識は、「フレームワークが一枚かまされたJavaScript」という感じだ" 2012
  • SVG勉強した流れを残したよ - syonx

    zenn.dev SVGのベジェ曲線の基礎から試しながらだんだん応用して進化していく様子をステップごとに区切って残しました。 その中身はこの Zenn の記事にまかせて、ここでは苦労ポイントみたいなのを書いておきます。 こういうのをつくりたい QuartzComposer UnrealEngine Blueprint 懐かしの QuartzComposer …。こういうのを使ってできるインタラクティブグラフィックやゲームではなく、このGUI自体をつくりたい、というお話です。 どうやるか このワイヤーというかコネクターの曲線をどう実現するかが一番悩ましかった。 とりあえず慣れてるVueでノードコンポーネントのところだけ作ってみたりしたけど、配置するにはキャンバスみたいな概念が必要そう。 いろいろ試行錯誤したりしていると、やっぱりSVGじゃね?となって久方ぶりのD3.jsも試してみたけどなんか

    SVG勉強した流れを残したよ - syonx
    sh19910711
    sh19910711 2024/03/10
    "やっぱりSVGじゃね?となって久方ぶりのD3.jsも試してみたけどなんか違う / SVGとVueは相性が良い: Reactもいっしょだと思うけど。グラフィックがリアクティブに動作すると面白い" 2022
  • Remixはこれから間違いなく伸びていくので、2025年頃が楽しみ - Life is Really Short, Have Your Life!!

    気が変わった。T3 Stackそのものは推して行くが、Theoさんの推す構成ではない。 aroundthedistance.hatenadiary.jp フルスタックはReact前提に RailsでフルスタックWebフレームワークの扉が開いた。Rails,Cake.Django等は、MVCのMCがメイン。Vが弱い。Vにテンプレートエンジンを使い、jQueryを使ってインタラクティブなUIを作っていたけど、もうそれが最適な時代ではない。ReactUIをプログラミングする前提に立つと、ルーティングとrevalidateがルート単位で可能なFWが一番開発生産性が高くなる。可能であれば、ビジネスロジックもそこに入れて、だ。 Theoさん提唱のT3 Stackでは、Next.js + tRPCがコアのコンセプト。UINext.jsで書いて、スキーマを決めてtRPCでエンドポイントを生やし、サーバ

    Remixはこれから間違いなく伸びていくので、2025年頃が楽しみ - Life is Really Short, Have Your Life!!
    sh19910711
    sh19910711 2024/03/09
    "RailsでフルスタックWebフレームワークの扉が開いた + MVCのMCがメイン。Vが弱い / T3 Stack: UIはNext.jsで書いて、スキーマを決めてtRPCでエンドポイントを生やし、サーバー通信を行ってUIを更新する" 2023
  • Oramaという検索エンジンでブログ検索を作ってみた

    この記事は、情報検索・検索技術 Advent Calendar 2023の15日目の記事です。 昨年に続き2回目の情報検索のAdvent Calendar参戦です。 今年は、夏にオンライン参加したBerlin Buzzwordsの「The Debate Returns (with more vectors) Which Search Engine?」というセッションでPhilippさんが話題に出したOrama searchという検索エンジンを紹介してみようと思います(Oramaが正式名称なのかな?)。 Oramaという検索エンジン 公式サイトのトップにも記載がありますが、エッジで動作する全文検索&ベクトル検索エンジンというもののようです。 なにそれ?という感じがしますが、オープンソース版のドキュメントを見るともう少しわかりやすい説明になっています。 Orama is a fast, bat

    Oramaという検索エンジンでブログ検索を作ってみた
    sh19910711
    sh19910711 2024/02/24
    "Orama: TypeScriptで書かれた、依存なしで利用できる検索エンジン + エッジで動作する全文検索&ベクトル検索 / tokenize関数を変更できる + 形態素解析ライブラリとして、wakachigakiというライブラリを利用" / 2023
  • Array.prototype.with による不変の配列の更新  |  Blog  |  web.dev

    最近、配列に対して呼び出すことができる、相互運用可能な新しいメソッドがブラウザに導入されました。 Array.prototype.with()。 対応ブラウザ <ph type="x-smartling-placeholder"></ph> 110 回 <ph type="x-smartling-placeholder"></ph> 110 回 <ph type="x-smartling-placeholder"></ph> 115 <ph type="x-smartling-placeholder"></ph> 16 ソース この記事では、このメソッドの仕組みと、このメソッドを使用して配列を更新する方法について説明します。 コピーされます。 Array.prototype.with(index, value) の概要 Array.prototype.with(index, value)

    Array.prototype.with による不変の配列の更新  |  Blog  |  web.dev
    sh19910711
    sh19910711 2024/02/21
    おお、並べ替えも非破壊的にできるようになったのか / "配列に対して呼び出すことができる新しい相互運用可能なメソッド Array.prototype.with() がブラウザに追加 / Array.prototype.toSorted(): 元の配列を変更せずに配列を並べ替え"
  • Latest topics > JS開発のつらみ - outsider reflex

    Latest topics > JS開発のつらみ 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « 「まんがでわかるLinux シス管系女子」から「ITエンジニア1年生のための まんがでわかるLinux」への改題の意図 Main 理解の不可能性と断絶について » JS開発のつらみ - Nov 20, 2023 JavaScript界隈はソフトウェアのトレンドの移り変わり・流行り廃りが激しい、とはよく聞く。 「だから辛い」とはどういうことなのか、について考えたことのあれこれをXに垂れ流したのを、再編集してまとめた。 流行り廃りの何が辛いのか きっとすでに誰か偉い人も言ってそうだけど、今のWeb技術、特にJavaScriptのつらみは、「プロダクトやサ

    sh19910711
    sh19910711 2024/02/18
    便利そう / "仮に「このフレームワークは2025年に開発放棄します」と最初から明記されてれば、2023年から開発を始めて10年もたせる前提のシステムでは使わないでおこうって判断できる" / 2023
  • 毒気のある Web サービスをすべて猫化する

    貴様もにしてやろうか……! 文脈 これは個人的な話にはなるのですが、最近(色々と知見を積んで)ユーザーコンテンツと向き合う必要のある Web サービスを業務で作っている方々への解像度が上がり、ユーザーコンテンツに対して業務として向き合っている人の中には、その人にとって直視したくないコンテンツと業務として向き合う必要が発生している、と言う事へ関心が向くようになりました。 それでこの見たくないコンテンツをなんとかして技術的に 解毒できないかと考えていたところ、最近始めた misskey.io の謎機能である化を応用することでなんとかならないか? と思い立ち色々とやってみたところ、そこそこに良い感じの UserScript が出来上がったので、今日はそれを共有したいと思います。 ※ なおこの UserScript を適用する範囲は皆様にお任せします。 すべてのコンテンツをにする UserS

    毒気のある Web サービスをすべて猫化する
    sh19910711
    sh19910711 2024/02/18
    "misskey\.io の謎機能である猫化を応用する / すべての Web サイト・Web サービスで『な』を『にゃ』に置換 / DOM の書き換えを MutationObserver で検出 + Node.TEXT_NODE のみを書き換え > 動的な Web アプリケーションでも動作" / 2023
  • クリックだけでプログラムが作れる夢のプログラミング環境作った - ABAの日誌

    ウソです。いやウソではないか……誇張です。 sarad p5.js demo 上のデモ開いて、左クリックでコード生成、右クリックでコード削除。運が良いと何かのグラフィックスを描くプログラムができる。あまりに何も描かないようだったら一旦右下の[Reset]を押して下さい。グラフィックスAPIはp5.js利用。 左クリックで生成されるコードはRecurrentJSを使ったLSTMで作られている。LSTMやRNNをつかった文書生成はいろんなところでやられていて、有名どころだとThe Unreasonable Effectiveness of Recurrent Neural Networksがある。この記事ではLinuxのソースコードをわせてCのプログラムを作る例もある。ただ、自動生成でできる文やプログラムはいわゆるワードサラダで、文には意味が無いし、プログラムはコンパイルできない。 ならワー

    クリックだけでプログラムが作れる夢のプログラミング環境作った - ABAの日誌
    sh19910711
    sh19910711 2024/02/18
    "生成されるコードはRecurrentJSを使ったLSTMで作られている / 自動生成でできる文やプログラムはいわゆるワードサラダ / ならワードサラダなプログラムでも実行できる処理系を作ればいいんではないか" / 2016
  • OxcのLinter、`oxlint`のコードを読む | Memory ice cubes

    Linter | The JavaScript Oxidation Compiler https://oxc-project.github.io/docs/guide/usage/linter.html コントリビュートした記念としても、記録を残しておこうかと。 Oxcとoxlint oxc-project/oxc: ⚓ A collection of JavaScript tools written in Rust. https://github.com/oxc-project/oxc Oxcって名前は、Rustで書かれたJS向けツールセット群の総称みたいなもの。 Linter Parser Resolver Formatter Transformer Minifier etc… みたく手広くカバーしてて、eslintの置き換え(完全互換ではないが50x-100x速い)を目指してるのが、

    OxcのLinter、`oxlint`のコードを読む | Memory ice cubes
    sh19910711
    sh19910711 2024/02/09
    "oxc-project: Rustで書かれたJS向けツールセット群の総称みたいなもの / oxlint: eslintの置き換え(完全互換ではないが50x-100x速い)を目指してる / Linterを作る場合の、最小構成のコードも公開"
  • 控えめな App Router と持続可能な開発 - PWA Night vol.59

    PWA Night vol.59 ~フロントエンド設計の振り返り〜 (2024.01.17) https://pwanight.connpass.com/event/306410/ で使用したスライドです。編 20 分。 ===== ▼ 元データで参考リンクとして張っていた URL たち …

    控えめな App Router と持続可能な開発 - PWA Night vol.59
    sh19910711
    sh19910711 2024/01/29
    "とりあえず普通のWebアプリ作りたい / ほどほどに使おう / 必要になるまでApp Routerの全力は持ち越し / 依存の肥大化は開発の持続性を損ねる / 過度に禁欲的にはならずとも常に自問していくスタイル"
  • 続・ブラウザ上でEmbeddingsを作る | Memory ice cubes

    あらすじ 前回の記事で、Tensorflow.jsのUSEを使って、ブラウザ上でEmbeddingsは作れた しかし精度がいまいち というところで、より大きいモデルがあれば・・?それをブラウザから使えたら・・?と思い、いろいろ探してみた。 すると、Web AIっていう野心的なプロジェクトがあって、T5みたいなモデルも使えるらしいことがわかった。 GitHub - visheratin/web-ai: Run modern deep learning models in the browser. ので、やってみた。 が、しかし https://github.com/leader22/text-embeddings-by-webai 動かせるようになるまで体にPRを送ったりと時間はかかったけど、まあできた。 ただ、やっぱ日語の精度はイマイチだな〜という感想に終わった。 続・これだから日

    続・ブラウザ上でEmbeddingsを作る | Memory ice cubes
    sh19910711
    sh19910711 2023/11/24
    "Web AIっていう野心的なプロジェクトがあって、T5みたいなモデルも使えるらしい / onnxruntime-webに依存してML系のタスクができるライブラリは他にもあるらしく / TransformersのJSポートがあった"