タグ

ブックマーク / wp.jmuk.org (3)

  • VS codeを起動しているとファンが回るようになったので

    なんか最近になって、VS codeを起動しているとファンが回るようになってしまった。topで調べると関連するプロセスがCPUを100%利用しているので、これが原因だろうとは思う。ただプロセス名が全部codeなので、どんな処理をしている奴がどんな理由でCPUを使っているのか、いまいちよくわからない。仕方ないのでVS codeを再起動するとまあ直ったりするのでそういうふうに使っていた。 今日もそういうことがあったが……いい加減うんざりしたので、調べてみることにした。 VS codeにはprocess explorerが同梱するようになっていたようだ。Ctrl-Shift-Pでコマンドパレットを起動して process explorer を調べて起動すると別ウィンドウが開いて教えてくれる。この機能は正直なところ完成度があまりにも低く、例えばCPUやメモリ使用量でソートしたりできないし、私の使って

    VS codeを起動しているとファンが回るようになったので
    masterq
    masterq 2023/11/02
    "VS codeにはprocess explorerが同梱するようになっていたようだ。Ctrl-Shift-Pでコマンドパレットを起動して process explorer を調べて起動すると別ウィンドウが開いて教えてくれる"
  • JSONとBigInt

    ちょっと前にblueskyで見かけた話題。もとは「GraphQLのスキーマではintが32ビットしかなくて、64ビット整数とかないのがイケてない」といった話だったかなと思う。直感的にはこれは「Javascriptではすべてが倍精度浮動小数点数だから64bit intがないから」ということになるが、よくよく調べてみるといろいろややこしい歴史的事情があるようだ。 たしかにJSにはもともとひとつのNumber型しかなく、いわゆるdouble型(倍精度浮動小数点)だけで数値を表現してきた。IEEE754の倍精度浮動小数点数は仮数部が52ビットあるので、実際には32ビット整数ていどであれば全て誤差なく表現できる。なので32ビット整数または倍精度浮動小数点数がどちらも使えるというふうに理解されてきた。 そうはいっても不便なので、現代のJSにはBigIntがある。ES2020で導入されたらしい。ただし普

    JSONとBigInt
    masterq
    masterq 2023/09/08
    JSONも理想郷ではなかったんだなぁ。代替策がシリアライザに詳しくないので参考になる
  • Rustでsafeな連結リストをつくる試み

    前回の記事を書いてから、考えてるだけじゃだめだなとすこし書いてみたところいろいろわかった。 Rcによるリスト Rcはリファレンスカウントで管理できる。RcはWeakをつくれるので、たとえばnext方向にRcをつなげておき(先頭ノードはリスト体が保持)、prev方向へはWeakを持たせればいいのではないか? と考えてみたのだった。 やってみたところこの方針では書けないということがわかった。Rcの参照先は基的には更新ができない。ノードを追加したらprevやnextを書き換えないといけないけど、書き換えができない。書き換えをするには mutable なリファレンスを一時的に獲得する必要があるが、weakも含めたリファレンスカウンタが1でないといけない(これは安全性のためだろう)。prevとnextで基的にノードにはstrongが1つとweakが1つ常にあるので、mutableなリファレンス

    Rustでsafeな連結リストをつくる試み
    masterq
    masterq 2023/03/10
    "double-linked-listをsafe Rustの範囲内で作るのはどうも無理っぽいというので正解という気がする"
  • 1