色々な環境をまたいだバッチを書くとき、日本語の文字コードが問題になる時がある。UTF-8で統一しろというのも実際のところ難しい。そこで文字コードを高速で変換してくれるnkfの出番になるのだが、開発に使っているMac OSにはnkfが入っていない。MacPortsからnkfのインストールを行ったので、忘れないようメモ。
まずは検索。
$ port search nkf
nkf @2.1.1 (textproc, japanese)
Network Kanji code conversion Filter
p5-nkf @2.11 (perl, textproc, japanese)
A perl extension module to use nkf.
Found 2 ports.
次にオプションを確認。
$ port variants nkf
nkf has the variants:
universal: Build for multiple architectures
ユニバーサルバイナリにする必要はないので、オプション無しでインストールする
$ sudo port install nkf
---> Fetching nkf
---> Attempting to fetch nkf-2.1.1.tar.gz from http://iij.dl.sourceforge.jp/nkf/48945/
---> Verifying checksum(s) for nkf
---> Extracting nkf
---> Configuring nkf
---> Building nkf
---> Staging nkf into destroot
---> Installing nkf @2.1.1_0
---> Activating nkf @2.1.1_0
---> Cleaning nkf
インストールは完了。続いてテスト。
とあるsjisのファイルをutf-8に変換してもらう。
-wオプションで変換後の出力ファイルをutf-8に、
--overwriteで出力ファイルで入力元のファイルを上書き保存する。
$ nkf -w --overwrite /path/to/file
問題なく成功。
提案する技術屋@LambdaGrooveのブログ。Objective-CでのiPhone+iPadアプリ開発、JavaでのAndroidアプリ開発、PHPやPythonでのWebアプリ開発などが主。
2011年1月28日金曜日
2011年1月27日木曜日
MacPortsでwgetをインストール(Snow Leopard)
よく知られているようだが、MacOS Xにはwgetが入っていない。curlを使えよって話も大いにあるが、wgetはwgetで何かと便利。なのでwgetをインストールするが、いつものようにMacPorts経由でインストールをしてみる。
まずはパッケージを探す
$ port search wget
gwget @1.0.4 (gnome, net)
Gwget is a Download Manager for Gnome 2. It uses wget as a backend.
wget @1.12 (net, www)
internet file retriever
wgetpro @0.1.3 (net, www)
advanced internet file retriever
wput @0.6.2 (net)
wput is like wget but is for uploading files to ftp-servers
Found 4 ports.
次にオプションの確認。
$ port variants wget
wget has the variants:
no_ssl: Build without SSL support
* conflicts with ssl
[+]ssl: Build with SSL support
* conflicts with no_ssl
test
universal: Build for multiple architectures
まずはパッケージを探す
$ port search wget
gwget @1.0.4 (gnome, net)
Gwget is a Download Manager for Gnome 2. It uses wget as a backend.
wget @1.12 (net, www)
internet file retriever
wgetpro @0.1.3 (net, www)
advanced internet file retriever
wput @0.6.2 (net)
wput is like wget but is for uploading files to ftp-servers
Found 4 ports.
次にオプションの確認。
$ port variants wget
wget has the variants:
no_ssl: Build without SSL support
* conflicts with ssl
[+]ssl: Build with SSL support
* conflicts with no_ssl
test
universal: Build for multiple architectures
何も考えずそのままオプション無しでインストールしてOKぽい。
なのですぐにインストール。
$ sudo port install wget
---> Computing dependencies for wget
---> Fetching wget
---> Attempting to fetch wget-1.12.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/wget
---> Verifying checksum(s) for wget
---> Extracting wget
---> Applying patches to wget
---> Configuring wget
---> Building wget
---> Staging wget into destroot
---> Installing wget @1.12_3+ssl
---> Activating wget @1.12_3+ssl
To customize wget, you can copy wgetrc.sample to wgetrc
in /opt/local/etc and then make changes.
---> Cleaning wget
wgetrcの設定内容を変えればカスタマイズ出来るよ的なメッセージが出てきたが、デフォルトで困ることも無さそうなので無視。
以上でインストールは完了。
念のためテスト
$ wget http://google.com
カレントディレクトリにHTMLファイルが作られたことを確認してテスト完了。
2011年1月20日木曜日
ゼロからgitを始めた際のメモ
今更gitを始めました
時代の流れに乗らねば!ということでsvnから徐々にgitに移行しようと決意。幸い、svnとの連動機能がgitにはあり、現行のsvnリポジトリに対して何か変更が必要になることもないので、チーム開発で自分一人だけgitを使ってみる、なんて事も可能なようだ。
分散リポジトリをまるっと理解するまでgitのメリットが良く分かっていなかったのだが、幾つかの参考サイトのお陰で今まで気づかずやっていた面倒な事、リスキーな事がいい方向に解決しそうな見通し。
学習コストについて知っておく
以下のサイトだけ目を通せばざっくり理解可能
時代の流れに乗らねば!ということでsvnから徐々にgitに移行しようと決意。幸い、svnとの連動機能がgitにはあり、現行のsvnリポジトリに対して何か変更が必要になることもないので、チーム開発で自分一人だけgitを使ってみる、なんて事も可能なようだ。
分散リポジトリをまるっと理解するまでgitのメリットが良く分かっていなかったのだが、幾つかの参考サイトのお陰で今まで気づかずやっていた面倒な事、リスキーな事がいい方向に解決しそうな見通し。
学習コストについて知っておく
- お勉強に必要だった時間は概ね1日。
興味あるけど覚えるのに時間かかりそう…。と思いきや、大体の流れは1日でマスター出来た。ただしsvnと違って全くバージョン管理が初めてですという人はもう少し理解に時間がかかると思う。 - GUIで操作が出来ないので(あるけど便利とは言えない)、コマンドラインに慣れていないとそもそも導入が出来ないと思う。まずはシェルの勉強から始めると良い。
- 得られる恩恵を考えると、学習コストとしては非常に低いほうだと感じた。さっさと移行しなかった自分が恥ずかしい。
以下のサイトだけ目を通せばざっくり理解可能
- GitM#1
まずはここで好奇心だけでも刺激すると良い。5分もあれば通読出来るので、暇なときにサクっと読んでおくと次のステップに進みやすいと思った。 - 分散バージョン管理システムGitの使い方入門
仕組みに関しての情報は一番ここがまとまってて理解もしやすかった。svnと違って直感的に理解出来ないのがgitの痛いところだと私は思う。が、ここを読んだらスッキリした。 - マニュアル付属チュートリアル日本語訳
仕組みが理解できたら、後はここを通読すればすぐにでも使い始められると思う。ただ現行のバージョン管理がsvnの場合は、後述のsvn連動機能のまとめ情報を読まないと進められないので焦らず読むこと。
まずは既存SVNリポジトリへの変更をローカルで管理してみる
- idesaku blog
手取り足取り教えてもらった感じ。今日からgit使おうと思っている人は、上記3つのドキュメントに加え、ここを通読することでgitを始められると思う。 - まちゅダイアリー
ここもよくまとまってた。一つ上のブログと合わせて読むと理解が深まる。 - Subversionリポジトリと連携できるgit-svn
実際に使い始めたらここも読んでおくとよいと思う。
使い始めて困った事があったら
- Gitを使いこなすための20のコマンド
大体の問題はここで解決するかと思う。 - Git Cheat Sheets JP
ここも通読しておくと後で慌てずに済む。 - トラブルに見舞われても慌てず焦らず別名でgit clone。
- グラフィカルなSVNリポジトリブラウザは、それはそれで便利なので併用する。ローカルでの変更はgitで管理し、チームのリポジトリにコミットさせる際はグラフィカルなSVNリポジトリブラウザで変更を確認しながらやるようにすると上手いことハマってくれた。
- 新しい作業に着手する前には必ずgit checkout -b。タスクの名前とブランチ名を一緒にして管理するようにしたら上手いことハマってくれた。
登録:
投稿 (Atom)