タグ

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

  • PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記

    PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい

    PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記
    Nean
    Nean 2014/08/10
  • Emacs起動時に自分好みのelispを自動的にインストールする - hnwの日記

    (2015/04/27追記)Emacs24.4付属のpackage.elでは「野良elispをpackage-installする」が動かなくなっていました。中の人が想定してない使い方で頑張るより、必要なものはMELPAにぶっこんでいくスタイルの方が正しい気がしますね…。 自宅と会社など、複数環境でEmacsを使っていると全環境を同じ状態に保つのは意外と手間がかかります。GitHubなどを利用してinit.elを共有すればそれなりに同じ状態にできますが、完全に同じ状態にしようと思うとelispのインストール状態も共有する必要があり、これが案外面倒だったりします*1。 そこで、init.el内に自分が必要なパッケージ名を列挙しておいて、起動時にインストールされていないパッケージがあったらpackage.elでインストールする仕組みを導入しました。さらに、URLで指定されたelispをpacka

    Emacs起動時に自分好みのelispを自動的にインストールする - hnwの日記
  • Emacsで一度開いたファイルのカーソル位置を覚えておく - hnwの日記

    タイトルの通りなんですが、init.elに下記のように書くと一度開いたファイルのカーソル位置を記憶し、再度開いたときに元のカーソル位置を復元してくれます。 ;; 以前開いたファイルを再度開いたとき、元のカーソル位置を復元する ;; http://www.emacswiki.org/emacs/SavePlace (when (require 'saveplace nil t) (setq-default save-place t) (setq save-place-file "~/.emacs.d/saved-places")) それ便利なの?と思う人もいると思いますが、一週間前の作業の続きをやるような場合は便利です。普段はどうでもいい機能ですが、邪魔にはならないのでトータルではメリットの方が大きいと感じています。 session.elを使っているときはデフォルトがこういう挙動だったんです

    Emacsで一度開いたファイルのカーソル位置を覚えておく - hnwの日記
    Nean
    Nean 2014/01/12
    “しかしsaveplace.el自体は大昔から標準装備だったようですね。知らんかった…”、、然り然り。
  • 1