Upgrade to Pro — share decks privately, control downloads, hide ads and more …

インターネット基礎講座

Avatar for norinux norinux
January 14, 2020

 インターネット基礎講座

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

Avatar for norinux

norinux

January 14, 2020
Tweet

More Decks by norinux

Other Decks in Technology

Transcript

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

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

    動画、映画が見れる ・ ・ ・ ・ 情報が公開する仕組み 拡散される仕組み データを保存 効率化、自動化 課金の仕組み ・ ・ 通信インフラ技術 アプリ開発技術 データベース 開発プロセス 運用、障害対応技術 ・ ・  ソーシャルメディア、シェアエコ事業に関わり  WEBを通して仕事をする必要があるあなたは  何をどこまで知っている必要がありますか?
  3. @norinux ドメイン 14 DNS mobile.twitter.com トップレベルドメイン ドメインにおける苗字 TLDによって用途がある程度 決まっている。 ドメイン名

    登録制で、世界中で重複しないよう になっている。 サブドメイン 役割を分割するために、自由に追 加できる名称
  4. @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
  5. @norinux サーバーとクライアント   24 Server クライアント サービスを利用するためのコンピュータで あり、複数台接続する。 サーバー サービスを提供するためのコンピュータで

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

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

    複数の DB サーバー 各サーバーにも、ド メインおよびIPアドレ スを持っており、お 互いに通信し合って 役割分担を行ってい る。
  8. @norinux フロントエンド or バックエンド 29 フロントエ ンド バック エンド ひとつのサービスを提供する上で、サーバーが役割によって分かれているように、

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

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

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

    の位置で実行(解釈)するかの違い。 プログラミング言語やそのフレームワークによっ て変わる。
  12. @norinux スマートフォンアプリ  36 スマート フォン スマートフォン インターネットでいうクライアント、開発でい くフロントエンドが、スマートフォン独自の仕 組みで実現する。 サーバー

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

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

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

    マートフォン向けアプリのように使えるようにする仕組み。 パソコン向けのWEBサービスに、レスポンシブデザインや、 Push通知、キャッ シュやオフラインでの利用など、実装することで利用できる。 要は、フロントエンドを PWA対応のフレームワークを使うことにより、普段の WEB開発の技術の延長で、スマートフォンで利用しやすいサービスを作ること ができる ※ インストール(アプリの設置)や、 iPhoneでの利用制限などあり、  完全にスマートフォンアプリの互換には至らない、
  16. @norinux クラウドの種類 42 クラウド SaaS クラウドで提供されるソフトウェアのことで、ユーザー側にソフトウェアをインストールする のではなく、ベンダー(プロバイダ)側でソフトウェアを稼働させ、ユーザーはネットワーク 経由でソフトウェアの機能性を活用する。 例)Gmail , 働くDB、楽々精算

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

    情報の共有 4. プログラム共有 5. 遠隔ログイン 4つの大学を相互接続させる実証実験から始まった。 「大規模で強力な研究用 コンピュータを遠隔で利用 したい」 引用:https://ja.wikipedia.org/wiki/ARPANET 49