(文:元田 愛実)
目次
- はじめに
- 用語の説明
- API(Application Programming Interface)※1
- APIを公開する ※1
- マークアップ言語 ※9
- タグ ※9
- HTML(Hyper Text Markup Language )※2
- XML (Extensible Markup Language)※9
- JSON (JavaScript Object Notation)※10
- Ajax (語源:Asynchronous JavaScript + XML)※10
- Webブラウザ ※3
- Webサーバー ※4
- エンドポイント ※11
- ソースコード ※2
- HTTP(Hyper Text Transfer Protocol)※5
- URL (Uniform Resource Locator) ※7
- URI(Uniform Resource Identifier)※8
- REST (REpresentational State Transfer) ※6
- RDB (Relational Database)※12
- GUI(Graphical User Interface) ※13
- SDK(Software Development Kit )※14
- 引用元サイト
はじめに
IT系の知識を持っていない人にとって、エンジニアのコンテンツ紹介に出てくる用語って暗号のように感じますよね。(私はコンテンツ説明を聞いていて、用語の意味が分からず白目を剥いていました。笑)
「私、エンジニアじゃないし…」
と言っても、用語が分からなければ、エンジニアとまともな会話ができない。やりたいことを伝えるだけ、の丸投げになってしまいます。
でも用語って、あくまで道具。英語と同じで、知ってさえいれば会話できるんです。
用語が分からないから諦めるなんて、もったいない!
特殊用語について、基本引用で用語の説明をまとめました。イメージを掴むための辞書代わりにつかってくださいませ。
*おことわり
私自身、全く知識が無い中でのコラムとなります。基本的に引用を元にしておりますが、若干表現を変えることによる齟齬があるかもしれません。ご了承くださいませ。
記載内容に誤りがある場合、正しい表現をお教えいただけますと幸いです。
用語の説明
API(Application Programming Interface)※1
簡単に言うと、「アプリケーション、ソフトウェア」と「プラグラム」をつなぐもの。
ソフトウェアやアプリケーションなどの一部を外部に向けて公開することにより、第三者が開発したソフトウェアと機能を共有できるようにするものです。
ソフトウェア同士を繋げることで、異なるソフトウェアやサービス間で認証機能を共有したり、チャット機能を共有したり、片方から数値データを取り込み、別のプログラムでそのデータを解析したりできるようになります。
APIを公開する ※1
ソフトウェアにAPIという外部とやりとりする窓口を作り、外部アプリとコミュニケーションや連携ができる状態にすること。
マークアップ言語 ※9
タグと呼ばれる特殊な文字列を使用して、文章の構造やタイトル、文字の修飾情報などを埋め込んでいく言語。
タグ ※9
<〇〇>と</〇〇>で囲んだ文字列を修飾するもの。〇〇には言語が入り、この言葉を変えることで修飾情報を与えることができる。
つまり
<〇〇>:命令の始まり
</〇〇>:命令の終わり
タグで囲んだ範囲が、そのまま影響範囲になります。
HTML(Hyper Text Markup Language )※2
Webページを作るための最も基本的なマークアップ言語のひとつ。Webページを記述するための表示用言語で、Webページに装飾を施すのが目的。
人間に情報をわかりやすく表示するための言語といえます。
XML (Extensible Markup Language)※9
マークアップ言語の一つで、データ記述用の言語です。文書中のデータをわかりやすくしたり、データを交換したりできます。マシンに情報をわかりやすく、効率よく伝えるための言語。記述形式がわかりやすい。
役割の違うXMLとHTMLですが、両者を連携させることで効率的なシステム運用を行えます。
例えば・・・
XMLでデータを格納・管理したあと、HTMLに変換・表示することも可能。
併用することでそれぞれの苦手な点を補い合い、データをさらに便利に扱うことができます。
JSON (JavaScript Object Notation)※10
XMLなどと同様の、テキストベースのデータフォーマット。JavaScriptのオブジェクト表記構文のサブセットとなっている。
【メリット】
・XMLと比べると簡潔に構造化されたデータを記述することができる。
⇒記述が容易で人間が理解しやすいデータフォーマット。通信時のデータ量を削減できる。
・eval()関数で評価することでJavaScriptオブジェクトに変換することができる。
⇒Ajaxでのデータ交換フォーマットとして広く利用されている。
主要なプログラミング言語にはJSONの生成や読み込みを行うライブラリが存在するため、JavaScriptに限らず言語をこえたデータ交換のためのデータフォーマットとしてJSONを利用することができる。
Ajax (語源:Asynchronous JavaScript + XML)※10
JavaScriptでサーバからXMLデータを取得し、取得したデータをDHTMLを活用してコンテンツに動的に反映するという手法。XMLの代わりにJSONが使われている。
Webブラウザ ※3
WEBサイトを閲覧するために使うソフトのこと。いま、あなたがこのページを見ているソフトが「ブラウザ」に当たります。「Internet Explorer(IE)」「Microsoft Edge」「Google Chrome」「Safari」「Firefox」「Opera」などが有名。
Webサーバー ※4
Webブラウザからのリクエスト(ページのURL)に応じて、HTMLを元に静的画面や画像を表示する働きをするもの。
エンドポイント ※11
ネットワークに接続されたパソコンやPDA、携帯電話などのネットワーク端末の総称。いわゆるクライアントのことを指すことが多いが、サーバーを含む場合もある。
ソースコード ※2
Webページ内の表示や動作を命令するもの。
Webページの正体はHTMLタグを使って構成されている文書であり、これがブラウザで読み込まれることで、Webページが表示されています。
Webページの画面上で右クリックをし、「ページのソースを表示」を押すと表示されます。
HTTP(Hyper Text Transfer Protocol)※5
WebブラウザとWebサーバーがやり取りをする時の、通信時のルール(通信プロトコル)。
HTTPでやり取りするときは、通信の内容が暗号化されず、盗み見られる可能性があります。暗号化した通信プロトコルを「HTTPS」と言います。
URL (Uniform Resource Locator) ※7
ネットワーク上の「情報の住所」。末尾につく「jp」や「com」はトップレベルドメインを表しており、jpはJapanの略で日本で管理されているURLということ。ちなみにイギリスはuk、中国ではcnです。comの場合は商業用という意味。ドメインとトップレベルドメインの間に組織を表すcoや非営利法人を表すorが入ることもあります。
URI(Uniform Resource Identifier)※8
名前または場所を識別する書き方のルールの総称。URIを分類したものが、URLとURNになります。 URLやURNは、URIで定められたルールに従って書かれたり使われたりもします。
REST (REpresentational State Transfer) ※6
以下の4つの設計原則に基づくもの。
1、セッションなどの状態管理を行わず、情報はそれ自体で完結。
2、情報を操作する命令の体系が予め定義・共有されている。
3、すべての情報は汎用的な構文で一意に識別される。(URLやURIなど)
4、情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めることができる。
また、RESTの特徴として、リソース(ユーザー情報など)に対してURLが対応づけられることも挙げられます。(処理にはURLが対応づかない。)
【メリット】
・アプリケーションの中のリソースがURIで示せる。
アドレス欄に入力すれば、そのリソースを参照できる。
⇒どのリソースを操作しようとしているかがわかる。
・URIに規則が生まれることで、利用する開発者が楽になる。
⇒将来想定されるシステム規模の増大に対応可能な設計である。
・ステートレスにすることで、スケーラビリティが向上。
⇒アクセスの集中に耐えやすい構造にできる。
・統合の相対的な容易さ
⇒標準的なデータフォーマット(XMLやJSON)を扱うことで、
他システムとの連携が容易になる。
⇒RESTに基づいたWebアプリでは、インタフェースが固定されている為
互換性の問題が発生しない。
・標準的なAPIの提供
RESTfulAPIを公開することで、
標準的なデータフォーマットを使い、多様なアプリケーションを提供することができる。
【デメリット】
・プログラミング言語はリソース指向ではないので、URIとマッピングするコードは汚くなりがち
・REST APIをハイパーテキスト駆動にするのは比較的難しい。
【向いている使い方】
SNSなど多くのアクセスが考慮されるサービスのAPI
(RESTは状態を持たないという特性から)
シンプルな設計とすることができるので、サービスを作る際RESTの設計を検討してみるとよいかもしれないです。
RDB (Relational Database)※12
「関係データベース」と訳される。
データを複数の表として管理し、表と表の関係を定義することで、複雑なデータの関連性を扱えるようにしたデータベース管理方式。
GUI(Graphical User Interface) ※13
コンピュータへ出す命令や指示等を、ユーザが画面上で視覚的に捉えて行動を指定できるもの。命令文を入力して実行する方式(CUI)に比べ、直感的に操作できるのが特長。
SDK(Software Development Kit )※14
ソフトウェア開発キット。
あるシステムに対応したソフトウェアを開発するために必要なプログラムや文書などをひとまとめにしたパッケージのこと。近年ではインターネットを通じてダウンロードできるようWebサイトで公開されることが多い。
*内容は随時更新していきます
引用元サイト
※1:データのじかん 『今さら聞けないIT用語:やたらと耳にするけど「API」って何?』
※2:TECHACADEMY magazine 『今さら聞けない!HTMLとは【初心者向け】』 https://techacademy.jp/magazine/4843
※3:TONE MOBILE 『「ブラウザとはいったい何?」初心者の疑問を解決!』
※4:エンジニアの入り口『【初心者向け解説】Webサーバーとは? & Webコンテナとは?』
※5:ITの万屋 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 『HTTP』
※6:Qiita 『0からREST APIについて調べてみた』
※7:Chewy 『URLとは何のこと?PC初心者にもわかりやすく解説!』
※8:Impress 『URLとURIの違いとは? パーツの構造・名称・意味も大解説!』
コメント