Slide 1

Slide 1 text

@norinux インターネット基礎講座

Slide 2

Slide 2 text

@norinux HELLO! 技術本部長 / スタートアップスタジオ責任者 佐々木喜徳 仕事: 起業家の発掘、投資 スタートアップ向けの開発組織の運営 ガイアックスの技術戦略の策定 2 yoshinori.sasaki 2

Slide 3

Slide 3 text

@norinux 私とインターネットの出会い 3

Slide 4

Slide 4 text

@norinux 本講座で得られること 今日はこれを頭の片隅に置いて参加ください 4

Slide 5

Slide 5 text

@norinux Photo by mrjn Photography on Unsplash 5 水ってなんですか?

Slide 6

Slide 6 text

@norinux 水ってなんですか? ユーザーの視点 ビジネスの視点 技術者の視点 炊事に使う 洗濯に使う。 シャワーや風呂に使う 飲む。水分補給 お茶やコーヒーをいれる ・ 販売網、市場規模 供給、保管方法 運搬方法 水質、消費期限 入手方法、水源 再利用 ・ 浄水技術 水道管の材質や設置 貯水タンクの建設 蛇口の仕組み 掘削、組み上げ技術 ・  もし、Gaiax が、「人と水をつなげる」と  水に関するビジネスに取り組んでいたとして、  何をどこまで知っている必要がありますか? 6

Slide 7

Slide 7 text

@norinux Photo by John Schnobrich on Unsplash インターネット ってなんですか?

Slide 8

Slide 8 text

@norinux 8 インターネットってなんですか? ユーザーの視点 ビジネスの視点 技術者の視点 メールができる SNSができる ECで買い物ができる 電話ができる 動画、映画が見れる ・ ・ ・ ・ 情報が公開する仕組み 拡散される仕組み データを保存 効率化、自動化 課金の仕組み ・ ・ 通信インフラ技術 アプリ開発技術 データベース 開発プロセス 運用、障害対応技術 ・ ・  ソーシャルメディア、シェアエコ事業に関わり  WEBを通して仕事をする必要があるあなたは  何をどこまで知っている必要がありますか?

Slide 9

Slide 9 text

@norinux インターネットの仕組みや用語を知っている状態 WEBを通して、ビジネス(仕事)をする上で 9

Slide 10

Slide 10 text

@norinux インターネットの基礎知識 身近なサービスを例に理解してみよう 10 @norinux

Slide 11

Slide 11 text

@norinux ドメイン、DNS IPアドレス サーバー、クライアント HTT、アプリケーション、DB フロントエンド、バックエンド プログラミング言語、フレームワーク スマートフォンアプリ クラウド(AWS、BaaS) Twitter みたいなサービスを作りたい! どんな技術が必要なんだろう? 11

Slide 12

Slide 12 text

@norinux 12 ドメイン

Slide 13

Slide 13 text

@norinux DNSって聞いたことある? Domain Name System 13 DNS

Slide 14

Slide 14 text

@norinux ドメイン 14 DNS mobile.twitter.com トップレベルドメイン ドメインにおける苗字 TLDによって用途がある程度 決まっている。 ドメイン名 登録制で、世界中で重複しないよう になっている。 サブドメイン 役割を分割するために、自由に追 加できる名称

Slide 15

Slide 15 text

@norinux DNSの役割 15 DNS リクエスト DNSサーバー www.gaiax.com は、 52.219.0.160 だよぅ。 www.gaiax.co.jp 52.219.0.160 ルート DNS .com DNS gaiax.com DNS

Slide 16

Slide 16 text

@norinux ドメインとは?   16 DNS どこから、情報を取得するのかを指定するため の世界で一つしかない名前。 そのドメインに紐づいた、IPアドレスという情報 の住所を示した、「数字」を得ることができる。 ドメイン: www.gaiax.co.jp  ↓ IPアドレス:52.219.0.160

Slide 17

Slide 17 text

@norinux 17 IPアドレス

Slide 18

Slide 18 text

@norinux  あなたのIPアドレスはなんですか? 18 IP addr ess Windows ネットワーク接続を開いて繋 がっているデバイスの状態を 見る OSX システム環境設定を開いて ネットワークを見る

Slide 19

Slide 19 text

@norinux 19 IP addr ess  あなたのインターネット上の接続元  IPアドレスはなんですか? https://goo.gl/7ZzA2b

Slide 20

Slide 20 text

@norinux 20 IP addr ess  IPアドレスの謎を解明 PCのIPアドレス 10.1.7.176 www.gaiax.co.jp 52.219.0.160 GRIDのIPアドレス 124.35.198.10 ローカルエリア ネットワーク グローバル ネットワーク 10.0.0.0~10.255.255.255 172.16.0.0~172.32.255.255 192.168.0.0~192.168.255.255 GRIDのIPアドレス 10.1.0.1

Slide 21

Slide 21 text

@norinux 21 IP addr ess  VPNとは? インターネット トンネル パソコンのローカルネットワークと、インターネットの向こう側にありローカル ネットワーク通しを暗号化したトンネルを利用して、直接つないでしまう仕組 み。 離れた拠点でのオフィスやデータセンターを接続したり、リモートワークで自 宅やカフェから業務ネットワークに接続するのに利用。

Slide 22

Slide 22 text

@norinux IPアドレスとは?   22 情報をやりとりするための住所を指定するため の「数字」。 IPアドレスに対して、リクエストを送信すること で、それに従って情報をレスポンスしてもらうこ とができる。 IP addr ess

Slide 23

Slide 23 text

@norinux 23 サーバー

Slide 24

Slide 24 text

@norinux サーバーとクライアント   24 Server クライアント サービスを利用するためのコンピュータで あり、複数台接続する。 サーバー サービスを提供するためのコンピュータで あり、たくさんの役割がある。一般的に役 割ごとに複数台が接続しあって運用されて いる。 サーバに接続するためにドメインがあり、 DNSを利用してIPアドレスを知り、 IPアドレスに対して接続している。

Slide 25

Slide 25 text

@norinux サーバーにはどのような 役割(ミドルウェア)があるのか 25 Server HTTPサーバー 一般的にWEBサーバーと呼ばれている。クライアントからの リクエストを受け付けており、リクエストの内容に応じて処理 を振り分けて適切なレスポンスを返す。 例)Apache , Nginx ... アプリケーションサーバー サービスのビジネスロジックが実装されたプログラムを実行 する。リクエストからデータを保存 /編集したり、データを取り 出し処理を加えてクライアントに届ける。 例)Ruby , PHP , Python... DBサーバー データの出し入れや蓄積をしており、大量のデータ、大量の 書き込み、大量の複雑な取り出しを行うための仕組みを提供 している。 例) MySQL , Postgres , Oracle...

Slide 26

Slide 26 text

@norinux サーバーとクライアントの実際 26 Server 複数の HTTP サーバー 複数の アプリ サーバー 複数の DB サーバー 各サーバーにも、ド メインおよびIPアドレ スを持っており、お 互いに通信し合って 役割分担を行ってい る。

Slide 27

Slide 27 text

@norinux サーバーとは?   27 クライアントに、サービスを提供する仕組みの総 称。実際には、様々なミドルウェアを役割をに なっているサーバー群が複数繋がりあって、一 つのサービスを提供している。 IP addr ess

Slide 28

Slide 28 text

@norinux 28 プログラミング言語 フレームワーク フロントエンド バックエンド

Slide 29

Slide 29 text

@norinux フロントエンド or バックエンド 29 フロントエ ンド バック エンド ひとつのサービスを提供する上で、サーバーが役割によって分かれているように、 プログラミング言語も役割によって分かれている。  HTML  CSS  Javascript  Ruby  PHP  Python  Perl  SQL

Slide 30

Slide 30 text

@norinux バックエンド 30 フロントエ ンド バック エンド サーバー側で処理がされて、フロントエンドのインターフェースに必要なデータや実 行して欲しい処理を渡す役割  インタプリタ言語(Ruby,PHP,Python,Perl….) 軽量プログラミング言語(LL)とも呼ばれており、比較的学習難易度が低く簡単で 記述で処理を記述できるので、WEBプログラミングの主流となっている。  コンパイラ言語(C, Java, Go,Scala .....) 事前にプログラムをコンパイル(機械語に翻訳)しておかなければ実行することの できない言語。習得する難易度が高い分、記述ミスの発見や、プログラムの処理 がインタプリタ言語に比べて高速など利点もある。  SQL データベースにデータを追加したり取り出したり、編集、削除するための命令を書く ための形式記述。最近だと、フレームワークで必要なSQL文を自動で実行してくれ るために、直接記述する機会は少なくなってきている。

Slide 31

Slide 31 text

@norinux フロントエンド 31 フロントエ ンド バック エンド クライアントコンピューターのブラウザで、処理が実行されるプログラム  HTML HTML (HyperText Markup Language) はウェブのもっとも基本的な構成要素で、 基本レイアウトに従ってウェブページのコンテンツを記述し定義するものです。厳 密にはプログラミング言語ではなくて、マークアップ言語。  CSS ウェブページのスタイルを指定するための言語です。 文書のスタイルを指定する 技術全般をスタイルシートといいます。 HTMLやXHTMLなどで作成されるウェブ ページにスタイルを適用する場合に利用されている。  Javascript ユーザー側のWebブラウザと、Webサイトまたはウェブサービスの相互間のやりと りを、円滑にするために使われており、実質的に、ブラウザで体験できることのす べてはJavaScriptの処理によるもの

Slide 32

Slide 32 text

@norinux フレームワーク 32 フロントエ ンド バック エンド プログラミング言語ごとに特定用途向けに作られたプログラミングを楽にするため のツール。

Slide 33

Slide 33 text

@norinux プログラミング言語 フレームワーク 33 プログラミン グ言語 インプットされたデータを元に、サービスとして 価値を提供するための処理を記述するための 形式記述。 よく利用される記述を簡略化したり、複数人で 開発するためにルールを定めたのがフレーム ワーク。

Slide 34

Slide 34 text

@norinux フロントエンド or バックエンド 34 フロントエ ンド バック エンド サービスを提供する上で必要なプログラムをど の位置で実行(解釈)するかの違い。 プログラミング言語やそのフレームワークによっ て変わる。

Slide 35

Slide 35 text

@norinux スマートフォン アプリケーション 35

Slide 36

Slide 36 text

@norinux スマートフォンアプリ  36 スマート フォン スマートフォン インターネットでいうクライアント、開発でい くフロントエンドが、スマートフォン独自の仕 組みで実現する。 サーバー パソコン(ブラウザ)同様に、スマートフォン アプリケーションの場合でも、サーバー (バックエンド)は必要なケースが多い。

Slide 37

Slide 37 text

@norinux スマート フォン 37 端末の種類のよる違い 開発言語:  Swift , ObjectiveC 開発環境:  Xcode 公開方法:  App Store への申請と審査 開発言語:  Kotlin , Java 開発環境:  Android Studio 公開方法:  GooglePlay への申請と審査

Slide 38

Slide 38 text

@norinux スマート フォン 38 共通の言語で開発する手法 Googleが開発した、Dart言語 を利用したモバイルアプリケー ション向けのフレームワーク。 iPhone/Androideのモバイルア プリのデザインおよび機能を共 通の言語で実装できる。 C#やUnityScriptを用いて、マ ルチデバイス向けのゲーム開 発をできるゲームエンジン。 iPhone/Androidだけじゃなく、 ブラウザやパソコン、ゲーム機 など幅広く対応している。 Gaiax の開発部では こちらを採用!

Slide 39

Slide 39 text

@norinux スマート フォン 39 専用のアプリを開発せずに モバイル対応をする手法 PWAとは、「Progressive Web Apps」の略称で、モバイル向け Webサイトをス マートフォン向けアプリのように使えるようにする仕組み。 パソコン向けのWEBサービスに、レスポンシブデザインや、 Push通知、キャッ シュやオフラインでの利用など、実装することで利用できる。 要は、フロントエンドを PWA対応のフレームワークを使うことにより、普段の WEB開発の技術の延長で、スマートフォンで利用しやすいサービスを作ること ができる ※ インストール(アプリの設置)や、 iPhoneでの利用制限などあり、  完全にスマートフォンアプリの互換には至らない、

Slide 40

Slide 40 text

@norinux クラウド 40

Slide 41

Slide 41 text

@norinux そもそもクラウドではない世界 41 クラウド

Slide 42

Slide 42 text

@norinux クラウドの種類 42 クラウド SaaS クラウドで提供されるソフトウェアのことで、ユーザー側にソフトウェアをインストールする のではなく、ベンダー(プロバイダ)側でソフトウェアを稼働させ、ユーザーはネットワーク 経由でソフトウェアの機能性を活用する。 例)Gmail , 働くDB、楽々精算 PaaS アプリケーションソフトが稼動するためのハードウェアやOSなどのプラットフォーム一式 を、インターネット上のサービスとして提供する形態のことで、プログラムを設置すればす ぐにサービスを公開することができる。 例)Heroku, Google App Engine BaaS BaaS(Backend as a service)とは、アプリのバックエンド機能を提供する形態の事で、 主にスマートフォンアプリのサーバー側に必要な裏側を実装する事なくまとめて利用する ことができる。 例)FIrebase IaaS サーバー機材やネットワークなどのインフラを、インターネット上のサービスとして提供す る形態のことで、データセンターや回線など自社でインフラ資産を持つことなく、時間単位 でリソースを利用できる。 例)さくらのクラウド、AWS EC2

Slide 43

Slide 43 text

@norinux クラウドの事業者 43 クラウド

Slide 44

Slide 44 text

@norinux クラウドとは? 44 クラウド サーバーや、プログラムの実行環境、データ ベース、ソフトウェアなどを自分で用意せずにイ ンターネットの上でリソースを提供するサービ ス。 利用方法や、利用する規模によっては、クラウ ドじゃなく自前で構築した方がコストメリットが大 きくなることがある。

Slide 45

Slide 45 text

@norinux Twitter みたいなサービスを作りたい! どんな技術が必要なんだろう? 45

Slide 46

Slide 46 text

@norinux Twitter みたいなサービスを作りたい! どんな技術が必要なんだろう? フロントエンド技術 スマートフォン アプリケーション技術 サーバーサイド技術 クラウド ドメイン IP 46

Slide 47

Slide 47 text

@norinux インターネットの未来 47 @norinux

Slide 48

Slide 48 text

@norinux インターネットの始まりは、 みなさんご存知ですか? 48 歴史

Slide 49

Slide 49 text

@norinux 歴史 1969年 アメリカ ARPANETの基本的な「仕様」 1. 負荷共有 2. メッセージサービス 3. 情報の共有 4. プログラム共有 5. 遠隔ログイン 4つの大学を相互接続させる実証実験から始まった。 「大規模で強力な研究用 コンピュータを遠隔で利用 したい」 引用:https://ja.wikipedia.org/wiki/ARPANET 49

Slide 50

Slide 50 text

@norinux インターネットエンジニアリングは どのような未来が待ち受けているのか。 50 近い将来

Slide 51

Slide 51 text

@norinux IPv6 現在のIPv4の個数は、42億9496万7296個しかな く、世界の人口を考えると明らかに不足しており、 すでにIPアドレス枯渇問題が発生している。 IPv6だと、43億×43億×43億×43億 1人当たり 5.6穣(じょう) 個(5600兆の100兆倍) 51

Slide 52

Slide 52 text

@norinux 52 5G 2020年以降は、5Gが登場し通信速度が100倍 になり、遅延が1/10になることで、通信を利用し たサービスが増え生活が変わる。

Slide 53

Slide 53 text

@norinux ハイプ サイクル インターネットに限らず、今どのような技術が期 待されているかを知るには、ガードナーの「先進 テクノロジのハイプ・サイクル」が参考なる。 53

Slide 54

Slide 54 text

@norinux 最後に ひとことだけ物申したい 54 @norinux

Slide 55

Slide 55 text

@norinux 55 ITベンチャーで働いてるけど インターネットこと よくわからないんですって 言っちゃうのカッコ悪いよね

Slide 56

Slide 56 text

@norinux 56 インターネット技術の 活用方法を知っている それは、この業界で ビジネスマナーと 同じくらい必須なスキル

Slide 57

Slide 57 text

@norinux ご清聴いただきありがとうございました