IT業界の現場で使われる日本語を一覧化してみた

# 対象読者

1. IT業界歴の浅いエンジニア(1〜3年目程度)
1. 非エンジニア

# 目的

* 専門用語以外でエンジニアがどのような言葉を使っているのかを体験する
* エンジニア1年生に向けて先輩エンジニアが使う用語を手っ取り早く教えたい
* 用語を見て、過去の出来事を思い出して感傷に浸る

***
# 記事の執筆理由（忙しい人は読み飛ばしてください）

私の所属する会社ではシステム開発のみならず新規事業の開拓も行なっており、非エンジニア人材も多く存在し、エンジニアと非エンジニア間のコミュニケーションも活発です。
その一方でそれぞれのフィールドの専門用語が飛び交い脳の処理のオーバーヘッドが大きくなっているようにも感じます。
私は「まずは自分から寄り添う」をモットーとして心がけていおりますので、まずは非エンジニアの方を対象とした記事を執筆させていただきます。

この記事ではITの専門用語ではなく 、エンジニアの現場間で使われる不思議な日本語について解説いたします。
分かりづらさ・別の用語がある場合はコメントいただけると継続的な執筆の励みになります。

***
# 参考にした題材

アプリ[用語図鑑[エンジニア編]](https://apps.apple.com/jp/app/it%E7%94%A8%E8%AA%9E%E5%9B%B3%E9%91%91-%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E7%B7%A8-%E5%85%AC%E5%BC%8F/id1582152622)の「使い出したら一人前！ITギョーカイ用語」を参考にしました。

***
# 用語

## 1. 上げる

1. ローカルやクラウドなどにおけるサーバ・ミドルウェア類（データベースなど）を起動すること
2. 手元PCやスマートフォンなどからファイルをアップロードすること

1の意味について、ビジネス用語における「立ち上げる」に近い意味を持つ。
反対語としては「落とす」がある。

正直最近身の回りではあまり聞かない

#### 使用例や関連用語

「顧客向けの試用環境を上げる」
「S3にログファイルを上げる」

* SSH
    * 「クラウド上にあげたサーバにSSHする」
* FTP
    * 「FTPでファイルをアップロード（転送）する」

## 2. 生きている

サービスやサーバ（内のプロセスなど）、ネットワークなどが動作している状態のこと。
私の経験上「生きている」は正常な場合と異常な場合の2つがある。
1. 正常な「生きている」
   問題が発生していない場合のこと
1. 異常な「生きている」
   サービスやプログラムの挙動に問題が発生している状態だが、異常が正確に把握できていなく疑わしい状態のこと

反対語としては「死◯でいる」「コ◯ス」がある。
こちらも身の回りで生きている状態について言及することは最近ない

#### 使用例や関連用語

「サーバが生きているか定期的に確認する」

* ICMP
    * 「ICMPで確認したところ、ネットワークは生きている」
* プロセス
    * 「psコマンドで確認したところ、プロセスは生きている」

## 3. 枯れる

廃れたサービスやソフトウェアのこと。
上記のような意味合いがある一方、バグの修正や安定稼働の実績のあるサービス・ソフトウェアを指すこともあるので注意。

#### 使用例や関連用語

「枯れた技術のため安心して使える」

* レガシー
    * 「レガシーシステムのため扱いづらさがあるが、実績と信頼性には定評がある」

## 4. 怒られる

システムやプログラムを稼働・実行させた際に発生する警告やエラーのこと。
プログラムは素直に人間が構築した通りにしか動かず、基本的には作成者のミスにより発生することが多い。
その一方、WEBシステムの利用者が手順や操作方法、入力ルールに従わない場合も「怒られる」ことがある。
上司があなたのことを怒ることではない。

#### 使用例や関連用語

「プログラム実装中に謎のエラーで怒られる」
「必須の項目が未入力で怒られる」

* フェールセーフ
    * 「フェールセーフに設計することで、怒られた場合の被害を小さくする」
* ガバガバ
    * 「普通は怒られるはずがエラーやセキュリティがガバガバなので、異常な処理で継続してしまう」

## 5. 落ちる

サーバやソフトウェアが何らかの原因で異常停止・終了すること。
利用者側が止める意図がないにも関わらず、動きが中断した場合に使う。
処理するデータ量が膨大な時やWEBシステムなどにアクセスが集中した場合によく見かける。
また、プログラムの実装者の力量不足や各種ソフトウェアのバグで発生することがあるだけでなく、システムが想定外の使われ方をした時にもよく見かける。
最近は「ダウンした」ということが多い。

### 使用例や関連用語

「大量のデータを処理したのでサーバが落ちた」
「アクセスが集中したのでサービスが落ちた」

* フェイルオーバ
    * 「サーバが落ちたがフェイルオーバーしたのでサービスが継続できた」
* フォールバック
    * 「フォールバック機構を設けていたのでDBが落ちても一部サービスが利用できる」

## 6. 落とす

サーバやソフトウェアを意図的に停止・終了させること。
「落ちる」が意図せず発生するのに対して、こちらは意図した場合に使う。
また、手元コンピュータに対してファイルをダウンロードすることを表す場合もある。

反対語としては「上げる」がある。

### 使用例や関連用語

「Google Driveからファイルを落とす」
「不正アクセスが確認されたためサービスを落とす」
「他のシステムと連携しているためサーバを落とせない」

## 7. 固まる

コンピュータを使用している最中に停止または停止したように見え制御ができなくなること。
コンピュータやソフトを再起動することで改善することもあるが、取り扱う処理（操作やデータサイズ）が想定を超えた時に発生することもある。
また、ソフトウェアや仕様の不具合によって発生することもあり、原因の究明が難しいケースも多い。
フリーズするとも言う。

### 使用例や関連用語

「何もしていないにも関わらず固まった」
「巨大なファイルをアップロードしたら固まる」

* 重い
    * 「処理が重くて固まるため、マシンスペックを強化する」
* ビジー
    * 「ビジー状態で固まっているので、少し待てば動き出すだろう」

## 8. キックする

別の処理を実行すること。
現状動いていない処理（コマンドやプログラム）を呼び出す場合を表すことが多い。
蹴り上げて叩き起こすようなイメージか。

### 使用例や関連用語

「バッチ処理をキックする」

* cron(crond)
    * 「日次処理をcronで午前1時にキックする」

## 9. フォークする

分岐すること。
とあるソフトウェアから派生して複数のソフトウェアを作り出すような時に使われる言葉。
ベースとなるソフトウェア（ライブラリやフレームワークなど）から派生して作成される親子・兄弟関係のあるソフトウェアが該当する。
OS上で動くプロセスにおいてもフォークという言葉が存在し、現在実行中のプロセスが子プロセスを作成し、分岐する処理を行うときも「フォークする」という。
プログラム上の分岐処理という意味ではないので注意。

### 使用例や関連用語

「このライブラリは◯◯からフォークしたライブラリだ。」
「マルチプロセスで処理させるためにプロセスをフォークさせる。」

* 親子プロセス
    * 「この親プロセスからフォークした子プロセスをKILLする」

## 10. 切る

膨大なデータを日時などを元にフォルダ・ファイル管理したり、一つのストレージ（HDD/SSD）を複数のパーティションに分割することを指す。
ソフトウェア開発の現場では、タスク管理をGitHubなどのチケット管理ツールで行う際に新しいタスク（チケット）を作成することを示すこともある。
また、Gitでバージョン管理する場合にブランチを分けることを表現することもある。

### 使用例や関連用語

「SSDを複数のパーティションに切る」
「バグがあったので新しいチケットを切っておく」
「この不具合はbugfixブランチに切り分けて作業をする」

## 11. 食う（喰う）

コンピュータ上のリソース（CPUやメモリ、ストレージ、ネットワーク帯域など様々なもの）について、特定の処理で占有されてしまうこと。
多くの場合はマシンスペックの増強やコンピュータの再起動で回復する。
これらで解決しない場合は実行中のソフトウェアの不具合などにより発生している可能性が高い。
また、ファイル管理システムやデータベースサーバなどにおいて排他ロックが行われている場合もこれに該当する。

### 使用例や関連用語

「作ったプログラムが無限ループしてCPUリソースが食われた」

* メモリ
    * 「Chromeブラウザでタブを開きすぎてメモリを食っている」
* ログファイル
    * 「膨大な量のログファイルが出力されディスク空き容量が食われていく」

## 12. こける

実行した処理が失敗すること。
ソフトウェアが正常に終了せず、途中で終了してしまった場合に使われることが多い。
ソフトウェアの不具合が原因となるケースが多いが、リソース不足でこけた場合は初めは気がつきにくく厄介。
処理が途中で失敗した場合にリカバリできる方法を検討しておかないと、「こける」からの「詰み」になるので要注意。

### 使用例や関連用語

「お客さんが作ったデータを投入したらインポート処理でこけた」

* ロールバック
    * 「この処理がこけた時は処理をロールバックできるようにする」
* バッチ処理
    * 「月次バッチ処理は意図せず必ずこけるものと思って作成するべき」
* abort
    * 「プログラムがこけたまま残っているのでabortさせる」

## 13. コ○ス

~~KOROSU~~
制御不能に陥ったソフトウェアを停止させる場合によく使われる。
プログラミング初心者が無限ループ処理を作ってしまう場合もあるが、こういった場合はコ○スしかない。
なお、コ○されるプログラムの状態によっては正常に回復できなくなることもあるので自己責任で。
最近は英語読みして「KILLする」ということも多い印象。

### 使用例や関連用語

「killコマンドを実行したが、プロセスがコ○せなかった」

* フォークとゾンビプロセス
    * 「初めてフォークするプログラムを書いたがゾンビプロセスが残ってしまったためコ○スしかない」

## 14. 死◯だ

サーバやソフトウェア・ハードウェア、サービスが停止・終了する場合に使われることが多い。
「落ちる」との違いとして、停止・終了した原因が不明な場合や再起動後に元に戻らないケースに使われることが多い。
また、落ちるよりも上位の絶望感を表すときに用いられることがある。

### 使用例や関連用語

「ゴールデンウィーク中にサービスが死んでいた…」
「ついにファイルサーバが死んでしまった」

* クラッシュ
    * 「コーヒーをこぼしてパソコンが死んだ」

## 15. 叩く

人間がキーボードからコマンドを入力して処理を実行すること。
キーボードを叩くことではない。
また、人間以外（プログラム）が外部のサービスやAPIを呼び出す（実行する）ことを表現することも多い。

### 使用例や関連用語

「lsコマンドを叩いて存在するファイルを確認する」
「ボタンが押下した際に外部APIを叩く」

## 16. 流す

実行順序が決められた複数の処理を順次実行すること。
ネットワーク上にデータを送信する場合や動画や音楽を再生することなど幅広い使われ方をする。

### 使用例や関連用語

「日次処理と月末処理を流して確認する」
「テレワークは好きな音楽を流しながら作業ができて最高だ」

* ジョブ管理ツール
    * 「ジョブ管理ツールのJP1で処理を流す」

## 17. 投げる

主にネットワーク経由で他の人やプログラムに対してデータを送信すること。
データの中身を詳しく確認せず、たらい回しにするイメージに近い。
プログラミング言語に例外処理が存在する場合は、呼び出し元に対して「例外を投げ」、呼び出した側で発生した例外をどのように扱うかを委ねる。
丸投げというよりは困った時やある一定の単位の処理をお願いするようなイメージで使われる。

### 使用例や関連用語

「サーバにデータを投げたが処理が帰ってこない」
「コントローラからビューに処理を投げる」

## 18. なめる

一覧になっているデータを端から順に処理すること。
先頭から順に処理することを「頭（先頭）からなめる」、末尾から順に処理することを「お尻（後ろ）からなめる」という。
基本的に一方方向に対して順に処理するのが特徴で、データ量が多ければ多いほど処理に時間がかかる傾向がある。

### 使用例や関連用語

「ログファイルを先頭からなめるように処理する」
「このSQLは全件データをなめるように実行するため処理時間が長い」

* こぼす
    * 「先頭からなめて処理しているはずがタイミングが悪く処理がこぼれた」
* 抜く
    * 「なめるようにファイルを参照し、必要なデータを抜き取る」

## 19. 握り潰す

エラーが発生した際にそれを意図的に隠蔽することを意味する。
通常エラー（または例外）が発生した時は、ログや画面に対してエラーメッセージを表示するのが一般的である。
しかしながら許容できる例外が発生した場合は意図的に無視することが可能である。
安易に乱用せず、握り潰す範囲をできる限り小さくするようにプログラミングしなくてはならない。

### 使用例や関連用語

「このプログラムは例外を握り潰すから不具合の原因がわからない」
「この処理では例外をキャッチした際に握り潰してはいけない」

## 20. 吐く

プログラムからデータを出力すること。
出力する先は画面やファイル、スピーカーなど多岐にわたる。
システム側でエラーが発生した場合などの原因特定をするためにエラーログを出力することが多い。
プログラムの挙動を推測するためにデータの状態を吐き出す場合は「ダンプ」と表現することもある。
また、インタラクティブなソフトウェアが吐き出す応答内容のことを「しゃべる」と表現することもある。
（IT業界はいい感じの語彙が見つかったら新しい表現が生まれるので面白い。）

### 使用例や関連用語

「システム内のユーザ一覧データをEXCEL形式で吐き出す」
「データ削除を実施したユーザと処理内容がログファイルに吐かれる仕様だ」

## 21. 走る

プログラムが実行され動いている状態のこと。
また、実行することを「走らせる」ということもある。
表面的に見える部分よりも裏側の見えない部分で処理が動作しているイメージが強い。
英語では「run」や「running」に該当する。

### 使用例や関連用語

「メールの送信処理はバックグランドで走らせる」
「バッチ処理が非同期に走っている」

## 22. 張り付く

コンピュータのリソース（CPUやメモリ、ストレージなど）の使用率が高い状態が継続している状況を指す言葉。
負荷や時間の経過とともに増減するリソースについて、重たい処理が実行されるなどの原因で占有に近い状況となってしまう場合に起こりうる。
WEBシステムなどを中心に容易に発生する現象だが、CPUやメモリが張り付いてしまうと他の処理が遅くなるなどの弊害が発生することもある。
また、コンピュータの利用者が画面の前から離れずに釘付けになっている様を指すこともある。

### 使用例や関連用語

「CPUの使用率が100％で張り付いているため他の処理が重たい」
「プログラムのバグによりGCが追いつかずにメモリの使用量が張り付いている」
「締め処理が完了するまでパソコンに張り付く」

* ロードアベレージ
    * 「CPUとメモリの使用量が100%に近い数値で張り付いているが、ロードアベレージが適当なためコストパフォーマンスの良い構成だ」
* ハングアップ
    * 「マシンリソースが張り付いているが、動いているのかハングアップしているのかわからない」

## 23. 立てる

サーバなどのサービスの構築を行うこと。
「上げる」と似ているが、ソフトウェアの導入やセットアップを行う意味合いが強い。
専用の機材に対してセットアップを行うというよりも、汎用機器に対して実施する場合に使うことが多い。

### 使用例や関連用語

「余っているPCでVPNサーバを立てる」
「自宅でVPSサービスを立てる」

* キッティング
    * 「キッティング作業としてdockerデーモンを立てる」

## 24. 技術的には可能です

膨大なお金や時間があれば実現できることを表現する際の言葉。
IT業界では断り文句として発動しているつもりが、顧客側は実現できると前向きに受け取ってしまう危険なキーワード。
このキーワードを発動する場合は十分に気をつけなくてはならない。
「技術的には可能です」に続けて「が、」を入れないと悲惨な未来が待っている。

### 使用例や関連用語

「配達経路の最適化は技術的には可能です」

* 運用でカバー
    * 「技術的には可能ですが、コストとスケジュールの兼ね合いから運用でカバーするのがおすすめです」
* デスマーチ
    * 「『技術的には可能』と答えてしまったため、予算とスケジュールを無視してデスマーチで対応したが間に合わなかった」

## 25. 完全に理解した

「完全に理解できていない」または「理解したつもり」という時に使うパワーワード。
しかしながら、本当に理解できたときにも使うことがあり、このパワーワードの話し手と受けての信頼関係が十分なときにしか使ってはいけない。
対義語であり類似語として「チョットデキル」がある。

### 使用例や関連用語

「完璧な要件定義書が存在するので完全に理解した」
「お客さんの要望を伝聞で聞き、完全に理解した」
「あー、なるほど。完全に理解しました。」

***

# 総括

最後までご覧いただきありがとうございます。

普段エンジニアをしていると専門用語が飛び交うこともあるかもしれませんが、意外と現場では人間的な言葉が多く使われています。
また、キーワードによっては過去の出来事（トラブルや思い出）が蘇ってきたエンジニアの方もおられるのではないでしょうか。
こんなキーワードもあるよという方は、思い出なども含めてコメントいただけると嬉しいです。