SlideShare a Scribd company logo
Webシステムプログラミング
2015年6月30日(火)
総合情報学科システム開発コース
助教 河野義広
出張講義@中央大学, June 30, 2015
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
目次
 自己紹介
 Webの基本的な仕組み
 Webシステムプログラミングの実演
 Web開発技術
 Webの応用事例
2
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
自己紹介
 名前:河野 義広(かわの よしひろ)
 所属:システム開発コース 助教
 専門:情報工学、社会情報学
 社会的課題をシステムで解決する!
 研究テーマ:ソーシャルメディアの社会的影響
 ソーシャルメディア活用&パーソナルブランディング
 ソーシャルメディアを「いかに人生に活かすか!」がテーマ
 各ソーシャルメディアを自ら使い込んで実践研究
 学生のキャリアデザイン支援、教育現場における情報教育
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サーバ
にアクセス
② プログラム
を実行
④ 画面を作って
表示
HTML
Webサーバ
データベース
プログラム
③ 実行結果を
受け取る
インターネット
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
作成するWebシステム
 概要
 遊んだゲームのリストを管理するシステム
 基本設計
 以下の項目をDBに記録
 タイトル、ジャンル、日付、評価(1~5)、感想
 データの登録、変更、削除ができること
 実装方法
 Ruby on Railsを利用(後で説明)
9
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
作成するWebシステムのイメージ
10
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
11
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
12
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
DBの中身を覗いてみよう
13
図. ゲームテーブル
図. ジャンルテーブル
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステムの現状
 現状
 ほとんどのサービスがWeb上で提供
 エンジニアもWeb開発のスキルは必須
 背景
 デバイスの普及→多様な端末で提供できる仕組み
 クラウドの普及→端末は情報提示に利用
 Web APIの公開→マッシュアップによるサービス開発
 Google Maps、Twitter、Facebook、Yahoo!など
14
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Web APIの活用
 Twitter連携サービスの開発
 Twitter Bot、Twitter連携アプリなどのシステム開発
 Twitter APIの調査
 外部プログラムからTwitterの機能を利用するための関数群
 Web開発技術の習得
 WebやDBの知識、推奨フレームワーク:Ruby on Rails
15
プログラム
例:ブログ
Twitter
DB
A
P
I
① 問い合わせ
② データ処理③ 返信
インターネット
図. Twitter APIの仕組み
D
D
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Web開発技術の基本
 Web開発での必須スキル
 HTML/CSSは基本中の基本
 Webの仕組み:HTTP、GET/POST
 クライアントサイド:ブラウザ、JavaScript、jQuery
 サーバサイド:PHP、Ruby、Servlet、DB
 サーバ運用:Linux、Apache、ネットワーク
 学び方は実践あるのみ!
 まずはWeb開発の全体的な知識を得る
 実際に開発をしながら、自分の得意分野を見つける
16
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
社会的課題解決サービスの現状
 背景:ソーシャルメディアの急速な普及
 様々な情報(人々の考え方、価値観)の流通や人脈形成
 社会的課題解決の必須スキル
 世の中にあるほとんどの課題は、一人では解決できない
 それぞれの人の考え方や価値観が異なるため
 ソーシャルメディア活用は社会的課題解決の必須スキル
 社会的課題解決サービス
 地域や環境、人の心などの課題解決が目的
 困っている人と助けたい人をつなぐサービス
17
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
まとめ
 やったこと
 Webシステムの仕組み
 Webシステムプログラミングの実演
 Web開発技術と応用事例
 皆さんに期待すること
 自分でWebシステムを作ってみましょう
 勉強会やセミナーに行ってみましょう
 分からないことがあれば聞いてみましょう
18

More Related Content

Similar to Webシステムプログラミング概要20150630

オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802
義広 河野
 
河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702
義広 河野
 
基礎演習V_20141021
基礎演習V_20141021基礎演習V_20141021
基礎演習V_20141021
義広 河野
 
河野ゼミ紹介2013
河野ゼミ紹介2013河野ゼミ紹介2013
河野ゼミ紹介2013
義広 河野
 
Ipsj kansai(20100922)
Ipsj kansai(20100922)Ipsj kansai(20100922)
Ipsj kansai(20100922)真 岡本
 
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみようさくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
法林浩之
 
japan teacher
japan teacherjapan teacher
japan teacher
peterjiang
 
[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介
[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介
[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介
DNA Data Bank of Japan center
 
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
Madoka Chiyoda
 
WordPress の現況
WordPress の現況WordPress の現況
WordPress の現況
Naoko Takano
 
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
Tetsuo Sakaguchi
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki
 
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
OWASP Kansai
 
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
Koji Shigemura
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
The Whole Brain Architecture Initiative
 
Linked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試みLinked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試み
Shun Shiramatsu
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
Tadashi Miyazato
 
Small Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoSmall Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour Tokyo
Takao Tetsuro
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII
 

Similar to Webシステムプログラミング概要20150630 (20)

オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802
 
河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702
 
基礎演習V_20141021
基礎演習V_20141021基礎演習V_20141021
基礎演習V_20141021
 
河野ゼミ紹介2013
河野ゼミ紹介2013河野ゼミ紹介2013
河野ゼミ紹介2013
 
Ipsj kansai(20100922)
Ipsj kansai(20100922)Ipsj kansai(20100922)
Ipsj kansai(20100922)
 
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみようさくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
 
japan teacher
japan teacherjapan teacher
japan teacher
 
[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介
[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介
[All-in-one2015] セマンティックウェブ技術を活用した生命科学データ利用環境の紹介
 
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
 
WordPress の現況
WordPress の現況WordPress の現況
WordPress の現況
 
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
 
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
 
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
 
Linked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試みLinked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試み
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
Small Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoSmall Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour Tokyo
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
 

More from 義広 河野

河野ゼミ説明会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
義広 河野
 

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
 

Webシステムプログラミング概要20150630

  • 2. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 目次  自己紹介  Webの基本的な仕組み  Webシステムプログラミングの実演  Web開発技術  Webの応用事例 2
  • 3. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 自己紹介  名前:河野 義広(かわの よしひろ)  所属:システム開発コース 助教  専門:情報工学、社会情報学  社会的課題をシステムで解決する!  研究テーマ:ソーシャルメディアの社会的影響  ソーシャルメディア活用&パーソナルブランディング  ソーシャルメディアを「いかに人生に活かすか!」がテーマ  各ソーシャルメディアを自ら使い込んで実践研究  学生のキャリアデザイン支援、教育現場における情報教育 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サーバ にアクセス ② プログラム を実行 ④ 画面を作って 表示 HTML Webサーバ データベース プログラム ③ 実行結果を 受け取る インターネット
  • 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 作成するWebシステム  概要  遊んだゲームのリストを管理するシステム  基本設計  以下の項目をDBに記録  タイトル、ジャンル、日付、評価(1~5)、感想  データの登録、変更、削除ができること  実装方法  Ruby on Railsを利用(後で説明) 9
  • 10. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 作成するWebシステムのイメージ 10
  • 11. 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 11
  • 12. 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 12
  • 13. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの中身を覗いてみよう 13 図. ゲームテーブル 図. ジャンルテーブル
  • 14. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステムの現状  現状  ほとんどのサービスがWeb上で提供  エンジニアもWeb開発のスキルは必須  背景  デバイスの普及→多様な端末で提供できる仕組み  クラウドの普及→端末は情報提示に利用  Web APIの公開→マッシュアップによるサービス開発  Google Maps、Twitter、Facebook、Yahoo!など 14
  • 15. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Web APIの活用  Twitter連携サービスの開発  Twitter Bot、Twitter連携アプリなどのシステム開発  Twitter APIの調査  外部プログラムからTwitterの機能を利用するための関数群  Web開発技術の習得  WebやDBの知識、推奨フレームワーク:Ruby on Rails 15 プログラム 例:ブログ Twitter DB A P I ① 問い合わせ ② データ処理③ 返信 インターネット 図. Twitter APIの仕組み D D
  • 16. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Web開発技術の基本  Web開発での必須スキル  HTML/CSSは基本中の基本  Webの仕組み:HTTP、GET/POST  クライアントサイド:ブラウザ、JavaScript、jQuery  サーバサイド:PHP、Ruby、Servlet、DB  サーバ運用:Linux、Apache、ネットワーク  学び方は実践あるのみ!  まずはWeb開発の全体的な知識を得る  実際に開発をしながら、自分の得意分野を見つける 16
  • 17. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 社会的課題解決サービスの現状  背景:ソーシャルメディアの急速な普及  様々な情報(人々の考え方、価値観)の流通や人脈形成  社会的課題解決の必須スキル  世の中にあるほとんどの課題は、一人では解決できない  それぞれの人の考え方や価値観が異なるため  ソーシャルメディア活用は社会的課題解決の必須スキル  社会的課題解決サービス  地域や環境、人の心などの課題解決が目的  困っている人と助けたい人をつなぐサービス 17
  • 18. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES まとめ  やったこと  Webシステムの仕組み  Webシステムプログラミングの実演  Web開発技術と応用事例  皆さんに期待すること  自分でWebシステムを作ってみましょう  勉強会やセミナーに行ってみましょう  分からないことがあれば聞いてみましょう 18