サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
w.koshigoe.jp
Generated by Hiki 0.8.6 (2006-07-03). Powered by Ruby 1.8.7 (2012-10-12). Founded by koshigoe.
{{toc_here}} 概要 magitを使い始めるに当たってのトレーニングの記録。 http://zagadka.vm.bytemark.co.uk/magit/magit.html http://magit.github.com/magit/magit.html 注) Gitの用語を正しく使えていないので適宜読み替えてください。 キーバインドで探る使い方 ステータスバッファ M-x magit-status C-u M-x magit-status C-u C-u M-x magit-status g: リフレッシュ l: 履歴操作用のサブメニューのウィンドウがポップする b: ブランチ操作用のサブメニューのウィンドウがポップする m: マージ操作用のサブメニューのウィンドウがポップする r: リライト操作用のサブメニューのウィンドウがポップする P: git push用のサブメニュ
{{toc_here}} はじめに Unicornは、Unix系システムで動作するRackアプリケーション用サーバ。接続時間が短いことを前提とした設計となっている。 - http://unicorn.bogomips.org/ preforkモデル Unicornはpreforkモデルを採用している。 Reverse Proxy └TCP Socket[0.0.0.0:8080] > Unicorn(Master) ├(fork)─Worker[0] < TCP Socket[0.0.0.0:8080] ├(fork)─Worker[1] < TCP Socket[0.0.0.0:8080] ┆ └(fork)─Worker[N-1] < TCP Socket[0.0.0.0:8080] マスタプロセスからforkした複数のワーカープロセスがあり、クライアントからのリクエストを
Tidyの設定値について和訳がてらメモしておきます。目を通したという事実の記録でしかないので、誤訳にご注意ください(実際に使う場合は、手元で挙動をご確認ください)。 HTML Tidy Configuration Options Quick Reference add-xml-decl(default: no) 出力にXML宣言(<?xml ... ?>)を付けるか否か 入力にXML宣言がある場合、この設定値は無視される add-xml-space(default: no) DTDへのアクセス無しに空要素と判断出来るように、xml:space="preserve"を付ける? alt-text(default: -) img要素でalt属性が無い場合の属性値の指定 assume-xml-procins(default: no) ?>を区切りとする 入力がXMLの場合は自動的に有効になる ba
{{toc_here}} 概要 タスク管理ツールTaskwarriorのチュートリアルより。 - http://taskwarrior.org/projects/taskwarrior $ man task-tutorial 基本 TODO: IDは自動採番され再割り当てされる? タスクを追加する $ task add {タスクの見出し} タスクには自動採番のIDが割り当てられる。 タスクの一覧を表示する $ task list $ task li 実施済みのタスクを記録用に追加する $ task log {タスクの見出し} タスクの複製 $ task {ID} duplicate /置換前/置換後/ $ task {ID} dup /置換前/置換後/ タスクの完了 $ task {ID} done プロジェクト タスク見出しの書き換え $ task {ID} /置換前/置換後/g タスク
GNU Parallel の Manpage にある Example をメモ。 GNU Parallel - GNU Project - Free Software Foundation GNU parallel は xargs の様な感覚で引数を取りながら、処理を並列に実行するコマンド。for や while の代用として、ループを簡潔に書くためにも使える。 例:xargs -n1 の様に引数リストを一つずつ処理する みつかった HTML ファイルを圧縮する。 $ find . -name '*.html' | parallel gzip 改行やスペースなどを含むファイルへの対処。 $ find . -type f -print0 | parallel -q0 perl -i -pe 's/FOO BAR/FUBAR/g' -q0 オプションを使う 例:コマンドラインから引数リストを読み
Formula (和訳) 調理法 (用語) パッケージの説明書 Keg (和訳) 小たる、たるビール (用語) Formula のインストール先パス Celler (和訳) 地下貯蔵室 (用語) Keg 群のインストール先パス Formula のアップデートなどに git を使うので、git を入れておくと便利。 home コマンドを実行すると Homebrew のホームページをブラウザで開くので、目を通しておくとよい。 実際にコマンドで何ができるかは man ページに目を通しておくとよい。 $ brew install git $ brew update $ brew home $ man brew $ brew search text 指定文字列( text )の部分マッチで Formula を検索する。 $ brew search /regex/ 指定正規表現のマッチングで Form
注) 2011/02/23 追記: 会社の勉強会で発表した際に会社のブログ記事としてほぼ同じ内容で公開しています。 {{toc_here}} Homebrew (訳) home-brew: 自家醸造飲料(ビール、酒) インストール $ ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)" /usr/local/ 以下のパーミッションを調整 リポジトリから tar ボールをダウンロード tar ボールを /usr/local/ 以下に展開 詳しくは: http://gist.github.com/raw/323731/install_homebrew.rb 語彙 Formula (和訳) 調理法 (用語) パッケージの説明書 Keg (和訳) 小たる、たるビール (用語) Formula のイ
クライアントが Redis サーバに接続するために、6379 番ポートへの TCP 接続を作る Redis のコマンドおよびデータは "\r\n" (CRLF) で終了する 以下は、C をクライアント、S をサーバとした通信例。 C: PING S: +PONG クライアントが CRLF で終了するインラインコマンドをサーバに送ると、サーバは以下のいずれかの種類の応答を返す。 エラーメッセージ(先頭の 1 byte が "-") 単一行の応答(先頭の 1 byte が "+") 値の配列である複数のまとまったデータ(先頭の 1 byte が "*") 整数(先頭の 1 倍とが ":") 以下、整数が返るインラインコマンド。 C: EXISTS someky S: :0 EXISTS コマンドは 1 つの引数をとる 引数は一つの空白で区切られる バルクコマンドはインラインコマンドと全くだが、
Apache HTTP Server (以降、Apache) の mod_filter について調べた。 mod_filter - Apache HTTP Server mod_filter - Apache HTTP Server (koshigoe 適当訳) ※ 調査対象の Apache のバージョンは 2.2。 mod_filter は、スマートなフィルタを提供するためのモジュールで、それまでのフィルタとモデルが異なっている。 それまでのフィルタ・モデル ハンドラからクライアントへの単純なチェイン フィルタは AddOutputFilter ファミリを利用して無条件に挿入される 各フィルタを実行するかどうか決定する必要があるが、チェインをダイナミックに構成する柔軟性はほとんどない ハンドラの結果に基づいたダイナミックな構成は問題を引き起こすことがある To Client ^ | +-
Key-Value Store の Redis について、公式サイトの README を参考に概要をつかむためのメモ(ほぼ、簡易な訳のみ)。 redis - Project Hosting on Google Code README に入る前に、プロジェクトサイトのトップページに書かれている特徴から、いくつか抜粋。 Posix システム向けに ANCI-C で書かれている 対応言語 Ruby (+) Rack::Session と Rack::Cache を Redis に対応させたものもある (+) DataMapper の Redis 用アダプタがある Python Twisted Python PHP Erlang Tcl Perl Lua JAVA Scala Clojure Redis はデータベース Redis はキーと値のペアからなる辞書を実装した非常にシンプルなデータベース
Homebrew は Mac OSX 用のパッケージ管理システム。 Homebrew is a package management system for OS X. In other words it is a tool that helps you manage the installation of other open source software on your Mac. mxcl's homebrew at master - GitHub Resque の調査の過程で、Homebrew の存在を知ったため、簡単に概要だけを調べた。 設定なしのインストール Homebrew のファイル類一式を /usr/local 下にコピーするだけで使える様になる どこにでもインストールできる Homebrew はどこに置いても使える Homebrew は自身の prefix の外側を決して
Redis で利用可能なコマンドを、公式ドキュメントからメモ。 CommandReference - redis - Project Hosting on Google Code 注記 ドキュメントの完全な和訳を目指している訳ではなく、メモを取りつつコマンドの概要をつかむ事が目的 原則として、コマンドのサンプルは、先頭から順に行ったものとする サーバに格納されているデータは、各コマンドのセクション間で引き継ぐものとする 引き継いでいない場合は、サンプル中でデータを準備するところから行っている コマンドリファレンスの引数の記法(意味)は、説明文中に補足がない場合は以下の通り <key> = キー <bytes> = 送信するデータのバイト数 <data> = 送信するデータ(String) <srckey> = 操作元のキー <dstkey> = 操作先のキー <member> = 操作対象
MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.11 InnoDB パフォーマンス チューニング ヒント MySQL :: MySQL 5.1 Reference Manual :: 13.6.13.1 InnoDB Performance Tuning Tips 長過ぎる PRIMARY KEY を避けてディスク領域の無駄遣いを避ける セカンダリインデックス用に余計な領域を使わないよう、長い主キーを避ける 主キーが長い場合、代わりに AUTO_INCREMENT なカラムを主キーとして作成するとよい 補足 MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.13 InnoDB テーブルとインデックス構造 MySQL :: MySQL 5.1 Reference Manual :: 13.6.10.1 Clustered and Se
Resque は GitHub で開発/運用している、バックグラウンドジョブを作り・複数のキューに配置し・それらを後で処理するための、裏に Redis を採用したライブラリ。 Resque is a Redis-backed library for creating background jobs, placing those jobs on multiple queues, and processing them later. Introducing Resque - GitHub defunkt's resque at master - GitHub GitHub のブログ記事から、Resque の背景をメモ。 バックグランドジョブは、perform に応答できる Ruby のクラスかモジュール。 これまで 10m (10 million?) のジョブを処理してきたとの事。 GitHu
class Archive @queue = :file_serve def self.perform(repo_id, branch = 'master') repo = Repository.find(repo_id) repo.create_archive(branch) end end ジョブは perform に応答可能(job.respond_to?(:perform) == true)な Ruby のオブジェクト インスタンス変数 @queue はジョブが置かれるキューを示す キューは不定で on the fly に作成できる class Repository def async_create_archive(branch) Resque.enqueue(Archive, self.id, branch) end end ジョブは Resque.enqueue でキューに置か
{{toc_here}} InnoDB パフォーマンスチューニング MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.11 InnoDB パフォーマンス チューニング ヒント MySQL :: MySQL 5.1 Reference Manual :: 13.6.13.1 InnoDB Performance Tuning Tips 長過ぎる PRIMARY KEY を避けてディスク領域の無駄遣いを避ける セカンダリインデックス用に余計な領域を使わないよう、長い主キーを避ける 主キーが長い場合、代わりに AUTO_INCREMENT なカラムを主キーとして作成するとよい 補足 MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.13 InnoDB テーブルとインデックス構造 MySQL :: MySQL 5.1 Reference Ma
ActiveRecord の STI(Single Table Inheritance) について、実装を追いかけた記録です。 rails's rails at master ― GitHub RubyForge: Rails: ファイルリスト 以降、Rails のバージョンは 2008/09/24 現在で最新の2.1.1です。 ワンセット欲しかったので、GitHubからコードを持ってきました。 $ git clone git://github.com/rails/rails.git $ cd rails $ git fetch --tags $ git git checkout v2.1.1 $ ctags -e --recurse --languages=ruby ※ 最後の ctags は気にしないでください。 途中、基本的な事も記録していますが、そこは見逃してください。 ※ 200
CruiseControl.rb(CC.rb)は、継続的インテグレーションのツールです。 CruiseControl.rb ダウンロードして展開 プロジェクトを登録(cruise add <name> -u <url>) CI開始(cruise start) 特徴 10分もあればインストールできるよ。 Rubyがあれば動かせるよ(いくつかの依存モジュールはあるけれど)。 他のビルドツールにも対応しているよ。非ゼロを返してくれれば失敗と見なすしね。 ウェブベースのダッシュボードは便利で役に立つしきれいなんだ。 ビルドが壊れたり直ったりすれば、メールとかIMとかCCTrayとかで通知するよ。 プロジェクト別にビルド記録のRSSフィードを用意しているよ。 ワンクリックで問題のコードにジャンプできるよ。 特別な設定なしにカスタムビルドの結果を表示するよ。 ビルダープラグインで拡張したり、ビルドスケ
分割 $ ec2-bundle-image -i <イメージファイルへのパス> \ -k <秘密鍵ファイル> \ -c <証明書ファイル> \ -u <AWS ユーザ ID> アップロードする $ ec2-upload-bundle -b <バケット> \ -m <マニフェストファイル> \ -a <アクセス ID> \ -s <秘密鍵> 登録 $ ec2-register <バケット>/<マニフェストファイル> 確認 $ ec2-describe-images -o self $ ec2-run-instances <image id> -k <キーペア> インストールのみで設定が不十分なのでいくつかの設定を行う。 ゾーンを指定してインスタンスを起動する EBS ボリュームを作成(ゾーンに注意) ボリュームをインスタンスにアタッチ /vol にマウント 例)ボリュームの作成とアタッチ $
Ruby 版 Make である Rake について。 Rake -- Ruby Make { version: 0.8.3 date: 2009/02/11 $ rake [options ...] [VAR=VALUE ...] [tasks...] rake コマンドに引数として、 オプション 変数 タスク名 を渡す。 default タスク タスク名が省略された場合、Rake は default という名前のタスクを実行する。 Rakefile Rake は、タスクを記述した Rakefile というファイルからタスク等の処理を読み込む。 $ rake --help 上記 --help オプションでヘルプが表示される。 ? -C, --classic-namespace タスクの説明を表示する -D, --describe [PATTERN] PATTERN を指定した場合は、マッチ
Ruby の Configatron について、どんなものか感触を掴むための調査結果を記録します。 Rails でアプリケーション固有の設定情報を取り扱う目的で利用可能 Hash ではなく、オブジェクトの様な扱いが可能 実際の利用の際は、RDocなどを参照してください。 Configatron を Rails で利用する際に便利なプラグイン。 cmaggard's configatron-rails at master - GitHub $ sudo gem install configatron # => config/environment.rb に config.gem "configatron" を記述 $ script/plugin install git://github.com/cmaggard/configatron-rails.git $ script/generate
Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks. RackはRubyをサポートするウェブサーバ群とRubyフレームワークとの間の最小のインターフェースを提供する。 Rack: a Ruby Webserver Interface File: SPEC この仕様はRackプロトコルの形式化を目的とする。あなたは、そのためにRack::Lintを適用する事ができる(そしてそうすべき)。あなたがミドルウェアを開発する際、必ずすべての誤りを捕捉する前後にLintしなさい。 Rackアプリケーション Rackアプリケーションはcallに応えるRubyオブジェクト(classではない)。それは1つの引数environmentをとり、3つの値(statusとheadersと
次のページ
このページを最初にブックマークしてみませんか?
『w.koshigoe.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く