Pro Yearly is on sale from $80 to $50! »

インターネット基礎講座

 インターネット基礎講座

インターネットの基礎知識の技術の概要
・ドメイン、DNS
・IPアドレス
・サーバー、クライアント
・HTT、アプリケーション、DB
・フロントエンド、バックエンド
・プログラミング言語、フレームワーク
・スマートフォンアプリ
・クラウド(AWS、BaaS)

07d2f262fd910920293599896683c2b2?s=128

Yoshinori Sasaki

January 14, 2020
Tweet

Transcript

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

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

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

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

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

  6. @norinux 水ってなんですか? ユーザーの視点 ビジネスの視点 技術者の視点 炊事に使う 洗濯に使う。 シャワーや風呂に使う 飲む。水分補給 お茶やコーヒーをいれる

    ・ 販売網、市場規模 供給、保管方法 運搬方法 水質、消費期限 入手方法、水源 再利用 ・ 浄水技術 水道管の材質や設置 貯水タンクの建設 蛇口の仕組み 掘削、組み上げ技術 ・  もし、Gaiax が、「人と水をつなげる」と  水に関するビジネスに取り組んでいたとして、  何をどこまで知っている必要がありますか? 6
  7. @norinux Photo by John Schnobrich on Unsplash インターネット ってなんですか?

  8. @norinux 8 インターネットってなんですか? ユーザーの視点 ビジネスの視点 技術者の視点 メールができる SNSができる ECで買い物ができる 電話ができる

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

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

  11. @norinux ドメイン、DNS IPアドレス サーバー、クライアント HTT、アプリケーション、DB フロントエンド、バックエンド プログラミング言語、フレームワーク スマートフォンアプリ クラウド(AWS、BaaS) Twitter

    みたいなサービスを作りたい! どんな技術が必要なんだろう? 11
  12. @norinux 12 ドメイン

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

  14. @norinux ドメイン 14 DNS mobile.twitter.com トップレベルドメイン ドメインにおける苗字 TLDによって用途がある程度 決まっている。 ドメイン名

    登録制で、世界中で重複しないよう になっている。 サブドメイン 役割を分割するために、自由に追 加できる名称
  15. @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
  16. @norinux ドメインとは?   16 DNS どこから、情報を取得するのかを指定するため の世界で一つしかない名前。 そのドメインに紐づいた、IPアドレスという情報 の住所を示した、「数字」を得ることができる。 ドメイン:

    www.gaiax.co.jp  ↓ IPアドレス:52.219.0.160
  17. @norinux 17 IPアドレス

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

    OSX システム環境設定を開いて ネットワークを見る
  19. @norinux 19 IP addr ess  あなたのインターネット上の接続元  IPアドレスはなんですか? https://goo.gl/7ZzA2b

  20. @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
  21. @norinux 21 IP addr ess  VPNとは? インターネット トンネル パソコンのローカルネットワークと、インターネットの向こう側にありローカル ネットワーク通しを暗号化したトンネルを利用して、直接つないでしまう仕組

    み。 離れた拠点でのオフィスやデータセンターを接続したり、リモートワークで自 宅やカフェから業務ネットワークに接続するのに利用。
  22. @norinux IPアドレスとは?   22 情報をやりとりするための住所を指定するため の「数字」。 IPアドレスに対して、リクエストを送信すること で、それに従って情報をレスポンスしてもらうこ とができる。 IP

    addr ess
  23. @norinux 23 サーバー

  24. @norinux サーバーとクライアント   24 Server クライアント サービスを利用するためのコンピュータで あり、複数台接続する。 サーバー サービスを提供するためのコンピュータで

    あり、たくさんの役割がある。一般的に役 割ごとに複数台が接続しあって運用されて いる。 サーバに接続するためにドメインがあり、 DNSを利用してIPアドレスを知り、 IPアドレスに対して接続している。
  25. @norinux サーバーにはどのような 役割(ミドルウェア)があるのか 25 Server HTTPサーバー 一般的にWEBサーバーと呼ばれている。クライアントからの リクエストを受け付けており、リクエストの内容に応じて処理 を振り分けて適切なレスポンスを返す。 例)Apache

    , Nginx ... アプリケーションサーバー サービスのビジネスロジックが実装されたプログラムを実行 する。リクエストからデータを保存 /編集したり、データを取り 出し処理を加えてクライアントに届ける。 例)Ruby , PHP , Python... DBサーバー データの出し入れや蓄積をしており、大量のデータ、大量の 書き込み、大量の複雑な取り出しを行うための仕組みを提供 している。 例) MySQL , Postgres , Oracle...
  26. @norinux サーバーとクライアントの実際 26 Server 複数の HTTP サーバー 複数の アプリ サーバー

    複数の DB サーバー 各サーバーにも、ド メインおよびIPアドレ スを持っており、お 互いに通信し合って 役割分担を行ってい る。
  27. @norinux サーバーとは?   27 クライアントに、サービスを提供する仕組みの総 称。実際には、様々なミドルウェアを役割をに なっているサーバー群が複数繋がりあって、一 つのサービスを提供している。 IP addr

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

  29. @norinux フロントエンド or バックエンド 29 フロントエ ンド バック エンド ひとつのサービスを提供する上で、サーバーが役割によって分かれているように、

    プログラミング言語も役割によって分かれている。  HTML  CSS  Javascript  Ruby  PHP  Python  Perl  SQL
  30. @norinux バックエンド 30 フロントエ ンド バック エンド サーバー側で処理がされて、フロントエンドのインターフェースに必要なデータや実 行して欲しい処理を渡す役割  インタプリタ言語(Ruby,PHP,Python,Perl….)

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

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

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

    開発するためにルールを定めたのがフレーム ワーク。
  34. @norinux フロントエンド or バックエンド 34 フロントエ ンド バック エンド サービスを提供する上で必要なプログラムをど

    の位置で実行(解釈)するかの違い。 プログラミング言語やそのフレームワークによっ て変わる。
  35. @norinux スマートフォン アプリケーション 35

  36. @norinux スマートフォンアプリ  36 スマート フォン スマートフォン インターネットでいうクライアント、開発でい くフロントエンドが、スマートフォン独自の仕 組みで実現する。 サーバー

    パソコン(ブラウザ)同様に、スマートフォン アプリケーションの場合でも、サーバー (バックエンド)は必要なケースが多い。
  37. @norinux スマート フォン 37 端末の種類のよる違い 開発言語:  Swift , ObjectiveC 開発環境:

     Xcode 公開方法:  App Store への申請と審査 開発言語:  Kotlin , Java 開発環境:  Android Studio 公開方法:  GooglePlay への申請と審査
  38. @norinux スマート フォン 38 共通の言語で開発する手法 Googleが開発した、Dart言語 を利用したモバイルアプリケー ション向けのフレームワーク。 iPhone/Androideのモバイルア プリのデザインおよび機能を共

    通の言語で実装できる。 C#やUnityScriptを用いて、マ ルチデバイス向けのゲーム開 発をできるゲームエンジン。 iPhone/Androidだけじゃなく、 ブラウザやパソコン、ゲーム機 など幅広く対応している。 Gaiax の開発部では こちらを採用!
  39. @norinux スマート フォン 39 専用のアプリを開発せずに モバイル対応をする手法 PWAとは、「Progressive Web Apps」の略称で、モバイル向け Webサイトをス

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

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

  42. @norinux クラウドの種類 42 クラウド SaaS クラウドで提供されるソフトウェアのことで、ユーザー側にソフトウェアをインストールする のではなく、ベンダー(プロバイダ)側でソフトウェアを稼働させ、ユーザーはネットワーク 経由でソフトウェアの機能性を活用する。 例)Gmail , 働くDB、楽々精算

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

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

    きくなることがある。
  45. @norinux Twitter みたいなサービスを作りたい! どんな技術が必要なんだろう? 45

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

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

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

  49. @norinux 歴史 1969年 アメリカ ARPANETの基本的な「仕様」 1. 負荷共有 2. メッセージサービス 3.

    情報の共有 4. プログラム共有 5. 遠隔ログイン 4つの大学を相互接続させる実証実験から始まった。 「大規模で強力な研究用 コンピュータを遠隔で利用 したい」 引用:https://ja.wikipedia.org/wiki/ARPANET 49
  50. @norinux インターネットエンジニアリングは どのような未来が待ち受けているのか。 50 近い将来

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

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

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

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

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

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

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