Introducing jsr: SupportWe're excited to announce that you can now install JSR packages directly with the vlt client! $ vlt install jsr:<scope>/<name> $ vlt install jsr:<scope>/<name>@<version range>

JSer.info は、2011年1月16日から開始して、2025年1月16日で14周年を迎えました🎉 書くのがだいぶ遅くなってしまいましたが、14周年を迎えたことを記録しておきます。 Node.js周りの変化 Node.js周りの変化が大きかった1年な気がしました。 Node.jsでは、require(esm)やTypeScriptのサポートなど長年議論されていていたものが大きく進んだ気はしています。 2024-04-26のJS: Electron 30、Firefox 125、Node.js 22、React 19 Beta、TypeScript 5.5 Beta - JSer.info 2024-08-15のJS: Node v22.6.0(--experimental-strip-types)、Firefox 129 - JSer.info Node.jsのTypeScriptサ
Let’s explore why some of these values produce exceptions or results that aren’t very useful. Tricky value: Symbol() # Symbols must be converted to strings explicitly (via String() or .toString()). Conversion via concatenation throws an exception: > '' + Symbol() TypeError: Cannot convert a Symbol value to a string Why is that? The intent is to prevent accidentally converting a symbol property ke
Getting JavaScript running fast is key for a responsive web app. Even with V8's advanced optimizations, parsing and compiling critical JavaScript during startup can still create performance bottlenecks. Knowing which JavaScript functions to compile during the initial script compilation can speed up web page loading. When processing a script loaded from the network, V8 has to choose for each functi
カミナシのソフトウェアエンジニア佐藤です。カミナシレポートの開発に携わっています。 フロントエンドのエラーは「画面リロードやブラウザ再起動で復旧できる(かもしれない)」「クラッシュしてもユーザーの端末に閉じる」などの理由から、バックエンドよりは精緻に扱われない傾向があると個人的には感じています。 その一方、カミナシレポートは、ノンデスクワーカー向けの不安定なネットワーク環境で利用されることも多々あるアプリです。そのため、デジタルツールに不慣れな方のために精緻なフィードバックが必要とされる、リロードに頼ることが難しいケースがある、などの理由でエラーの扱いにも慎重になる必要があります。 本記事では、カミナシレポートのフロントエンド開発をする中で、 バックエンドの API コール時にエラーが発生する条件とその内容(型・クラス) これらエラーをハンドリングする箇所 について、把握しておきたいと感じ
By: Charles Covey-Brandt Airbnb recently completed our first large-scale, LLM-driven code migration, updating nearly 3.5K React component test files from Enzyme to use React Testing Library (RTL) instead. We’d originally estimated this would take 1.5 years of engineering time to do by hand, but — using a combination of frontier models and robust automation — we finished the entire migration in jus
配列(Array)との比較 JavaScriptにはTypedArrayとは別に配列(Array)の違いを説明します。 ArrayはTypedArrayと比べると柔軟で汎用性が高いです。しかし、Arrayは内部で動的なメモリー管理を行うため、データ処理や転送を高い頻度で行う場合にはオーバーヘッドが発生する可能性があります。 TypedArrayは長さが固定であり、バイト単位のデータ格納が可能なため、メモリーアクセスが効率的に行われます。数値計算においてもバイナリデータを直接操作できるので、高いパフォーマンスが期待できます。また、メモリー領域が連続しているので高速なデータの転送が可能です。 大量のデータを処理する数値計算の場合にはTypedArrayで管理するとデータのまとめた取り回しが楽になります。逆にデータの規模が小さい時は汎用的なArrayが良いでしょう。 TypedArrayは決まっ
V8’s end-tier optimizing compiler, Turbofan, is famously one of the few large-scale production compilers to use Sea of Nodes (SoN). However, since almost 3 years ago, we’ve started to get rid of Sea of Nodes and fall back to a more traditional Control-Flow Graph (CFG) Intermediate Representation (IR), which we named Turboshaft. By now, the whole JavaScript backend of Turbofan uses Turboshaft inste
Learn how the Cookie Store API modernizes cookie management with async operations and event handling for efficient, error-free web development. The browser Cookie Store API represents a modern approach to handling cookies in web applications. The way we’ve always done it is using document.cookie which is error-prone because you have to work with key/value pairs in a string. Besides being error-pro
New URLPattern API brings improved pattern matching to Node.js and Cloudflare Workers2025-03-24 Today, we are excited to announce that we have contributed an implementation of the URLPattern API to Node.js, and it is available starting with the v23.8.0 update. We've done this by adding our URLPattern implementation to Ada URL, the high-performance URL parser that now powers URL handling in both No
記事作成時点では、Document Picture-in-Picture API は限定的に利用できます。 ただし、プログレッシブ エンハンスメントや正常なデグレードで使用することはできます。 ユースケースを計画する際は、標準機能ではなく、段階的な拡張機能として扱うようにしてください。この記事では、グレースフル デグラデーションの例を紹介します。 Document PiP API による学習者のユーザー エクスペリエンスの向上 LearnHTMLCSS.online は、セマンティックでアクセス可能な HTML と CSS を学習できるインタラクティブな学習プラットフォームです。インタラクティブなテキスト エディタとブラウザのプレビュー ウィンドウが用意されています。 次のスクリーンキャストでは、アプリのレイアウトを示しています。画面は 2 つの列に分かれています。最初の列にはコードエディ
乗りこなせ! モダンフロントエンド Temporalで変わるJavaScriptの日時操作 [JS Modern Features no.1] 本連載について はじめまして! サイボウズ フロントエンドエキスパートチームの左治木です。 本連載では、Webフロントエンドに関してもう一歩踏み込んだ知識について、サイボウズフロントエンドエキスパートチームのメンバーによって不定期で解説記事を掲載しています。前回までの記事では「CSS Modern Features」と題して、CSSの比較的新しい機能の中でインパクトの大きいものをピックアップして弊チームの麦島が解説してくれました。 JS Modern Features / JavaScriptの進歩 この記事からは「JS Modern Features」と題して、JavaScriptに関するコンテンツを数回に分けてお届けします。 JavaScrip
TypeScript has become the de facto standard for building robust, maintainable, and scalable JavaScript applications. Yet, migrating a large production codebase to TypeScript can be a daunting task, especially when you're dealing with 160,000 lines of mission-critical JavaScript and users with real money in your system, and their tax returns to submit. At WorkMade, I decided the pain would be worth
Promise と Thenable Promise が ECMAScript の言語仕様に追加されたのは ES2015 ですが, Promise ライクなオブジェクトはそれ以前からも広く使われてきました (jQuery の Deferred など). そういった Promise ライクなオブジェクトとの互換性のため, Promise の仕様は本物の Promise と Promise ライクなオブジェクトを混ぜて使えるようになっています. 具体的には, Promise ライクなオブジェクトは一般に Thenable という共通のインターフェースを持つことになっています. オブジェクトが Thenable であるために必要なのは「then() という名前のメソッドを持っている」という一点のみです. もし Promise を解決 (resolve) するときに使われた値が Thenable
JavaScript(ECMAScript)の国際化API、「Intl」について紹介する1人 Advent Calendar です。 2024末時点でのIntl仕様と提案されているProposalを広く紹介することをゴールとしています。合わせてIntlに関連する仕様についても端端で紹介できたらなと思っています。 機能・ドメイン的に関連する話題をまとめて紹介していくので、「既存仕様→関連するProposal」の順で繰り返す流れになる予定です。基本的な機能だけ知りたいよと言う方は適宜読み飛ばしてください。
いまどきのWebアプリにおいては、ファイルのダウンロード機能が必要な場面が多々あります。例えば、バックエンドが生成したCSVデータをファイルとしてダウンロードさせる「CSVダウンロード」機能などです。 今回はAPI[1]から得られたデータをファイルとしてダウンロードさせたい場合のフロントエンドの実装方法について考察します。 要件 今回考える要件は、前述のとおり、APIから得られたデータをファイルとしてダウンロードさせることです。具体的には、以下のような要件を考えます。 APIをGETリクエストで呼び出し、そのレスポンスをそのままファイルとしてダウンロードする フロントエンドでの何らかのアクション(ボタンクリックなど)によってダウンロードがトリガーされる 追加の要件次第でやり方は変わりますが、とりあえず以上の前提で考えます。 ベストな方法 とりあえず、筆者が考える一番ベストな方法を紹介します
この記事は、Merpay & Mercoin Advent Calendar 2024 の記事です。 はじめに こんにちは。メルペイ Frontend の @togami です。 私たちのチームでは Engagement Platform、通称 EGP という内製マーケティングツールの開発をしています。ポイントやクーポンなどのインセンティブの配布、LP の作成と公開、キャンペーンの作成など CRM 関連のことをマーケターや PM がコーディングの知識なしで行えるようにするための社内ツールです。EGP はメルカリ US を除く全てのプロダクトで使われている会社全体の共通基盤となっています。 本記事ではこの中でも LP 作成機能、通称 EGP Pages について紹介します。また、 EGP Pages の拡張版であり Server Driven UI の実装である EGP Cards について
title: Exploring the DOMPurify library: Bypasses and Fixes (1/2) date: Nov 17, 2024 tags: Article Web mXSS 📜 Introduction 🔍 How does client-side HTML sanitizer works? ❓ Why are mutation XSS (mXSS) possible? ▶️ DOMPurify 3.1.0 bypass (found by @IceFont 👑) Node flattening HTML Parsing states Proof Of Concept ⏩ DOMPurify 3.1.1 bypass DOMPurify 3.1.0 fix DOM Clobbering issue Proof Of Concept ⏭️ DOM
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く