Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Masaki Ito
1,262 views
超高速!実践MaaSアプリ開発講座
2019年6月22日に国交省若手有志と開催した「ファイルからデータへ:国土交通IT実践ワークショップ」における実習の資料です。
Technology
◦
Related topics:
Cloud Computing Insights
•
Read more
2
Save
Share
Embed
Embed presentation
Download
Downloaded 13 times
1
/ 56
2
/ 56
3
/ 56
4
/ 56
5
/ 56
6
/ 56
7
/ 56
8
/ 56
9
/ 56
10
/ 56
11
/ 56
12
/ 56
13
/ 56
14
/ 56
15
/ 56
16
/ 56
17
/ 56
18
/ 56
19
/ 56
20
/ 56
21
/ 56
22
/ 56
23
/ 56
24
/ 56
25
/ 56
26
/ 56
27
/ 56
28
/ 56
29
/ 56
30
/ 56
31
/ 56
32
/ 56
33
/ 56
34
/ 56
35
/ 56
36
/ 56
37
/ 56
38
/ 56
39
/ 56
40
/ 56
41
/ 56
42
/ 56
43
/ 56
44
/ 56
45
/ 56
46
/ 56
47
/ 56
48
/ 56
49
/ 56
50
/ 56
51
/ 56
52
/ 56
53
/ 56
54
/ 56
55
/ 56
56
/ 56
More Related Content
PDF
写真で見る Donkey Car の組み立て
by
Hori Tasuku
PDF
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
by
Jiro Iwanaga
PDF
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
by
DoNabe1
PDF
[DL輪読会]Model soups: averaging weights of multiple fine-tuned models improves ...
by
Deep Learning JP
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
by
Hironori Washizaki
PPTX
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
by
Deep Learning JP
PDF
平滑化処理の繰り返しによる画像セグメンテーションのためのグラフカット
by
MPRG_Chubu_University
PDF
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
by
Deep Learning JP
写真で見る Donkey Car の組み立て
by
Hori Tasuku
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
by
Jiro Iwanaga
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
by
DoNabe1
[DL輪読会]Model soups: averaging weights of multiple fine-tuned models improves ...
by
Deep Learning JP
(修正)機械学習デザインパターン(ML Design Patterns)の解説
by
Hironori Washizaki
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
by
Deep Learning JP
平滑化処理の繰り返しによる画像セグメンテーションのためのグラフカット
by
MPRG_Chubu_University
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
by
Deep Learning JP
What's hot
PPTX
Group normalization
by
Ryutaro Yamauchi
PPTX
モンテカルロ法と情報量
by
Shohei Miyashita
PDF
条件付き確率場の推論と学習
by
Masaki Saito
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
強化学習 と ゲーム理論 (MARL)
by
HarukaKiyohara
PDF
Git超入門_座学編.pdf
by
憲昭 村田
PDF
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
by
Takuma Yagi
PPTX
修士論文
by
harmonylab
PDF
数学で解き明かす深層学習の原理
by
Taiji Suzuki
PPTX
画像認識と深層学習
by
Yusuke Uchida
PDF
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
by
Deep Learning JP
PDF
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
by
Deep Learning JP
PPTX
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
by
Sindharta Tanuwijaya
PPTX
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
by
Deep Learning JP
PPTX
Depth Estimation論文紹介
by
Keio Robotics Association
PDF
ガイデットフィルタとその周辺
by
Norishige Fukushima
PDF
Teslaにおけるコンピュータビジョン技術の調査
by
Kazuyuki Miyazawa
PDF
実装レベルで学ぶVQVAE
by
ぱんいち すみもと
PDF
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
by
Hirokatsu Kataoka
PDF
【DL輪読会】Vision-Centric BEV Perception: A Survey
by
Deep Learning JP
Group normalization
by
Ryutaro Yamauchi
モンテカルロ法と情報量
by
Shohei Miyashita
条件付き確率場の推論と学習
by
Masaki Saito
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
強化学習 と ゲーム理論 (MARL)
by
HarukaKiyohara
Git超入門_座学編.pdf
by
憲昭 村田
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
by
Takuma Yagi
修士論文
by
harmonylab
数学で解き明かす深層学習の原理
by
Taiji Suzuki
画像認識と深層学習
by
Yusuke Uchida
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
by
Deep Learning JP
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
by
Deep Learning JP
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
by
Sindharta Tanuwijaya
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
by
Deep Learning JP
Depth Estimation論文紹介
by
Keio Robotics Association
ガイデットフィルタとその周辺
by
Norishige Fukushima
Teslaにおけるコンピュータビジョン技術の調査
by
Kazuyuki Miyazawa
実装レベルで学ぶVQVAE
by
ぱんいち すみもと
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
by
Hirokatsu Kataoka
【DL輪読会】Vision-Centric BEV Perception: A Survey
by
Deep Learning JP
Similar to 超高速!実践MaaSアプリ開発講座
PDF
オープンデータと交通イノベーション
by
Masaki Ito
PPTX
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
by
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
PDF
標準的なバス情報フォーマットによるオープンデータを始めよう −データで地域交通をより便利に−
by
Masaki Ito
PDF
地域発オープンイノベーションで進化する公共交通の最前線
by
Masaki Ito
PDF
CloudSpiral 2014年度 Webアプリ講義(1日目)
by
Shin Matsumoto
PDF
地域公共交通の未来と公共交通オープンデータ
by
Masaki Ito
PPTX
20200515 api meetup online #1
by
kounan13
PPTX
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
by
Mitsutoshi Kiuchi
PPT
IPA未踏ソフト成果報告(仮想秘書サービス)
by
fairyware
PDF
Opensource and Value creation by community
by
Hiro Yoshioka
PDF
ITがモビリティを創る:MaaSに向けた技術とエンジニア像
by
Masaki Ito
PDF
銀行オープンAPIの実装これまでの歩みとこれから必要なこと - OpenID Summit 2020
by
OpenID Foundation Japan
PDF
全国に広がる公共交通データ整備とその効果 −小規模事業者でも(だからこそ!)出来る最新データ活用−
by
Masaki Ito
PDF
オープンデータを活用したアプリケーション開発
by
Tajima Itsuro
PDF
インタラクションデザインにおけるオープン化事例の検討
by
Yosuke Sakai
PDF
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
by
Nat Sakimura
PDF
次の時代の公共交通を作るために私が今行っていること
by
Masaki Ito
PDF
全国で進むGTFSデータ整備と利活用
by
Masaki Ito
ODP
Sapporo Open Seminar 2
by
Hiro Yoshioka
PDF
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
by
Yuto Takei
オープンデータと交通イノベーション
by
Masaki Ito
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
by
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
標準的なバス情報フォーマットによるオープンデータを始めよう −データで地域交通をより便利に−
by
Masaki Ito
地域発オープンイノベーションで進化する公共交通の最前線
by
Masaki Ito
CloudSpiral 2014年度 Webアプリ講義(1日目)
by
Shin Matsumoto
地域公共交通の未来と公共交通オープンデータ
by
Masaki Ito
20200515 api meetup online #1
by
kounan13
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
by
Mitsutoshi Kiuchi
IPA未踏ソフト成果報告(仮想秘書サービス)
by
fairyware
Opensource and Value creation by community
by
Hiro Yoshioka
ITがモビリティを創る:MaaSに向けた技術とエンジニア像
by
Masaki Ito
銀行オープンAPIの実装これまでの歩みとこれから必要なこと - OpenID Summit 2020
by
OpenID Foundation Japan
全国に広がる公共交通データ整備とその効果 −小規模事業者でも(だからこそ!)出来る最新データ活用−
by
Masaki Ito
オープンデータを活用したアプリケーション開発
by
Tajima Itsuro
インタラクションデザインにおけるオープン化事例の検討
by
Yosuke Sakai
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
by
Nat Sakimura
次の時代の公共交通を作るために私が今行っていること
by
Masaki Ito
全国で進むGTFSデータ整備と利活用
by
Masaki Ito
Sapporo Open Seminar 2
by
Hiro Yoshioka
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
by
Yuto Takei
More from Masaki Ito
PDF
公共交通のデジタル化の現状とMaaS、データ活用の可能性
by
Masaki Ito
PDF
公共交通オープンデータの現在地と今後の展望
by
Masaki Ito
PDF
行政サービスにデータ資産を活かす: 公共交通データから考える行政の現場でのデータ活用のありかた
by
Masaki Ito
PDF
公共交通データを可視化するQGIS演習
by
Masaki Ito
PDF
サービス化に向けて進化する公共交通と沖縄のポテンシャル
by
Masaki Ito
PDF
データビジュアライゼーションをきっかけに沖縄の交通の「次の一手」を考えよう
by
Masaki Ito
PDF
公共交通オープンデータ第2幕:「静的データは出来た、次はリアルタイム」と決めつける前に考えること
by
Masaki Ito
PDF
わたしの考える未来の交通事業
by
Masaki Ito
PDF
MaaSを捉えなおそう・熊本の交通を見直そう
by
Masaki Ito
PDF
GTFSデータ整備から始める公共交通の未来像
by
Masaki Ito
PDF
IT・データが導く新しい地域公共交通の姿を考える
by
Masaki Ito
PDF
What i think about when i conduct research in the society
by
Masaki Ito
PDF
公共交通オープンデータの現状と可能性 社会がデータを使いこなすために何をなすべきか
by
Masaki Ito
PDF
ジョルダン「乗換案内」での鉄道・バスのリアルタイム情報活用の取り組み
by
Masaki Ito
PDF
日本バス情報協会の活動について
by
Masaki Ito
PDF
公共交通のオープンデータ化とICT企業としての役割
by
Masaki Ito
PDF
GTFS-JPを活用した総合的な路線時刻表作成の取組
by
Masaki Ito
PDF
5社のGTFSをマージして、PostgreSQLにインポートしてみた
by
Masaki Ito
PDF
複数のGTFSを用いた時刻表アプリ
by
Masaki Ito
PDF
ミャンマー国ヤンゴンにおける公共交通オープンデータ開発の取組事例
by
Masaki Ito
公共交通のデジタル化の現状とMaaS、データ活用の可能性
by
Masaki Ito
公共交通オープンデータの現在地と今後の展望
by
Masaki Ito
行政サービスにデータ資産を活かす: 公共交通データから考える行政の現場でのデータ活用のありかた
by
Masaki Ito
公共交通データを可視化するQGIS演習
by
Masaki Ito
サービス化に向けて進化する公共交通と沖縄のポテンシャル
by
Masaki Ito
データビジュアライゼーションをきっかけに沖縄の交通の「次の一手」を考えよう
by
Masaki Ito
公共交通オープンデータ第2幕:「静的データは出来た、次はリアルタイム」と決めつける前に考えること
by
Masaki Ito
わたしの考える未来の交通事業
by
Masaki Ito
MaaSを捉えなおそう・熊本の交通を見直そう
by
Masaki Ito
GTFSデータ整備から始める公共交通の未来像
by
Masaki Ito
IT・データが導く新しい地域公共交通の姿を考える
by
Masaki Ito
What i think about when i conduct research in the society
by
Masaki Ito
公共交通オープンデータの現状と可能性 社会がデータを使いこなすために何をなすべきか
by
Masaki Ito
ジョルダン「乗換案内」での鉄道・バスのリアルタイム情報活用の取り組み
by
Masaki Ito
日本バス情報協会の活動について
by
Masaki Ito
公共交通のオープンデータ化とICT企業としての役割
by
Masaki Ito
GTFS-JPを活用した総合的な路線時刻表作成の取組
by
Masaki Ito
5社のGTFSをマージして、PostgreSQLにインポートしてみた
by
Masaki Ito
複数のGTFSを用いた時刻表アプリ
by
Masaki Ito
ミャンマー国ヤンゴンにおける公共交通オープンデータ開発の取組事例
by
Masaki Ito
Recently uploaded
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
by
Ayachika Kitazaki
PDF
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
by
Graat(グラーツ)
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
by
Ayachika Kitazaki
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
by
Graat(グラーツ)
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
超高速!実践MaaSアプリ開発講座
1.
超高速!実践MaaSアプリ開発講座 東京大学 生産技術研究所 伊藤昌毅 ファイルからデータへ:国土交通IT実践ワークショップ 2019年6月22日 東京大学 生産技術研究所
2.
伊藤 昌毅 (Twitter
@niyalist) • 東京大学 生産技術研究所 特任講師 – ユビキタスコンピューティング – 地理情報システム技術 – ヒューマン・コンピュータ・インタラクション • 経歴 – 静岡県掛川市出身 – 2008-2010 慶應義塾大学大学院 政策・メディア研究科 特別研究助教 – 2010-2013 鳥取大学 大学院工学研究科 助教 – 2013-2019 東京大学 生産技術研究所 助教 – 2019- 現職 • 委員など – くらしの足をみんなで考える全国フォーラム 実行委員 – 国土交通省 バス情報の効率的な収集・共有に向けた検討会 座長 – 国土交通省 公共交通分野におけるオープンデータ推進に関 する検討会 委員 – 経済産業省 官民データの相互運用性実現に向けた検討会 座長
3.
• 標準フォーマット関連 – バス情報の効率的な収集・共有に向けた検討会
座長(H28年度) – 標準的なバス情報フォーマット利活用検討会 座長(H29年度) – バス情報の静的・動的データ利活用検討会 座長(H30年度) • オープンデータ関連 – 公共交通分野におけるオープンデータ推進に関する検討会 委員(H29年度-R1年度) • MaaS関連 – 都市と地方における新たなモビリティサービスのあり方懇談会 委員(H30年度) – 新モビリティサービス推進事業有識者委員会 委員(R1年度) 伊藤×国土交通省
4.
• オープンデータ関連 – 官民データの相互運用性実現に向けた検討会
座長(H29年度) – 情報共有基盤 利用促進ワーキンググループ 委員(H30年度) 伊藤×経済産業省
5.
• 沖縄観光2次交通の利便性向上に向けた検討委員会 座長(H30 年度-R1年度) •
群馬県バスロケーションシステム実証実験 アドバイザー(R1 年度) • その他自治体主催のイベントでの講演多数 – 静岡県掛川市、石川県能美市、群馬県、島根県安来市、沖縄県、富山県、岐阜県 など 伊藤×地方自治体
6.
• 最先端のIT開発で使われるツールや考え方などをなるべく沢山 体験し、そこにオープンデータ、データ連携、APIなどがどの ように関わっているかの理解を深めます • プログラミングなど、時間を掛けて学ぶ部分にはあまり踏み込 まず、全体を体験することを重視します •
利用するツールは実際のアプリやWeb開発で使われているもの そのものです 今日の目的「最先端IT技術の体験」
7.
• モダンWeb基礎 – 自分のPCでWebサーバを動かす –
他人のPCにアクセスしてみる – APIサーバの構築とアクセス • Git基礎 – Gitを利用したコラボレーション • クラウド基礎 – Amazon AWSとは – PaaSを使ってみる • オープンデータ利用基礎 アウトライン
8.
モダンWeb基礎
9.
• Node.js: Webサーバ+JavaScriptの実行環境 •
Express: Web開発を容易にするフレームワーク – 共通に使われる機能を提供 – プログラムの書き方を規定し知識やソースコードの流用を支援 • コマンドプロンプトを使用 – Mac: アプリケーション→ユーティリティ→ターミナル – Windows: コマンドプロンプト または Windows Power Shell Node.js + Expressを用いてWebサーバを立てよう
10.
実行方法などはここを注目 入力してエンター
11.
• http://localhost:3000 にアクセス Webページを起動
12.
Visual Studio Code
でフォルダごと開く
13.
• リンク、ページの追加、画像の追加 Webページの内容を充実
14.
public/next.html view/index.ejs
15.
• 自分のIPアドレスを確認 – Windowsなら
ipconfig コマンド – http://自分のIPアドレス:3000 でアクセスできることを確認 • 他の受講生にIPアドレスを知らせよう • 教室内のPCそれぞれがWebサーバとして機能し、それぞれに 接続できる状態はまさに「小さなインターネット」と言える 他のWebサーバにアクセスしよう
16.
• public に置いたファイルはブラウザでどのように見えるか? •
画像は?ZIPファイルは? JSファイルは? • Webサーバの基本的な仕組みとして、サーバに配置されたファ イルを、そのままの構造、内容で配信していることを確認 • Webブラウザがファイルを受け取り、うまく表示している 中の仕組みを丁寧に確認しよう: 静的ページ編
17.
• index.ejs とブラウザでの見え方の違いは? •
Webサーバにおいてプログラムが動作し、その結果でWebペー ジが作られていることを確認 • 現在の多くのWebページはそのように作られる – パーソナライズ、広告配信、リアルタイム情報 • Webブラウザにとっては、動的ページも静的ページも区別が付 かない点も重要 中の仕組みを丁寧に確認しよう: 動的ページ編
18.
• 乱数を発生させおみくじ 動的ページを作ってみよう routes/index.js view/index.ejs
19.
• 乱数を発生させおみくじ 利用者からの入力を受け付けよう routes/index.js view/index.ejs http://localhost:3000/?user_name=伊藤 としてアクセス
20.
• 入力に対して処理するためのデータは、普通はプログラムの中 には書き切れない • 入力内容をキーワードとしてデータベースを検索し、その結果 を利用してWebページを出力するように構成するのが一般的 利用者からの入力に応じてデータベースを検索しよう 利用者向けの画面 や操作性を提供 httpプロトコルでの要求に 対応したデータを作成して提 供 データを格納 データベース
Webサーバ(node.js) Webブラウザ リクエストに基づき適切に応答する プログラムを開発する(JavaScript) URLでサーバを指定し接 続、パラメータを渡す htmlや画像などのデータ を得る SQL(問い合わせ言語) でデータを要求 要求された条件に合った データを返す
21.
• これまでのところでは、「利用者の名前」をアクセスする度に サーバに伝えていた • 世の中にあるWebサービスでは、ログインは1回だけ、または 一度もログインしなくても、パーソナライズされたページが出 てくることが多い •
Webブラウザには、 cookie という、一度送信した値を覚え、 次回からも見えないところで送信する仕組みがある 一度のログインで「自分向け」の動的ページが 出続けるようにしよう
22.
• このプログラムいわば未来予測 • AIやビッグデータを用いるとは、 このロジックを重厚にすること –
雑な言い方ですが・・・ – 今回はその方法には踏み込みません • 乱数でもAIでも「未来予測」とい う形式は変わらないことが大事 – 「インタフェース」という考え方 AI・ビックデータ・・・
23.
• GAFAの脅威、フィルター バブル、フェイクニュース、 エコーチェンバー現象など は、技術的にはこのような 仕組みを大きく拡大したも のとも言える いたずらを仕掛けてみる
24.
APIを意識した今風のWebページ 利用者向けの画面 や操作性を提供 httpプロトコルでの要求に 対応したデータを作成して提 供データを格納 データベース Webサーバ(node.js) Webブラウザ URLでサーバを指定し接 続、パラメータを渡す htmlや画像などのデータ を得る SQL(問い合わせ言語) でデータを要求 要求された条件に合った データを返す 利用者向けの画面 や操作性を提供 httpプロトコルでの要求に 対応したデータを作成して提 供データを格納 データベース Webサーバ(node.js) Webブラウザ リクエストに基づき適切なJSON形式のデータを 返すプログラムを開発する(JavaScript) URLでサーバを指定し接 続、パラメータを渡す htmlや画像などのデータ JavaScriptによるプログラム APIアクセスによるJSON SQL(問い合わせ言語) でデータを要求 要求された条件に合った データを返す JavaScriptによるWebアプリが サーバのAPIを呼び出しJSONを取得 画面を組み立てる 従来 現在
25.
サーバ側 リクエストに対してJSONを返すAPIサーバ routes/fortune.js (新規作成) app.js
26.
• JSON: キーワードと値という構造を持ったテキストファイル –
実はJavaScriptのプログラムそのもの – 配列なども表現可能 • 機械可読性が高い(プログラムから読み込みやすい) ブラウザでアクセス→JSONを取得 http://localhost:3000/fortune?user_name=MasakiIto
27.
• index.ejs 内にJavaScriptを記述。ブラウザ上でAPI呼び出しを 行う クライアント側:
Webページを全て取得した後 に、APIを呼び出しデータを得て表示する
28.
JavaScriptが HTMLファイルを 動的に書き換え
29.
• 新世紀エヴァンゲリオンに登場するコンピュータ • 「メルキオール
(MELCHIOR)」「バルタザール (BALTHASAR)」「カスパー (CASPER)」 という3つの独立し たシステムによる合議制をとり、通常のコンピューターには不 可能な人間の持つジレンマを再現した第七世代有機スーパーコ ンピュータ・システム ここまでの成果をまとめてMAGIシステムを作りたい!
30.
• API: Application
Programing Interface – 入出力仕様のみ決まっており、背後のロジックは隠蔽されている • 仕様が統一されている方がプログラムは書きやすい – とはいえ、望ましいAPIはプログラミング言語などの流行などで変わるため、永 続的な標準化には向いていない • 生データの方がデータを活かしやすい – 「大吉」より「0.93」のような数字で貰いたい Webブラウザ(アプリ)から3つの APIサーバへアクセス Webブラウ ザ/スマホア プリ MELCHIOR BALTHASAR CASPER
31.
• APIサーバからの応答にヘッダを追加 JSONにクロスドメインでアクセスするために res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept");
32.
• SOA、 • SOAP,
XML-RPC • Restful API Web APIのトレンドは頻繁に変わるから 標準に向かない https://www.slideshare.net/tmasao/web-api-49080729/75 高久雅生 (筑波大学図書館情報メディア系)氏発表資料より
33.
データの寿命は長い(例) JPEG形式 1992年にITU-T勧告 T.81 CSV形式 1972年のIBM Fortran
がサ ポート(Wikipedia) 2005年にRFC4180として成 文化 ASCIIコード 1963年にAmerican Standards Association(ASA、 後のANSI)によって制定
34.
GitHub基礎
35.
• Git: 分散型バージョン管理システム –
文書の改変を追跡、管理出来るシステム – プログラミングの際にはほぼ必須 – 複数人での協調作業が可能 • GitHub: バージョン管理された文書(プログラム)を保存、 公開できるWebデータベース – 多くのオープンソースソフトウェアがGitHubで公開されている – IT企業内部からも多く利用されている – 国土地理院も公式アカウントあり(なお国交省からはアクセスできない模様) GitとGitHub
36.
• 主にソースコードをホスティン グするWebサービス – 2008年設立 –
2018年 マイクロソフトが買収 • オープンソース向けに無料でソ フトウェアリポジトリやコミュ ニケーションの場を提供 • 商用サービスとして個人・企業 向けにクローズドなソフトウェ アリポジトリを提供 GitHub
37.
• GitHubは開発者のみならず政府組 織、研究機関、NPOなど向けにも サービスを提供 • 関さん情報提供ありがとうござい ます Government向けサービス
38.
• ユーザ名、メールアドレスの設定が必要(おそらくWindows のみ) – git
config --global user.name “Masaki Ito” – git config --global user.email “mito@iis.u-tokyo.ac.jp” • SSH鍵の作成とGitHubへの登録 – ssh-keygen を実行(1回だけ) – 作成された .ssh/id_rsa.pub をGitHubに登録 (id_rsa は秘密鍵) Gitを使い始める前に
39.
• https://github.com/MetroApp/simple-maas • 自分のGitHubアカウントにFork 今日のアプリの雛形
40.
• gtfs-saga を作成 •
Extensions にPostGISを追加 データベースの準備
41.
• 本来はオープンデータのGTFSファイルを ダウンロードしてデータベースに読み込 む – http://opendata.sagabus.info •
手順が複雑なため、一度読み込んだ時の バックアップデータを読み込ませる – データベース名 gtfs-saga を右クリック、 Restore を選択 – FilenameとしてGoogle Driveに置いたバックアッ プファイルを指定 – https://drive.google.com/file/d/1xIXFUKz5JPx Uny2k519iRIk7QUCMdS5E/view?usp=sharing – エラーが出るようだが問題なく完了する データの読み込み
42.
• 複数GTFSのマージ: onebusaway- gtfs-merge-cli –
佐賀のデータは2社が最初から統合されているため、 統合処理は不要 • GTFSをPostgreSQL+PostGISに投入: GTFSDB – CSVの単純な投入だけでなく、位置情報の処理、カ レンダーの処理、インデックス作成などを行う • 詳細はQiita記事参照 – https://qiita.com/niyalist/items/22b743d973e 4a6aeef86 データベースへの投入を自分で行う場合
43.
• 自分がForkしたリポジトリを git
clone • ライブラリをインストール(npm install) • 起動用スクリプトをコピーして編集 – データベース名などのパラメータを環境変数として渡すように設定してある – 拡張子からsampleを除く – 適切なパラメータに変更 Webアプリを手元で動作させる
44.
• 地図(OpenStreetMapをleaflet.jsで レンダリングしたもの)に、バス停を 重畳 • バス停のクリックでそのバス停の時刻 表を、便のクリックで、便の地図形状 を表示 –
パラメータに応じてSQLを呼び出し、JSON (可能な場合はGeoJSON)に整形してWebア プリに返す • 経路検索なども呼び出せるようにした い – OpenTripPlannerの利用 アプリの動作例
45.
クラウド基礎
46.
• 原理的には開発用PCのままでもインターネットにおける一般公 開は可能だが、実用上は、公開専用のPC(サーバ)を用意 – 独自ドメイン名を付ける場合はDNSも用意 •
今回のサービス公開のためには、node.js が動作するアプリ ケーションサーバ、PostgreSQLのためのデータベースサーバ が必要 – 2台用意してもいいが、規模が小さければ1台にまとめて構わない • 負荷分散や配信の高速化、バックアップや耐故障性の向上など のため、大規模なサービスにおいてはより複雑な構成になる インターネットに公開→外部にサーバを調達
47.
• ネットワークを通じてサービスを提供することに特化して設計 されたコンピュータ – 基本的な機能は個人用コンピュータ(PC)と同じ •
サーバ用のプログラムも開発時はPCで開発されることが多い – より高性能、より高い信頼性、保守性 – ディスプレイ不要、密な設置のため規格化された独自の形態を取る ハードウェアとしてのサーバ DELL PowerEdge R740 HPE ProLiant DL20 Gen10 Server 19インチラックの例
48.
– 東京・大阪・北海道(石狩)に設置 データセンター: さくらインターネットの場合 https://www.sakura.ad.jp/corporate/corp/datacenter.html
49.
• 大容量高速回線、非常用電源設備などを備えたサーバの管理に 特化した施設 • 世界中でサーバを集約する「データセンター」と呼ばれる施設 が建築されている –
日本データセンター協会の一覧には251箇所掲載 • ハウジング(コロケーション):企業が持つサーバを預かった り、複数拠点に多重化する支援など • ホスティング:データセンターが設置したサーバを賃料を払っ て利用 データセンター http://www.jdcc.or.jp/index.html
50.
日本データセンター協会の一覧を元に作図
51.
• データセンターの場合、「サーバを使う」という意識は残っている • クラウドでは、提供者が事実上無限のサーバ、ストレージ、ネット ワークなどを事前に用意し、必要なときに必要なだけの資源を利用 し、使っただけ支払えばよい •
コンピュータの管理が高度化され、Web操作で高度で柔軟な構成が 可能 • メリット – 急激にアクセスが殺到しても自動的に多重化 – 災害があっても自動的にバックアップへ切り替え – 一時的に必要になる計算処理のためのコンピュータ調達が容易 – スタートアップ企業でも、驚異的に安価な初期費用で必要なコンピュータを揃えられる クラウドコンピューティング: 所有から利用へ
52.
• 熊野壮真氏(ヴァル研究所)資料「経路検索サービスとMaaS」より – https://speakerdeck.com/kumatira/pathfinding-services-and-maas-partial →MaaSという言葉の源流はクラウドコンピューティング!
53.
• Amazon 社内のビジネス課題を解決するた めに生まれた
IT インフラストラクチャのノ ウハウをもとに、2006 年、ウェブサービ スという形態で、企業を対象に IT インフラ ストラクチャサービスの提供を開始 • 必要な時に、必要なだけ、低価格で IT リ ソースを提供。企業はもはや数週間・数ヵ 月も前から、サーバーや他の IT インフラス トラクチャを計画・調達する必要がなくな ります。即座に何百・何千ものサーバーを 数分で起動し、迅速に結果を出す AWS (Amazon Web Service)
54.
• 世界中の 21
の地理的リージョンにある 66 のアベイラビリ ティーゾーンで運用 Amazon AWSのマップ https://aws.amazon.com/jp/about-aws/global-infrastructure/
55.
• Amazonの凄さは小売りだけでは語れな い • 小売りサービスを提供する裏でこれだけ のITインフラ基盤を作っていること、そ の存在がIT産業全体に影響し、ITのイノ ベーションを更に加速させてることに注 目 GAFAと言えば問題を指摘した 気になっていませんか? https://www.amazon.co.jp/dp/4492503021/
56.
• AWS Elastic
Beanstalkを利用し、node.js PostgreSQLのサー バ環境を用意 – EC2のインスタンスが動作していることを確認(IaaS) – http://simple-maas-ito.ap-northeast-1.elasticbeanstalk.com • 手元で動いているプログラムをデプロイ、インターネットから のアクセスを確認 – AWSの無料枠があるので確認後は止めた方が良いかも このあとのステップ
Download