jquery.dependent.jsを修正した

Webサイトの住所の登録フォームとかで、parent-childで依存しているプルダウンとかありますよね。それをjqueryでさくっと実装できるプラグインjquery.dependent.jsなんです。

参考:http://www.skuare.net/2009/12/selectjavascriptdependent_sele.html

jsやjqueryがさっぱりな自分にも使いこなせるくらい簡単なんですが、
サポートが終わってしまったのかjquery-1.3.2以降辺りから動かない。

他の方法もあるんだけれども、templateの事情もあり、出来ればこいつで実装したいなってことで、分からないながらもソースを見ることにした。

問題がありそうだったのは、child要素を作る際の部分だったのでそのあたりをちょこちょこ変えながら動かすとtextがとれていない。

というわけで以下を変更。

 - $text = $(this).attr('text');
 + $text  = $(this).text();

これで1.7以降のjqueryで動いた!
とりあえず今回は小規模な変更で済んだものの、そうじゃない場合versionを上げるのは怖いなーと思った。

こういうのの互換性テストとかどうやるんかな?
jquery pluginはあまり使わない方がいいのかな(でも便利だけど)
なかなか悩ましいところです。

githubをつかってみる

これまでgithubをまったく使いこなしていなかったので、一通り設定してリポジトリにpushでき
るところまでをまとめておく。(基本的にチュートリアルに書いてあるんだけれどね)

githubのアカウントを取ろう!

https://github.com/
で、よしなに設定してください、

リポジトリの作成

@github.com

Dashboad(?)上から"New Repository"を選択して、リポジトリを作成。とりあえず適当なnameとPrivate/Publicだけ選択して、"Create repository"
そうすると、README.mdだけ入ったリポジトリが出来る。これでgithub上の設定は完了!

@client

次にクライアント側から設定をして、先ほど作ったリポジトリにpushする。

やっていなければgitの設定から。

$ git config --global user.name "Hoge Fuga"
$ git config --global user.email hoge.fuga@hoge.com

これで誰がコミットしたか分かります。ただ、自分の場合、会社のリポジトリにコミットしたり
することも多いので、この辺を分けておきたいなーと。
そういう場合はprojectのディレクトリにいって、globalをつけずに設定すれば良い

$ git config user.name "Hoge Company"
$ git config user.email hoge.fuga@comany.com
$ git config -l #confirm

あとは、githubで作ったrepositoryと同じものを作ってcommitするだけ!

mkdir new_repos
cd new_repos
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:hoge/new_repos
git push origin master

できた!とおもったらPermission error!

鍵の登録

調べてみた瞬殺だったんですが、鍵の登録が必要らしい。
既に鍵のペアを持っていれば、それを使うことも可能だし、
新しく作るっていう方法も可能です。
参考:http://akaato.blogspot.jp/2011/04/github-ssh.html

鍵が出来たら、

$ ssh-add <鍵のpath>
$ ssh-add -l #confirm

で追加してから、github上の設定からAdd KeyとかやればOK

clientからgit push origin masterできれば完了!

Amon2を使ってみる

一発目

とりあえず、perlbrew, cpanmをインストーしたサーバーを用意

%cpanm Amon2 #installつけるの忘れた

...いろいろinstall...

Building and testing Amon2-3.32 ... OK
Successfully installed Amon2-3.32
42 distributions installed

あれ、一発で終わってしまった。
perl-5.14.2入れたからか、モジュールのupdateもいらなかった。
次は、まず"Hello world!"かな

Hello World!

便利なスクリプトがついてくるので、それを使う

%which amon2-setup.pl
~/perl5/perlbrew/perls/perl-5.14.2/bin/amon2-setup.pl
#はいってることが確認できたので
%amon2-setup.pl MyApp

-- Running flavor: Basic --
[Flavor::Basic] Loading asset: jQuery
[Flavor::Basic] Loading asset: Bootstrap
......

ここで出てくる、flavorとは作りたいアプリケーションの規模とか、
機能によってよしなにやってくれるやつらしい
参考:http://perl-users.jp/articles/advent-calendar/2011/amon2/2

起動
%cd MyApp
%plackup app.psgi
Error while loading app.psgi: Can't locate DBI.pm in @INC,,,,
# DBIが無いらしい
% cpanm Amon2/Plugin/DBI.pm 
Error ....
#足りないものをいれ、再度plackup!
%plackup app.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/

あとは、http://hostname:5000にアクセスすると!
"Hello Amon2 World!"
となりました。

mysqlをつかいたい

あとでやる。きょうはここまで。