SlideShare a Scribd company logo
“イマドキの” Webサイト構築!
~Ruby on RailsによるWebサイト開発デモ~
2015年8月2日(日)
総合情報学科システム開発コース
助教 河野義広
東京情報大学 オープンキャンパス2015 体験授業
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
目次
 Webの基本的な仕組み
 Webシステムプログラミングの実演
 Webシステム開発の最前線
 Webシステムの事例紹介
2
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
皆さんに質問
 Webを知っている?
 インターネット上で文書をやり取りする仕組み
 正式名称:World Wide Web、WWWやWebと呼称
 Webの利用目的は?
 ☑ 検索 ☑ メール ☑ 買い物
 ☑ ニュース ☑ カレンダー
 ☑ SNS(Twitter、Facebookなど)
 ☑ データ共有(Googleドライブ、Dropboxなど)
3
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
クラウド(Cloud)とは?
 概要
 インターネット上に計算資源、データ領域を確保
 多くのサービスがWebブラウザのみで利用可能
4
インターネット
SNS
動画
メール
地図
買い物
利用
端末
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webの基本的な仕組み
5
あなたのPC
① Webサーバ
にアクセス
② ファイルを
受け取る
HTML
③ 画面を作って
表示
Webサーバ
インターネット
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
動的なWebサイトの仕組み
6
あなたのPC
① Webサーバ
にアクセス
④ 画面を作って
表示
Webサーバ
② プログラム
を実行
データベース
プログラム
HTML ③ 実行結果を
受け取る
インターネット
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
動的Webサイトとは?
 何ができるのか?
 ユーザの入力に応じて結果が変わるサイト
 例)掲示板、Amazon、Twitter、Facebookなど
 プログラム
 ユーザの入力を受け付けて処理を実行
 実行結果をPCに返す
 データベース(DB)
 ユーザのデータを保管
7
プログラム
データベース
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラムの例
 概要
 アンケートの選択によって結果が分かるページ
8
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
DBの例
 概要
 メンバーの名前と学年を記録
 1行に1人分のデータ
9
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステムプログラミングの実演
実際に簡単なWebシステムを
作ってみます
10
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
作成するWebシステム
 概要
 遊んだゲームのリストを管理するシステム
 基本設計
 以下の項目をDBに記録
 タイトル、ジャンル、日付、評価(1~5)、感想
 データの登録、変更、削除ができること
 実装方法
 Ruby on Railsを利用(後で説明)
11
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
作成するWebシステムのイメージ
12
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステム作成(1)
 1.プロジェクトの作成
 プログラムの作業場所
 # rails new game_list -d mysql
 2. DBの作成
 # rails g scaffold Games title:string genre:string date:date
rating:integer review:text
 # rake db:create
 # rake db:migrate
 3. サーバの起動
 # rails s –p 3005
13
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステム作成(2)
 4.表示の日本語化
 ビューのファイルを編集
 5. ジャンルを一覧から選択できるようにする
 ジャンルをDBに追加
 一覧から選択できるようビューを編集
 # rails g scaffold Genres name:string
 # rake db:migrate
 6. サーバの再起動
 # rails s –p 3005
14
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ビューの編集
 方針
 ジャンルをDBから選択する方式
15
<div class="field">
<%= f.label :genre %><br />
<%= f.collection_select :genre, Genre.all, :name,
:name, :selected => @game.genre,
:prompt => "選択してください" %>
</div>
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
DBの中身を覗いてみよう
16
図. ゲームテーブル
図. ジャンルテーブル
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Ruby on Railsとは
 特徴
 Webアプリケーション開発の「フレームワーク」
 オブジェクト指向スクリプト言語「Ruby」で記述
 MVC(Model-View-Controller)アーキテクチャ
 モデル、ビュー、コントローラでの役割分担
 RubyとRails
 Ruby:プログラム言語
 Rails:Rubyで記述されたフレームワーク
 フレームワーク:ツール、ライブラリ、設定ファイル等
17
Ruby
Ruby on Rails
図. RubyとRailsの関係
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
MVCアーキテクチャ
 MVCアーキテクチャ
 モデル:DBとの連携
 ビュー:画面表示
 コントローラ:ユーザからのデータ入力
18
コントローラ
モデル
ビュー
DB
図. MVCアーキテクチャの概要
ユーザ
端末
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Rails開発のメリット
 迅速にシステムを開発できる
 簡単に大枠だけ作って、適宜修正しながら迅速に開発
 プロジェクト管理
 プロジェクトのディレクトリにすべてが入っている
 プログラム、設定ファイル、ログ、DB定義、サーバ機能
 ディレクトリをバックアップするだけでよい
 DB管理が容易
 バージョン管理ができる
 コマンドでのバージョンアップ/ロールバックができる
 他のDBへの切り替えが容易
19
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
“イマドキ”のWebシステム開発
Webシステム開発の
最前線を紹介します
20
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステムの開発最前線
• クラウドの活用
• Amazon Web Services、Microsoft Azure、Heroku
• マッシュアップ(プログラムのパーツの組み合わせ)
• Web API、ソーシャルログイン、ライブラリ(git)
• CMS(Content Management System)の活用
スピーディーな開発
• スタートアップを支援する仕組み
• クラウドファンディングによる資金調達
加速するイノベーション
21
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
 Tripline:旅の軌跡を記録するサービス
スピーディーな開発の事例
22
地図
認証旅の軌跡
シェア
マッシュアップによる開発速度&利便性向上
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ソーシャルアカウントでのログイン
23
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Web APIの活用
 ソーシャル連携サービス
 Twitter、FacebookのIDによる認証機能
 Twitter、Facebookでのつながり情報、登録情報の活用
 Web APIの利用
 プログラムから外部Webシステムの機能を利用する関数群
24
プログラム
例:ブログ
DB
A
P
I
① 問い合わせ
② データ処理③ 返信
インターネット
図. Web APIの仕組み
D
D
Webシステム
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
加速するイノベーション
25
• スタートアップ=イノベーション&社会貢献
• SF Japan Night
• サムライベンチャーサミット
スタートアップ支援
• クラウドファンディング=インターネットによる資金調達
• READYFOR?
• CAMPFIRE
クラウドファンディング
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
SF Japan Night
 日本のスタートアップ企業を支援
 自社のプロダクトを投資家に英語でプレゼン
 評価の高かった発表者はサンフランシスコでの本選出場
 投資家に評価されれば資金調達のチャンス!
 これまでのファイナリスト
 ChatWork、Cacoo、Beatrobo、Monaca
 WHILL、Ring、FOVE
26
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
サムライベンチャーサミット
 日本最大級のスタートアップカンファレンス
 100社以上のスタートアップ、インキュベーターが参加
 第11回の2015年は過去最高の1166名が参加
 サムライ魂
 「できるできないでなく、やるかやらないかで世界を変える」
27
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
社会的課題解決サービスの現状
 背景:ソーシャルメディアの急速な普及
 様々な情報(人々の考え方、価値観)の流通や人脈形成
 社会的課題解決の必須スキル
 世の中にあるほとんどの課題は、一人では解決できない
 それぞれの人の考え方や価値観が異なるため
 ソーシャルメディア活用は社会的課題解決の必須スキル
 社会的課題解決サービス
 地域や環境、人の心などの課題解決が目的
 困っている人と助けたい人をつなぐサービス
28
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
sinsai.ifno
 概要
 震災情報をみんなで集め公開するサイト
 ボランティアのエンジニアが震災直後4時間で立ち上げ
29
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Wantedly
 概要
 はたらくを面白くするビジネスSNS
30
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
第二領域時間管理システム
 概要
 「7つの習慣」に基づく「重要度」を意識した時間管理
31URL:http://mentoros.tuis.ac.jp/self-reflector
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
まとめ
 やったこと
 Webシステムの仕組み
 Webシステムプログラミングの実演
 Web開発技術と応用事例
 皆さんに期待すること
 自分でWebシステムを作ってみましょう
 勉強会やセミナーに行ってみましょう
 分からないことがあれば聞いてみましょう
32
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
終わり
 ご質問・コメントなどありましたらお願いします
33
東京情報大学 総合情報学部 総合情報学科
システム開発コース 助教
河野 義広
Tel:043-236-1149
E-mail:ykawano@rsch.tuis.ac.jp
ご不明な点がありましたら以下にお問い合わせください

More Related Content

Similar to オープンキャンパス体験授業20150802

20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
Code4Lib JAPAN
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
Tomoki Maeda
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka
 
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
kulibrarians
 

Similar to オープンキャンパス体験授業20150802 (20)

20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村
 
20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村
 
Rails講座1
Rails講座1Rails講座1
Rails講座1
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
RailsでKnockout.js
RailsでKnockout.jsRailsでKnockout.js
RailsでKnockout.js
 
Webシステムプログラミング20161003
Webシステムプログラミング20161003Webシステムプログラミング20161003
Webシステムプログラミング20161003
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
 
DevLove Kansai AWS
DevLove Kansai AWSDevLove Kansai AWS
DevLove Kansai AWS
 
Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
 
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
About rails 3
About rails 3About rails 3
About rails 3
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
 
20190219_ICON技術セミナー8_芦村
20190219_ICON技術セミナー8_芦村20190219_ICON技術セミナー8_芦村
20190219_ICON技術セミナー8_芦村
 

More from 義広 河野

More from 義広 河野 (20)

河野ゼミ説明会20221116
河野ゼミ説明会20221116河野ゼミ説明会20221116
河野ゼミ説明会20221116
 
河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020
 
河野ゼミ紹介20201118
河野ゼミ紹介20201118河野ゼミ紹介20201118
河野ゼミ紹介20201118
 
オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」
 
専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120
 
専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023
 
コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825
 
高大連携授業20190730
高大連携授業20190730高大連携授業20190730
高大連携授業20190730
 
高大連携授業20190730(抜粋)
高大連携授業20190730(抜粋)高大連携授業20190730(抜粋)
高大連携授業20190730(抜粋)
 
千葉市若葉区共催市民公開講座_20190711
千葉市若葉区共催市民公開講座_20190711千葉市若葉区共催市民公開講座_20190711
千葉市若葉区共催市民公開講座_20190711
 
プレゼンの作り方2019
プレゼンの作り方2019プレゼンの作り方2019
プレゼンの作り方2019
 
プレゼン勉強会_若葉区公開講座_20190620
プレゼン勉強会_若葉区公開講座_20190620プレゼン勉強会_若葉区公開講座_20190620
プレゼン勉強会_若葉区公開講座_20190620
 
専門演習説明会『河野ゼミの紹介2019』
専門演習説明会『河野ゼミの紹介2019』専門演習説明会『河野ゼミの紹介2019』
専門演習説明会『河野ゼミの紹介2019』
 
ソーシャルメディアを活用した地域の情報発信_02_20190616
ソーシャルメディアを活用した地域の情報発信_02_20190616ソーシャルメディアを活用した地域の情報発信_02_20190616
ソーシャルメディアを活用した地域の情報発信_02_20190616
 
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
 
卒業論文ルーブリック_20181217
卒業論文ルーブリック_20181217卒業論文ルーブリック_20181217
卒業論文ルーブリック_20181217
 
プログラミング応用b 長期課題(2)
プログラミング応用b 長期課題(2)プログラミング応用b 長期課題(2)
プログラミング応用b 長期課題(2)
 
教員免許状更新講習20180821
教員免許状更新講習20180821教員免許状更新講習20180821
教員免許状更新講習20180821
 
高大連携授業20180803
高大連携授業20180803高大連携授業20180803
高大連携授業20180803
 

Recently uploaded

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 

Recently uploaded (8)

人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 

オープンキャンパス体験授業20150802

  • 1. “イマドキの” Webサイト構築! ~Ruby on RailsによるWebサイト開発デモ~ 2015年8月2日(日) 総合情報学科システム開発コース 助教 河野義広 東京情報大学 オープンキャンパス2015 体験授業
  • 2. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 目次  Webの基本的な仕組み  Webシステムプログラミングの実演  Webシステム開発の最前線  Webシステムの事例紹介 2
  • 3. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 皆さんに質問  Webを知っている?  インターネット上で文書をやり取りする仕組み  正式名称:World Wide Web、WWWやWebと呼称  Webの利用目的は?  ☑ 検索 ☑ メール ☑ 買い物  ☑ ニュース ☑ カレンダー  ☑ SNS(Twitter、Facebookなど)  ☑ データ共有(Googleドライブ、Dropboxなど) 3
  • 4. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES クラウド(Cloud)とは?  概要  インターネット上に計算資源、データ領域を確保  多くのサービスがWebブラウザのみで利用可能 4 インターネット SNS 動画 メール 地図 買い物 利用 端末
  • 5. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webの基本的な仕組み 5 あなたのPC ① Webサーバ にアクセス ② ファイルを 受け取る HTML ③ 画面を作って 表示 Webサーバ インターネット
  • 6. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 動的なWebサイトの仕組み 6 あなたのPC ① Webサーバ にアクセス ④ 画面を作って 表示 Webサーバ ② プログラム を実行 データベース プログラム HTML ③ 実行結果を 受け取る インターネット
  • 7. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 動的Webサイトとは?  何ができるのか?  ユーザの入力に応じて結果が変わるサイト  例)掲示板、Amazon、Twitter、Facebookなど  プログラム  ユーザの入力を受け付けて処理を実行  実行結果をPCに返す  データベース(DB)  ユーザのデータを保管 7 プログラム データベース
  • 8. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラムの例  概要  アンケートの選択によって結果が分かるページ 8
  • 9. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの例  概要  メンバーの名前と学年を記録  1行に1人分のデータ 9
  • 10. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステムプログラミングの実演 実際に簡単なWebシステムを 作ってみます 10
  • 11. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 作成するWebシステム  概要  遊んだゲームのリストを管理するシステム  基本設計  以下の項目をDBに記録  タイトル、ジャンル、日付、評価(1~5)、感想  データの登録、変更、削除ができること  実装方法  Ruby on Railsを利用(後で説明) 11
  • 12. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 作成するWebシステムのイメージ 12
  • 13. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステム作成(1)  1.プロジェクトの作成  プログラムの作業場所  # rails new game_list -d mysql  2. DBの作成  # rails g scaffold Games title:string genre:string date:date rating:integer review:text  # rake db:create  # rake db:migrate  3. サーバの起動  # rails s –p 3005 13
  • 14. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステム作成(2)  4.表示の日本語化  ビューのファイルを編集  5. ジャンルを一覧から選択できるようにする  ジャンルをDBに追加  一覧から選択できるようビューを編集  # rails g scaffold Genres name:string  # rake db:migrate  6. サーバの再起動  # rails s –p 3005 14
  • 15. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ビューの編集  方針  ジャンルをDBから選択する方式 15 <div class="field"> <%= f.label :genre %><br /> <%= f.collection_select :genre, Genre.all, :name, :name, :selected => @game.genre, :prompt => "選択してください" %> </div>
  • 16. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの中身を覗いてみよう 16 図. ゲームテーブル 図. ジャンルテーブル
  • 17. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Ruby on Railsとは  特徴  Webアプリケーション開発の「フレームワーク」  オブジェクト指向スクリプト言語「Ruby」で記述  MVC(Model-View-Controller)アーキテクチャ  モデル、ビュー、コントローラでの役割分担  RubyとRails  Ruby:プログラム言語  Rails:Rubyで記述されたフレームワーク  フレームワーク:ツール、ライブラリ、設定ファイル等 17 Ruby Ruby on Rails 図. RubyとRailsの関係
  • 18. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES MVCアーキテクチャ  MVCアーキテクチャ  モデル:DBとの連携  ビュー:画面表示  コントローラ:ユーザからのデータ入力 18 コントローラ モデル ビュー DB 図. MVCアーキテクチャの概要 ユーザ 端末
  • 19. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Rails開発のメリット  迅速にシステムを開発できる  簡単に大枠だけ作って、適宜修正しながら迅速に開発  プロジェクト管理  プロジェクトのディレクトリにすべてが入っている  プログラム、設定ファイル、ログ、DB定義、サーバ機能  ディレクトリをバックアップするだけでよい  DB管理が容易  バージョン管理ができる  コマンドでのバージョンアップ/ロールバックができる  他のDBへの切り替えが容易 19
  • 20. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES “イマドキ”のWebシステム開発 Webシステム開発の 最前線を紹介します 20
  • 21. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステムの開発最前線 • クラウドの活用 • Amazon Web Services、Microsoft Azure、Heroku • マッシュアップ(プログラムのパーツの組み合わせ) • Web API、ソーシャルログイン、ライブラリ(git) • CMS(Content Management System)の活用 スピーディーな開発 • スタートアップを支援する仕組み • クラウドファンディングによる資金調達 加速するイノベーション 21
  • 22. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES  Tripline:旅の軌跡を記録するサービス スピーディーな開発の事例 22 地図 認証旅の軌跡 シェア マッシュアップによる開発速度&利便性向上
  • 23. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ソーシャルアカウントでのログイン 23
  • 24. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Web APIの活用  ソーシャル連携サービス  Twitter、FacebookのIDによる認証機能  Twitter、Facebookでのつながり情報、登録情報の活用  Web APIの利用  プログラムから外部Webシステムの機能を利用する関数群 24 プログラム 例:ブログ DB A P I ① 問い合わせ ② データ処理③ 返信 インターネット 図. Web APIの仕組み D D Webシステム
  • 25. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 加速するイノベーション 25 • スタートアップ=イノベーション&社会貢献 • SF Japan Night • サムライベンチャーサミット スタートアップ支援 • クラウドファンディング=インターネットによる資金調達 • READYFOR? • CAMPFIRE クラウドファンディング
  • 26. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES SF Japan Night  日本のスタートアップ企業を支援  自社のプロダクトを投資家に英語でプレゼン  評価の高かった発表者はサンフランシスコでの本選出場  投資家に評価されれば資金調達のチャンス!  これまでのファイナリスト  ChatWork、Cacoo、Beatrobo、Monaca  WHILL、Ring、FOVE 26
  • 27. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES サムライベンチャーサミット  日本最大級のスタートアップカンファレンス  100社以上のスタートアップ、インキュベーターが参加  第11回の2015年は過去最高の1166名が参加  サムライ魂  「できるできないでなく、やるかやらないかで世界を変える」 27
  • 28. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 社会的課題解決サービスの現状  背景:ソーシャルメディアの急速な普及  様々な情報(人々の考え方、価値観)の流通や人脈形成  社会的課題解決の必須スキル  世の中にあるほとんどの課題は、一人では解決できない  それぞれの人の考え方や価値観が異なるため  ソーシャルメディア活用は社会的課題解決の必須スキル  社会的課題解決サービス  地域や環境、人の心などの課題解決が目的  困っている人と助けたい人をつなぐサービス 28
  • 29. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES sinsai.ifno  概要  震災情報をみんなで集め公開するサイト  ボランティアのエンジニアが震災直後4時間で立ち上げ 29
  • 30. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Wantedly  概要  はたらくを面白くするビジネスSNS 30
  • 31. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 第二領域時間管理システム  概要  「7つの習慣」に基づく「重要度」を意識した時間管理 31URL:http://mentoros.tuis.ac.jp/self-reflector
  • 32. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES まとめ  やったこと  Webシステムの仕組み  Webシステムプログラミングの実演  Web開発技術と応用事例  皆さんに期待すること  自分でWebシステムを作ってみましょう  勉強会やセミナーに行ってみましょう  分からないことがあれば聞いてみましょう 32
  • 33. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 終わり  ご質問・コメントなどありましたらお願いします 33 東京情報大学 総合情報学部 総合情報学科 システム開発コース 助教 河野 義広 Tel:043-236-1149 E-mail:ykawano@rsch.tuis.ac.jp ご不明な点がありましたら以下にお問い合わせください