タグ

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

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとjavascriptとarticleに関するefclのブックマーク (701)

  • Web Streams API 入門 ― 基本概念から実践まで

    こんにちは、tasshi です。 この記事では、JavaScriptでストリーム処理を行うための標準API「Web Streams API(Streams API)」について、基概念から実践的な使い方、Node.js Streamとの違いまでを解説します。 記事は、TSKaigi 2025で発表した「Web Streams APIの基と実践、TypeScriptでの活用法」をベースに、現在のブラウザ対応状況などを踏まえて記事として再構成したものです。 ストリームとは何か Web Streams APIの話に入る前に、まず「ストリーム」という概念について整理します。 ストリームとは、データ入出力を逐次的に、効率よく扱うためのデータ構造です。 データをより細かく分割された単位(チャンク)の連続した流れとして表現します。 ストリーム自体は昔からある概念で、多くの開発言語でストリーム操作のイ

    Web Streams API 入門 ― 基本概念から実践まで
    efcl
    efcl 2026/08/04
    Web Streams APIの基本概念から使い方について。 `ReadableStream`/`TransformStream`/`WritableStream`の役割について解説している。teeやBackpressure、Node.js Streamとの違いも扱っている。
  • Cloudflare Workers and Containers now support inbound TCP connections and gRPC

    August 3, 2026Cloudflare Workers and Containers now support inbound TCP connections and gRPC AI is changing how people interact with computers, and voice is becoming an increasingly important part of that shift. Real-time assistants, AI-powered dictation, and other voice interfaces need low-latency communication between clients, models, and supporting services. Many developers use gRPC, a Remote P

    Cloudflare Workers and Containers now support inbound TCP connections and gRPC
    efcl
    efcl 2026/08/04
    Cloudflare WorkersとContainersのInbound TCP/gRPC対応について。 Workers Runtimeに`connect(socket)`ハンドラを追加し、Spectrum経由のTCPソケットをWorkerで受け取れる。 Durable ObjectsからContainersのTCPポートへ転送し、Container上のgRPCサーバで双方向
  • Your Worker can now have its own cache in front of it

    Your Worker can now have its own cache in front of it2026-07-06 Today we are launching Workers Cache: a tiered cache that sits in front of your Worker, configured by a single line of Wrangler config and the same Cache-Control headers you already know. When Workers Cache is enabled, every cacheable request to your Worker hits Cloudflare's cache first. If there's a fresh cached response, Cloudflare

    Your Worker can now have its own cache in front of it
    efcl
    efcl 2026/07/12
    Cloudflare Workers Cacheについて。 Workerの前段にキャッシュを置き、`wrangler.jsonc`の`cache.enabled`で有効化できる。 `Cache-Control`/`Vary`に対応し、`ctx.cache.purge()`でタグやパスによる削除ができる。
  • Flow has been ported to Rust | Flow

    efcl
    efcl 2026/06/25
    FlowをOCamlからRustへ移植した話。 AIを使った行ごとの移植、OCamlとRustの違い、移植後のビルドやテストの扱いについて書かれている。コードフリーズなしでの移植を行なっている。
  • On Rendering Diffs

    ON RENDERING DIFFS Posted on May 29, 2026 by @amadeus ██████╗ ██╗███████╗███████╗███████╗ ██╔══██╗██║██╔════╝██╔════╝██╔════╝ ██████████╗ ██║ ██║██║█████╗ █████╗ ███████╗ ╚═════════╝ ██║ ██║██║██╔══╝ ██╔══╝ ╚════██║ ██████╔╝██║██║ ██║ ███████║ ╚═════╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ██╗ ██████╗ ██╗███████╗███████╗███████╗ ██║ ██╔══██╗██║██╔════╝██╔════╝██╔════╝ ██████████╗ ██║ ██║██║█████╗ █████╗ ███████╗ ╚══

    On Rendering Diffs
    efcl
    efcl 2026/06/07
    diffレンダリングライブラリ`@pierre/diffs`の実装解説。 巨大なコード差分をブラウザで効率的に描画するための、仮想化やメモリ最適化の手法について書かれている。 sticky positioningを反転させてスクロール中の空白表示を防ぐ
  • 9 Times the Web Platform Was Influenced by Libraries | Jad Joubran

    The web platform didn't invent most of its best APIs. It caught up to them. Libraries did the R&D work in production. They got tested by thousands of developers across thousands of codebases, which is the kind of feedback you can't simulate. They got bug reports. They iterated. And, the patterns that survived eventually became part of the platform itself. If you've been writing JavaScript for a wh

    9 Times the Web Platform Was Influenced by Libraries | Jad Joubran
    efcl
    efcl 2026/05/16
    WebプラットフォームのネイティブAPIがライブラリから受けた影響を9つの事例で紹介する記事。 jQuery/SizzleのCSSセレクタが`querySelector`に、Bootstrapの`data-toggle`が`popovertarget`/`command`属性に。 jQueryの`.addClass()`が`classList`へ、Lodash/Un
  • Cleaning up import paths in JS/TS packages - Socket

    Cleaning up import paths in JS/TS packagespackage.json contains a local aliasing mechanism for import paths called "imports" it satisfies many use cases without tooling specific solutions like tsconfig.json Applications and libraries grow over time. In JavaScript and TypeScript these lead to large amounts of files over time due to various conventions and linting rules that may be held in a code ba

    Cleaning up import paths in JS/TS packages - Socket
    efcl
    efcl 2026/05/09
    Node.jsのsubpath Importsについて。 TypeScriptの`paths`やwebpackのaliasのような機能をNode.js標準の`package.json`の`imports`フィールド(Subpath Imports)で、`#components/*`のようなprefix付き指定で解決する方法を紹介している。
  • The Intl API: The best browser API you're not using | Polypane

    Chances are you've used Moment.js, date-fns, Luxon, or numeral.js at some point. Developers have relied on these libraries for years to format dates, numbers, and currencies. Those are all very useful libraries, but they also come with a cost: they add kilobytes to your download size and they require client-side code parsing: LibrarySizeMoment.js295 kBdate-fns77 kBluxon.js82 kBnumeral.js11 kBThe I

    The Intl API: The best browser API you're not using | Polypane
    efcl
    efcl 2026/04/15
    Intl APIについての解説記事。 `Intl.DateTimeFormat`/`Intl.RelativeTimeFormat`/`Intl.NumberFormat`などの日付や数値のフォーマットAPIを紹介している。 `Intl.ListFormat`/`Intl.PluralRules`/`Intl.Segmenter`/`Intl.Collator`などの使い方について
  • Signals, the push-pull based algorithm — Willy Brauner

    We have been using Signals in production for years via several modern front-end frameworks like Solid, Vue, and others, but few of us are able to explain how they work internally. I wanted to dig into it, especially diving deep into the push-pull based algorithm, the core mechanism behind their reactivity. The subject is fascinating. The state of the world Imagine an application as a world where w

    efcl
    efcl 2026/04/05
    Signalにおけるpush-pullベースのリアクティブアルゴリズムについての解説記事。 Signalの基本的な仕組みとして、値の変更時にサブスクライバーへ通知するPush型と、計算値を実際にアクセスされるまで遅延評価するPull型の組み
  • Scroll Restoration | TanStack Router Docs

    Hash/Top-of-Page Scrolling# Out of the box, TanStack Router supports both hash scrolling and top-of-page scrolling without any additional configuration. Scroll-to-top & Nested Scrollable Areas# By default, scroll-to-top mimics the behavior of the browser, which means only the window itself is scrolled to the top after successful navigation. For many apps however, it's common for the main scrollabl

    Scroll Restoration | TanStack Router Docs
    efcl
    efcl 2026/03/30
    TanStack Routerのスクロール復元(Scroll Restoration)ガイド。 ネストしたスクロールコンテナのスクロールに対応するために、特定のセレクタをscrollTop:0にする仕組みが入ってる
  • External import maps, today! • Lea Verou

    A few weeks ago, I posted Web dependencies are broken. Can we fix them?. Today’s post is a little less gloomy: Turns out that the major limitation that would allow centralized set-it-and-forget-it import map management can be lifted today, with excellent browser support! The core idea is that you can use DOM methods to inject an import map dynamically, by literally creating an <script type="import

    efcl
    efcl 2026/03/16
    External Import Mapsをビルドツールなしで利用する方法について。 `<script type="importmap">`をDOMで動的に注入することで、外部ファイルとしてImport Mapを管理できる。`document.currentScript.after()`を使い`<script type="importmap">`要素を挿入する
  • Temporal: The 9-Year Journey to Fix Time in JavaScript

    Welcome to our blog! I'm Jason Williams, a senior software engineer on Bloomberg's JavaScript Infrastructure and Terminal Experience team. Today the Bloomberg Terminal runs a lot of JavaScript. Our team provides a JavaScript environment to engineers across the company. Bloomberg may not be the first company you think of when discussing JavaScript. It certainly wasn't for me in 2018 before I worked

    Temporal: The 9-Year Journey to Fix Time in JavaScript
    efcl
    efcl 2026/03/12
    ECMAScript ProposalのTemporalがStage 4となりES2026に含まれることが決定するまでの経緯についての記事。 JavaScriptの`Date`オブジェクトが抱えるミュータブルな設計、タイムゾーン対応の不足、曖昧なパースなどの問題と、それを解決
  • Writing Good Unit Tests

    In my first job as a software engineer the project I was working on grew out of control. As often happens, use cases were added without proper refactoring and with more users we were drowning in support tickets and nothing seemed to work. It was clear we needed to push for quality so we started adding unit tests. The tech lead at the time mandated high test coverage. But here's the reality: writin

    efcl
    efcl 2026/02/14
    ユニットテストの書き方についての記事。 関数ではなく動作をテストすること、システム境界のみをモック化すること、インメモリデータベースの活用、HTTPのモックについてなど
  • JSer.info 15周年: 15年間のJavaScriptを振り返る

    2011年1月16日に開始したJSer.infoは、2026年1月16日で15周年を迎えました🎉 JSer.infoは15年間で820件の記事を公開し、13,606件のサイト/記事/ライブラリを紹介してきました。週1回の更新を15年間継続しています。 この記事では、15年間のJSer.infoのデータを振り返りながら、JavaScriptエコシステムがどのように変化してきたかを見ていきます。 なお、この記事のデータはJSer.infoで紹介した記事の傾向であり、JavaScriptエコシステム全体を示すものではありません。 また、2024-2025年はJSer.info自体の投稿数が減少しているため、データにも2025年に減少傾向が出てしまっている点に注意してください。 15年間の基統計 項目 数値 総投稿数 820回 総紹介記事数 13,606件 運営期間 2011年1月〜2026年

    JSer.info 15周年: 15年間のJavaScriptを振り返る
    efcl
    efcl 2026/01/16
    2011年から始めた JSer.info が15年経ったので、今までのデータを元に振り返り記事を書きました
  • Introducing: React Best Practices - Vercel

    We've encapsulated 10+ years of React and Next.js optimization knowledge into react-best-practices, a structured repository optimized for AI agents and LLMs. React performance work is usually, well, reactive. A release goes out, the app feels slower, and the team starts chasing symptoms. That’s expensive, and it’s easy to optimize the wrong thing. We’ve seen the same root causes across production

    Introducing: React Best Practices - Vercel
    efcl
    efcl 2026/01/15
    Vercelが10年以上のReact・Next.js最適化の知見をまとめた`react-best-practices`というリポジトリを公開した。 AIエージェントやLLM向けに最適化されたルール集で、40以上のルールが8カテゴリに分類されている。 ウォーターフォール
  • Streaming JSON in just 200 lines of JavaScript

    I was continueing my exploration of React server components when I stumbled upon on this article about progressive JSON. Dan Abramov describes a technique for streaming JSON from a server to a client in chunks, allowing the client to start rendering parts of the data before the entire payload has been received. This can significantly improve perceived performance, especially for large datasets. So

    Streaming JSON in just 200 lines of JavaScript
    efcl
    efcl 2026/01/14
    JSONをストリーミングする方法についての記事。 サーバー側で非同期データ(Promise)をプレースホルダーに変換し、NDJSON形式と`Transfer-Encoding: chunked`を使ってデータを段階的に送信する。 クライアント側ではFetch APIでストリ
  • How to compile JavaScript to C with Static Hermes

    12/29/2025 Lately, I've been working on porting more of Parcel to Rust. One of the challenges with Rust-based tools is how to support plugins. Many of the most common tools already have Rust-based equivalents: SWC and OXC for JavaScript, Lightning CSS for CSS, oxvg for SVG, etc. But other popular tools like React Compiler, Less, and Sass, are still written in JavaScript, so we need a way to run th

    efcl
    efcl 2026/01/08
    Static Hermesを使ってJavaScriptをC言語コードにコンパイルし、CのコードとしてRustから呼び出すという実装について
  • The many, many, many JavaScript runtimes of the last decade

    This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts with precise fitness for task. Through these, we've seen the language spread to the Cloud, the edge, Smart TVs, mobile devices, and even microcontrollers. In this article, we'll explore what's driving this diversity, and why no one runtime or en

    The many, many, many JavaScript runtimes of the last decade
    efcl
    efcl 2025/12/30
    この10年で登場したJavaScriptランタイムについてまとめた記事
  • Third Parties and Single Points of Failure

    efcl
    efcl 2025/12/30
    サードパーティスクリプトが単一障害点となっているかをチェックする方法について
  • 第三者のJavaScriptをセキュアに実行するには?― exaBase Studio のプラグイン機能

    メリークリスマス🎄 Studio Application 開発グループの吉田です。 エクサウィザーズのAdvent Calendar 25日目、最終日です! exaBase Studio に Figma みたいなプラグイン機能を入れたい これはけっこう前からずっと頭の片隅にあったアイデアでした。 exaBase Studio(エクサベース スタジオ)はアプリケーション開発基盤ですが、Figma のようなキャンバス画面を持っています。キャンバスを読み書きできるプラグインをユーザー自身が自由に開発できれば、Studioの機能を拡張することができます。 exaBase Studio とは exaBase Studio は、エクサウィザーズが提供するクラウドネイティブな AI サービス開発環境です。GUI でシステム設計ができ、ワンクリックで Kubernetes ベースの番環境を自動構築でき

    第三者のJavaScriptをセキュアに実行するには?― exaBase Studio のプラグイン機能
    efcl
    efcl 2025/12/25
    JavaScriptのコードをサンドボックスで実行するアプローチについて。 iframe/Secure ECMAScript/QuickJSについて