Bloggerに引っ越しました!
酔った勢いで独自ドメインを取っていたようなので、せっかく取った独自ドメインを生かすためにBloggerへお引越ししました。
id:lam_dba先生改め、@mahm先生の次回作にご期待下さい!
俺達のBloggingはまだはじまったばかりだぜ!
(完)
SoftwareDesign総集編購入/スクリプトを書いてもうちょっと便利に
久々のブログ投稿です。Loud Twitterに荒らされていた(自分で設定していたんだけど。。)エントリはすっきり削除して、ぼちぼちテーマを決めてエントリを書いていこうと思います。
さてさて、タイトル通り、SoftwareDesignの総集編を買いました! 過去の記事を検索できるのは大変便利で、とりあえずiPhoneにつっこんでGoodReaderで常駐先でも読んでいます。
Software Design 総集編 【2000~2009】(DVD付)
- 作者: SoftwareDesign 編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2010/02/17
- メディア: 大型本
- 購入: 42人 クリック: 452回
- この商品を含むブログ (39件) を見る
ただ、ファイル名がこんな感じなのがイマイチ不便よね。
と言うわけで「元のファイル名_タイトル.pdf」の形に10年分まとめてリネームしてくれるようなスクリプトを書いてみました。sedで上手く抜けなかったので、何故かrubyでゴリ押してます。そしてたぶんMacOSX10.4以上でしか動きません。
#!/usr/bin/ruby -Ku require 'find' # # PDFプロパティの「タイトル」を取得する。 # def getPDFTitle( pdfFileName ) # NOTICE: たぶん、MacOSX依存のコマンド result = `mdls -name kMDItemTitle #{pdfFileName}` if result !~ /.*null.*/ then title = result.scan(/".*"/)[0].gsub('"', '').gsub('/','/') else title = "" end return title end # # リネーム対象のファイルリストを取得する。 # def getFileList( pathName ) fileList = [] Find.find( File.expand_path( pathName )){ |path| # 拡張子.pdfのファイルをリストに格納 fileList.push path if File::extname( path ) == ".pdf" } return fileList end if __FILE__ == $0 then targetDir = ARGV[0] if targetDir == nil then puts "Usage: ruby -Ku pdf_rename.rb target_dir" exit end fileList = getFileList( targetDir ) fileList.each{ |path| begin toName = File::dirname( path ) + "/" + File::basename( path ).delete(".pdf") + "_" + getPDFTitle( path ) + ".pdf" File.rename( path, toName ) rescue puts "ERROR: Rename failed " + path end } end
動き
- 引数に指定したディレクトリ以下のPDFファイルを再帰的に探査します。
- 引っかかったPDFファイルを軒並み「元のファイル名_タイトル.pdf」の形に変換します。
- 上手くいかなかったらそのファイルだけ諦めます。
※サブディレクトリも対象になるので注意して下さい。
使い方
上のスクリプトをpdf_rename.rbみたいな名前で保存して、以下のようにぽちっとなして下さい。
ruby -Ku pdf_rename.rb /PDFを保存しているディレクトリ名をフルパスで
するとこんな感じになります。
MacOSX依存の理由
mdlsというコマンドを利用してファイルのメタデータを取得しています。
いろいろ表示されるんですが、「-name プロパティ名」とオプションを指定すると、指定したプロパティだけ出力できます。
で、sedかなんかでダブルクォーテーションの中身を抜けばタイトルが取得できるという寸法です。
でも、何故かsedで上手くいかなかった
mdls -name kMDItemTitle Keynote09_UserGuide_J.pdf | sed -e 's/.*"\(.*\)".*/\1/'
こんな感じでタイトルだけ抜ける予定だったのですが、何故か処理が固まってしまい、ついカッとなってRubyで書いちゃいました。
echo 'kMDItemTitle = "hogehoge"' | sed -e 's/.*"\(.*\)".*/\1/' # => hogehoge
って感じで上手く行くんですけどね。もしやタイトルの中にシングルクォーテーションとか入ってるとダメなのかしら。
総括
SoftwareDesign総集編はコストパフォーマンス最強すぎるので、買えば良いと思います!
LoudTwitterつけっぱなしだった。。
意味のない更新であふれかえっている件について。。
DevLoveテスト祭りから帰宅
Developer Testing vs QA Testingという何でvsしてるのかよく分からないけど、面白い祭りでした。
開発者だからDeveloper Testingだけで良いなんて言う立場では当然なくて、あの場にいる皆が結局のところ、今の開発がどうすれば良くなるのかを真剣に考えているところが興味深かった。たしかに手法なんていうのはその言葉の通り手段でしかないからね。さすがにもう、手法の優劣を競うような中2病はいないということか。
正味のところ鈴木さんの話をもっと聞きたかった。なんと言うか、話の途中でいきなり話を切られたような気がして。固いテストの話って、いつでも聞けるようで、実は全然聞けないトピックじゃないですか。こういうのをもっと体系的に知りたい。
「テストケースを書くのはテスト設計ではなくて、実装。それを設計だなんて言ってるのは、とんでもなくヒヨっ子の技術者だ」
はい、耳が痛いです。。
結局Carbon Emacsを使っています
先日散々いろんなエディタをdisったあげく、Carbon Emacsをメイン使いしております><
Macだとデフォルトで描画にアンチエイアリスがかかる点がニクすぎます。
設定がメンドクサ過ぎる点も以下のサイトを参照させて頂き幸せになれました。
皆さんも幸せになってください><
blog.katsuma.tv
Macで使うテキストエディタ
いろいろと試してみてはいるものの、全くしっくりきていません。
Macで試したテキストディタ
仕事ではWindowsを使用しているので、メインでSakura Editorを使用しています。
あんまコーディングしないのと、矩形選択とマクロの使い勝手がかなりよろしいので重宝しています。
で、Mac版Sakura Editorなんてあれば良いものの、ないので代替となるエディタを3ヶ月経った今でも探し続けているのですが、なかなかないものですねえ。
Macで一番気に食わないのが、キーボードだけで矩形選択できないこと。Option + マウスでドラッグが基本動作です。これが最高に気に食わない。あと、なぜかキーボードマクロ機能がない。Apple Scriptを扱えるエディタは数あれど、何故かRecordableではない。。別にそんな高度なマクロ機能は使わないのだけど。帯に短し、たすきに長し、と言ったところ。