Archive for 11 月, 2008

VimM#3 勉強会にいってきた

今日は秋葉原に VimM#3 の勉強会に行ってきた。
元上司??の同じ職場で働いてる人とあったり、Flash の方での知り合いの同僚の人に
あったりだとかとても楽しいかった。
肝心の勉強会はというと、脱初心者がテーマなのにも関わらず初心者らし〜人はいなかった気がする。
はやく visual mode を卒業せねばと思う次第です。
内容的には取り組み方、マクロ、レジスタ、plugin、text objectなど多岐にわたってて
めっさんこ良かった。なんか分かった気がした。
text object や Control + } とかが衝撃だった。
全員が言ってたのは、それ help に書いてるよ。
つまりは help に全てがかいてあるから調べ方さえみにつけば
意外にスラスラ上達するのやも。
ということで忘れない間にメモメモ。
発表内容
Vimで効率的なテキスト編集 id:ukstudio
エディターはプログラマにとって、武士でいう刀みたいなもんだ。かっこよす。
非効率な作業をみつけ、それを解決する方法を考える(キーマッピング, vim script, macro)、
そして最後にそれを習慣にするとのこと。
最後の習慣にするってのが凄い大事。一気に色々覚えようとしても無理。
日々の鍛錬とはまさにこのこと。
新しいことを覚えて習慣化して次のを覚える。
あとは tips で
検索(*), ファイルの移動(gf), 置換, キーワード補完(control + n, p) の使い方があった。
vimrc を他の人のを読み、誰かに聞き、vim-users.jp で聞けば相当、力がつくとのこと。
マクロ id:taku_o
通称:マクロ厨ことななしの vim 使いさんの発表
最初はマクロの初歩的な使い方からはじまった。
と思いきや、気づけばレジスタの話になっていて
速攻意味不明。。。。。
と思いきや、説明がすごい分かりやすくてとても助かった。
マクロを作るときはレジスタが a-zA-Z0-9 と作れるが
基本が小文字を使うらしい。大文字だと小文字のレジスタが登録されていると追記されるらしい。
0は頻繁にかきかわり、1-9 はレジスタの番号がよくずれるためらしい。

:display <- レジスタの情報を表示して確認できる
Control + r [レジスタ] <- これでレジスタの値を貼付ける

マクロいいとこ

カーソル移動能力を使って編集箇所を簡単に細かくしていできる
頭、使わない。簡単
作って、即使える
何回でも実行できる

駄目なとこ

マクロを登録するコストがかかる
登録済みのマクロのミスを修正しづらい
条件分岐はしない方がいい
処理速度が遅い

むいてるとこ

少し大きめの編集処理
6-10万件
使い捨ての処理
スクリプトを組もうとすうと面倒なもの

他にもテンプレートの修正や、簡単なテストデータの作成にはむいている。
vimgrep, copen, cn これほんと便利。
これが今までしらなかったのが損というくらいのしろもの。
あと、expression レジスタもあった。これは便利!!
んで、改心の出来のマクロが組めたら vimrc に let @[レジスタ] [...]

日曜日, 11 月 23rd, 2008

OP25B 対策で Postfix を SMTP クライアントとして SASL 認証する(Biglobe)

概要
そもそも OP25B(Outbound Port25 Blocking) ってのはなんなのか??をざっくり説明すると
25番ポートから出て行くメールは必ず ISP の SMTP サーバを通過しないと駄目だという決まり。
これは ISP によって対応してたりしてなかったりする。
詳細はここを見て下さい。
各 ISP 対応一覧で自分が使ってる ISP の状況を確認しとけば大丈夫。
不運にも該当した方は自宅メールサーバーから外へむけて(会社, gmail, hotmail等)にむけてメールを送信することができません。
ただし同一 ISP 間の場合はメール送信ができました。
以下に設定のやり方を書いてきます。
家の ISP が Biglobe のため Biglobe 以外はわかりません。あしからず。
設定
まず、Postfix の設定はすんでいることが前提です。
することは大きくわけて3つあります。
1. Biglobe 中継用の SMTP サーバの取得
2.postfix の設定
3.SASL 認証用の passwd ファイル作成
を順番にしていきます。
Biglobe 中継用の SMTP サーバの取得
ここにいき利用申込をします。
これはすぐに発行してもらえるため時間はくいません。
ここで発行してもらった SMTP サーバとポートは重要なのでメモなり、印刷することをオススメします。
postfix の設定
発行してもらった SMTP サーバを Postfx の relayhost に設定します。
あと、SASL(Simple Authentication and Security Layer) 認証の設定です。
説明のため、

SMTP サーバー((1)で入手したやつ)を hoge.biglobe.ne.jp
メールアドレス(Biglobe から発行されたやつ)を fuga@xxx.biglobe.ne.jp
パスワード(Biglobe [...]

日曜日, 11 月 16th, 2008

svn propset について調べてみた(svn:external, svn:ignore, svn:executable)

svn のリポジトリに外部リポジトリを追加する
Subversionのsvn:externalsというプロパティ を参考にして、大元のリポジトリに違うリポジトリを追加(シンボリックリンクみたいなイメージ)してみた。
svn:externals 自体は簡単ですぐにできた。
これできれば Project 単位でリポジトリ作成しておいて、
自分用のリポジトリにもこれで同期できるし、これ便利。
というわけで、さっそく試してみた。

svn propset svn:external ’Hoge http://svn.example.com/hoge’ .
svn propset svn:external ‘[checkout 後のフォルダ名] [リポジトリ URL]‘ [checkout する場所]

上記の場合だと、カレントディレクトリに http://svn.example.com/hoge を Hoge という名前で checkout する。(正確には、この段階では checkout されない。登録のみ)
次に svn up とすれば、 Hoge がcheckout してくる。
登録されているかどうかの確認は以下のコマンドで確認できる。

svn proplist -v [path]

削除したい場合は

svn propdel svn:externals [path]

で、できる。
対象ファイルを svn の管理対象外にする

svn propedit svn:ignore [path]
 
#環境変数で EDITOR を指定していない場合
EDITOR=vi svn propedit svn:ignore [path]

これで EDITOR が開いて改行区切りでファイルをして指定してやれば
書いた分だけ管理対象外にできる。
一個ずつコマンドを打つ必要がなく editor で書けるので楽。
他にもファイルで読み込むやり方もある。

svn [...]

日曜日, 11 月 16th, 2008