candycane開発会@ヨセミテ(4/18)でした

dev-candycane-in-yosemite
ヨセミテオフィスにて。

candycaneの今後の開発は各々で行うだけでなく継続的に集まってやろうという雰囲気になり、合宿から約一週間後の4/18にヨセミテオフィスで4名で開発会を行いました。

僕はチケット一覧(他、一覧系いろいろ)の最下部に表示されているAjaxで動作するページネーション&件数切り替えの実装を行いました。ぐりぐり動くところは動いたときが派手で楽しいです。

candycane-paginator
ココ。

Railsのlink_to_remoteとCakePHPのAjaxHelper::linkは似ている

Railsのlink_to_remoteメソッドの引数はCakePHPのAjaxHelper::linkメソッドに酷似しているので非常に移植しやすいです。引数の順序は違いますが、ハッシュ(PHPなら連想配列)のキー名がほぼ同じだからです。

例えば以下のRails用のコードが以下の場合、

html << link_to_remote(('&#171; ' + l(:label_previous)),
  {:update => 'content',
   :url => url_param.merge(page_param => paginator.current.previous),
   :complete => 'window.scrollTo(0,0)'},
  {:href => url_for(:params => url_param.merge(page_param => paginator.current.previous))}) + ' '

CakePHPなら以下のようになります。(am関数はarray_merge関数へのaliasです)

$html .= $this->Ajax->link(
  '&#171;' . __('Previous', true),
  $url = am($url_param, array($page_param => $paging['page'] - 1)),
  array(
    'update' => 'content',
    'url' => $url,
    'complete' => 'window.scrollTo(0, 0)',
  ), null,  false
) . ' ';

余裕でてきた

合宿のときは土台を作ったりRedmineの構造を理解するためにひたすら苦行の様相を呈していましたが、だいぶ理解できるようになってくると余裕がでてきました。3~4時間集中して開発しましたが疲れは感じませんでした。他の参加者も「余裕だねー」という様子でした。

CakePHPに慣れた方々と一緒にコードを書く機会はめったにないので、余裕がでてくるほど実装についてあーだこーだと話し合うのが楽しくて仕方がありません。あんまり話してばかりだと手が止まるので気をつけないといけませんが...。

以下参加者の方々の記事です。

コメント / トラックバック

コメントは受け付けていません。