In the world of software development, filled with frameworks, libraries, and abstractions, I often felt like I was just using technologies without truly understanding them. So, I started digging deeper, reading more, researching, and questioning everything. That’s why I created this blog: to break down complex programming concepts into simpler, easy-to-understand explanations. Explore the Most Pop
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
Developing web applications has gotten insanely complex. You need a tall pile of tech to build a "modern" web app: client-side code, server-side code, APIs to tie them together, data fetching, state management, hydration, websockets for reactivity, and a whole lot more. And once you're done, the resulting app still isn't very good. It's time for a rethink. We're building an open-source, general-pu
Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language. --- W3C Web Internationalization FAQ Lingui is an easy yet powerful internationalization (i18n) framework for global projects. Clean and readable - Keep your code clean and readable, while the library uses ba
StyleX v0.8.0 is now available with a bunch of fixes and new ESlint rules. Linting EnhancementsWe've been making a lot of improvements to our ESLint plugin. We've both improved our existing rules and added new ones. Thanks to Melissa Liu! Here are some of the highlights: New valid-shorthands ruleThis rule enforces our opinions on when and how you should use CSS shorthand properties. It disallows
デザインエンジニアの安田(@_yuheiy)です。 この記事では、社内向けに提供しているライブラリの使用状況を把握すべく作成した、プロダクト全体のソースコードを解析して、提供しているモジュールおよびそれを使用しているプロダクトごとに個別に自動集計する仕組みとその実装方法について解説します。 ライブラリ開発の問題と使用状況の解析 弊社では、KARTEのプロダクト群全体のデザインシステムである「Sour」を開発しています。その一環として、React製のUIライブラリ「sour-react」を作成し、社内向けのnpmパッケージとして提供しています。現在、sour-reactはKARTEのいくつものプロダクトにおいて採用されており、UI開発に欠かせないものになるほど浸透しています。 作成したライブラリが広く使われるようになるのは喜ばしくもありますが、一方、それに伴って新たな問題が生じることもありま
Reactの技術選定においてルーティングとデータ取得は特に重要な役割を担っています。 もちろんNext.jsやRemixのようなフレームワークを採用すれば、個別のライブラリを追加することなくルーティングからデータ取得までフレームワークが提供するAPIを使って実装することができます。 しかし、AI ShiftのようなBtoBのサービスにおいてはSPAで十分なことがほとんどで、Next.jsなどのフレームワークの採用がtoo muchになりかねません。 この記事は2024年2月時点の技術選定において、TanStack RouterがSPAのルーティングライブラリとして非常に有力な候補であることを紹介します。 はじめに TanStack RouterとTanStack Queryの採用がSPAアプリケーションにおける最適解の一つになりうることをその特徴と実際の設計例をもとに解説します。 TanS
JSer.info #681 - 2024年6月の正式公開に向けたES2024のリリース候補が公開されました。 Release ES2024 Candidate February 2024 · tc39/ecma262 ES2024では、次のような変更が含まれる予定です。 ArrayBuffer.prototype.resize ArrayBuffer.prototype.transfer RegExp v flag Promise.withResolvers Object.groupBy/Map.groupBy Atomics.waitAsync String.prototype.isWellFormed/String.prototype.toWellFormed 毎年2月ごろに仕様へ取り込むProposalが決まり、6月ごろのGA 127th meetingで最終的な承認を得る予定です
Zennでは、「記事」や「本のチャプター」のMarkdownエディタのベースにCodeMirrorというライブラリを使っています。これまではCodeMirrorのv5を使っていた(正確にはv5に依存するラッパーライブラリを使っていた)のですが、古いバージョンを使い続けるリスク解消と更なるエディタの拡張性を得るため、CodeMirrorのv6にアップグレードすることにしました。 本記事では、CodeMirror v6の基本的な知識部分から、ZennのMarkdownエディタを実装するまでのカスタマイズ方法を紹介します。 CodeMirrorの基礎知識 はじめに CodeMirrorはWeb上にコードエディタを実装するためのライブラリです。標準で多くのプログラミング言語に対応したシンタックスハイライトや入力補完、折りたたみ、キーマップ、マルチカーソルなど、モダンなコードエディタに必要な機能を備
JSer.info #674 - date-fns v3.0.0がリリースされました。 Release v3.0.0 · date-fns/date-fns ESMとCJSのdual pacakgeに変更、それぞれのファイルはnamed exportするように変更されています。 また、TypeScriptの型を改善に合わせて、引数の数のRuntime Checkを無くしてType Checkのみに変更されています。 そのほかには、intervalオプションの負数をサポート、IEのサポートを終了などの変更も含まれています。 Firefox 121がリリースされました。 Firefox 121.0, See All New Features, Updates and Fixes Firefox 121 for developers - Mozilla | MDN <iframe loading
New APIs in @remix-run/dev unstable_vitePlugin: The new Remix Vite plugin unstable_createViteServer: Creates a Vite server in middleware mode for interop with custom servers unstable_loadViteServerBuild: Allows your custom server to delegate SSR requests to Vite during development Changed APIs createRequestHandler: Now also allows the build argument to be a function that will be used to dynamicall
The new release of Preact Signals brings significant performance updates to the foundations of the reactive system. Read on to learn what kinds of tricks we employed to make this happen. We recently announced new versions of the Preact Signals packages: @preact/signals-core 1.2.0 for the shared core functionality @preact/signals 1.1.0 for the Preact bindings @preact/signals-react 1.1.0 for the Rea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く