XCodeのコメントに自動挿入される作者名と組織名を変更する
XCodeにてObjective-Cを遊びで使ってます。(趣味レベル)
新規追加したソースコードのコメント欄に自動的にあらわれる作者名と会社名が
// Created by 日本語名 on 08/11/09. // Copyright 2008 __MyCompanyName__. All rights reserved.
こんな風に日本語&変な変数になってて、イライラするので直しました。
続きを読む »
XCodeにてObjective-Cを遊びで使ってます。(趣味レベル)
新規追加したソースコードのコメント欄に自動的にあらわれる作者名と会社名が
// Created by 日本語名 on 08/11/09. // Copyright 2008 __MyCompanyName__. All rights reserved.
こんな風に日本語&変な変数になってて、イライラするので直しました。
続きを読む »
自分用メモ。カレントディレクトリの画像を一括変換するワンライナー。
ruby -e 'require "rubygems"; require "pikl"; Dir.glob("*.JPG").each{|f| Pikl::Image.open(f).fit(640,640).save("m_#{f}") }'
これでのワンライナーで、一律、幅640pixに揃えることができ、便利なのですごく頻繁に使う。
このエントリー、ちょっと体裁がひどいことになってるけど、とりあえず実用上問題ないので無視。
Rubyの画像ライブラリをバージョン0.2.7にアップデートしました。
このPiklを使うと画像の拡大/縮小処理を簡単につくることができます。
(リリースのついでに)大量の画像を規定のサイズに変換するスクリプトを紹介します。
サンプルとして、こんな仕様を考えてみました。
実装してみます。
require "rubygems" require "fileutils" require "pikl" outdir = "out" indir = "in" setting = { :large => [200,200], :small => [50,50], } FileUtils.mkdir_p(outdir) Dir.glob(["#{indir}/*.jpg","#{indir}/*.JPG"]) do |jpg| Pikl::Image.open(jpg) do |img| setting.each do |label, size| path = %Q|#{outdir}/#{label}_#{File.basename(jpg)}| img.fit(*size).save(path,:jpg) end end end
はい、できあがり。
RubyといえばRMagickが王道ですが、Piklもなかなか便利じゃないかと。
サンプルで使用したfitメソッドは、指定した矩形に内接するように画像をリサイズするメソッドで、お気に入りのメソッドのひとつです。
大量のサムネイルをつくるなんて時には、ぜひ使ってみてください。
Piklのインストール方法
RubyForgeプロジェクトページ
LinuxとMacOSX用にQRCode作成ライブラリをこっそり作ってました。
協同開発者のSoejimaさんによりWindows用バイナリが完成し、APIの設計と実装もひと段落したのでちゃんと紹介します。
rubyforgeのメインページ
rubyforgeのプロジェクトページ
rqrは簡単にQRCode画像を出力した場合に有用なライブラリです。
続きを読む »
MySQLに対して一定時間アクセスがないとmysql側から接続をクローズしてしまい、mongrelで起動したRailsアプリ側は接続を開きっぱなしになるケースが稀に発生します。
対応方法を教えてもらったのでメモしておきます。
次のようなコードでmysqlのcloseメソッドをオーバーライドして対応しました。
require 'active_record/vendor/mysql'
::Mysql.class_eval do
def close_with_bug_fix
@status = :STATUS_READY
command COM_QUIT, nil, true
self
ensure
@net.close
end
alias_method_chain :close, :bug_fix
end
RAILS_ROOT/vendor/plugins/mysql_close_bug_fix/init.rbというファイルを作り、上記コードを保存してプラグインとして使ってます。
画像処理ライブラリといえばImageMagickが有名ですが、多機能すぎてお手軽という感じがしません。
そこでlibjpeg、libpngを使ったシンプルなRubyライブラリPiklを開発してみました。
http://rubyforge.org/projects/pikl/
『90°回転して、横を120px(縦は成り行き)にリサイズ、png形式で保存』は、こんな感じ。
require "pikl"
Pikl::Image.open("hoge.jpg") do |img|
img.rotate(90).resize(120, :auto).save("fuga.png")
end
メモ。textmateからsvn+sshする際にパスフレーズ入力が不要になるよう以下の設定を行った。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): [デフォルトままならEnter]
Enter passphrase (empty for no passphrase): [パスフレーズを入力]
Enter same passphrase again: [再度パスフレーズを入力]
$ scp .ssh/id_rsa.pub username@rubyforge.org:.ssh/authorized_keys
$ ssh-add
Enter passphrase for key '~/.ssh/id_rsa': [パスフレーズを入力]
以上。
capistrano2.3.0にてdeployしたところ以下のようなエラー。
Password:
[hogehoge.com] executing command
** [out :: hogehoge.com] sudo: no passwd entry for app!
command finished
メーリングリストに同じような内容で質問と回答があった。
なんでもcapistrano2では:runnerというセッティングがあるそうで、sshのログインユーザーとは別にプロセスの実行ユーザーを指定する必要があるらしい。
というわけで、deploy.rbを次のように変更
set :user, 'hoge'
set :runner, 'hoge' #この行を追加
再度セットアップを実行。
$ cap deploy:setup
(中略)
$ [hogehoge.com] executing command
$ command finished
できた。
checksumをするのにsha1を使う場合Linuxではsha1sumを使うけど、OSXにはこのコマンドがありません。
そこでsha1chkなるツールを作ってみました。
仕様はwikipediaにあるsha1sumの説明を参考にして、rubyのDigest::SHA1で実装。
ダウンロードは以下から。(早速チェックサムとってみたw)
download sha1chk.tgz
SHA1 Checksum: 117b91cdde66d2ce0a59fbf247a118f6943d7fb3