SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Web技術勉強会
買い物管理支援システム
    「tmarker」

  開発中間報告


       Ryuichi TANAKA
    Twitter:@mapserver2007
  Web:http://summer-lights.jp


                                1
システム構成図

          Sinatra       DB      Rails

                      users
                       items
                      wishes
                      recomme
                      dation
                      groups
                        log
             Amazon
Jancode                          Redmine
 Search



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

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


                          3
開発時期と開発状況
12月
[Sinarta]
・JANコードデータ取得機能実装
・APIキー認証実装
・メール送信機能実装
[Rails]
・トップページ、カテゴリ別ページ実装
・ログインページ(restful_authentication)実装
・カレンダー実装




                                     4
開発時期と開発状況

1月
[Sinarta]
・なし
[Rails]
・更新履歴表示実装

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




                                      5
開発時期と開発状況


2月
[Sinarta]
・JANコード取得処理の修正(JANコード検索サイト閉鎖)
[Rails]
・トップページの商品表示を変更
・マイページを実装




                                6
開発時期と開発状況

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




                             7
開発時期と開発状況
4月
[Sinarta]
・買いたいものリスト登録処理実装
・商品登録、買いたいもの登録をPCアクセスに開放
[Rails]
・一般ユーザのロール設定ページ実装
・マイページをタブ切り替えに変更
・買いたいものリストページ実装
・詳細ページからの買いたいものリスト登録処理実装




                           8
開発規模

コードライン数(2010/4/24現在)
・3549行
・ライブラリコード除く
・改行、スペースは除く
・対象ファイルは「.rb、.html.erb、.js、.css、.haml、
.sass」
・共通化など無駄なコードを極力削った状態




                                         9
開発規模
コミット回数(2010/4/24現在)
・75回
・3日に1回はコミット。
チケット数(2010/4/24現在)
・48件
 バグ:28件
 機能要求:19件
 変更要求:1件




                      10
Sinatraを使ってみて[所感]
[メリット]
・少ない行数でアプリが作れる
⇒Rubyだから。
・APサーバを自由に変更できる
⇒開発環境:mongrel、本番環境:thin
・Rubyの学習に最適
 ⇒フレームワークに頼れないので、すべてをRubyで作る必要
がある・Rubyを本格的に書いたのはこれが初めて。自ら設計し
て書いたおかげで習得できた。




                                 11
Sinatraを使ってみて[所感]

[デメリット]
・規模が大きいアプリだと不安あり
⇒設計をしっかりしていないと破綻する。画面遷移、MVCなど
 を意識しないと難しい。依存関係が多すぎるとどこかで限界
 が来る(WAFレスの場合すべて該当するが…)。
・情報が少ない
⇒公式のドキュメント(英語)頼み。しかも若干量が少ない。その
 他個人ブログしかなく、書籍は全くない。




                                 12
Sinatraを使ってみて[所感]

[使えるのか?]
・大いに使える!
⇒小規模アプリなら積極的につかうべし。
・覚えることが少ない
⇒URLロケーションの操作くらいしか覚えることがない。
 公式ドキュメントだけで実は十分事足りる。




                              13
Railsを使ってみて[所感]
[メリット]
・大規模アプリが簡単に書ける
⇒ファイルが増えたときも収集がつかなくなることがほぼない。
 MVCを自分で考える必要がない。
・とにかく短くかける
⇒個人的感覚だが、Struts(Java)、フレームワーク未使用の場
 合にくらべ半分くらいの量に(本当に!)なる。
・セキュリティ対策が万全
⇒バリデーション、CSRF、SQLインジェクション対策などを標準
 サポート。自分でロジックを構成する必要なくセキュア。



                                     14
Railsを使ってみて[所感]
[デメリット]
・学習コストが膨大
⇒とにかくルールが多い。今までの知識がほとんど役に立たな
 い。個人的には3本目のRailsアプリにしてようやくまともに使
 えるようになった…。初心者は躓きやすい。Webの情報だけ
 でアプリを作るのはまず無理。
・Railsは言語である
⇒Railsを勉強してもRubyは書けない!Railsというプログラミ
 ング言語といってもいい。Ruby勉強したくてRails始めるのな
 らやめたほうがいい。Sinatraを使うことを勧める。



                                      15
Railsを使ってみて[所感]

[使えるのか?]
・最強のフレームワーク。使わない理由がない。
⇒覚えることが多いが、壁を越えるとこれほど便利なフレーム
 ワークがあったのかと感動すること間違いなし。世間的な需
 要も今後確実に増えるはず。
・やはり難しい…
⇒現在進行形で勉強中(今はnamed_scopeやってる)。これほ
 ど書籍がないと難しい言語(じゃないけど)もめずらしい?




                                    16
今後の予定



・引き続き機能拡張予定
⇒随時チケット切っていきます。いつか、Android対応したい。




                                   17

Más contenido relacionado

Similar a Web技術勉強会 20100424

Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデートオラクルエンジニア通信
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回龍一 田中
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudKazuki Aranami
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Taro L. Saito
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングShin Matsumoto
 
JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例
JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例
JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例Yutaro Ono
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeSatoru Ishikawa
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜Takahiro Inoue
 
地に足がついたクラウドのお話
地に足がついたクラウドのお話地に足がついたクラウドのお話
地に足がついたクラウドのお話Toshiaki Baba
 
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Hadoop / Spark Conference Japan
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorockyuzorock
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-LINE Corp.
 
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??griddb
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA HadoopセミナーIchiro Fukuda
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn
 

Similar a Web技術勉強会 20100424 (20)

Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年4月度サービス情報アップデート
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
 
JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例
JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例
JAWS-UG広島 - 2019-07-12 - 金融ビッグデータを守るリソースポリシー実例
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
 
地に足がついたクラウドのお話
地に足がついたクラウドのお話地に足がついたクラウドのお話
地に足がついたクラウドのお話
 
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
 

Más de 龍一 田中

WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をするWebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする龍一 田中
 
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門龍一 田中
 
Web技術勉強会 20120728
Web技術勉強会 20120728Web技術勉強会 20120728
Web技術勉強会 20120728龍一 田中
 
Web技術勉強会 20120609
Web技術勉強会 20120609Web技術勉強会 20120609
Web技術勉強会 20120609龍一 田中
 
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドするWeb技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする龍一 田中
 
Web技術勉強会 20111112
Web技術勉強会 20111112Web技術勉強会 20111112
Web技術勉強会 20111112龍一 田中
 
Web技術勉強会 20110723
Web技術勉強会 20110723Web技術勉強会 20110723
Web技術勉強会 20110723龍一 田中
 
Web技術勉強会 20110611
Web技術勉強会 20110611Web技術勉強会 20110611
Web技術勉強会 20110611龍一 田中
 
Web技術勉強会 20110528
Web技術勉強会 20110528Web技術勉強会 20110528
Web技術勉強会 20110528龍一 田中
 
Web技術勉強会 20110514
Web技術勉強会 20110514Web技術勉強会 20110514
Web技術勉強会 20110514龍一 田中
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925龍一 田中
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回龍一 田中
 
Web技術勉強会 第37回
Web技術勉強会 第37回Web技術勉強会 第37回
Web技術勉強会 第37回龍一 田中
 
Web技術勉強会 第34回
Web技術勉強会 第34回Web技術勉強会 第34回
Web技術勉強会 第34回龍一 田中
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回龍一 田中
 
Web技術勉強会 第30回
Web技術勉強会 第30回Web技術勉強会 第30回
Web技術勉強会 第30回龍一 田中
 
Web技術勉強会 第29回
Web技術勉強会 第29回Web技術勉強会 第29回
Web技術勉強会 第29回龍一 田中
 
Web技術勉強会 第28回
Web技術勉強会 第28回Web技術勉強会 第28回
Web技術勉強会 第28回龍一 田中
 
Web技術勉強会 第26回
Web技術勉強会 第26回Web技術勉強会 第26回
Web技術勉強会 第26回龍一 田中
 
Web技術勉強会 第25回
Web技術勉強会 第25回Web技術勉強会 第25回
Web技術勉強会 第25回龍一 田中
 

Más de 龍一 田中 (20)

WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をするWebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする
 
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門
 
Web技術勉強会 20120728
Web技術勉強会 20120728Web技術勉強会 20120728
Web技術勉強会 20120728
 
Web技術勉強会 20120609
Web技術勉強会 20120609Web技術勉強会 20120609
Web技術勉強会 20120609
 
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドするWeb技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
 
Web技術勉強会 20111112
Web技術勉強会 20111112Web技術勉強会 20111112
Web技術勉強会 20111112
 
Web技術勉強会 20110723
Web技術勉強会 20110723Web技術勉強会 20110723
Web技術勉強会 20110723
 
Web技術勉強会 20110611
Web技術勉強会 20110611Web技術勉強会 20110611
Web技術勉強会 20110611
 
Web技術勉強会 20110528
Web技術勉強会 20110528Web技術勉強会 20110528
Web技術勉強会 20110528
 
Web技術勉強会 20110514
Web技術勉強会 20110514Web技術勉強会 20110514
Web技術勉強会 20110514
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回
 
Web技術勉強会 第37回
Web技術勉強会 第37回Web技術勉強会 第37回
Web技術勉強会 第37回
 
Web技術勉強会 第34回
Web技術勉強会 第34回Web技術勉強会 第34回
Web技術勉強会 第34回
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
Web技術勉強会 第30回
Web技術勉強会 第30回Web技術勉強会 第30回
Web技術勉強会 第30回
 
Web技術勉強会 第29回
Web技術勉強会 第29回Web技術勉強会 第29回
Web技術勉強会 第29回
 
Web技術勉強会 第28回
Web技術勉強会 第28回Web技術勉強会 第28回
Web技術勉強会 第28回
 
Web技術勉強会 第26回
Web技術勉強会 第26回Web技術勉強会 第26回
Web技術勉強会 第26回
 
Web技術勉強会 第25回
Web技術勉強会 第25回Web技術勉強会 第25回
Web技術勉強会 第25回
 

Web技術勉強会 20100424