MasterYodaの昼下がり

日々の備忘録的なアレ

phpの==の挙動

php

phpの==はお節介な挙動をみせる。 散々言われてることだけど、厳密比較(===)を使うようにしよう。 さもないと思わぬバグを生み出す。 phpの==は、よしなに型を合わせる。 それが便利なこともあるが、大抵の場合は余計なお世話である。 サンプル

HashMapの最適化

参考資料 http://docs.oracle.com/javase/jp/8/api/java/util/HashMap.html HashMapのインスタンスには、その性能に影響を与える2つのパラメータである初期容量および負荷係数があります。容量はハッシュ表のバケット数であり、初期容量は単純にハッシュ表が…

cloneの挙動

php

http://php.net/manual/ja/language.oop5.cloning.php オブジェクトのクローンが作成される際、PHP 5 は、そのオブジェクトのプロパティを 全てシャローコピーします。他の変数へのリファレンスを保持する全てのプロパティは、 リファレンスのままとなります…

usort、uasortの罠

php

phpのusort、uasort関数はユーザ定義の比較関数で配列の要素をソートできる便利な関数。 がしかし、この関数には思わぬ罠がある。 ユーザ定義関数の処理中で、下記3つの処理のいづれかが行われるとphp warningが発生する。 sort対象のデータをvar_dumpもしく…

system関数の戻り値

昔のメモを見返してたらperlのsystem関数で実行した外部コマンドのリターンコードをうまく取得できずにハマったことが書いてあるのを見つけた。新卒2年目でperlって何?美味しいの??状態であったのが思い出される。 ハマったポイントは、リターンコードを…

androidでホスト名に_(アンダースコア)が入っていると通信に失敗する

タイトルの通りandroidでホスト名に_(アンダースコア)が入っていると通信に失敗する。 同じホストに対しiosで通信を試みたところ問題は発生しなかった。 通信失敗時のスタックトレース E/AndroidRuntime(1278):Causedby: java.lang.NullPointerExceptionE/An…

pymysqlでbulkインサート

pymysqlでbulkインサートする方法メモ executeの代わりにexecutemanyを使う 該当コードは以下 https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/cursors.py#L136 PyMySQLのversionが0.6.1以下だとforループでexecute発行しているだけなので、version…

OS X 10.9.4 Marvericksへのupdateメモ

mac

marvericksにupdateしたらbrewで入れてたコマンドが command not found 諸々の開発環境が一瞬で崩壊した・・・ brew listすると出てくるのでinstallはされてるらしい というわけで復旧メモ ・まずはbrew doctor brew doctor warningがどっさり出てくるので促…