河村さん…後藤選手の金メダルを勝手にかじるのはダメでしょ…😰 それにコロナの時代だよ…😔 https://t.co/v8ZRthmI4c
ID を採番するときによく使われる UUID Version 4 の課題として「順序性がなくソートしにくい」という側面があり,ULID (Universally Unique Lexicographically Sortable Identifier) を使えばソートできるようになるという記事を前に書いた. kakakakakku.hatenablog.com 関連して調査をしていたら,標準化団体 IETF (Internet Engineering Task Force) によって,UUID Version 6, 7, 8 という新しい仕様が提案(ドラフト段階)されていることを発見した❗️UUID Version 6, 7, 8 の目的を簡単にまとめると「タイムスタンプ情報を使ってソートできる ID を採番できるようにする」となり,もしこの仕様が取り込まれると,UUID を活用する幅がさ
Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確
Mozilla、今後はV8の正規表現エンジンをFirefoxにそのまま取り込むと表明。そのための互換レイヤを開発 WebブラウザにはJavaScriptを実行するためのJavaScriptエンジンが搭載されています。それはChromeであれば「V8」、Firefoxであれば「SpiderMonkey」と呼ばれ、それぞれのWebブラウザベンダがECMAScriptの標準に準拠したうえで独自に実装しています。 そしてJavaScriptは以前から正規表現の機能を備えているため、正規表現を解釈し展開するための正規表現エンジンもそれぞれのWebブラウザベンダが実装を行っていました。 その正規表現エンジンについてMozillaは今後、V8の正規表現エンジンのコードをそのままFirefoxのSpiderMonkeyに取り込むようにすると表明しました。 Mozillaはこれを実現するため、V8用の正規表
はじめに JavaScript の「非同期処理」ってやっぱりかなり難しくないですか? 自分も色々試行錯誤しましたが、結局「完全に理解した🤓」→「やっぱり何も分からん😭」っていうループの中で泥臭く理解を深めていくしかないようです。 さて、非同期処理の制御をある程度予測できるようになるには、非同期 API を提供する環境のことやイベントループ、マイクロタスクなどの仕組みについて理解する必要があります。 そして環境に埋め込まれた JavaScript Engine のことも理解する必要があります。 今回の記事では、JavaScript Engine の1つである V8 が内部で変換するコードから async/await の挙動を理解するための解説を試みたいと思います。V8 エンジンからアプローチすることで async/await の分かりづらい挙動を掌握して非同期処理を打倒します。 今回の記
前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たない JavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言
抜井規泰 @nezumi32 「ひが〜あしぃ〜」と、呼び出しが声を張り上げる国技館の「東」。でも実際の方角は、北。そんな相撲コラムを書いている新聞記者。元大相撲三賞選考委員。元ベストナイン&ゴールデングラブ賞選考委員。玉成会研究室の落ちこぼれ。朝日新聞で「角界余話」「広重が描いた江戸」連載中。趣味は芝刈り。ベストスコア79。「いいね」は付箋 asahi.com/sp/rensai/list… 抜井規泰 @nezumi32 SDGsを、僕は完全に勘違いしていた。 どういう勘違いか。 脱炭素とかカーボンニュートラルを、リベラル界隈などの「意識高い系」が唱える「富める者たちが負うべき負担」ーーと勘違いしていた。 全然、違う。 脱炭素は21世紀の産業革命だ。乗り遅れると、日本の産業は先進国の「下請け」に失墜する。 抜井規泰 @nezumi32 Appleの時価総額が、史上初めて、3兆円を突破。東証
Node.jsの新LTS版となる「Node.js 16」正式リリース。Apple M1チップ対応、JavaScriptエンジン「V8 9.0」搭載など新機能 Node.js 16は6カ月後から「アクティブ」なLTSになる Node.jsは半年ごとにメジャーバージョンアップが行われますが、そのうち偶数のバージョンがLTS(Long Term Support)版と呼ばれる長期サポート版となります。LTS版は、30カ月のあいだ重要なバグが修正されることが保証されています。 今回のNode.js 16は偶数バージョンであるため、LTS版となります。 ただしリリースから6カ月間は、まだ1つ前のLTS版であるNode.js 14が「アクティブ」なLTS版です。6カ月後の2021年10月になると、今回リリースされたNode.js 16が、Node.js 14に代わって「アクティブ」なLTSへと移行。そこ
Show navigation JavaScript allows calling a function with a different number of arguments than the expected number of parameters, i.e., one can pass fewer or more arguments than the declared formal parameters. The former case is called under-application and the latter is called over-application. In the under-application case, the remaining parameters get assigned the undefined value. In the over-a
iOS 16.1ではSafari機能拡張からiPhoneの生体認証にアクセス可能になり、1Password for iOSではSafariからFace/Touch IDを利用して1Passwordのアンロックが可能になっています。詳細は以下から。 Appleは現地時間2022年10月24日、iOS 16初のマイナーアップデートとなる「iOS 16.1」をリリースしましたが、カナダAgileBitsは11月01日、同社のパスワード管理アプリの最新バージョンとなる「1Password for iOS v8.9.7」をリリースし、同バージョンからSafari機能拡張からのTouch/Face IDを利用した1Passwordのアンロックを再サポートしたそうです。 You can now use Face ID and Touch ID to unlock 1Password in Safari
Show navigation Writing a high-performance JavaScript engine takes more than just having a highly optimising compiler like TurboFan. Particularly for short-lived sessions, like loading websites or command line tools, there’s a lot of work that happens before the optimising compiler even has a chance to start optimising, let alone having time to generate the optimised code. This is the reason why,
6月22日発売されたばかりのダイソンデジタルスリム! 買っちゃいましたー! 我が家の掃除機はもう12年。 そろそろ吸引力も落ちてきて買い替え時期だったんです。 このタイミングで最新モデルが発売されたのは本当に嬉しい! ダイソンのV11とV8のどちらかにしようと比較してたんですが、一長一短あって悩んでいたんですよね。 二つのイイトコドリしたようなダイソンデジタルスリム。 もう発売当日に買っちゃいました。 さっそくいろいろ試してみましたので、レビューします。 V11とV8もせっかく調べたので、比較してみました。 ダイソン気になってる方の参考になれば嬉しいです。 \公式サイトでダイソンをチェックしたいかたはこちらへ/ キャンペーンページ 最新モデルDyson digital slim(ダイソンデジタルスリム)が6月22日に発売 日本のユーザーのために作られた新しいダイソン 新しいダイソンは価格帯
WebAssemblyとJavaScriptの非同期処理を橋渡しするAPI「JSPI」、Google V8が実験的に実装 Google Chromeなどに組み込まれているJavaScript/WebAssemblyエンジンのV8の開発チームは、WebAssemblyとJavaScriptの非同期処理の橋渡しを行うAPI「JavaScript Promise Integration API」(JSPI)を実験的に実装したことを明らかにしました。 最近のモダンなWeb APIの多くが非同期型になっており、APIを呼び出した後も別の処理が可能で、呼び出し先の処理が完了すると通知されるようになっています。 非同期処理のAPIでは、呼び出し時には結果が返る代わりに、将来の処理完了時に値が提供されるPromiseオブジェクトを返しますが、WebAssemblyではPromiseの操作ができないため、非
Optimizing Node.js Performance: V8 Memory Management & GC Tuning Prevent Crashes and Improve Latency by Understanding and Tuning V8's Garbage Collection for Your Node.js Application A common observation for Node.js developers is the seemingly continuous growth of their application's memory footprint, often measured by the Resident Set Size (RSS) reported by the operating system. This increasing RS
The JavaScript Promise Integration (JSPI) API allows WebAssembly applications that were written assuming synchronous access to external functionality to operate smoothly in an environment where the functionality is actually asynchronous. This note outlines what the core capabilities of the JSPI API are, how to access it, how to develop software for it and offers some examples to try out. What is ‘
Fireタブレットのハックツール「Amazon Fire Toolbox v8.2」リリース、YouTube改造アプリなど Amazon Fire Toolbox v8.2リリース Fireタブレットにプリインストールされている天気アプリなどを無効化したり、Google Playを手軽にインストールできるハックツール「Amazon Fire Toolbox」の最新バージョン8.2が新たにリリースされた。 前回タブクルで取り上げた2020年7月の記事を振り返ると、アマゾンのFire HD 8 Plusなど最新タブレットへの対応が行われていた。しかし、全てのハックツールが使えるわけではなく、かつ表示も正常(私の環境に問題があるという可能性もある)ではなかった。 最新v8.2でも新しいFire HD 8 とFire HD 8 Plusのサポートは継続され、ハックツール自体に大きな変更はないが、G
IEの対応について Swiperバージョン5以降はIE対象外となっている(IEは正式にサポート終了勧告が出ている(マイクロソフト公式:Windows10 IE11は2022年6月15日サポート終了)ので、切捨てで良いのではないだろうか。 IE対応が必要な場合は、Swiperのバージョン4をダウンロード(Download Latest Swiper 4.5.3)して使うかCDNを利用すると良い。 Swiperバージョン4のCDNの記述例 <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.css> </head> <body> 〜中略〜 <script src="https://cdnjs.cloudflare.com/ajax/libs/Swip
JSer.info #664 - Rollup 4.0.0がリリースされました。 Release v4.0.0 · rollup/rollup Node.js 14/16のサポート終了、Acornの代わりにSWCをパーサに使うように変更されています。 SWC利用に伴うオプションの削除や非推奨なオプションの削除などが含まれています。 Viteの現在と今後についてがViteConfで発表されています。 動画: https://viteconf.org/23/replay/vite_keynote スライド: State of Vite (ViteConf 2023) ViteはDevビルドにesbuild、ProdビルドにRollupを使うためビルド結果に差異が出やすいなどの問題があります。 そのため、Rollup互換を意識したRolldownというBundlerをRustで開発するという話。
Show navigation The super keyword can be used for accessing properties and functions on an object’s parent. Previously, accessing a super property (like super.x) was implemented via a runtime call. Starting from V8 v9.0, we reuse the inline cache (IC) system in non-optimized code and generate the proper optimized code for super property access, without having to jump to the runtime. As you can see
A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two main approaches:
Storybook v8 の React Server Components サポート 2023.12.09 Storybook v8 では `experimentalNextRSC` オプションにより React Server Components をサポートしています。しかし、このオプションは React Server Components としての動作を再現しているわけではありません。サーバーサイドで Storybook が動作してるわけではなく、非同期コンポーネントをクライアントでレンダリングしているに過ぎないことに留意すべきです。 Storybook v8 より、experimentalNextRSC というオプションが追加されました。このオプションは true に設定することで、実験的に React Server Components をサポートします。 Storybook v
Deno is a modern, zero-config JavaScript runtime written in Rust. At its core is Rusty V8, a library that provides high-quality, zero-overhead Rust bindings to V8’s C++ API. Over the past five years, Rusty V8 has undergone nearly 150 releases, racking up more than 3.1 million downloads on crates.io. Today, we’re excited to announce a major milestone: Rusty V8 is now stable and production-ready. Wh
ヤマハ発動機は2022年2月17日、トヨタ自動車からの委託で、水素を燃料とする5.0リッターV8エンジンを開発していると発表した。2050年までにカーボンニュートラルを達成したい同社だが、社名に「発動機」が入っている同社にとっては、内燃エンジンに対する特別な思い入れがあるという。 2021年11月に、川崎重工、スバル、トヨタ、マツダ、ヤマハの5社が、内燃機関の燃料オプションの範囲拡大を目的とした共同研究を行うと発表。ヤマハがトヨタ向けに開発したV8水素エンジンを公表した。同エンジンは、レクサスのプレミアムスポーツクーペ「RC F」の5.0リッターエンジン「2UR-GSE型」をベースに、ヤマハがインジェクター、シリンダーヘッド、インテークマニホールドなどに変更が加え、水素を燃料として燃焼する水素エンジンとして開発されている。 ヤマハによると、自動車用水素エンジンの開発を始めたのは5年前で、単
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く