Hatena::Let

"Hatena::Let" でひとこと

10 fans

書き込むには、ログインまたはユーザー登録を行ってください。 初めての方へ

noromanba

Hatena::Let

返信先のろまんば
codeに書き忘れてた報酬先払いです。2147483647 の覚え方
https://i.stack.imgur.com/rCL8f.png
> i.stack.imgur.com/rCL8f.png
via
https://stackoverflow.com/questions/94591/what-is-the-maximum-value-for-an-int32#45116768
# ネタスレだけど頭いい
noromanba

Hatena::Let

返信先のろまんば
きょうかしょ を かいて いる きぶん に なりました えむでぃーえぬ が きちんと のせて ほしい です
unarist

Hatena::Let

String()、toStringする以外に適切なものがあればそれを使うけど、結局はtoStringにfallbackするのね。toStringすら用意されないケース、例えばprototypeがnullなオブジェクトではこけると。

あとFirefoxだとこんな結果もあったけど、なぜSymbol……。

>> String(window[0])
<- SecurityError: Permission denied to access property Symbol.toPrimitive on cross-origin object

# のろまんば氏のやつ、devtoolsの組み込みを列挙するのかと最初勘違いしてた
noromanba

Hatena::Let

返信先a-kuma3
あー、bit/byte ですか。低レイヤ懐かしいけどこれは触った経験あるほどハマりそう。32bit Windows 時代でC(++)は int32, int64 的なの選んで使った記憶が。OSで違うのがまた うーん、この
【C言語/C++】データ型のサイズ・範囲の一覧【32bit/64bit環境】 | MaryCore
そういえば word も地獄ですね…
js int32 の max value は Bigint 来たらぶら下がって欲しいなぁ。typed array あるけど、あれは何か違う気がする
# Number でもいいけど
a-kuma3

Hatena::Let

返信先のろまんば

>sizeof(unsigned long) の話、よく理解してないので解説お願いできますか
Quantum で死亡した Bookmark Favicon Changer 。
前にソースを読んだときに、フォルダは favicon の URL に Data URI Scheme を入れて切り替えてたので、その乗りで手動で設定すれば良いかと。
ただ、favicons.sqlite には、URL のハッシュ値を入れるカラムがあって、URL だけを変更しても受け付けてくれない。
なので、ハッシュ値を計算しなきゃいけない。
# ここまでが、導入部


favicons.sqlite の fixed_icon_url_hash を作ってる辺り。
https://dxr.mozilla.org/comm-beta/source/mozilla/toolkit/components/places/FaviconHelpers.cpp#210

SQLite には、hash とか fixup_url なんて SQL関数は無くて、後付けで追加する仕組みがある。
https://sqlite.org/c3ref/create_function.html

https://dxr.mozilla.org/comm-beta/source/mozilla/toolkit/components/places/SQLFunctions.cpp#1112
https://dxr.mozilla.org/mozilla-beta/source/toolkit/components/places/Helpers.cpp#308
https://dxr.mozilla.org/comm-beta/source/mozilla/mfbt/HashFunctions.h#256
たどって行くと、HashStr... (続きを読む)
a-kuma3

Hatena::Let

返信先のろまんば

Firefox のブックマークでアイコンが、places.sqlite から favicons.sqlite に分離されたときに、URL にハッシュ値が付くようになって、ハッシュ値を javascript で求めようとして、挫折したことがありました(c++ での実装自体は、割りと素直な検索で探せた)。
Integer と Float のそれぞれの実装がない javascript の整数は、IEEE 754 の double の仮数部だけを使っているのだと気がついたのは、随分と後のことです。

じゃあ、c++ の実装(ほぼほぼ c)で良いやと思ったら、これまた素直に動かなくて。
sizeof(unsigned long) == 8 だという、おっさんホイホイに引っかかってました (´・ω・`)
noromanba

Hatena::Let

なつやすみ なので すこし かわったもの を たくさん かきました すぺっく も たくさん で じかん が かかりました おかげで まんが が ぜんぜん よめません
noromanba

Hatena::Let

Console で devtools の組み込み上手く避けるにはどうしたらええんじゃろ
http://let.hatelabo.jp/noromanba/let/hLHVpJDbvfN8
# $0 とか
noromanba

Hatena::Let

fork 元間違って消しちゃったら、子の方はリンク切れるから fork of 無くなるの初めて知った
# 再構築するのに無事なやつ消すか悩む
noromanba

Hatena::Let

返信先のろまんば
BigInt にぶら下がるのも違う気はするけど、Array よりマシな気分
noromanba

Hatena::Let

返信先a-kuma3
Double-precision 辺りもそのうち書くかも。Firefox mobile だと Number.MAX_SAFE_INTEGER で動くんでタチ悪い。仮数部使うのは面白いですね。
sizeof(unsigned long) の話、よく理解してないので解説お願いできますか。実装依存ってとこですか?size_t?
https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml#expr.sizeof ※ 超デカイ w3m 推奨
cpp17bookには無さそうだった。cpp14も。WebAssembly で C++ ちょっと読めないとヤバい時代になりそうと思ってる
noromanba
▼はてなハイクの今月のスポンサー

規約違反を通報

非表示設定

表示内容を選択