TeXのtabular内で改行したいときは \shortstack を使うと良い。

   1  \begin{tabular}{|c|・・・|c|}
   2    ・・・ & \shortstack{ 1行目 \\ 2行目 \\ 3行目} & ・・・
   3  \end{tabular}

See Also

posted by Png y_tsuda on Mon 6 Oct 2008 at 16:40 with 2 comments

用意するもの

絶対必要なもの

  • ツイストペアケーブル
  • LANコネクタ(RJ45)
  • かしめ工具

あれば良いと思うもの

  • ケーブルテスタ

LANコネクタは、ELECOMのLD-RJ45T10A、かしめ工具は、LD-KKTA2

Amazonで合わせて買うと、3000円いかないくらい。 かしめ工具のほうは、皮むきとケーブルカッターの役割も果たすので、個人的にはおすすめ。

作成手順

ケーブルの皮むき

皮をむくと、茶・緑・青・橙のケーブルのペアが出てくる。

こんな感じ。↓ IMG_1371.JPG

ケーブルを順番に並べる

左から順番に、茶・茶白・緑・青白・青・緑白・橙・橙白と並べる。

IMG_1374.JPG

かしめる

LANコネクタの爪のあるほうを上にして、順番に並べたケーブルを差し込む。(爪のあるほうから見て、左から茶・茶白・・・となるように)

そして、かしめ工具を使って、かしめる!!

IMG_1377.JPG

写真のような状態にして、ギュッとすると、カチッとした感触があるはず。

もう一方の端も同じようにする。 (もう一方の端がちょっと違うのがクロスケーブル)

完成

わーい \(^o^)/

posted by Png y_tsuda on Mon 6 Oct 2008 at 00:29 with 3 comments

久々にRailsプラグインの紹介です。

Plugins - NamedScope

This is not simple hack of named scope like you might find in WillPaginate. This is a fully backported and tested version of NamedScope that will work on rails 1.2.6 or 2.0.4.

Rails-2.0.4およびRails-1.2.6でNamedScopeが使えるようになるようです。

posted by Png genki on Sun 5 Oct 2008 at 07:29

git-pullで私なりの解釈で aha!が来たのでメモします。
これからは git-pull --rebaseにしよー
下記をそのままという感じなのですがw
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#using-git-rebase

そういえばトッポさんが言ってた:git-pull --rebaseを使うといいよ

git-pullよりgit-pull --rebaseを使うといいよ(ただしという注意(下記太字)があるのでその辺は注意。ほとんどの人は関係ないと思うんだけど。。。)

Here's a tip for keeping up to date: In lieu of using git pull to download the latest changes, use git pull --rebase. Instead of cluttering the history with a merge commit, it reapplies your changes to the latest upstream. The only caveat is that you shouldn't use this method if you've already published the changes to another repository. Doing so would cause problems for anyone who has already downloaded the original commits.
http://www.tpope.net/rails-git-best-practices

でgit-pullとgit-pull --rebaseの違いをgit-rebaseの説明を読んで理解する

状況

o--o--O--o--o--o <-- origin
         \
         a--b--c <-- mywork

"mywork"は"origin" から単純に並行に行なわれています
プロジェクトの上流では他の興味深い変更が行なわれ、 "origin" は発展します

で、(上の状況から)git-pullした場合

o--o--O--o--o--o <-- origin
         \          \
         a--b--c--m <-- mywork

"pull" を使用して変更をマージさせることができます;結果として新しいマージコミットが生成されます

で、(上の状況から)git-pull --rebaseした場合

originが最新であればgit rebase originでいいと思うのだけど、(originが)最新でない場合はgit-pull --rebaseすればいいのだと解釈しました。

o--o--O--o--o--o <-- origin
                      \
                      a'--b'--c' <-- mywork

これは、mywork からあなたの各コミットを削除し、一時的に (".dotest" という名前のディレクトリ内に)パッチとして保存し、 mywork を origin の最新バージョンの位置に更新し、その後で保存した各パッチを新しい mywork ブランチに適用します。

コンフリクトがある場合は、下記にあるように修正してaddしてgit rebase --continueすればok。

各git-somethingでのコンフリクト時のリカバリ

  • git merge 時のリカバリ
    o 手動マージ -> 動作確認 -> add -> commit

  • git rebase 時のリカバリ
    o 手動マージ -> add -> git rebase --continue

  • git pull 時のリカバリ
    o メンテナの場合 -> 一蹴
    o ユーザの場合 -> 手動マージ -> add -> commit

  • git-am 時のリカバリ ( apply mail = メールで送られるパッチの適用 )
    o メンテナの場合 -> 一蹴
    o ユーザの場合 -> 手動マージ -> add -> git-am --resolved

http://d.hatena.ne.jp/conceal-rs/20080928/1222612534

Refs

http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#using-git-rebase
http://www.tpope.net/rails-git-best-practices
http://blog.s21g.com/articles/535:tpope.netさんのRails with Gitのためのベストプラクティス http://d.hatena.ne.jp/conceal-rs/20080928/1222612534:gitでの開発の流れがわかってかなり++

posted by Png satoko on Fri 3 Oct 2008 at 17:43

~/.gitconfigをさらしてみます。[user]は省略。

   1  [color]
   2    status = auto
   3    diff = auto
   4  [alias]
   5    co = checkout
   6    ci = commit -a
   7    st = status
   8    up = pull --rebase

こんな感じ。SVNぽい感じで使えるようにサブコマンドのaliasを設定してます。 色づけはautoで。

posted by Png genki on Fri 3 Oct 2008 at 16:20

自分用メモ。
screenでは複数windowを開いていますが、最近なんとなく開く数が決まってきたので、最初から開いておくようにしました。瀧内さんは以前8つ開いてるって言ってたので(!)、私の6つなんか かわいいものなハズ。

windowの役割

現在のメインプロジェクトはブログなので、それをベースに以下の5つを開いています。

  • 0 emacs, エディタ
  • 1 shell
  • 2 tail -f log/development.log
  • 3 script/console
  • 4 同時進行のプロジェクト: folked prawn.git
  • 5 railsのdir ソースを読むのに使う

2008.10.03の.screenrc

他の人よりはショボショボなのですが、ご愛敬ということで。 emacsclientを使っているので、emacsはフルパスで書いています。

   1  escape ^tt
   2  
   3  hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
   4  scrollback 4000
   5  vbell off
   6  #idle 1200
   7  #blankerprg /usr/local/bin/tss
   8  
   9  chdir "/home/hibi/blog.git" #メインのprojectに移動
  10  
  11  #screen -t emacs 0 /usr/bin/emacs #emacs 21.4
  12  screen -t emacs 0 /usr/local/bin/emacs
  13  screen -t bash 1
  14  stuff "ruby ./script/server -d" #開いたwindowにこのコマンドだけ入力しとく、実行してもいいのですが実行したくない時も多いので
  15  
  16  screen -t tail 2 tail -f log/development.log
  17  
  18  screen -t console 3 ruby ./script/console
  19  
  20  chdir "/home/hibi/my.prawn.git"
  21  screen -t prawn 4 #前の行でcdしてからwindowを開く
  22  
  23  chdir "/home/hibi/test/vendor/rails/actionpack/lib/action_controller"
  24  screen -t rails 5
  25  
  26  chdir "/home/hibi/blog.git" #以後開くすべてのwindowをblog.gitにするため
  27  select 1 #window1を選択

Refs

http://www.limy.org/program/screen_command.html:日本語リファレンス
http://www.pervasivecode.com/blog/2007/06/12/gnu-screen-and-my-screenrc/
http://technique.sonots.com/?UNIX/設定、設定ファイル/.screenrc

posted by Png satoko on Fri 3 Oct 2008 at 15:48

いろいろ調べた事をブログに書けなくて、 フラストレーションがたまっていたのですが、 ついにソースコードの開示や解説などが解禁されたようですね。

NDA契約更新が完了次第、iPhoneアプリ開発についても ブログに書いていこうと思います。 今まで通りRailsアプリ開発の話も書いていきます。

See Also

posted by Png genki on Fri 3 Oct 2008 at 03:40

できた(というか切り出してきた)gemspec
http://github.com/satoko/prawn/tree/master/prawn.gemspec

forkしているprawnにはprawn.gemspecファイルがありません。
で、自分で適当にでっち上げようとしたのですが、どうやらgemspec(spec.files)の内容が正しくない様子で、動作するgemが作れません。いちいち使用するすべてのファイルを上げなければいけないのだけれど、どうしたら簡単にできるものか...と思ったら、project内のRakefileにgemspecがあった!というので、それを切りだしました。
そこに至るまでのポイントぽいものを挙げます。

gemspecで重要な属性

Important Attributes
name .. version .. platform .. summary .. require_paths .. files .. dependencies
http://docs.rubygems.org/read/chapter/20

spec.fileの便利な書き方:Dir.blog

(注意)githubの場合Dir.globはgem生成時にエラーになるようで(エラー通知メールが来てた)、irbでDir.blogして展開したものをgemspecにコピペするのが正解のようです。

   1  irb(main):001:0> Dir.glob("{examples,lib,spec,vendor,data}/**/**/*")

結果をspec.filesにコピペ。

   1  Gem::Specification.new do |spec|
   2    spec.name = "prawn"
   3    spec.files = ["copy & past the result of Dir.blog"]  +
   4                        ["Rakefile"]

gemspecでローカルで正しいgemが作れるかテストする

下記のコマンドで生成されたgemをインストールし、展開後のdirを見たりテストを実行したりして正しくgemが作られているかテストします。

   1  $ gem build prawn.gemspec

githubでgems.githum.comの一覧に入れてもらう手順

  1. prawn.gemspecというファイルを用意する
  2. コミット
       1  git push prawn.gemspec -m "add gemspec file"
    
  3. https://github.com/satoko/prawn/editRubyGemにチェックする
  4. gem searchで所望のgemが出てくるのを待つ(max 15分くらい?)
       1  $ gem search satoko-prawn -r
       2  *** REMOTE GEMS ***
       3  satoko-prawn (0.2.99.2)
    

(注意)一覧とはここです。

Refs

http://d.hatena.ne.jp/akm/20080621#1214036969
http://docs.rubygems.org/read/chapter/20
http://code.google.com/p/rubeus/source/browse/trunk/rubeus.gemspec#

posted by Png satoko on Thu 2 Oct 2008 at 10:09 with 1 comment

gem update --systemではうまく行かない場合があるようなので、 その場合には以下のようにすればOkです。

   1  # gem install rubygems-update
   2  # update_rubygems

posted by Png genki on Mon 29 Sep 2008 at 19:42

Macのtopコマンドはdebianのものと違って、 Shift+Mではメモリの使用量によるソートができませんでした。 Macの場合は、

   1  % top -orsize

のように、オプションを指定して起動するか、 topが起動している状態で、oキーを押してから、 rsizeと入力すると良いようです。

RSIZEというカラムが使用しているメモリの量を表しています。

posted by Png genki on Mon 29 Sep 2008 at 19:38