どーも、PlugOutです。
このシリーズもPart3です。
今回もシステムエンジニアじゃない人がシステムエンジニアと話をするときに覚えておくと便利そうな用語をまとめてみましたよ!
# 環境
プログラムを動作させたり、あるいはプログラムの開発を行うためのサーバーやマシン(パソコン)のことです。
実際にユーザーに稼働させて公開させるための環境のことを本番環境やプロ環境と呼びます。
他にも動作検証を行うための環境を「テスト環境」、リリース前の最終的な確認をするための環境を「ステージング環境」と呼びます。
例:
プロセスが暴走したせいで、開発環境が壊れてしまいました。
すみません、ステージング環境にログインできなくなってしまいました。
# 吹っ飛ばす
使えなくする、あるいはデータを消し去るという意味です。
つまり大抵の場合、良い意味ではないです。
例:
本番環境のデータベースを吹っ飛ばしたのは誰だ!?
もしこのデータが吹っ飛んでいたら、この会社は終わりだったんだよ。
# デプロイ
プログラムをどこかの環境へ配置することです。
例:
本番環境へのデプロイはまだです。
今はデプロイ作業中なので、少々お待ちください。
# 叩く
何かを呼び出すこと、あるいは何かを起動することです。
例:
このプログラムを叩いてみて、問題が再現するか確認します。
誤ってプログラムを二回叩いてしまったのが原因です。
# スクショ
スクリーンショットのことです。
現在の画面の状態を画像として保存したもののことを差します。
例:
どこがおかしいのかわからないから、とりあえずスクショを送って。
例の表示崩れについてスクショを貼っておきました。
# 上げる
ファイルをアップロードすることです。
ただダウンロードのことは下がるではなく落とすを使います。
例:
例のファイルをサーバーに上げておいて。
正常に画像が上がっているのを確認しました。
#ボム(BOM)
「バイト順マーク(byte order mark)」と呼ばれるもので、Unicodeという文字コードの規格として文字列やファイルの先頭に付けるデータのことです。
ただこのボム、例えばファイルの保存方法などによって付けられる場合と付けられない場合があります。
しかもこのボムをプログラムの中で考慮していなかった場合、例えば最終的に生成されるファイルの処理の先頭行がおかしくなったり、あるいはそもそもプロセスが例外で終了してしまうことがあります。
またボム付きかそうでないかはファイル名からは判断できないため、度々システムエンジニアとそうでない人のやりとりにおいて混乱が生じます。
(ちなみに爆弾のボムとは英語のスペルが違いますが、カタカナで書くと紛らわしいですね)
例:
例のCSVファイルですが、ボムを付けない形に保存し直しておきました。
ボムなしのファイルしか上げないって言ったじゃないですか!
# (ログを)仕込む
ログを吐かせるとほぼ同じ意味で、既存のプログラムに対してログが書き込まれるように処理を追加することです。
例:
昨日仕込んでおいたログは、ちゃんと確認できました。
あぁ、やっぱりここに仕込んでおいて良かったー!
# ヌルポ
Javaにおけるヌルポインター例外(NullPointerException)のことです。
Javaにおいては気をつけなければ一番発生頻度の高い例外で、プロセスが想定通りの挙動をしない場合などの原因がこれであることも多いです。
例:
とりあえずログを頭から舐めてみたら、どうやら最終的にヌルポで死んでいたようです。
この場合にはヌルポで落ちてしまいますね。
# 食わせる
プログラムに対して、何らかのデータを取り込ませることです。
例:
とりあえずこれを食わせてみて、どうなるか見てみようか。
朝送ったやつはちゃんと全部食わせたの?
#(メモリやCPUを)食う
プロセスがメモリやCPUを使用することです。
特に想定していたよりも使用量が多い場合に使うことが多いです。
例:
え、何でこんなに食ってるの!?
このまま食い続けるようなら殺しますよ。
# 抜く
意味としては舐めるに近いですが、こちらは対象が複数あるいは大量にある場合に使用することが多いです。
条件に一致する文字列やファイルなどを探すことです。
例:
この時刻のログを全部抜いてきて。
そんなん抜いてどうするの?
# 握り潰す
例外やエラーが発生した場合、それをキャッチした後に何もしないことです。
通常はキャッチ時には発生時の重要な情報などをログに書き込んでおきますが、あまりにも状況が自明な場合や情報が重要でない場合には何もしないことがあります。
しかしその判断は難しく、障害発生時の大切な手がかりが失われてしまうことがあります。
例:
ここで握り潰しておかないと最終的に死んじゃうよね。
握り潰してしまっているので、これ以上原因を追うのは無理です。
# 運用でカバー
運用でカバーとは、プログラムで対応できないものに対して「人力で何とかする」という意味です。
人力で解決しようとしている問題が本当に些細なことであれば良いのですが、根本的に色々と間違っている場合(例えばプログラムの構造自体が想定と違うなど)は致命的な出来事を引き起こし、全てを崩壊させる危険があります。
「とりあえず」という言葉とセットで使われることも多いです。
例:
アプリの公開日に何としても間に合わせなければならないので、この機能については運用でカバーしよう。
客からの要望があった件だけれど、とりあえず運用でカバーできないのか?
# べき論
一般的な「あるべき論」のことで「本来こうあるべき」という理想のこと。
ネガティブな言い回しで使われることが多いです。
(本当はこうするべきだけれど、実際にはできないというケースです)
例:
べき論としてはプログラムを修正しなければならないですが、とりあえず目を瞑りましょう。
べき論を並べても良いけれど、実際それをやるだけの時間はありません。
如何だったでしょうか?
これらの用語を覚えて
「いろんなところに仕込んでいたのに、結局上がってなかったから抜けないらしいね。」
「彼はテスト中にボムのせいで開発環境が吹っ飛ばされたらしいよ。」
なんて会話を聞いてもスマートに対応できるようになると良いと思います(白目)
ではでは!
エンジニアとして技術ブログもやっています。