Web技術勉強会 20100424

17
Web技術勉強会 買い物管理支援 tmarker開発中間報告 1 開発中間報告 Ryuichi TANAKA Twitter:@mapserver2007 Webhttp://summer-lights.jp

description

Web技術勉強会 20100424

Transcript of Web技術勉強会 20100424

Page 1: Web技術勉強会 20100424

Web技術勉強会買い物管理支援システム

「tmarker」

開発中間報告

1

開発中間報告

Ryuichi TANAKATwitter:@mapserver2007

Web:http://summer-lights.jp

Page 2: Web技術勉強会 20100424

システム構成図

Sinatra

users

items

wishes

DB Rails

2

Amazon

Jancode

Search

wishes

recomme

dation

groups

log

Redmine

Page 3: Web技術勉強会 20100424

開発時期と開発状況10月[Sinarta]・Sinatra側開発開始・Amazonからのデータ取得機能実装・SequelによるDB処理実装

11月

3

11月[Sinatra]・登録結果のインスタントメッセージ配信機能実装・iPhoneからのアクセスに対応[Rails]・プロジェクト作成(2.3.5)

Page 4: Web技術勉強会 20100424

開発時期と開発状況

12月[Sinarta]・JANコードデータ取得機能実装・APIキー認証実装・メール送信機能実装

4

・メール送信機能実装[Rails]・トップページ、カテゴリ別ページ実装・ログインページ(restful_authentication)実装・カレンダー実装

Page 5: Web技術勉強会 20100424

開発時期と開発状況

1月[Sinarta]・なし[Rails]

5

[Rails]・更新履歴表示実装

※1月中旬~2月下旬はRankforce開発のためほとんど実装できず。

Page 6: Web技術勉強会 20100424

開発時期と開発状況

2月[Sinarta]・JANコード取得処理の修正(JANコード検索サイト閉鎖)

6

[Rails]・トップページの商品表示を変更・マイページを実装

Page 7: Web技術勉強会 20100424

開発時期と開発状況

3月[Sinarta]・おすすめ商品取得処理実装[Rails]

7

[Rails]・商品詳細ページ実装・開発ログ、トラッキングログ取得処理実装・マイページにカテゴリ、価格帯別絞り込み表示機能実装

Page 8: Web技術勉強会 20100424

開発時期と開発状況

4月[Sinarta]・買いたいものリスト登録処理実装・商品登録、買いたいもの登録をPCアクセスに開放[Rails]

8

[Rails]・一般ユーザのロール設定ページ実装・マイページをタブ切り替えに変更・買いたいものリストページ実装・詳細ページからの買いたいものリスト登録処理実装

Page 9: Web技術勉強会 20100424

開発規模

コードライン数(2010/4/24現在)

・3549行・ライブラリコード除く・改行、スペースは除く

9

・改行、スペースは除く・対象ファイルは「.rb、.html.erb、.js、.css、.haml、.sass」・共通化など無駄なコードを極力削った状態

Page 10: Web技術勉強会 20100424

開発規模

コミット回数(2010/4/24現在)

・75回・3日に1回はコミット。チケット数(2010/4/24現在)・48件

10

・48件バグ:28件機能要求:19件変更要求:1件

Page 11: Web技術勉強会 20100424

Sinatraを使ってみて[所感]

[メリット]・少ない行数でアプリが作れる⇒Rubyだから。

・APサーバを自由に変更できる⇒開発環境:mongrel、本番環境:thin

11

⇒開発環境:mongrel、本番環境:thin

・Rubyの学習に最適⇒フレームワークに頼れないので、すべてをRubyで作る必要

がある・Rubyを本格的に書いたのはこれが初めて。自ら設計して書いたおかげで習得できた。

Page 12: Web技術勉強会 20100424

Sinatraを使ってみて[所感]

[デメリット]・規模が大きいアプリだと不安あり⇒設計をしっかりしていないと破綻する。画面遷移、MVCなど

を意識しないと難しい。依存関係が多すぎるとどこかで限界

12

が来る(WAFレスの場合すべて該当するが…)。

・情報が少ない⇒公式のドキュメント(英語)頼み。しかも若干量が少ない。その

他個人ブログしかなく、書籍は全くない。

Page 13: Web技術勉強会 20100424

Sinatraを使ってみて[所感]

[使えるのか?]・大いに使える!⇒小規模アプリなら積極的につかうべし。

13

・覚えることが少ない⇒URLロケーションの操作くらいしか覚えることがない。

公式ドキュメントだけで実は十分事足りる。

Page 14: Web技術勉強会 20100424

Railsを使ってみて[所感]

[メリット]・大規模アプリが簡単に書ける⇒ファイルが増えたときも収集がつかなくなることがほぼない。

MVCを自分で考える必要がない。

・とにかく短くかける

14

・とにかく短くかける⇒個人的感覚だが、Struts(Java)、フレームワーク未使用の場

合にくらべ半分くらいの量に(本当に!)なる。

・セキュリティ対策が万全⇒バリデーション、CSRF、SQLインジェクション対策などを標準

サポート。自分でロジックを構成する必要なくセキュア。

Page 15: Web技術勉強会 20100424

Railsを使ってみて[所感]

[デメリット]・学習コストが膨大⇒とにかくルールが多い。今までの知識がほとんど役に立たな

い。個人的には3本目のRailsアプリにしてようやくまともに使えるようになった…。初心者は躓きやすい。Webの情報だけ

15

でアプリを作るのはまず無理。

・Railsは言語である⇒Railsを勉強してもRubyは書けない!Railsというプログラミ

ング言語といってもいい。Ruby勉強したくてRails始めるのならやめたほうがいい。Sinatraを使うことを勧める。

Page 16: Web技術勉強会 20100424

Railsを使ってみて[所感]

[使えるのか?]・最強のフレームワーク。使わない理由がない。⇒覚えることが多いが、壁を越えるとこれほど便利なフレーム

ワークがあったのかと感動すること間違いなし。世間的な需

16

要も今後確実に増えるはず。

・やはり難しい…⇒現在進行形で勉強中(今はnamed_scopeやってる)。これほ

ど書籍がないと難しい言語(じゃないけど)もめずらしい?

Page 17: Web技術勉強会 20100424

今後の予定

・引き続き機能拡張予定

17

⇒随時チケット切っていきます。いつか、Android対応したい。