SlideShare uma empresa Scribd logo
1 de 43
Webシステムプログラミング
2015年4月13日(月)
総合情報学科システム開発コース
助教 河野義広
出張講義@佐倉西高校, April 13, 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
河野の情報発信
 ソーシャルアカウント
 Twitter:@yoshi_kawano
 Facebook:河野 義広
 ブログ
 個人ブログ:「穏やかに楽しく生きる」研究者のブログ
 ITmediaでのブログ連載:アカデミックが見た社会
4
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
皆さんに質問
 Twitterを使っている?
5
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
皆さんに質問
 Facebookを使っている?
6
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
皆さんに質問
 LINEを使っている?
7
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
皆さんに質問
 ブログを持っている?
8
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ソーシャルメディアとは?
 質問
 ソーシャルメディアという言葉を聞いた事がありますか?
9
ソーシャル メディア(Social Media)
社会性のある 媒体=情報を伝えるもの
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ソーシャルメディアの特徴
 マスメディアの特徴
 例:新聞、テレビ、雑誌、ラジオなど
 新聞社、放送局などから大衆に向けた一方的な情報発信
 一部のプロのみが情報発信する
 ソーシャルメディアの特徴
 例:ブログ、Twitter、Facebookなど
 誰もが参加・発言できる
 双方向でのやり取り
 情報の拡散(リツイート、いいね!)
10
一人ひとりが主役、個人が活躍する時代
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ソーシャルメディアの具体例
11
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
皆さんに質問
 Webを知っている?
 インターネット上で文書をやり取りする仕組み
 正式名称:World Wide Web、WWWやWebと呼称
 Webの利用目的は?
 ☑ 検索 ☑ メール ☑ 買い物
 ☑ ニュース ☑ カレンダー
 ☑ SNS(Twitter、Facebookなど)
 ☑ データ共有(Googleドライブ、Dropboxなど)
12
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
クラウド(Cloud)とは?
 概要
 インターネット上に計算資源、データ領域を確保
 多くのサービスがWebブラウザのみで利用可能
13
インターネット
SNS
動画
メール
地図
買い物
利用
端末
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webの基本的な仕組み
14
あなたのPC
① Webサーバ
にアクセス
② ファイルを
受け取る
③ 画面を作って
表示
HTML
Webサーバ
インターネット
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
動的なWebサイトの仕組み
15
あなたのPC
① Webサーバ
にアクセス
② プログラム
を実行
④ 画面を作って
表示
HTML
Webサーバ
データベース
プログラム
③ 実行結果を
受け取る
インターネット
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
動的Webサイトとは?
 何ができるのか?
 ユーザの入力に応じて結果が変わるサイト
 例)掲示板、Amazon、Twitter、Facebookなど
 プログラム
 ユーザの入力を受け付けて処理を実行
 実行結果をPCに返す
 データベース(DB)
 ユーザのデータを保管
16
プログラム
データベース
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラムの例
 概要
 アンケートの選択によって結果が分かるページ
17
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
DBの例
 概要
 メンバーの名前と学年を記録
 1行に1人分のデータ
18
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステムプログラミングの実演
実際に簡単なWebシステムを
作ってみます
19
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
作成するWebシステム
 概要
 遊んだゲームのリストを管理するシステム
 基本設計
 以下の項目をDBに記録
 タイトル、ジャンル、日付、評価(1~5)、感想
 データの登録、変更、削除ができること
 実装方法
 Ruby on Railsを利用(後で説明)
20
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
作成するWebシステムのイメージ
21
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
22
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
23
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ビューの編集
 方針
 ジャンルをDBから選択する方式
24
<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の中身を覗いてみよう
25
図. ゲームテーブル
図. ジャンルテーブル
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Ruby on Railsとは
 特徴
 Webアプリケーション開発の「フレームワーク」
 オブジェクト指向スクリプト言語「Ruby」で記述
 MVC(Model-View-Controller)アーキテクチャ
 モデル、ビュー、コントローラでの役割分担
 RubyとRails
 Ruby:プログラム言語
 Rails:Rubyで記述されたフレームワーク
 フレームワーク:ツール、ライブラリ、設定ファイル等
26
Ruby
Ruby on Rails
図. RubyとRailsの関係
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
MVCアーキテクチャ
 MVCアーキテクチャ
 モデル:DBとの連携
 ビュー:画面表示
 コントローラ:ユーザからのデータ入力
27
コントローラ
モデル
ビュー
DB
図. MVCアーキテクチャの概要
ユーザ
端末
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Rails開発のメリット
 迅速にシステムを開発できる
 簡単に大枠だけ作って、適宜修正しながら迅速に開発
 プロジェクト管理
 プロジェクトのディレクトリにすべてが入っている
 プログラム、設定ファイル、ログ、DB定義、サーバ機能
 ディレクトリをバックアップするだけでよい
 DB管理が容易
 バージョン管理ができる
 コマンドでのバージョンアップ/ロールバックができる
 他のDBへの切り替えが容易
28
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステム開発技術
Webシステムの開発技術を
紹介します
29
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Webシステムの現状
 現状
 ほとんどのサービスがWeb上で提供
 エンジニアもWeb開発のスキルは必須
 背景
 デバイスの普及→多様な端末で提供できる仕組み
 クラウドの普及→端末は情報提示に利用
 Web APIの公開→マッシュアップによるサービス開発
 Google Maps、Twitter、Facebook、Yahoo!など
30
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Web APIの活用
 Twitter連携サービスの開発
 Twitter Bot、Twitter連携アプリなどのシステム開発
 Twitter APIの調査
 外部プログラムからTwitterの機能を利用するための関数群
 Web開発技術の習得
 WebやDBの知識、推奨フレームワーク:Ruby on Rails
31
プログラム
例:ブログ
Twitter
DB
A
P
I
① 問い合わせ
② データ処理③ 返信
インターネット
図. Twitter APIの仕組み
D
D
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ソーシャルアカウントでのログイン
32
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Web開発技術の基本
 Web開発での必須スキル
 HTML/CSSは基本中の基本
 Webの仕組み:HTTP、GET/POST
 クライアントサイド:ブラウザ、JavaScript、jQuery
 サーバサイド:PHP、Ruby、Servlet、DB
 サーバ運用:Linux、Apache、ネットワーク
 学び方は実践あるのみ!
 まずはWeb開発の全体的な知識を得る
 実際に開発をしながら、自分の得意分野を見つける
33
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
CMS(Content Management System)
 CMSとは
 Webの専門知識がなくても、Webサイト管理ができる
 一般利用者でもWebサイト運用が可能
 コンテンツとレイアウトの分離
 ライターとデザイナーの分業が容易
 代表的なCMS
 WordPress:ブログ、Webサイトとして広く利用
 Movable Type:企業のWebサイトとして利用
 OpenPNE:mixi同様のSNSを構築可
 NetCommons:eラーニングサイトに利用
 Joomla!:高機能なCMS、サイト全体のデザイン統一
34
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Joomla!によるWebサイト作成例
35
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
WordPressで作成したサイト
36
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
社会的課題解決サービスの現状
 背景:ソーシャルメディアの急速な普及
 様々な情報(人々の考え方、価値観)の流通や人脈形成
 社会的課題解決の必須スキル
 世の中にあるほとんどの課題は、一人では解決できない
 それぞれの人の考え方や価値観が異なるため
 ソーシャルメディア活用は社会的課題解決の必須スキル
 社会的課題解決サービス
 地域や環境、人の心などの課題解決が目的
 困っている人と助けたい人をつなぐサービス
37
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
sinsai.ifno
 概要
 震災情報をみんなで集め公開するサイト
 ボランティアのエンジニアが震災直後4時間で立ち上げ
38
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Wantedly
 概要
 はたらくを面白くするビジネスSNS
39
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
ちばレポ
 概要
 まちの困った情報を集めて解決していく
 一般市民がスマホを利用して実証実験に参加
40
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
第二領域時間管理システム
 概要
 「7つの習慣」に基づく「重要度」を意識した時間管理
41URL:http://mentoros.tuis.ac.jp/self-reflector
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
まとめ
 やったこと
 Webシステムの仕組み
 Webシステムプログラミングの実演
 Web開発技術と応用事例
 皆さんに期待すること
 自分でWebシステムを作ってみましょう
 勉強会やセミナーに行ってみましょう
 分からないことがあれば聞いてみましょう
42
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
終わり
 ご質問・コメントなどありましたらお願いします
43
東京情報大学 総合情報学部 総合情報学科
システム開発コース 助教
河野 義広
Tel:043-236-1149
E-mail:ykawano@rsch.tuis.ac.jp
ご不明な点がありましたら以下にお問い合わせください

Mais conteúdo relacionado

Mais procurados

河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702義広 河野
 
東京情報大学キャンパス体験会20130921
東京情報大学キャンパス体験会20130921東京情報大学キャンパス体験会20130921
東京情報大学キャンパス体験会20130921義広 河野
 
基礎演習V_20141021
基礎演習V_20141021基礎演習V_20141021
基礎演習V_20141021義広 河野
 
Watanabe civictechforum
Watanabe civictechforumWatanabe civictechforum
Watanabe civictechforumsiramatu-lab
 
Webシステムプログラミング20170527
Webシステムプログラミング20170527Webシステムプログラミング20170527
Webシステムプログラミング20170527義広 河野
 
高大連携授業20190730
高大連携授業20190730高大連携授業20190730
高大連携授業20190730義広 河野
 

Mais procurados (6)

河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702河野ゼミ研究紹介20180702
河野ゼミ研究紹介20180702
 
東京情報大学キャンパス体験会20130921
東京情報大学キャンパス体験会20130921東京情報大学キャンパス体験会20130921
東京情報大学キャンパス体験会20130921
 
基礎演習V_20141021
基礎演習V_20141021基礎演習V_20141021
基礎演習V_20141021
 
Watanabe civictechforum
Watanabe civictechforumWatanabe civictechforum
Watanabe civictechforum
 
Webシステムプログラミング20170527
Webシステムプログラミング20170527Webシステムプログラミング20170527
Webシステムプログラミング20170527
 
高大連携授業20190730
高大連携授業20190730高大連携授業20190730
高大連携授業20190730
 

Destaque

第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらいSawada Makoto
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会Yuji Otani
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Yossy Taka
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方Hiroyuki Sugimoto
 
Webプログラミング入門
Webプログラミング入門Webプログラミング入門
Webプログラミング入門Tsuyoshi Kiryu
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introductioncolun
 
デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用Device WebAPI Consortium
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室Yusuke Ando
 

Destaque (9)

第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらい
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
 
Webプログラミング入門
Webプログラミング入門Webプログラミング入門
Webプログラミング入門
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
 
デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
 

Semelhante a Webシステムプログラミング20150413

オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802義広 河野
 
基盤の改善から既存アプリケーションの改善
基盤の改善から既存アプリケーションの改善基盤の改善から既存アプリケーションの改善
基盤の改善から既存アプリケーションの改善T.R. Nishi
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020義広 河野
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
Sapporo Open Seminar 2
Sapporo Open Seminar 2Sapporo Open Seminar 2
Sapporo Open Seminar 2Hiro Yoshioka
 
Ipsj kansai(20100922)
Ipsj kansai(20100922)Ipsj kansai(20100922)
Ipsj kansai(20100922)真 岡本
 
Epics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdfEpics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdfEpics DAO
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けてHironori Washizaki
 
第37回サイバーワールド研究会20171217
第37回サイバーワールド研究会20171217第37回サイバーワールド研究会20171217
第37回サイバーワールド研究会20171217義広 河野
 
モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線アシアル株式会社
 
Linked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試みLinked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試みShun Shiramatsu
 
20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村ICT_CONNECT_21
 
20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村Yoshimi Ishizaka
 
インターネットで学習すべき事柄について
インターネットで学習すべき事柄についてインターネットで学習すべき事柄について
インターネットで学習すべき事柄についてTatsuya (Saeki) Takiguchi
 
OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料Tsuyoshi Kawarasaki
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介Recruit Technologies
 

Semelhante a Webシステムプログラミング20150413 (20)

オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802オープンキャンパス体験授業20150802
オープンキャンパス体験授業20150802
 
基盤の改善から既存アプリケーションの改善
基盤の改善から既存アプリケーションの改善基盤の改善から既存アプリケーションの改善
基盤の改善から既存アプリケーションの改善
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
Sapporo Open Seminar 2
Sapporo Open Seminar 2Sapporo Open Seminar 2
Sapporo Open Seminar 2
 
Ipsj kansai(20100922)
Ipsj kansai(20100922)Ipsj kansai(20100922)
Ipsj kansai(20100922)
 
japan teacher
japan teacherjapan teacher
japan teacher
 
Epics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdfEpics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdf
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
 
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
 
第37回サイバーワールド研究会20171217
第37回サイバーワールド研究会20171217第37回サイバーワールド研究会20171217
第37回サイバーワールド研究会20171217
 
モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線
 
Linked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試みLinked Open Dataで市民協働と情報技術者をつなげる試み
Linked Open Dataで市民協働と情報技術者をつなげる試み
 
OSS Market Momentum In Japan
OSS Market Momentum In JapanOSS Market Momentum In Japan
OSS Market Momentum In Japan
 
20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村
 
20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村20180510_ICON技術セミナー5_芦村
20180510_ICON技術セミナー5_芦村
 
インターネットで学習すべき事柄について
インターネットで学習すべき事柄についてインターネットで学習すべき事柄について
インターネットで学習すべき事柄について
 
PBL as a Service
PBL as a ServicePBL as a Service
PBL as a Service
 
OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
 

Mais de 義広 河野

河野ゼミ説明会20221116
河野ゼミ説明会20221116河野ゼミ説明会20221116
河野ゼミ説明会20221116義広 河野
 
河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019義広 河野
 
河野ゼミ紹介20201118
河野ゼミ紹介20201118河野ゼミ紹介20201118
河野ゼミ紹介20201118義広 河野
 
オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」義広 河野
 
専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120義広 河野
 
専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023義広 河野
 
コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825義広 河野
 
高大連携授業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義広 河野
 
プログラミング模擬授業20180724
プログラミング模擬授業20180724プログラミング模擬授業20180724
プログラミング模擬授業20180724義広 河野
 
コミュニティカレッジさくら20180526
コミュニティカレッジさくら20180526コミュニティカレッジさくら20180526
コミュニティカレッジさくら20180526義広 河野
 

Mais de 義広 河野 (20)

河野ゼミ説明会20221116
河野ゼミ説明会20221116河野ゼミ説明会20221116
河野ゼミ説明会20221116
 
河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019河野ゼミ研究紹介20221019
河野ゼミ研究紹介20221019
 
河野ゼミ紹介20201118
河野ゼミ紹介20201118河野ゼミ紹介20201118
河野ゼミ紹介20201118
 
オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」オンライン文化学術展2020「河野ゼミ研究紹介」
オンライン文化学術展2020「河野ゼミ研究紹介」
 
専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120専門演習_河野ゼミ説明会20191120
専門演習_河野ゼミ説明会20191120
 
専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023専門演習_河野ゼミ紹介20191023
専門演習_河野ゼミ紹介20191023
 
コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825コミュニティカレッジさくら20190825
コミュニティカレッジさくら20190825
 
高大連携授業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
 
プログラミング模擬授業20180724
プログラミング模擬授業20180724プログラミング模擬授業20180724
プログラミング模擬授業20180724
 
コミュニティカレッジさくら20180526
コミュニティカレッジさくら20180526コミュニティカレッジさくら20180526
コミュニティカレッジさくら20180526
 

Webシステムプログラミング20150413

  • 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 河野の情報発信  ソーシャルアカウント  Twitter:@yoshi_kawano  Facebook:河野 義広  ブログ  個人ブログ:「穏やかに楽しく生きる」研究者のブログ  ITmediaでのブログ連載:アカデミックが見た社会 4
  • 5. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 皆さんに質問  Twitterを使っている? 5
  • 6. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 皆さんに質問  Facebookを使っている? 6
  • 7. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 皆さんに質問  LINEを使っている? 7
  • 8. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 皆さんに質問  ブログを持っている? 8
  • 9. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ソーシャルメディアとは?  質問  ソーシャルメディアという言葉を聞いた事がありますか? 9 ソーシャル メディア(Social Media) 社会性のある 媒体=情報を伝えるもの
  • 10. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ソーシャルメディアの特徴  マスメディアの特徴  例:新聞、テレビ、雑誌、ラジオなど  新聞社、放送局などから大衆に向けた一方的な情報発信  一部のプロのみが情報発信する  ソーシャルメディアの特徴  例:ブログ、Twitter、Facebookなど  誰もが参加・発言できる  双方向でのやり取り  情報の拡散(リツイート、いいね!) 10 一人ひとりが主役、個人が活躍する時代
  • 11. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ソーシャルメディアの具体例 11
  • 12. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 皆さんに質問  Webを知っている?  インターネット上で文書をやり取りする仕組み  正式名称:World Wide Web、WWWやWebと呼称  Webの利用目的は?  ☑ 検索 ☑ メール ☑ 買い物  ☑ ニュース ☑ カレンダー  ☑ SNS(Twitter、Facebookなど)  ☑ データ共有(Googleドライブ、Dropboxなど) 12
  • 13. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES クラウド(Cloud)とは?  概要  インターネット上に計算資源、データ領域を確保  多くのサービスがWebブラウザのみで利用可能 13 インターネット SNS 動画 メール 地図 買い物 利用 端末
  • 14. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webの基本的な仕組み 14 あなたのPC ① Webサーバ にアクセス ② ファイルを 受け取る ③ 画面を作って 表示 HTML Webサーバ インターネット
  • 15. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 動的なWebサイトの仕組み 15 あなたのPC ① Webサーバ にアクセス ② プログラム を実行 ④ 画面を作って 表示 HTML Webサーバ データベース プログラム ③ 実行結果を 受け取る インターネット
  • 16. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 動的Webサイトとは?  何ができるのか?  ユーザの入力に応じて結果が変わるサイト  例)掲示板、Amazon、Twitter、Facebookなど  プログラム  ユーザの入力を受け付けて処理を実行  実行結果をPCに返す  データベース(DB)  ユーザのデータを保管 16 プログラム データベース
  • 17. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラムの例  概要  アンケートの選択によって結果が分かるページ 17
  • 18. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの例  概要  メンバーの名前と学年を記録  1行に1人分のデータ 18
  • 19. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステムプログラミングの実演 実際に簡単なWebシステムを 作ってみます 19
  • 20. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 作成するWebシステム  概要  遊んだゲームのリストを管理するシステム  基本設計  以下の項目をDBに記録  タイトル、ジャンル、日付、評価(1~5)、感想  データの登録、変更、削除ができること  実装方法  Ruby on Railsを利用(後で説明) 20
  • 21. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 作成するWebシステムのイメージ 21
  • 22. 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 22
  • 23. 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 23
  • 24. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ビューの編集  方針  ジャンルをDBから選択する方式 24 <div class="field"> <%= f.label :genre %><br /> <%= f.collection_select :genre, Genre.all, :name, :name, :selected => @game.genre, :prompt => "選択してください" %> </div>
  • 25. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの中身を覗いてみよう 25 図. ゲームテーブル 図. ジャンルテーブル
  • 26. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Ruby on Railsとは  特徴  Webアプリケーション開発の「フレームワーク」  オブジェクト指向スクリプト言語「Ruby」で記述  MVC(Model-View-Controller)アーキテクチャ  モデル、ビュー、コントローラでの役割分担  RubyとRails  Ruby:プログラム言語  Rails:Rubyで記述されたフレームワーク  フレームワーク:ツール、ライブラリ、設定ファイル等 26 Ruby Ruby on Rails 図. RubyとRailsの関係
  • 27. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES MVCアーキテクチャ  MVCアーキテクチャ  モデル:DBとの連携  ビュー:画面表示  コントローラ:ユーザからのデータ入力 27 コントローラ モデル ビュー DB 図. MVCアーキテクチャの概要 ユーザ 端末
  • 28. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Rails開発のメリット  迅速にシステムを開発できる  簡単に大枠だけ作って、適宜修正しながら迅速に開発  プロジェクト管理  プロジェクトのディレクトリにすべてが入っている  プログラム、設定ファイル、ログ、DB定義、サーバ機能  ディレクトリをバックアップするだけでよい  DB管理が容易  バージョン管理ができる  コマンドでのバージョンアップ/ロールバックができる  他のDBへの切り替えが容易 28
  • 29. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステム開発技術 Webシステムの開発技術を 紹介します 29
  • 30. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Webシステムの現状  現状  ほとんどのサービスがWeb上で提供  エンジニアもWeb開発のスキルは必須  背景  デバイスの普及→多様な端末で提供できる仕組み  クラウドの普及→端末は情報提示に利用  Web APIの公開→マッシュアップによるサービス開発  Google Maps、Twitter、Facebook、Yahoo!など 30
  • 31. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Web APIの活用  Twitter連携サービスの開発  Twitter Bot、Twitter連携アプリなどのシステム開発  Twitter APIの調査  外部プログラムからTwitterの機能を利用するための関数群  Web開発技術の習得  WebやDBの知識、推奨フレームワーク:Ruby on Rails 31 プログラム 例:ブログ Twitter DB A P I ① 問い合わせ ② データ処理③ 返信 インターネット 図. Twitter APIの仕組み D D
  • 32. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ソーシャルアカウントでのログイン 32
  • 33. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Web開発技術の基本  Web開発での必須スキル  HTML/CSSは基本中の基本  Webの仕組み:HTTP、GET/POST  クライアントサイド:ブラウザ、JavaScript、jQuery  サーバサイド:PHP、Ruby、Servlet、DB  サーバ運用:Linux、Apache、ネットワーク  学び方は実践あるのみ!  まずはWeb開発の全体的な知識を得る  実際に開発をしながら、自分の得意分野を見つける 33
  • 34. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES CMS(Content Management System)  CMSとは  Webの専門知識がなくても、Webサイト管理ができる  一般利用者でもWebサイト運用が可能  コンテンツとレイアウトの分離  ライターとデザイナーの分業が容易  代表的なCMS  WordPress:ブログ、Webサイトとして広く利用  Movable Type:企業のWebサイトとして利用  OpenPNE:mixi同様のSNSを構築可  NetCommons:eラーニングサイトに利用  Joomla!:高機能なCMS、サイト全体のデザイン統一 34
  • 35. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Joomla!によるWebサイト作成例 35
  • 36. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES WordPressで作成したサイト 36
  • 37. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 社会的課題解決サービスの現状  背景:ソーシャルメディアの急速な普及  様々な情報(人々の考え方、価値観)の流通や人脈形成  社会的課題解決の必須スキル  世の中にあるほとんどの課題は、一人では解決できない  それぞれの人の考え方や価値観が異なるため  ソーシャルメディア活用は社会的課題解決の必須スキル  社会的課題解決サービス  地域や環境、人の心などの課題解決が目的  困っている人と助けたい人をつなぐサービス 37
  • 38. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES sinsai.ifno  概要  震災情報をみんなで集め公開するサイト  ボランティアのエンジニアが震災直後4時間で立ち上げ 38
  • 39. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Wantedly  概要  はたらくを面白くするビジネスSNS 39
  • 40. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ちばレポ  概要  まちの困った情報を集めて解決していく  一般市民がスマホを利用して実証実験に参加 40
  • 41. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 第二領域時間管理システム  概要  「7つの習慣」に基づく「重要度」を意識した時間管理 41URL:http://mentoros.tuis.ac.jp/self-reflector
  • 42. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES まとめ  やったこと  Webシステムの仕組み  Webシステムプログラミングの実演  Web開発技術と応用事例  皆さんに期待すること  自分でWebシステムを作ってみましょう  勉強会やセミナーに行ってみましょう  分からないことがあれば聞いてみましょう 42
  • 43. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 終わり  ご質問・コメントなどありましたらお願いします 43 東京情報大学 総合情報学部 総合情報学科 システム開発コース 助教 河野 義広 Tel:043-236-1149 E-mail:ykawano@rsch.tuis.ac.jp ご不明な点がありましたら以下にお問い合わせください