デジタルコンテンツの制作

nekosuko.jp

学習

IT用語集

更新日:

A-Z           その他

A-Z

aaS

as a Serviceの略。インターネット経由で必要な機能を利用する仕組み(クラウドサービス)の形態で以下のようなものがある。IT業界以外でも使うことがあり、単語が同じでも意味がまったく違うことがあるので注意。

  • SaaS(Software as a Service)はメールサービスやブログサービスなどのアプリケーション層まで提供される形態。GmailやSalesForceなど。
  • PaaS(Platform as a Service)はデータベースやプログラム実行環境などOS以下の層までを提供する形態。AzureやHEROKUなど。
  • FaaS(Function as a Service)はデータベースやプログラム実行環境などOS以下の層までを提供する形態。イベント駆動式でアプリケーション開発向けのサービス。
  • CaaS(Container as a Service)はデータベースやプログラム実行環境などをコンテナ化した層までを提供する形態。コンテナ化しているので同じ環境を作りやすい。
  • IaaS(Infrastructure as a Service)は仮想サーバやハードディスク、ファイアウォールなどのインフラ層を提供する形態。
  • MBaaS(Mobile Backend as a Service)ソーシャルメディアとの連携やデータの保管など、スマホ向けのサーバー関連の機能を提供する形態。FireBaseなど。

AutoML(Automated Machine Learning)

機械学習モデルの設計・構築を自動化するための手法全般を指す。

AWS(Amazon Web Services)

アマゾンが提供するクラウドプラットフォーム。サーバやストレージ、データベースなどさまざまなシステム機能をインターネット上で構築することができる。利用者はバックエンドの管理をAWSに任せてフロントエンド開発に集中できる。

CI/CD(Continuous Integration/Continuous Delivery)

日本語では継続的インティグレーション/継続的デリバリーという。変更を常にテストし自動で本番環境にリリース可能な状態にしておくソフトウェア開発の手法のこと。CI/CDパイプラインは、コード構築の開始、自動テストの実行、ステージングまたは運用環境への展開などを行う技術のこと。

CGI(Common Gateway Interface)

クライアント側のWebブラウザの要求(リクエスト)に応じてWebサーバが外部プログラムなどを呼び出して実行し、その結果をクライアントのWebブラウザに返す(レスポンス)する仕組みのこと。この仕組みを実装するためにPerlやPHP、Ruby、Pythonなどのプログラミング言語が用いられる。

DApp

ブロックチェーンを用いた分散型アプリケーションソフトのこと(たぶん)。

DevOps

開発チーム(Development)と運用チーム(Operations)がお互いに協調し合うことで、ソフトウェアやシステムの価値をより高めていくという概念。

Docker(ドッカー)

コンテナ型の仮想環境を作成、配布、実行するためのプラットフォーム。

Homebrew(ホームブルー)

macOS(およびLinux)上のパッケージ管理システムのひとつ。

IL

Intermediate Languageの略で中間言語のこと。C#やVBで書かれたプログラムは、一度、中間言語にコンパイルされる。

IL2CPP

Unityが開発したILコードをC++コードに組み立てるコンパイラ。

IoT

Internet of Thingsの略。訳すと「モノのインターネット」。様々な物がインターネットに接続され、情報交換することにより相互に制御する仕組みのこと。

JITコンパイラ

実行時にバイトコード(JAVAのバイトコードや、Microsoft社の.NETの中間言語など)をマシンコードにコンパイルするソフトウェア。

Kubernetes(クバネティス/クバネテス/クーべネティス)

Kubernetesとはギリシャ語の「操舵手」や「パイロット」の意味。自動デプロイ、スケーリング、アプリ・コンテナの運用、管理自動化のために設計されたオープンソースのプラットフォームのこと。

サーバ上にそれぞれのアプリケーションのための仮想マシン(仮想OS)を動かすことで、一つのサーバ内でアプリケーションがリソースの取り合いにならないようしているが、コンテナにデプロイすることで仮想マシンを動かさずサーバのOSを使ってリソースの制御ができる(という仕組みだと思う)。

LAMP(ランプ)

Linuxで動作するローカルサーバ環境を構築するツール。WEBサーバーに必要なソフトである"Apache"、"MySQL"、"PHP(Perl、 Python)"をまとめてインストールすることができる。名前の由来はOSと各ソフトの頭文字をとっている。類似ツールとして他にXAMPPMAMPなどがある。

Linux(リナックス)

オペレーティングシステム(OS)の一種。狭義にはLinuxOSのLinuxカーネル部分のことを指す。

MAMP(マンプ)

macOSで動作するローカルサーバ環境を構築するツール。WEBサーバーに必要なソフトである"Apache"、"MySQL"、"PHP(Perl、 Python)"をまとめてインストールすることができる。名前の由来はOSと各ソフトの頭文字をとっている。類似ツールとして他にXAMPPLAMPなどがある。

MBaaS(Mobile Backend as a Service)

ソーシャルメディアとの連携やデータの保管など、スマホ向けのサーバー関連の機能を提供するクラウドサービスのこと。GoogleのFireBaseなどが有名。

MLOps(Machine Learning / Operations)

機械学習モデルの実装や運用を行うための、機械学習チームと開発チームが協調し合う管理体制もしくは概念のことを指す。

MVC

Webフレームワークで一般的に取り入れられているアプリケーション設定を整理するための概念の一つ。モデル(Model)、ビュー(View)、コントローラー(Controller)を表す。

NoSQL(Not Only SQL)

RDBでは対処しづらいようなビッグデータに対応すべく生み出された技術で、SQLを使用しないということが特徴。

ORM(オブジェクト関係マッピング)

Object-relational mappingの略。関係データベースのレコードを、オブジェクトとして直感的に扱えるようにするプログラミング技法。プログラマはSQLを意識することなくプログラムを書ける。

Peer to Peer(P2P)

対等の者(Peer、ピア)同士が通信をすることを特徴とする通信方式のこと。

PWA(Progressive Web Apps)

モバイル向けのWebサイトをスマートフォン向けアプリのように使えるようにする仕組みのこと。PWAを実装することでプッシュ通知やホーム画面へのアイコン追加など、実態はWebサイトだがアプリのような機能を持たせる事ができる。

RDB(Relational Database)

データを複数の表として管理し、表と表の関係を定義することで、複雑なデータの関連性を扱えるようにしたデータベースの管理方式。MySQLなどがこの方式を採用している。

SaaS(サース)

Software as a Serviceの略。インターネット経由で必要な機能を利用する仕組み(クラウドサービス)の形態の一つ。SaaSはメールサービスやブログサービスなどのアプリケーションの提供まで行う。

SOLID原則

ソフトウェアの設計を柔軟にわかりやすくすることを目的にした5つの原則のこと。(S)単一責任の原則(O)解放閉鎖の原則(L)リスコフの置換原則(I)インタフェース分離の原則(D)依存性逆転の原則

UNIX

オペレーティングシステム(OS)の一種。現代的なOSの始祖であらゆるOSがUNIXで発明・実証された設計を参考にしている。

WebRTC(Web Real-Time Communication)

ブラウザを通して映像や音声、その他データをP2Pでやり取りすることができる技術のこと。 ブラウザが提供しているWebRTCのAPIを用いればビデオ通話などのWebアプリを作ることができる。

WebView

アプリ内でWebページを表示できる機能のこと。iOSやAndroidなどのOSが標準で提供している。

XAMPP(ザンプ)

macOSやWindowsなどで動作するローカルサーバ環境を構築するツール。WEBサーバーに必要なソフトである"Apache"、"MariaDB"、"PHP"、"Perl"をまとめてインストールすることができる。名前の由来は各ソフトの頭文字をとっているが、XはどのOSでもという意味がある。類似ツールとして他にLAMPMAMPなどがある。

LAMPやMAMPと違い"M"はMySQLではなくMariaDBを表し、最後にPerlの"P"が付く。

あ行

アーキテクチャ

コンピュータ システムの論理的構造。基本設計や共通仕様、設計思想などを指す。

アジャイル開発

小単位(機能単位)で実装とテストを繰り返して開発を進めていく、ソフトウェア開発におけるプロジェクト開発手法の一つ。

アクセサ

インスタンス変数に外部からアクセスするために用意されたメソッドのこと。getter(ゲッター)やsetter(セッター)などとも言う。

アルゴリズム

プログラミングによって目的を達成するための処理手順(方法)のこと。ある目的を達成するためには複数の方法がある場合が多く、アルゴリズム次第でプログラムのサイズや処理速度などが変わってくる。目的に合う(効率的であったり、可読性が高かったり)と思われるアルゴリズムをプログラムに採用する。

イーサネット・メルトダウン

単にメルトダウンともいう。ルーターのループ接続によりパケットの異常増殖による過負荷状態になり、そのルーターに接続しているサーバーなどのPCが巻き込まれてシステムがダウンしてしまう状態のこと。ルーターの入力と出力に同じケーブルを差し込んでしまうと簡単にこの状態が発生する。

イテレーター

配列などの集合的データ構造(コレクション)の各要素に対して繰り返し処理をする時に使用するインターフェース。

イミュータブル

作成後にその状態を変えることのできないデータ型のこと。

インスタンス変数

クラスの中に直接定義される変数。メンバ変数、フィールド変数とも言う。これに対してクラスのメソッドの中で定義される変数をローカル変数と言う。Privateなインスタンス変数の名前の頭にはアンダーバーを付けるという慣習もある。

インタプリタ

ソースコードを1行ずつ機械語(マシン語)に変換しながらプログラムを実行するソフトウェア。対象用語はコンパイラ

インデクサ

クラスや構造体のインスタンスに配列と同様の添字を指定してアクセスするための構文。

エイリアス(alias)

別名のこと。C#では、usingディレクティブを使って名前空間やクラスに別名を付けることができる。

オブジェクト指向プログラミング

オブジェクト単位でプログラミングをして、オブジェクト同士が相互に作用して機能するというプログラミングの考え方。カプセル化、継承、多態性(ポリモーフィズム)の3原則が特徴。

オーバーフロー

変数などで扱えるデータ量を超えること。

オーバーライド

継承元のクラスのメソッドを継承先のクラスで再定義すること。

オーバーロード

引数の違うメソッドを複数定義すること。

オープン系

パソコンを基軸としたシステム開発のこと。WindowsなどのOS上でシステム開発を行えるため、使うことのできるプログラミング言語も大幅に増える。対義語的に汎用系がある。

オンプレミス

略称オンプレ。サーバーやソフトウェアなどの情報システムを、自社(使用者)に設置して運用することを指す。対義語はクラウド

オンラインサロン

月額会費制なでWeb上に展開される有料コミュニティの総称。

か行

ガジェット

目新しさやユニークさがある、小型のデジタル機器の総称。

カーネル

OSの基幹部分の機能のこと。

関数型言語

プログラミングパラダイムの一つで、プログラム中の処理や制御を関数の定義と適用の組み合わせとして記述していくもの。HaskellやScalaなどの言語で採用されている。

機械語

マシン語を参照。

構造化プログラミング

コンピュータプログラムを整理された構造の組み合わせによって構成すること。順次、繰り返し、分岐の三つの制御構造によって処理の流れを記述すること。これに対し古いプログラミング言語であるBASICやFORTRANは非構造化プログラミングであり、ラベルやGoto文によってジャンプして処理を呼び出すため可読性が低くデバッグが難しい。

クラウド

クラウドサービスなどとも呼ばれる。サーバーやソフトウェアなどの情報システムを自社(使用者)に置かず、運用をネットワーク経由で使う形態のこと。対義語はオンプレミス

コレクション(collection)

配列のように複数のデータを扱えるようにしたクラスなどのデータ構造のこと。

コンテキストスイッチ

コンピュータのCPUが実行中の処理の流れ(プロセス、スレッド)を一時停止し、別のものに切り替えて実行を再開すること。

コンパイラ

コンパイルするプログラミングのこと

コンパイル

プログラミング言語で書かれたプログラムを、機械語(マシン語)あるいは低水準言語に変換すること。多くのコンパイラは、機械語を直接生成するのではなくアセンブリ言語のコードを生成し、それをアセンブラに通して機械語に変換する。対象用語はインタプリタ

コンポーネント指向

プログラムの部品(コンポーネント)を組み合わせてソフトウェアを開発するスタイルのこと。Unityなど。

さ行

サーバーレス

サーバーの構築や保守を提供会社が行い、利用者はサーバーの管理が不要でプログラミングなどの開発のみに集中できるサービスのこと。

ジェネリック(ジェネリクス)

ジェネリックプログラミングともいう。型をパラメータとして与えてさまざまな型に対応したクラスや関数を生成するログラミング手法で、同じプログラムコードで様々なデータ型のデータを処理できるようにするもの。

シリアライズ

データをそのまま、保存したり送受信することができるように変換すること(文字列など)。シリアル化とも言う。変換したものを元のデータに戻すことをデシリアライズと言う。

シンタックス(Syntax)

プログラミング言語の構文や文法のこと。よくエラー表示として出力される"syntax error"は必要な記号がないなどの構文の間違いを指摘している。

スキルセット

自分が有している知識や技術のこと。WEB系エンジニアなどはプロフィールにスキルセットとして、使用できるプログラミング言語やフレームワーク、ツールなどを記載することが多い。

スクラッチ開発

既存のパッケージや雛形を利用せずに最初から開発すること。

スタック領域

プログラムを実行するときに使うメモリの領域のこと。OSやコンパイラが割り当てる領域でプログラムで任意に領域の中を使ったり解放したりすることができない。ヒープ領域と比べて柔軟性が低い代わりに処理が早い。

C#では値型の変数(構造体など)はスタック領域に実態が置かれる。なお、値型でもObject型などにボックス化された場合、実態はヒープ領域に置かれる。

スタートアップ

「起業」や「新規事業の立ち上げ」のこと。

た行

ディストリビューション

配布という意味で、IT業界ではLinuxディストリビューションのことを指すことが多い。Linuxディストリビューションとはカーネル、シェル、各種ドライバー、アプリケーションソフトなどまとめてパッケージ化したもので、さまざまな種類がある。

デザインパターン

経験豊富なソフトウェア設計者がノウハウを典型的な解決策として名前をつけ、再利用しやすいようにしたもの。

デシリアライズ

シリアライズしたものを元のデータの形に戻すこと。

な行

は行

汎用系(クローズド)

汎用機を基軸としたシステム開発のこと。一昔前までは、用途に応じて専用機と呼ばれる計算機を用いてたが、汎用機に分野に適したソフトウェアを導入することでシステム開発が可能になった。主にCOBOLという言語を使ってプログラミングを行う。対義語的にオープン系がある。

ヒープ領域

プログラムを実行するときに使うメモリの領域のこと。プログラムで任意に領域の中を使ったり解放したりできる。スタック領域と比べて柔軟性が高い代わりに処理が遅い。

C#では参照型の変数(クラスなど)はヒープ領域に実態が置かれる。

プリミティブ型(primitive type)

プログラミング言語の仕様に用意されている最も基本的なデータ型のこと。文字型や整数型、浮動小数点数型など

プログラミングパラダイム(パラダイム)

一般的に使うパラダイムの意味とは違って、プログラミングの考え方や記述方法を規定するもの。構造化プログラミング、命令型プログラミング、オブジェクト指向型プログラミング、イベント駆動型プログラミング、関数型言語、など。

ブロックチェーン

ブロックチェーンとは、分散型ネットワークでつながった複数のコンピューターに、暗号技術を組み合わせた取引情報などのデータを同期して記録する手法。ビットコインなどの取引に使われ、設計上ブロックチェーンはデータの改変に強い。また、中央集権でのネットワーク管理がないため攻撃に強い。

プロセッサ(processor)

コンピュータシステムの中で、プログラムを実行するためのハードウェア(CPUやGPU)の総称。

プロパティ(C#)

C#のプロパティとは、インスタンス変数の値の取得や変更を行う為のメソッド(アクセサー)のこと。

フルスタックエンジニア

すべての開発を一人でできるエンジニアのこと。マルチエンジニアとも言う。

プルリクエスト(Pull Request)

プルリクエストは略してプルリク。Git上のデータを編集したときにその内容を確認してもらい、問題ないと判断されれば反映してもらう、という機能のこと。

ボックス化

値型から object 型、またはその値型によって実装されている任意のインターフェイス型へ変換するプロセスのこと。

int i = 123;// int型のiは値型(intは構造体)
object o = i;// 参照型のobjectでボックス化 

ポリモーフィズム

オブジェクト指向プログラミングの大きな特徴の一つ。多態性、多相性、多様性とも呼ばれる。同じメソッドでもオブジェクトが違うと処理の内容が暗黙的に違う処理になる。

ま行

マシン語(機械語)

コンピュータのプロセッサが直接解釈実行可能なデータ群のこと。

命名規則(めいめいきそく)

変数やメソッド(関数)の名前の付け方のルール。ネーミング規則、ネーミング規約、命名規約などとも呼ぶ。命名規則にはハンガリアン記法、キャメル記法(アッパーキャメル、ローワーキャメル)、スネーク記法、パスカル記法(アッパーキャメルと同じ?)などがある。

や行

ら行

ライフハック(LifeHack)

情報処理業界を中心とした「仕事術」のこと。仕事を効率よく行うための工夫など。

リファクタリング

プログラムの外部から見た動作(結果など)は変えずにコードの内部構造を整理し、理解や修正が簡単になるようにしたりパフォーマンスが向上するように改善すること。

ローカル変数

関数やメソッドの中で定義される変数のこと。ローカル変数はその関数やメソッドの中だけで有効。

ロジック

処理の内容や手順のこと。アルゴリズムとほぼ同じ意味で使われる。

わ行

その他

IT用語というわけではありませんが、知っておくと良いかなと思った単語です。

インフルエンサー

世間に与える影響力が大きい行動を行う人物のこと。

キャズム(chasm)

キャズムとは"深い溝"を意味する言葉で、製品やサービスを市場で成功(市場に浸透)させるために超えなければいけない一線を指す。超えなければばそのまま溝に落ちて消えていくというニュアンスもある。「キャズムを超える」などとと言う。

キャッチアップ(catch up)

「追いつく」という意味。使われる分野によってニュアンスが違ってくるが、IT業界では「情報収集」という意味合いが強く、最新の技術情報や技術動向などの情報を得ることを指して使うことも多い。

ゴールドラッシュ

新しく金が発見された(という噂の)地へ金脈を探し当てて一攫千金を狙う採掘者が殺到すること。狭義では1848年ごろにアメリカ合衆国カリフォルニア州で起きたカリフォルニア・ゴールドラッシュを指す。現代では"稼げる"、"儲かる"などの噂を聞いてそのサービスやビジネスを展開しようとする人が急激に増えることを指す。

この言葉の注目するべき点として、1848年に起こったゴールドラッシュで本当にお金を稼ぐことができたのは金を採掘した人たちではなく、そ採掘者たちにサービス(作業着やツルハシなどの道具、宿泊施設や銀行など)を提供した人たちだったということ。

錯覚資産(さっかくしさん)

何か優れているものを一つ持っていてるため、他のことにも優れていると感じさせること。

サンクコスト(sunk cost)

または埋没費用。事業や行為に投下した資金・労力のうち、事業や行為の撤退・縮小・中止をしても戻って来ない資金や労力のこと。

車輪の再開発

ソフトウェア開発に当てはめると、すでにあるプログラムパーツ(ライブラリーやフレームワーク)があるのに、知らずにもしくは意図的に使わずに一から作り直すのは効率が良くない、ということを表す言葉。

ダイバーシティ

多様な人材を積極的に活用しようという考え方のこと。性別、人種、年齢、性格、学歴、価値観などの多様性を受け入れ、広く人材を活用することで生産性を高めようとするマネジメントについていう。

デファクトスタンダード

市場における競争や広く採用された「結果として事実上標準化した基準」を指す用語。

パラダイム

ある時代や分野において支配的規範となる「物の見方や捉え方」のこと。狭義には科学分野の言葉で、天動説や地動説に見られるような「ある時代を牽引するような、規範的考え方」をさす。

マインドマップ

頭の中で考えていることを脳内に近い形に描き出すことで、記憶の整理や発想をしやすくするもの。描き出すためのソフトなどをマインドマッピングツールなどと呼ぶ。

レトロニム

新しい語と区別するために、呼び名をつけ直された既存の語のこと。

-学習

Copyright© nekosuko.jp , 2020 All Rights Reserved.