タグ

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

  • Sinatra でアプリケーションログをファイルに書く方法。 - こせきの技術日記

    Sinatra はじめて触ったんだけど、ログをファイルに書く方法がなかなかわからなかった。 ログを、ただファイルに書きたいのです。 結論 独自のミドルウェアで env['app.logger'] を設定し、アプリケーションのloggerメソッドをオーバーライドする。 参考 ruby - Use Rack::CommonLogger in Sinatra - Stack Overflow これに書いてある通りだった。面倒くさいー。 サンプル 以下でログがファイルに出力される。アクセスログとアプリケーションログを別のファイルに出力することもできる。 config.ru Loggerを作ってミドルウェアに渡す。 require 'logger' require 'sampleapp' require 'applog' logdir = File.dirname(__FILE__) + "/log

    Sinatra でアプリケーションログをファイルに書く方法。 - こせきの技術日記
    deeeki
    deeeki 2012/03/10
  • Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記

    Apacheの設定で Order deny,allowとか Satisfy anyとか、なんだか意味わからん人のために。僕はずっとわかってなかった。 基 Apacheのアクセス制御には、 ホストによる制御 (Order,Allow,Deny) ユーザ認証による制御 (Auth*, Require) の2通りがある。 Satisfyは、2通りあるアクセス制御の両方を満たす必要があるかどうかを決定する。デフォルトはSatisfy all。Satisfy anyなら、どちらか片方満たせばよい。 Order http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order Order deny,allowは、全てのホストからのアクセスを許可する。 Order allow,denyは、全てのホストからのアクセスを拒否する。 Order d

    Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記
    deeeki
    deeeki 2010/09/13
    Order deny,allowで明示的にかくかOrder allow,denyで簡潔にかくかまだ迷い中
  • GPLメモ - こせきの技術日記

    配布とソースコード GPLの派生物を渡した相手が希望するなら、ソースコードを渡さなければならない。 不特定多数にソースを公開する義務はない。 AさんがBさんにGPLのソースから作ったバイナリを渡すとき、Bさんに要求されたらソースも渡さなければならない。 BさんがAさんから受け取ったバイナリを100人に売ったとき、その100人に要求されたらソースも渡さなければならない。 顧客の100人がバイナリを購入せず、BさんやAさんにソースを要求しても渡す必要はない。 オープンソースで行こう!: 第2回 オープンソースライセンス事情を俯瞰する 「特にGPLのソフトウェアをビジネス用途などで第三者に販売・提供する場合、その第三者からソースコードの開示要求があればそれに応じなければなりません」 ソースを渡した相手に、再配布を許可しなければならない。 渡された相手が「再配布しなければならない」わけではない。

    GPLメモ - こせきの技術日記
  • mod_rewriteのコンテキストとサブリクエストについて調べた。 - こせきの技術日記

    発端 WordPressでパーマリンクをカスタマイズすると、下の設定を.htaccessに書くように言われる。 Using Permalinks « WordPress Codex RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]これをhttpd.confに移すと以下のように書ける(と思っていた)。 RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule . /index.php [L]Dir

    mod_rewriteのコンテキストとサブリクエストについて調べた。 - こせきの技術日記
  • mod_rewriteの考え方。 - こせきの技術日記

    http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html を見ながら。 URLが正規表現(A)にマッチし、かつ 文字列(B)が条件(C)を満たす場合に、 URLを(D)に書き換える。 というのが基。 RewriteRule URLが(A)の正規表現にマッチしたら(D)で書き換える。 正規表現(A)は、リライトを実行するかどうかの条件(真偽値)であって、置換 url =~ s/(A)/(D)/ ということではない。たとえば、以下のような正規表現でリライトされる。 Google Code Search # 1文字マッチしたらリライト実行。空文字列でなければ実行する。 RewriteRule . index.php [L] Google Code Search # 先頭にマッチしたらリライト実行。常に実行する。 RewriteRule ^ -

    mod_rewriteの考え方。 - こせきの技術日記
  • WordPressをアプリケーションフレームワークとして使う。 - こせきの技術日記

    WordPressを使ってアプリケーションを開発した。これまでWordPressは使ったことがなかったが、簡単に機能を追加できた。 ブログ的なアプリケーションを効率よく開発できる環境になっていると思う。 ビュー: テーマをカスタマイズする ./wp-conent/themes/defaultディレクトリを複製してオリジナルのテーマを作る。 ダッシュボード>外観>テーマ で作成したテーマを選択。 index.php(トップページ)やsingle.php(記事単体表示)にPHPのコードを足す。 通常のブログとして機能させつつ、特定の記事にだけ機能を追加できる。 例: if (タグAが設定されていたら) { 文の前後に別ファイルをインクルード } 例: if (投稿スラッグが正規表現にマッチ) { 特定ユーザのコメントを処理・出力 } 例: if (特定のユーザがコメント) { DBからデータ

    WordPressをアプリケーションフレームワークとして使う。 - こせきの技術日記
  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    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ƒ‰ƒŠ‚ÌŠ

  • JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記

    タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー

    JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記
  • 1