2012-01-01から1年間の記事一覧

Capistranoでリポジトリを変更した際にcached-copyデータを消す

Capistranoでは高速化のためのdeploy_via:remote_cacheオプションを使ってshared/cached-copyにキャッシュしておけるが、 このデータはデプロイ時の参照リポジトリが変わった際消す必要がある。 APサーバが大量にあったので手で消すのは大変なためタスクを書…

Rubyでオブジェクトが格納されている配列をある変数をキーにハッシュ化してまとめる方法

例) Object.master_idでハッシュ化 a.master_id = 1 b.master_id = 2 c.master_id = 1 [a, b, c] → {1 => [a, c], 2 => [b]} 解決策 Enumerable.group_by使用でOK。 [a, b, c].group_by {|obj| obj.master_id} # {1 => [a, c], 2 => [b]} 参考URLhttp://ref…

capistranoデプロイフォルダ名をUTC→JSTに変更する

capistranoのデフォルトではデプロイするフォルダ名がUTC日付になっており、 サーバ上でわかりにくいので設定を変更してみた。●deploy.rb # デフォルトがTime.now.utc.〜を使っているため上書きする set(:release_name) { set :deploy_timestamped, true; Ti…

SSHでのgitリポジトリ公開

git

例えば「/home/hoge」以下にフォルダを掘って、sshで公開する方法。1. フォルダ作成 mkdir -p /home/hoge/repos/project2. 公開用bareリポジトリ作成 git clone --bare project project.gitこれでリポジトリ作成完了。 sshでのcloneが可能になる。 ※例:ロー…

Ubuntu上でMySQLデータをtmpfs上に配置する

テストが増えてRspecフル実行が10分以上かかる。何とかしたい。 →MySQLデータメモリ上に置いて速くすれば良いんじゃね? ということで、MySQLのデータファイルをtmpfsに置くことで速度向上を計ってみた。 前提 Ubuntu11.10 MySQL5.1 手順 tmpfsのマウント su…

JenkinsPersonaジェネレータ作成&コマンドーPersonaを作成してみた

今、自分の中でJenkinsPersonaPluginを使ったカスタマイズが熱いので、勢いでジェネレータを作成したので公開。 ついでにコマンドーPersonaを作成してみた。※コマンドーは今週木曜、2012/6/28 13:25からテレ東で放送! http://www.tv-tokyo.co.jp/program/de…

Jenkins+schemaSpyでHTMLテーブル定義書を生成する

DBスキーマからテーブル定義書を生成する方法を探していた所、schemaSpyというツールを発見。 これとJenkinsを組み合わせて、常に最新のHTMLテーブル定義書を生成する方法を確立できた。 前提 UbuntuServer11.10 MySQL5.1 JDK1.6系がインストールされている…

Rails2.3.14+MySQL5.1でテーブル&カラムコメントをMigrationで追加する

以前書いたエントリ でPostgresqlでのコメントを追加したが、Rails2.3.14案件でテーブル&カラムコメントをつける必要が出たのでメモ。※2012/6/20 add_column_commentメソッドを一部修正 パッチ これをconfig/initializers/column_comment.rbにでも入れてお…

特定文字置換スニペット

一括置換をRubyスクリプトで作成したのでメモ。bash等シェルに貼りつければ変更可能。 Railsカラム名ルールの統一等で重宝した。 find -name '*.rb' | xargs ruby -i -e ' names=[ ["hogehoge","hugahuga"], ["col_name","name_col"] ] ARGF.each do |line| …

Windows上でCapsLock→Ctrl等のキー入れ替え

結構多用するのでメモ。 手順 「CapsLock→Ctrlに差し替え」「Esc↔半角/全角キー入れ替え」をしている。 レジストリエディタを開く ※regedit 「HKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Control→Keyboard Layout」に移動 バイナリデータ「Scancode Map」…

UbuntuでVNCサーバを立てる方法

sudo apt-get install vnc4server rm .vnc/xstartup # すでに存在している場合のみ実行 ln -s /etc/X11/Xsession ~/.vnc/xstartup # ログイン画面に通常のXを使う vncserver # 起動。初回起動時はVNC接続時のパスワード等を聞かれるので任意で設定。 ※↓サー…

GnomeShellのシステムトレイからSkypeアイコンが消える件&暫定対策

GnomeShellでSkype起動中のアイコンがいつの間にか消える現象が多発。 どうやらGnomeShellとSkypeの相性がまずく、画面ロックやスクリーンセーバ起動等のタイミングでアイコンが消え去ってしまうらしい。 去年秋にLaunchpadでバグ報告が上がっているが対策は…

Ubuntu(or LinuxMint)上でLinuxMint12 64bitのUSB起動ディスクを作成する

ハマりどころがあったので以下に残しておく。 ISOファイル入手 http://www.linuxmint.com/download.phpからダウンロード usb-creator-gtkをインストール sudo apt-get install usb-creator-gtk USBストレージにインストール usb-creator-gtkを起動してインス…

RedmineのWikiに添付した画像を自動リサイズする。

RedmineのWikiに貼りつけた画像は等倍で表示されてしまうため非常に使いづらい。 これを自動リサイズする手順をまとめておく。※Redmine1.3で動作確認済み。 手順 WikiExtensionsプラグインをインストール Wikiに「StyleSheet」ページを作成 StyleSheetページ…

The First Step

p 'Hello World!'

shinagawa.redmine第二回勉強会に参加&LTしてきました

第二回となったshinagawa.redmine(品川Redmine)勉強会に参加+ライトニングトークで発表してきました。 http://atnd.org/events/23806 http://shinagawa.redmine.r-labs.org/projects/shinared/wiki/%E7%AC%AC2%E5%9B%9E%E5%8B%89%E5%BC%B7%E4%BC%9A http://…