河村さん…後藤選手の金メダルを勝手にかじるのはダメでしょ…😰 それにコロナの時代だよ…😔 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 の言
サービスメッシュを実現する「Istio 1.5」正式版が登場しました。注目すべき新機能の1つは、Istioの拡張やカスタマイズを行うための統合的な手段としてWebAssemblyが採用されたことです。 Istioが実現するサービスメッシュは、Kubernetes上のさまざまなサービス間のトラフィックの管理やルーティング、ロードバランシング、暗号化通信や認証サービス、モニタリングなどを実現します。 Istioの拡張手段をEnvoy上でのWebAssemblyによる実装で統一へ これまで、Istioの機能を拡張して外部ツールと連係させたり動作をカスタマイズするためには、Mixerプラグインを用いたポリシーやテレメトリのカスタマイズと、Istio内部で使われているプロキシであるEnvoyの拡張機能を利用したデータプレーンのカスタマイズという2つの手段が提供されてきました。 今回正式リリースされた
Send feedback V8 Runtime Overview Stay organized with collections Save and categorize content based on your preferences. In Apps Script and JavaScript, a runtime or runtime environment contains the JavaScript engine that parses and executes script code. The runtime provides rules for how memory is accessed, how the program can interact with the computer's operating system, and what program syntax
抜井規泰 @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へと移行。そこ
This is part of my "Memory Management" series 🚀 Demystifying memory management in modern programming languages🚀 Visualizing memory management in JVM(Java, Kotlin, Scala, Groovy, Clojure)🚀 Visualizing memory management in V8 Engine (JavaScript, NodeJS, Deno, WebAssembly)🚀 Visualizing memory management in Golang🚀 Visualizing memory management in RustAvoiding Memory Leaks in NodeJS: Best Practic
Top-level await enables developers to use the await keyword outside of async functions. It acts like a big async function causing other modules who import them to wait before they start evaluating their body. The old behavior #When async/await was first introduced, attempting to use an await outside of an async function resulted in a SyntaxError. Many developers utilized immediately-invoked async
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
この記事はTech KAYAC Advent Calendar 2019 Update/MigrationTrack 3日目の記事です。 昨年のAdvent Calendarで闇のredash の記事を書いていたゲームコミュニティ(Lobi)事業部の自称データエンジニアの池田です。今回も、redashについて記事を書いていきたいと思います。 redashは様々な種類のデータソースにアクセスできる、OSSの素晴らしいダッシュボードツールです。 2017-01-31にv1.0.0-rc.1のリリースされて以来開発が続けられており、この前の2019-10-27にv8.0.0 がリリースされました。 今後もビジネスインテリジェンスの現場でのダッシュボードツールの選択肢として利用され続けることでしょう。 ゲームコミュニティ事業部でのRedashの課題 私の所属するゲームコミュニティ事業部でも、以前本
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,
Show navigation All episodes In this article, we take a simple function in the spec and try to understand the notation. Let’s go! Preface #Even if you know JavaScript, reading its language specification, ECMAScript Language specification, or the ECMAScript spec for short, can be pretty daunting. At least that’s how I felt when I started reading it for the first time. Let’s start with a concrete ex
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の操作ができないため、非
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で開発するという話。
If pointer compression piqued your interest, be on the lookout for a full blog post with more details. Optimizing higher-order builtins #We recently removed a limitation within TurboFan’s optimization pipeline that prevented aggressive optimizations of higher-order builtins. const charCodeAt = Function.prototype.call.bind(String.prototype.charCodeAt); charCodeAt(string, 8);So far, the call to char
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く