デザイナーとプログラマー、zip納品 vs Githubインテグレーション

Issue82の続き

こちらの開発レポート、プログラマー側はどうやっていくか実際のIssueをこなしながら紹介したいと思います。

Github for Mac を使ってデザイナーがブランチ作る、怖話の開発レポート | FJORD, LLC(合同会社フィヨルド)」

といってもプログラマーは黒い画面で黙々といつも通りやるだけなので目新しいことはありませんが・・・。

% git branch -a
  issue20
  issue26
  issue28
  issue47
  issue52
  issue71
* master
  refactor-string_size
  remotes/heroku/master
  remotes/origin/Issue82
  remotes/origin/master

@machidaさんが作ったIssue82ブランチがちゃんとありますね。(今度から全部小文字にしましょうと話しましたw)

% git pull origin Issue82

さて、該当のコードを見てみます。

Terminal — vim — 80×24

あー、なるほど。数字の桁数が全部枠で囲われるデザインである以上、こういうマークアップになるのは仕方が無いけど、プログラムが面倒だな・・・。

文字をspanタグで装飾するhelperを作ります。

# test/unit/helpers/home_helper.rb
require 'test_helper'

class HomeHelperTest < ActionView::TestCase
  should 'decorated_story_count return decorated html' do
    assert_equal decorated_story_count(17000), '<span class="number">1</span><span class="number">7</span><span class="comma">,</span><span class="number">0</span><<span class="number">0</span><span class="number">0</span>'
  end
end

こんな感じのhelperがあれば楽かなあ。

Terminal — zsh — 80×24

テスト。(通常はrake testとguard-testを使っています。)

テストが通るようにします。

Terminal — vim — 80×24

こんな感じかな?

Terminal — zsh — 80×24

OK。

decorated_story_countをviewに埋め込んで、後は怖話をランダムで読む部分。

Terminal — vim — 80×24

これは重そうだ・・・。サイトの人気が出てアクセス増えたら直します・・・。

% git commit -am 'fixed #82'
% git pull origin master
% git rebase master
% git checkout master
% git merge Issue82
% git push

topic branchをmasterにmargeしてpush。

#82: 沢山話があることを表すデザイン - Issues - komagata/kowabana - GitHub

こちらに書いた通り、git pushするとgithubの該当issueが閉じて、jenkinsでテストされ、staging環境にdeployされます。

staging環境をPC, iPhone, AndoroidでチェックしてOKだったらproductionにdeployします。

iOS Simulator - iPhone / iOS 4.3 (8F192)

良さそう。

% cap production deploy

で完了です。

zip納品 vs Githubインテグレーション

一般的なやり方(htmlとcssが毎回zipで送られてくる)とGithubインテグレーション(Issuesに登録しておくと勝手にできてる)を比べてみると生産性が圧倒的に違います。デザイナーもGithubを使ったWebサイト開発のイテレーションの中に入るべきだと思います。

一般的なやり方の場合にプログラマーが何をやっているか思い出してください。zipを解凍して、まず前回のzipとどこが違うのかわからなくなる。diffを取る。直接railsに置けるわけではないので、前回との差分を試行錯誤しながらrailsに入れる。何かちょっとデザインがズレた。どうやってデザイナーに伝えよう。該当部分をブラウザからhtmlに保存してメールする?・・・ああ、考えただけでも面倒くさい・・・。

デザイナーにとってはGithub for Macを使えるだけでなく、ローカルにRails環境が作れる必要もあるので若干敷居が高いですが、それを補って余りあるメリットがあると強く感じました。

comments powered by Disqus