狐の避暑地

PHPやJavaでプログラミングをしてます。狐が好きです。備忘録やゲームについて置いてあります。

私のbashで最も使われたコマンドは何か

 bashのhistoryの頻出ランキングを紹介します。
 もちろん問題の有りそうなものは排除してますし、CentOS標準でないものは目視で確認してから除外してます。
 なお、私の環境でのHistoryは1000件まで保持しています。

使うコマンド

利用頻度の高いコマンドをリストアップする | bacchi.meを借りて

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

以下結果発表

続きを読む

phpのecho, printの早いのはどっち?文字列は'aaa' と"aaa"早いのはどっち?

 本日は2本立てでお送りします。

使う目的

  • 普段から活発的に論争になる echo vs. print と 'aaa' vs. "aaa" に自らの手で決着をつける

環境

php5.5

方針

  1. 同じ文章を表示し続ける
  2. 一定回数表示した後に時間を計測する
続きを読む

処理のエラーコードをスマートにビット演算で返す

 あまりに昨日のエントリーがお粗末だったので今日は多少力を入れます。

使う目的

  • ユーザがデータを送った時(例えば名前、メールアドレスなど)にエラーを返したい
  • ビット演算を使う数少ない場面かな

環境

php5

方針

  1. 入力値のバリデートを行う
  2. エラーなら指定のビットを上げてエラーページに返す
続きを読む

クレジットカード番号が正しいかどうかを確認する

使う目的

環境

php(>=4)

方針

(計算方法はWikipediaを参照)

  1. 数字以外を撃ち落とす
  2. 偶数桁目と奇数桁目を交互に計算して和を求め続ける
  3. 最後に10で割り切れるかを確認して終了
続きを読む

ランダムな16進数をほしい桁数だけ取得する

使う目的

  • ランダムなユーザID, ユニークキー等を生成したい時に何桁かの16進数が必要
  • (使うときに限って)ど忘れするので備忘録

環境

php(>=4)

方針

  1. 0-15の乱数を桁数分だけ生成する
  2. 生成した乱数を16進数に置換して出力
続きを読む

簡単なセキュリティ対策をしながらIDとPasswordを登録する方法

使う目的

  • ユーザの登録を必要とした環境で、何も考えずにサクッと書きたい
  • セキュリティは必要最低限の対策をしたいけど、面倒な実装はしたくない
  • どんなユーザ管理をするにしても基本の書き方なので備忘録兼

環境

php5 + apache2

MySQL5.6

方針

  1. IDは英数字のみ有効、PasswordはHash化する
  2. IDとHashedPasswordをデータベースに書き込む
  3. それを用いてユーザ認証を行う
続きを読む