タグ

ブックマーク / koseki.hatenablog.com (7)

  • 英語で RSpec を書くために例文一覧を出力する - こせきの技術日記

    gems ディレクトリの */spec/**/*_spec.rb ファイルに対して 'it .* do' を grep する。 cd ~/.rvm/gems/ruby-1.9.3-p327/gems find */spec -type f -name '*_spec.rb' | xargs grep -ho 'it .* do' | sort | uniq | lessみたいな感じ。以下のような出力が得られる。 : it "accepts a URL as the path" do it "accepts a block to change output" do it "accepts a block" do it "accepts a body" do it "accepts a class as argument with a task to invoke" do it "accept

    英語で RSpec を書くために例文一覧を出力する - こせきの技術日記
  • PHP で h() を書くなら一緒に echo しよう。 - こせきの技術日記

    名前が長い関数 htmlspecialchars() を h() と書けるようにすると便利、という話がある。 PHP: htmlspecialchars - Manual htmlspecialchars関数を簡単に扱えるようにする 第1回 CakePHPを使いたくなる5つの特徴:CakePHPで高速Webアプリ開発|gihyo.jp … 技術評論社 htmlspecialchars() なんて長い名前は絶対忘れるし、ENT_QUOTESだのUTF-8だのも書き忘れるに決まっている。 h() は CakePHP でも使われていて、いいと思う。いいと思うんだけど、もうちょっといける。 <?php /** 改善前のエスケープ関数 */ function h($str) { return htmlspecialchars($str, ENT_QUOTES, 'UTF-8') } このようにエスケ

    PHP で h() を書くなら一緒に echo しよう。 - こせきの技術日記
  • HTTPのクエリパラメータにコロン(:)を書くのは不正なのか。 - こせきの技術日記

    PHP の $_SERVER['REQUEST_URI'] と parse_url() の予想外な動作について。 - こせきの技術日記 の続き。 PHPのparse_url()は、 "/abc?a=x&time=09:00&x=y" はパースできるのに、 "/abc?a=x&time=09:00" だと失敗する。 相対URIで「動作しない」仕様だかららしいのだが、それはともかく、コロンのパーセントエンコードが必須なのか気になったので調べた。 URIの仕様 RFC 3986 まず、基礎となる URI の仕様 RFC 3986 がある。 RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax Uniform Resource Identifier (URI): 一般的構文 日語訳 RFC 1738 - A Gopher URL

    HTTPのクエリパラメータにコロン(:)を書くのは不正なのか。 - こせきの技術日記
  • 右寄りのプログラマを粛正する。 - こせきの技術日記

    まずこれを10回読もう。 うねりコード - 【アンチパターン】遠くから見ると、画面上でコードがうねっている。 コードが2段階以上右に寄ったら、右足はウンコ踏んでると思いましょう。無闇とエディタの横幅を広げるのも良くない。広いディスプレイは甘え。 つぎこれ。 ガード節による入れ子条件記述の置き換え - ぐるぐる~ function foo() { if (cond) { : : : : } }こういうのは最低です。下のように書きます。 function foo() { if (! cond) return; // ガード節で、さっさと帰らせる。 : (正常処理) : }無駄にインデントが深くなりません。意図が明確になります。 下のようなコードも良くない。 function foo() { if (condA) { : : } if (condB) { : : } }右に寄りすぎ。メソッドを分

    右寄りのプログラマを粛正する。 - こせきの技術日記
    masutaka26
    masutaka26 2011/11/10
    『コードが2段階以上右に寄ったら、右足はウンコ踏んでると思いましょう。』
  • DateTime に月、日、時、分、秒を足す。 - こせきの技術日記

    DateTimeに秒を足す方法がなかなか見つからなくて苦労した。結局ActiveSupportのソースから探した。 Rationalを足せば良い。 require 'date' t = DateTime.now # 1ヶ月後 t >> 1 # 1日後 t + 1 # 1時間後 (1/24日後) t + Rational(1, 24) # 1分後 (1/1440日後) t + Rational(1, 24 * 60) # 1秒後 (1/86400日後) t + Rational(1, 24 * 60 * 60) 秒を足すことばかり考えてたけど、「Ruby DateTime 時間」で検索したらあっさり見つかった。 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/44399 でもマニュアルにも書いといてほしいです。いっぺんT

    DateTime に月、日、時、分、秒を足す。 - こせきの技術日記
  • Mac OSXでPostfixが勝手に起動する仕組み - こせきの技術日記

    メールを送ろうとしたら送れたので驚いた。 Macではメールサーバの設定をしなくても、外にメールが出ていく。 プロセスリストを見ても気づかない。 sendmailコマンド実行時にpostfixが勝手に起動し、静かに終了する。 sendmailを実行するアプリケーション(PHPとか)に要注意。 送るつもりがなかったメールが出てしまっていないか? ログ /var/log/mail.log を確認。 スプール /var/mail/ を確認。 手元では_wwwのアカウントにWordPressの通知(配送失敗)が届いていた。 仕組み。 launchdが /var/spool/postfix/maildrop を監視している。 Undocumented Mac OS X:第2回 initを置き換えるlaunchd【後編】 (1/3) - ITmedia エンタープライズ Postfix版sendmail

    Mac OSXでPostfixが勝手に起動する仕組み - こせきの技術日記
    masutaka26
    masutaka26 2011/06/06
    へえ〜 postfixは自ら起動することはなくて、必要に応じてスーパーデーモンlaunchdさんが起動してくれる。これは巣の状態のMacでも同様。
  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ

  • 1