タグ

ブックマーク / hnw.hatenablog.com (5)

  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 稿では3言語の連想配列の従来実

    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
  • 自宅のネットワーク図をメンテし続ける工夫 - hnwの日記

    みなさん、自宅のネットワーク図って何のツールで書いてますか?私は過去に次のようなツイートをしたところ案外バズったことがありました。 「自宅のネットワーク図って何のツールで書いてます?」 「それ自宅で必要?」 終 制作・著作 ━━━━━ ⓃⒽⓀ— hnw (@hnw) 2019年9月29日 これがバズるのは自宅にヤバいネットワークを組んでいる人が一定数いる証拠と言えるかもしれません。リプライ欄を見ても、みなさんそれぞれ工夫されていることがわかりました。 私個人はネットワーク図を書くのに色々なツールを試してきたのですが、イマイチ定着しないのが悩みでした。最初は頑張って書くのですが、いつの間にかメンテをサボってしまい、いざネットワーク構成をいじる段になると情報が古くて役に立たないことが複数回ありました。悲しいですね。 プロなら仕事で使う定番ツールがあるのかもしれませんが、私のようなアマチュアの立

    自宅のネットワーク図をメンテし続ける工夫 - hnwの日記
  • date-holidays という祝日ライブラリが良い意味で狂っていた - hnwの日記

    世界には色々なマニアがいるなーという話を紹介します。 先日Node.jsで使える祝日ライブラリを探していたところ、複数の国や地域の祝日に対応しているライブラリ date-holidays を見つけました。 commenthol/date-holidays: worldwide holidays このライブラリは稿執筆時点で143ヶ国379地域の祝日に対応しています。この時点で頭がおかしい(ほめ言葉)のがわかると思うんですが、さらに凄いのがこれらの祝日をすべてYAMLで定義しており、このYAMLが変態的だという点です。 YAMLによる祝日の定義例 どう凄いかは実際のYAMLを見た方が早いと思うので、例を紹介します。下記は日の祝日の定義の一部です。 01-15: name: en: Coming of Age Day jp: 成人の日 active: - from: 1948-07-20

    date-holidays という祝日ライブラリが良い意味で狂っていた - hnwの日記
  • Mackerelで家庭内ネットストーカーシステムを作ってみた - hnwの日記

    エントリはMackerel Advent Calendar 2017の23日目の記事です。 自宅の無線LANの利用状況をMackerelで監視するようにしたところ、予想以上にキモい仕組みができました。たとえば、家族の誰か(正確には誰かのスマートフォン)が外出するとSlackに通知を飛ばすことができます。 同じことをしている人は多くないと思うので、その知見を紹介します。 システム概要 まずは我が家のネットワーク構成を紹介します。 インターネットに接続しているブロードバンドルータがあり、無線経由でスマートフォンやPCがぶら下がっているような、ごく普通のネットワーク構成です。唯一変わっている点は、ブロードバンドルータ上でLinuxおよびMackerelエージェントが動いていることでしょう。 このルータの詳細は稿では省きますが*1、ザックリ言うとRaspberry Pi 3を無線LANアクセス

    Mackerelで家庭内ネットストーカーシステムを作ってみた - hnwの日記
  • GitHubユーザーのSSH鍵6万個を調べてみた - hnwの日記

    (2015/1/30 追記)時期は不明ですが、現時点のgithub.comはEd25519鍵にも対応しています。 (2016/5/31 追記)「GitHubにバグ報告して賞金$500を頂いた話」で紹介した通り、既に弱い鍵はGitHubから削除され、新規登録もできなくなっています。 GitHub APIを利用して、GitHubの31661アカウントに登録されているSSH公開鍵64404個を取得してみました。抽出方法*1が適当すぎて偏りがあるような気もしますが、面白い結果が得られたと思うのでまとめてみます。 SSH鍵の種類 鍵の種類 個数 割合 RSA鍵 61749 (95.88%) DSA鍵 2647 (4.11%) ECDSA鍵 8 (0.01%) 約6万個の鍵のうち、8個だけECDSA(楕円DSA)鍵が見つかりました!常用しているのか試しに登録してみただけなのかはわかりませんが、何にせよ

    GitHubユーザーのSSH鍵6万個を調べてみた - hnwの日記
  • 1