from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

nodejsのbuildとかで遊ぶ奴

build後

node/out/Releaseにいろいろ作られるわけだがその時node本体と一緒にopenssl-cliとかいろいろ作られる。

  • cctest

v8にcctestってのがあるっぽい。バイナリ実行してみるといろいろunit testが走った

v8: CcTest Class Reference

このへんですね

github.com

/node/test/cctest以下にテストがかかれてるのか。

  • genrb

.resファイルを作るっぽい。なにそれ

リソースバンドル自体はnodejs特有じゃないっぽい。phpでもあった。

多分VC++とかVSとかのアレなんだろうな。というか普通にlinuxコマンドであるっぽい

  • genccode

任意のバイナリファイル食わせたらc言語で読み込む用になるっぽい。まぁなんとなく分かる。

  • iculslocs

ICUのres_index.resに書かれたロケーションファイルをls。

  • icupkg

icuの.datデータ(パッケージ)をmanipulation。だからICUってなんだよ。

  • mkpeephole

v8のやつっぽい。インタプリタ

コンパイラにはpeephole最適化ってやつがあるのでそれっぽいな。局所的最適化だそうです。

これは怪文書

www.gadgety.net

これはソースコード

Chrome V8 - v8/src/interpreter/mkpeephole.cc Source File

  • mksnapshot

v8のスナップショットをとるっぽい。ソース読んだんですがv8のメモリをSnapshotに流し込むみたいな感じだった。


生成物はこんな感じですね、後node本体。

亡霊について

nodejsには亡霊がついている。

POV-Ray - Wikipedia

node/CNNICHashWhitelist.inc at d4464241d7ea84e6c9c2cd9caed92cf6ed8743b4 · nodejs/node · GitHub

いや何につかわれてるんお前<ーnode_cryptoあたりで使われてるっぽい。にゃるほどね

Search · CNNICHashWhitelist · GitHub

ところでnodejsにmozilla-centralの文字が入っており最高になってしまった。

ところで普通にcでインクルード出きるんですね。ていうか.incソースみたら普通にcだったしgithub側のparseミスじゃねこれ

d8

調べたんですが情報が少なすぎて死亡。v8互換インタプリタっぽいけどね。ググっても情報がないのでnodejsのslackに投げた。


次回はデバッグビルドの生成とかNW関連のソース追ったりv8の改造したり実際にソース食わせてどのような動きするか見てみたい(知ってるけど体験したことはないし)