未経験者向け

【知らないと恥ずかしい】プログラマーが知っておくべき用語25選

プログラマーやエンジニアなら、色々なIT用語を使った会話が飛び交います。

え?何その言葉?

って経験ないですか?

素直に質問できれば良いですが、客先の方と話している時などどうしても聞けないことはよくあります。

そんな時のために、これだけは最低限覚えておいたほうが良い用語25選を紹介します。

会話についていけず困ることがないように、最低限の用語は覚えておきましょう。

数は絞って、とりあえずこれだけ!ってのを厳選しるよー

インフラ関係

インフラ

インフラという言葉自体には様々な種類があります。一番身近なところでいうと、

  • 水道
  • 電気
  • ガスの設備
  • 道路

などです。これらは生活インフラです。れも生活の基盤で欠かせないものですよね

このように、インフラには「産業や生活の基盤として整備される施設」という意味があります。

IT業界で使うインフラも同様の意味です。ITインフラはシステムを構築するうえで欠かせないものを指します。

パソコンや電源など目に見えるものを初め、OSやデータベースなども該当します。

ファイアウォール

ほとんどのパソコンに組み込まれているセキュリティ機能です。

ポート番号を制御して、外部からもたらされる不正アクセスやサイバー攻撃をシャットアウトします。

環境を構築していてネットワークによく繋がらない理由かこれか!

 

ドメイン

インターネット上における住所のようなものです。例えば、

https://piroseblog.com/

をアドレスバーに入力すると、このブログのTOPページに行きます。このpiroseblog.comの部分がドメインです。このブログの住所を表しているのですね。

IPアドレス

これも、インターネット上における住所のようなものです。

ドメインとの違いは、IPアドレスはコンピューターが理解する用の住所ということです。

ドメインは人間用の住所です。しかしIPアドレスは

172.16.20.1

のような形で、数字で表されます。

DNSサーバ

Domain Name Systemの略です。

ドメインは人間用のインターネット上の住所で、IPアドレスはコンピューター用のインターネット上の住所でしたね。

そのドメインとIPアドレスを繋がりを保存してるのがDNSサーバーです。

例えばアドレスバーにhttps://piroseblog.comと打ち込むと、コンピューターはDNSサーバーに

「https://piroseblog.comのIPアドレス教えてー!」

と質問します。DNSサーバーはこんな感じでドメインとIPアドレスを管理しています。

https://piroseblog.com172.16.20.1

そしてコンピューターが

https://piroseblog.comのIPアドレスは172.16.20.1だよー

って返すわけです。

すると、コンピューターが172.16.20.1が住所であるwebサイトを探しに行って、webサイトが表示されます。

プロトコル

異なるコンピュータやシステムがお互いに通信するためのルールのようなものです。

例えば、二人の人が日本語と韓国語で話をしていたら、まったく会話にならないでしょ?

この場合、「英語で話しましょう」というルールを作れば会話ができます。このコンピュータ同士でも同じようにルールを決めています。

そのルールがプロトコルです。例えば有名どころで例を挙げると、httpやIPなんかはプロトコルの一種です。

サーバー

機能を提供するコンピュータのことです。普段僕たちが使っているコンピュータと同じようなものだと考えてもらってOKです。

サーバーにソフトウェアをダウンロードすると、様々な機能が提供できるようになります。例えば

  • webサーバー
  • メールサーバー
  • データベースサーバー

などがあります。

OS

オペレーションシステムの略で、コンピューターを動かすシステムです。例えば、パソコンって文字が入力できたり、音声を聞けたりしますよね。

OSをがなかったらコンピューターで文字を打ったりできません。コンピューターの基本的なシステムを管理、制御しています。OSには例えば、

  • windows
  • macOS
  • ios
  • android
  • Linux

などがあります。

冗長化

システムに障害が発生したときに備え、予備のシステムを準備しておくことを言います。

もしユーザーがたくさんいるシステムに障害が起きてしまったら、その間ユーザーはシステムが使えず大変なことになりますよね。

大変な事態を防ぐために、システムを冗長化しておくことが大切です。

メリットとしては

  • 負荷が分散しやすい
  • 障害に強いシステムになる
  • メンテナンスを行いやすい

などがあります。

開発関係

ウォーターフォール開発

  1. 要求定義
  2. 外部設計(概要設計)
  3. 内部設計(詳細設計)
  4. 開発(プログラミング)
  5. テスト
  6. 運用

という順番に従って開発を進める開発手法です。

上から順に流れるように進めるのでウォーターフォール(滝)開発と呼ばれています。作る物が明確であり工程管理もしやすいことがメリットです。

アジャイル開発

アジャイルには「素早い」などの意味があります。

ウォーターフォール開発のように上から順番に流れて開発するのではなく、機能を部分ごとに作っていく手法です。

素早い開発が可能であることから、最近のスタートアップ機能によく取り入れられてるよ

目に見えて動くものが早めに完成することや、突然の仕様変更に臨機応変に対応することができることがメリットです。

クエリ

SQLをした時にデータベースに送る命令文のことです。SQLとはデータベースを操作するための言語です。

データベースに登録したり、データを取り出したい時には、SQLを書いてデータベースにクエリを投げることで実行することができます。

コンパイル

プログラミング言語を、コンピュータが理解できる言葉に変換することです。

コンピュータが理解できる言語は機械語といいます。

機械語は人間にはかなり理解しずらく、記述するのは困難です。

そのため人間が理解しやすいプログラミング言語を書き、それをコンパイルして機械語に変換するという手法が取られます。

スクレイピング

ウェブサイト上の情報を自動で収集して、それを加工することです。例えば自動でショッピングサイトをスクレイピングして、商品や値段の情報を集めることができます。

デプロイ

開発したシステムを実際に使えるようにすることです。

例えばシステムを改修してレビューも終わってテストをします。残る作業はデプロイをして使えるようにしてあげるだけです。

CSV

データを「,」で区切った値のことです。例えばこんなデータです。

氏名,年齢,性別,趣味
Aさん,31,男,プログラミング
Bさん,18,女,筋トレ

CSVが保存されたファイルのことをCSVのでファイルと言います。

CSVは多くのサービスやソフトウェア間で互換性があり、非常にやりとりがしやすいデータとして重宝されています。

Json

Javascriptの表記法をベースにしているデータ表記法です。

人間にもわかりやすく、様々なソフトウェアやプログラミング言語間のデータのやりとりに優れています。こんな感じのデータです。

{
    "user": "Aさん",
    "age": 32,
    "gender": "男"
}

上記のCSVとJSON形式のファイルは、プログラミングをしていく上で非常に使う場面が多いので、是非覚えておきましょう。

サービス関係

IaaS

Infrastructure as a Serviceの略です。システムの構築に必要なインフラ(ネットワークやサーバーシステム)をネットワーク上で利用できるダサービスです。

少し前まではサーバー(コンピューター)やソフトウェア(OSなど)は自社で購入して管理する必要がありました。それを購入することなく、ネットワーク上で構築されているインフラを使えるようにしたサービスです。Iaasです。

例として、後に説明するAWSやGCPなどがあります。

SaaS

Software as a Serviceの略です。こちらはソフトウェアをネットワーク上で利用できるサービスです。

パソコンにインストールしているわけではないので、ネットワーク環境さえあればどこからでも利用できることや、複数人で同時に作業できることは多きなメリットとしてあげられます。

例として、G SuiteやDropboxなどがあります。

PaaS

Platform as a Serviceの略です。データベースやプログラム実行環境などがネットワーク上で使用できるサービスです。IaasとSaasの中間的なサービスの提供具合になります。

IOT

Internet of Thingsの略です。モノのインターネットと略されます。モノから情報を収集して、その情報を元に更に便利にモノを扱う仕組みです。

今まではインターネットというと、コンピュータ同士で接続するものでした。しかし最近では様々な実生活で使うモノと繋がり始めています。例えばGoogle homeというスマートスピーカー。インターネットと常時接続されており、音楽をかけることからタイマーをかけること、声をかけるだけで部屋の電気を消したりと様々なことができます。

モノとインターネットが繋がり、世の中がどんどん便利になっていきます。

AWS

Amazon Web Servicesの略です。Amazonがクラウド上で様々なサービスを提供しています。Iaasです。

自分のパソコンで環境を構築しなくてもインターネットのコンソール上で構築できるEC2、データベースを構築することができるRDS、写真やJSONファイル、wordなどのデータを保存できるS3など、非常に多くのサービスが提供されており、安価で使えます。

GCP

Google Cloud Platformの略です。Googleの社内で使われてるものと同じ技術やインフラを使用をネットワーク上で使用することができます。Iaasです。

AWSと同じくネットワーク上で仮想環境を構築できたりデータ解析ができたりと、多くのサービスを利用することができます。

API

Application Programming Interfaceの略です。Interfaceには「繋ぐもの、接点」のような意味があります。APIはアプリケーションとプログラムを繋ぐものって意味ですね。

Twitter APIを例に挙げてみます。Twitter APIはTwiiterが公開しているAPIです。このAPIは誰でも使うことができます。Twitter APIを使うと、tweetの情報やイイねやリツイート数など、様々な情報がデータで取得できます。Twitterと自分のアプリケーションを繋いでアプリ開発が可能ということですね。

どこかにログインするときにも、よくGoogleでログインやfacebookでログインができたりしませんか?あれもGoogleやfacebookのAPIを使って機能を実現しているのです。

ユーザビリティ

webサイトやソフトウェアの操作性のことを表します。迷わず、ストレスなく操作できることを「ユーザビリティが高い」と言います。画面がきれいだったり、見やすかったりするとユーザビリティが高いですね。

ユーザビリティが高いとユーザーも離脱しにくく継続利用が見込めるので、大切な項目となっています。

知識の増やし方

プログラマーやエンジニアの業界は新しい技術の進展が早く、どんどん新しい言葉も出てきます。そのため、どんなベテランエンジニアでも知らない言葉が出てくることはあるでしょう。ではどのように対応していけば良いのでしょうか。

それは

  • 恥ずかしがらずに聞く
  • 聞いたらすぐググる

の2つが大切です。この記事に書いているようなあまりに初歩的な言葉は聞いたら恥ずかしいかもしれません。でもある程度業界にいるのに知らない言葉が出てきたら、それは新しい言葉や考え方の可能性が高いです。

また普段から本を読んだりニュースで情報をキャッチアップすることは当然ですが、わからない言葉が出てきたらすぐにググりましょう。このように、知らない言葉や単語に敏感になることが大切です。

なんでも知っている人も最初は知らないんです。知らないことを恥ずかしがらずに自分の吸収に使わせてもらいましょう。

記事は以上です。

Dockerとは何か、元教師がどこよりもわかりやすく解説プログラマーになると必ず覚える必要が出てくるとっても便利なツール、それがDockerです。 この記事では、Dockerについてどの...