Month of 3月, 2010

CocoaでFTPする方法

in

FTPのput機能が必要になる要件があってConnectionKitを使うツモリで調べてたんですがこのFrameworkのサンプルがビルドできなくてアレだったし、Applのサンプルをみたら意外と簡単そうだったので自前で実装してみました。

  1. putするローカルファイルのNSInputStreamを用意する
  2. リモート側に出力するためのNSOutputStreamを用意する
  3. RunLoopのdelegateメソッドを実装する
  4. ストリームの後始末

といった手順になります。

GHC-6.12.1へのアップデート

in

Stop!の文字をうっかり無視(?)してGHC-6.12.1をインストールしてしまいました。これってHaskell Platformとは違って必要最小限のパッケージしかバンドルしていないんですね。一番上に大きく書いてあるのに....というわけで早速、mtlがないよとか言われてなんだそりゃ?状態。とりあえずcabalはセットアップしてあったので助かりましたがこの先もチクチクとあれがないとかこれがないとか言われると思うとちょっとげんなり。

仕事用のマックにはcabalをセットアップしていなかったからhttp://d.hatena.ne.jp/ymotongpoo/20091227/1261905296を参考にして慌ててセットアップ。HTTPのところでmtl/network/parsecがないと言われましたのでとりあえずhttpパッケージはこれらのパッケージに依存することがわかりました。幸い、すべてhaskell.org/packageにあるものを使ってcabalのセットアップは完了しました。考えてみればProject Euler以外にHaskellのコードを書いている訳じゃないので案外勉強になるかもしれない... (Problem 60が未だにできないのですが...)

vimで行のパターン削除

in

昨日は仕事でデータ集計をしたのですが作業の中で、あるパターンの行だけを削除する必要があったのですが、perlやrubyでスクリプトを書くほどのこともないのでvimでサクっと削除しようと思ったのですがコマンドがどうしても思い出せず悲しい思いをしました。

vimは基本的にプログラムを書くときに使っているので「あるパターンの行をすべて削除」なんてことはあまりやらないのですが、それでも長年のvim愛好者としては悲しい。

:g /pattern/d

【SoftwareDesign総集編】でゲットしたvim逆引きリファレンスに救われましたという情けない話でした。

それにしもこの総集編はいいです。時代の彼方へ去っていた記事もありますが、古くともまだまだ有益な情報が一枚のディスクに収まるって便利。とりあえず目についた

  • UNIXプログラミングツールをマスターせよ2008
  • 関数プログラミングことはじめ
  • GNU grep/egrep正規表現リファレンス
  • MySQL最前線2007
  • vim逆引きリファレンス
  • オープンソースで飯を食う
  • LightweightLanguage最新動向2006

あたりをevernoteに放り込んで暇なときに読み返してます。

Software Design 総集編 【2000~2009】(DVD付)
Software Design 総集編 【2000~2009】(DVD付) SoftwareDesign 編集部

技術評論社 2010-02-17
売り上げランキング : 67

Amazonで詳しく見る by G-Tools