なんとなく日記

Everyday studying...

lsyncd + rsync on Debian(lenny) でらくらく同期

やはり Debian ですよね,いろいろと. と言うわけで,以前は DRBD Dual Primary + GFS2 と言う構成で試していたんですが,起動や停止手順を誤るとプロセスが完全に死んじゃってシステム終了すらできなくなったりしたので,お気軽な方の検証を. 参考 : [http://d.hatena.ne.jp/wadap/20090913/1252839223] 下準備 いつも通り IP アドレスは手動で標準システムのみのものを用意します.そして # aptitude install sudo vim lv openssh-server # update-alternatives --config editor # visudo # addgroup wheel # adduser user wheel # logout こんな感じのを2つ用意します.virt-clone を使ったやり方はhttp://d.hatena.ne.jp/conceal-rs/20100119/1263871161を参考に.今回は普通にインストールしました. slave 側の準備 $ sudo adduser rsyncd $ sudo mkdir /opt/folder $ sudo chmod 777 /opt/folder $ sudo chown rsyncd.rsyncd /opt/folder $ sudo vim /etc/rsyncd.conf uid = rsyncd gid = rsyncd log file = /var/log/rsyncd.

kumofs を KVM 上の Debian(lenny) にインストールして動かすまで

KVM on Debian(lenny) を使ったサーバを構築してみます. システムインストール 最初は virt-manager などで VM を作成.ホスト名は kumofs で標準システムのみに. 下準備 まずは基本セットをインストール $ su - # aptitude install sudo vim lv openssh-server # update-alternatives --config editor There are 4 alternatives which provide `editor'. Selection Alternative ----------------------------------------------- 1 /bin/ed *+ 2 /bin/nano 3 /usr/bin/vim.tiny 4 /usr/bin/vim.basic Press enter to keep the default[*], or type selection number: 4 Using '/usr/bin/vim.basic' to provide 'editor'. # visudo # addgroup wheel # adduser user wheel # logout 日本語ドキュメントを見ると下記が必要らしいのでインストールします.

thin の自動起動スクリプト on Debian

サーバを再起動したときに,いちいち mongrel/thin を立ち上げないといけないのがどうもなーと思っていたので,さっと書いてみました. まずは下記ファイルを /etc/init.d/webapp とかに保存します. #!/usr/bin/env bash ### BEGIN INIT INFO # Provides: webapp # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop thin application server ### END INIT INFO PATH=$PATH:/opt/ruby-enterprise/bin BASEDIR=/var/repos/webapp CURRENT_NAME=$BASEDIR/current THIN_CONFIG=$BASEDIR/shared/config/thin.yml case $1 in start) thin -c $CURRENT_NAME -C $THIN_CONFIG start ;; stop) thin -c $CURRENT_NAME -C $THIN_CONFIG stop ;; restart) thin -c $CURRENT_NAME -C $THIN_CONFIG stop thin -c $CURRENT_NAME -C $THIN_CONFIG start ;; *) echo "Usage: webapp (start|stop|restart)" ;; esac そしておもむろに

浅草jpmobile会議01

永和で開催 M17N についてあれこれするという話です そういえば名刺とか持ってくるの忘れたな 足元の悪い中25名のほどの参加 “なりたいアタシ”と”イマのアタシ” 設楽さん@えにしテック 現在と未来について そもそもの企て RubyConf の時 Ruby の m17n でケータイ絵文字を扱えるようにするヒントを nurse さんからいただこうよと言うのが今回の発端 My Goal いま 未来 この場 悩み事マップ プロジェクト テスト 絵文字 フルスタックすぎ 細かい事 イマのアタシ Ruby 1.9 で動かない 文字コード変換自体は汎用のハズ メール処理でも使いたい フィルタのコードが汚い nkf を使うために必死 バグも [gh-17] せっかくなので 1.9 で キレイになりたい エンコーディング いろいろありすぎ フルスタック過ぎる Rails が上がると動かなくなる Rails に依存しすぎている 壊れる部分 テンプレート切り替え セッション など なりたいアタシ わける jpmobile-rack jpmobile-rails 絵文字変換エンジン 分けたときに ディレクトリは? gem とか? bundler を使う? リポジトリの切り分けは? 現行バージョンとの互換性は? スマートフォンの対応 時々要望が上がって議論されるのだが キャリアと直行する 使用や命名が悩ましい iPhone / Android だけが特別扱い? emobile は作った User-Agent に規則性がないので,テーブルが汚い もしかして,テンプレート切り替えたいだけ? Jpmobile::Mobile のクラス階層 機能の上書きには便利 動作としてはいいのだが,クラス継承がちょっと テンプレート切り替え ファイル目の命名規則がよくない かなり無理してパッチを当てている Rails と仲が悪い 分離した方が良い? テスト Test::Unit / RSpec が混在 粒度の違うテストが混在 単体テストが Rails に依存 どうするか 単体テスト -> Rack だけでテストする 統合テスト -> 空の Rails アプリで jpmobile の API を叩く 統合テスト ->テスト用の Rails app を外側から叩く テーブル ハードコードされている アップデートスクリプトがバラバラ テーブルを差し替えられるようにする機構を入れるとか この場で出来ること 要らない機能が実は結構ある? Issues を整理したい Collaboators 募集 分割するとしてそのレイアウトを議論したい ドキュメントの整理 tag 切ってもいい? 気になるバグ 絵文字まわり Ruby 1.

2009年のふりかえりと2010年を迎えて

2009年は割と激動の年だった気がします.仕事,プライベート含めて.ちょっとまとめてみます. まずはふりかえり 世の中の狭さを実感した去年の末 一昨年のことなんですが,やっぱもっとオープンソースに貢献できる環境がいいのかなぁと,急に思ったりなどとつぶやいて見たら,http://itpro.nikkeibp.co.jp/article/Watcher/20081111/318992/なんて記事の発端になったようで凄い焦りました.世の中狭いんだなーとか.貢献と言ってもいろいろあるというのを考えさせられました. 仕事への関わり方を再認識 ある人との話で,「自分にはもっとできることがあるはず」と気付いたので,心新たに仕事に打ち込むことに.むしろ自分から環境を変えないと何事も打開しないんだなと感じたのでした. オープンソースへの貢献 jpmobile のコミッターになって,jpmobile 会議開催したりもしました.もともとは Tokyu.rb に来ていた @walf443 さんといろいろ話すようになって,「jpmobile のコミッターになるべきだ」とか言われてたんですが,「そうなると良いなー」とは思っていたものの,もう一つ進展しませんでした. そうこうするうちに仕事で使うような状況になり,Rails 2.3 対応版が出てこないので「ここは俺がやらないと」的に github を fork していろいろやってました.まあだいたい完成かなーと思ってたら本体が対応・・・・したと思いきや,ちゃんと動かない様子.どうしようか考えてたらメーリングリストとかでいろいろあってコミッターになりました.先行していろいろやっとくもんだなーとか思ったりもして,ブランチで開発していると Ruby会議で @darashi さんが来ると言うことで,急遽 jpmobile 会議やろうと思い立ちました.twitter でいろいろつぶやいてみたら懇親会でとりあえず集まろうとなりました.言ってみるもんだなーと. そして会議.「Rails 2.3対応どうしましょうか.あれでいいですかね.」と聞いてみると,すでにそのブランチを使っていると言う話に.じゃあもうマージしますね,と言うことでとうとう jpmobile の人となりました.意味不明ですがそんな感じです. Ruby 会議2009に参加 コミュニティアピールでは漫才の難しさを再認識しました.まあそれだけではないのですが,まだまだ見知らぬ人が多かったので,あまりいろんな人とは話できなかったのが心残り.2010 はもっと積極的に行きたい. TokyuRuby 会議の開催 Tokyu.rb は当初は飲み会メインとか肉メインじゃありませんでした.いや,ホントに.でもいつの間にか「Rubyist 達の憩いの場」として認知されてきたのですが,そろそろ LT 大会とかやりたいねー,と言うことで TokyuRuby 会議をやろうぜーと.ただ名前的に問題になったりして紆余曲折がいろいろとありました.有名な人に補足されるといろいろ大変だなーとか. で,当日は司会進行をさせていただきました.酒入った連中を誘導するのは楽しかったですね.こういう経験はあんまりできないので,次回も是非やってみたいです. 筆頭エア社員に なんかそういうことになりました.まあ reply すぐ返すとか社員よりも会う機会が多いとかそういうところだと思うのですが.エアが取れる日が来るかどうかは未定です.こちらで取りたくても向こうでは取ってくれない可能性の方が大きい気もしますが. 札幌 Ruby 会議02に参加 なんか流れ的に参加しなくては!という気分になったというのもあり,いろいろ頑張って行ってきました.jpmobile 会議02 が開催できたりとか,札幌の方々と交流が持てたり,あと各地の地域 Ruby 会議の方々ともお話しできたのが大きな成果でしょうか. Keep この調子で頑張りたい.いつも通りとも言うけど. jpmobile 頑張ります>< 筆頭は守りたい.エア的な意味で. Problem マイレージはホントに大事に使わないとダメだと再認識しました. 節約します.飲み会的に. あまりコードを書けてない. 今年は手を動かすこと重視にしたいなー. Try (2010年の目標) もっと執筆活動したいなー 雑誌に書くとか本書くとか オレオレサービスを早く本格化 いまは地味にやってます 関西凱旋とかしてみたいなー 誰も知らないだろうけど・・・・ 自宅鯖で tdiary に移行する ML115 の静穏化に着手中 まとめ 昨年は密度の高い年でした.ただ飲み会密度が高すぎたような気がするので,もう少し別方向に割り振りたいと思ってます.

Rails 勉強会@東京 第46回と東京Ruby忘年会に行ってきた

Rails 勉強会@東京 第46回 遅れました そして8人 まとめ Rack まわりは面白い Rails のコード読むの楽しいですよねー Ramaze とか Sinatra とか軽量フレームワークで GAE とかいいかもしれん 来年は RubyConf に行きたい Ramaze ActiveRecord / DataMapper など使える ERB / Haml とかも使える デフォルトは Etanni yhara さんの記事を参考にインストールなど $ gem install ramaze 明示的に使うモデルとかコントローラを require しなければいけない require ‘activerecord’ で ActiveRecord が使える Haml はどうよ Ruby わかってるデザイナーなら使えるでしょう 使えないなら ERB も直接触れないから,結局プログラマがコーディングするからいいんじゃないか HTML が連想できない デザイナーに Rails の環境 / Git の使い方を提供しているから,大丈夫という話 DOM を意識して書ける人は Haml / Sass は大丈夫 プログラマが CSS や DOM の世界に乗り出していくのがキモチイイ Ramaze は Rails と CGI の中間ぐらいでちょうど良い感じがする なぜ Sinatra じゃなくて Ramaze か Sinatra はライブラリ集であってフレームワークじゃない 単なる Dispatcher Ramaze はフレームワーク CGI < Sinatra < Ramaze < Rails PHP でやるようなことは Sinatra でやったりする Rails はレスポンスを返すのに冗長すぎる感じがあるので Ramaze が良い気がする でも Rails のは普通じゃない? やっぱり Rails が大きく複雑なのが大変.Routing とか. Rails は REST が入ってきて link_to とかまどろっこしい Rack rails/lib/commands/server.

jpmobile 会議02 in 札幌

突発的に開催されました! 概要 札幌Ruby会議の前夜祭で開催されました.jpmobile 会議は飲み会の席上で開催されることが多いようです. ちなみに jpmobile 会議01 は Ruby会議2009の懇親会で開催されていました. 参加者 @darashi さん @conceal_rs まとめ Iphone / Android クラスを作りましょう ざっとやってみる予定 Jpmobile と Jpmobile::Rails に分けよう Jpmobile は Rack でできる部分のみ ざっとやってみる予定 Sinatra で使えるようにできれば Jpmobile::Rails は ActionController べったりな部分のみ セッション回り ビュー切り替え でも書き換えすぎてあまり良い感じではない 早めに Rails 3 でやってみて,ダメそう(書き換え多そう)なら文句を言うべきなんじゃないか わりと簡単にできそうではある gemcutter バージョン切るかどうか 切るなら gemcutter になるなー gemspec がかなり古いので,いろいろ大変かも Issue Tracker github に移しましょう ホームページ これも github に移しましょう テストとかどうすべきか

トークセッション「中と外から見た Rails」に行ってきた

エア社員としては参加しないわけには行かないので雨の中行ってきました. 12⁄3(木) 池袋ジュンク堂本店にて いつもの Tokyu.rb とか Asakusa.rb とか Rails勉強会@東京とかの人が多かった 司会はオーム社の森田さん 登場人物 前田さん 大場社長 松田さん 自己紹介 前田さん NaCl の方 大場社長 世界の万葉の社長 松田さん フリーエンジニア Head First Rails AWDwR3の紹介 概要 ある程度まとまったアプリケーションを作って技術を身に付けることができる Ajaxまで含めた内容らしい 第3版で変わったこと 第3部 Rails の各コンポーネントを細かく解説 あまりない Rails 2.2.2 安定したバージョン 「いつも本が出ると新しいバージョンが出る」 国際化は「こんなんじゃ物足りない」 by @a_matsuda ActiveResource についての説明 ルーティングのテストが熱いらしい レビューの感想 突っ込みすぎて Rails のバージョンが上がると役に立たない 表紙がすごい レールから離れて飛んでいってしまってる 電車が速そうになってる 話しているうちにほんの宣伝ではなくなってきている可能性 AWDwR3に見る開発スタイル DHH の Rails vs みんなの Rails コラムに「Rails にこういうのないよね」的なことが書かれている Rails 1, 2, 3 になるにつれて,DHH だけのものじゃなくなってきた 「レールはみんなの心の中にある」@a_matsuda DHH の強いポリシー 参照整合性制約 外部キーを入れるとたいへんなことになる プラグインで対処できはする 最初は入れないで,本番に近づくにつれて入れていく感じ 「外部キーなしでやりましょう!」を言う機会にはなる だが年配の方には・・・・ Rails 3 になれば,ActiveRecord 使わなければ マイグレーションによるデータ投入 migration でデータを投入しているが,DHH は良くないと書いて言っているらしい マスタ系はやっている 使わないアソシエーションを定義する? 全部用意する必要はない @nay3 チーム内で使う関連だけを考えているほうがいいんじゃないか? あとで書けばいいんじゃないの? @nay3 @a_matsuda 複合主キー オブジェクト指向的に STI をよく使う テーブルの中身が気になるなー @a_matsuda クラスの方が気になるんですよー @nay3 紹介を先取り REST REST 率高い 一番影響を受けたのが Scaffold Rails 2.