用語集 - クリアコード

用語集

English Technical Term That have Different Meaning from Regular Meaning

英単語がそのままカタカナ表示され、日英共通の使い方をされているものの、一般的な英単語としての意味が分かっていると、英文中で混乱しがちな単語もしくは表現。

元の英単語の意味から察することはできたり、できなかったりする。技術用語的には、単語以外の要素が含まれているアクションになっていることが多い。

Fork

カラトリーのフォークのこと。技術用語になると、Gitのリポジトリー内で行われる分岐させるアクションのこと。通常使う言葉で似ている言葉だと「split」とか(分岐する)。動詞的にはforkで分岐するという意味もあるので、まだわかりやすい。

Bug

通常は、虫のこと。他の言い方をするとInsectやそれ以外にも、もぞもぞする小さい虫などのこと。 技術用語になると、コンピューターやシステムに現れる欠陥のこと。はるか昔、本当に虫がハードウェアに侵入して欠陥がおきたことから。通常使う言葉で説明するなら「fault」「defect」だとわかりやすい。

Chip

おやつ。ポテトチップやトルティーヤチップなどのこと。技術用語でいえば、パソコンの内部の部品のこと。もう一点日本語で「チップ」というと英語の「Tip=心づけ」のこともある。なお、「Tip」には心づけのほかに、助言やヒントという意味もある。

Lint

糸くず。布。技術用語になると、間違いがないかコードをチェックするツールのこと。人がやるより、早くてミスが減る。

Log

丸太。もしくは、意図的に記録を付けている日誌のようなもののこと。技術用語の場合は、設定次第で取得が可能な機械の動作履歴の意味。似ているようでちょっと異なる。(例) 「Take a log」が「日報つけなさい。」のように感じるが、「履歴を取得しなさい。」の意図になる。

Patch

小さい布、斑、畑の一区画(Pumpkin Patch=かぼちゃ畑)。技術用語的にはプログラムの変更箇所。あて布的な意味だけど、布ではなくプログラムのこと。

Python

ニシキヘビ。アジア、アフリカ、オーストラリアに生息する大型のヘビ。技術用語的には、プログラム言語の一種を指す。様々な用途で用いられるプログラミング言語だが、とくに機械学習分野で利用されることが多い。

Shell

殻。卵や、植物などの外側の硬いところ。技術用語的にはプログラムの一種。使っている人の操作を受け付けてソフトウェアに指示したり、ソフトウェアからの返答を利用者に表示したりする部分を担っている。指示を出すコマンドそのものは Shell Scriptになる。

Anchor

船のいかり、テレビ番組のメインキャスター。技術的には、「アンカータグ」「アンカーリンク」の略称的に「アンカー」といわれている。HTMLなどに記述されているとアンカーしている場所に飛んで表示が切り替わる。

Library

図書館。蔵書のコレクション。技術的には、いろいろな機能の既存プログラムのファイルを再利用できる形でまとめたもの。いろいろな種類がある。これを再利用することで作りたいプログラムの作りたい部分だけに集中できるようになる。 誰かがプログラムの一部を再利用するために切り出したらそれがライブラリーになる。

Template

鋳型。定型書式。ひな型。技術的には、いろいろなものを簡単に導入できるように準備してある状態になっていること。テンプレートががあれば、それに必要な事項を穴埋めして使えるようになる。

Document

書類。資料。文書のこと。技術的には、図や説明を含んだファイルやデータのことを指す。また、技術や製品についての詳しい説明や、機能、仕様、注意事項がまとめてある資料や文書の総称のこと。Documentのなかには、初歩を伝えるTutorial、 詳細を記載してあるReference manual、 困ったときのTrouble shoot、最新情報を伝えるRelease noteなど様々なものがある。

Cookbook

料理本。料理のレシピの集まった本。技術的には、ざっと概要を把握してやりたいことをやるための手順や材料となるプログラムがまとまっているレシピ集のこと。Reference manual(取扱説明書)のように詳細な説明ではないけれど、自分のやりたいことに対してできるかできないかや、どうやるかを知ることができるドキュメントの一種。

Source

源。根源。情報源。日本語で技術的にソースというときは、英語の「Source code」や「Source Program」を意図していることが多い。人間が理解できる形で記述されているプログラムのこと。日常的な使い方でSource単独というと、技術的なソースコードの意図にはならず、情報源=参照している情報という意図になる。カタカナの「ソース」には「たれ」の意味もあるが、それは「Sauce」で綴りが違う。

Git

「ばかもの」という呼びかけ。あまり常用しない。いろいろな理由から、技術的にはバージョン管理システムのことを言う。プロジェクトに対して行われた変更内容や変更したユーザーの記録などを、都度保存する仕組み。https://git-scm.com/ インターネット上にメインのバージョンを保管しておけるいろいろなサービスがある。GitHubやGitLabが有名。

Engine

燃料をエネルギーに変えて物理的動力を生み出す機構。エンジン。車などに搭載されるエンジンが元の語源、技術的には、何らかの大きな処理を行うために必要ないろいろな要素のプログラムがまとまった状態のもの。例えば、よく使われている検索エンジンの場合、検索するための予備動作(データベースの作成や、インデックスの設定)のプログラム部分、キーワードを探してくることをするプログラム部分などをまとめて意図する。

Thread

糸。(話の)筋道。ねじ山。プログラミングで使うときは、同時に実行されない処理の単位。同じスレッド内では同時に複数の処理は実行されないが、異なるスレッドでは並列にそれぞれ別の処理が実行されうる。それと同時に、話の筋道という意味から、インターネット界隈ではチャットや会話の一連の流れの一塊のこともスレッドもしくはスレといわれる。

Tag

札。標識。つまみ。技術的には、(札を付けるように)コードや文字に意味づけをすることや、意味や指示を表している文字列のことを意図する。

Wheel

車輪。ホイール。(車の)ハンドル。Python言語におけるライブラリーのバイナリー(ビルド済み)パッケージの一式のこと。もともとPython言語の名前の由来になった、英国のコメディアンのチーズショップを舞台にした寸劇から名づけられた。

Bullseye

中心部。要点・急所。もともとbullは、雄牛。eyeは目。二つが合わさっていると中心部・要点の意味。技術界隈では、Unix系OSのDebianのバージョンのこと。2021年10月にリリースされている。( https://www.debian.org/releases/bullseye/ )ちなみにDebianはコードネームを「トイストーリー」の登場人物から選ぶ習慣があり、Bullseyeは主人公のカウボーイの相棒の馬の名前。

Iteration

イテレーション。繰り返すこと、反復。短い期間にソフトウェアのリリースを繰り返す開発スタイルのこと。使えるようにして、使った人からフィードバックをもらって反映させて改良していく。

Monkey (test)

猿。いたずらする子に対しての呼びかけ。ソフトウェア開発でいろいろ思いついたテストをしてみること。別名、ゲリラテストともいう。

Backport

移植。ソフトウェア開発では、新しいバージョンに入っている何らかの修正を特定の古いバージョンに戻すこと。セキュリティ的なものであったり、何らかのアプリケーションの挙動などのために行われることが多い。

Hotfix

日常的にはあまり使わない技術用語。深刻なバグやセキュリティの脆弱性などに対応する際に、通常のプロセスを少し短くして行う急ぎの修正。もしくは何らかの特定の意図のために行われる急ぎの修正。

Vulnerability

(物理的、精神的に)傷つきやすいこと。弱み。技術的には脆弱性。プログラムに発生している、情報セキュリティ上の影響を与える欠陥のこと。様々に存在するbugの中でも、vulnerabilityに分類されるものは、早急な対応が必要とされる。

参考:総務省国民のための情報セキュリティサイト 脆弱性(ぜいじゃくせい)とは? https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/risk/11.html

Merge

(会社などが)併合する。溶け込ませる。技術的に使うときの意味は、元のデータに変化などの加わった新しいデータを統合すること。統合させるときにはいろいろなルールがあったりする。日本語だと「マージする」といって、そのままマージという言葉でつかわれている。

Rebase

技術用語。Gitのような分散バージョン管理システムを使ってソフトウェアを開発しているときに、開発のために分岐させたデータの分岐元を変更し、元のデータの最新状態から分岐したことにしてしまうこと。rebaseしてからmergeするのか、あえてそうしないのかなどはプロジェクトの方針などによるところも多い。

Transaction

処理。取引。ソフトウェア開発においては、関係があって依存するので分離させてはいけない一塊の処理単位のこと。日本語でそのまま「トランザクション」と呼ばれている。

Technical Terms

技術の世界で使われている言葉の説明。

CI

Continuous integration

ソフトウェア開発をしているときに、コードをコミットするごとに自動的にテストを実行して壊れていないかを確認するプロセスのこと。CIのプロセスを提供するサービスはいろいろあり、ソフトウェア開発ごとに適切なサービスを使う。対応するOSや、テストの内容によって使用するプログラムが変わる。また実行頻度なども自動で設定してあるものや、都度実行させるものなど様々。以前は時間がかかるものだったが、処理速度が速くなったことで、小分けに頻度を高く実行することも可能になった。

ビルドシステム

プログラムを環境に合わせてビルドすることを自動化するシステム。

関連するソフトウェアのアップデートにより、ビルドシステムで出来上がったプログラムが壊れたりする。その時は原因を究明して、出来上がったプログラムを直したり、ビルドシステム自体を直したりする必要がある。

プログラミング言語のバージョン

プログラミング言語は、規格があって、バージョンごとにできることが変わる。 結果どのバージョンでどう実装するか、が変わる。

バージョンの表記の方法は個別言語に依存する。C++だったらC++17などそのあと数字がついていて判別が可能。

ディレクトリーとフォルダ

意図していることは同じことが多い。ファイルを分類して入れておく所(ハードウェアの記録場所)を意図する。視覚的に操作するGUI(Graphical User Interface)の時はフォルダ、文字入力で操作するCUI(Character User Interface)の時はディレクトリということが多い。フォルダには、保管しておくところという以外にもメニュー画面的な機能があるときもある。(記録場所ではない。)

レンダリングエンジン

文字の指示を画面上で見せたい形に見せるための様々なプログラムが一塊になっている仕組みのこと。

なじみがあるものでは、Webブラウザのエンジン。ホームページなど「HTML」形式で文字ばかり表記されたソースを、よく見かけるような見出しや画像、テキストや、アニメーションなどに変換してユーザーに表示している。

アップデートとリリース

ソフトウェアの更新版が出たときに使われる言葉。起こっている事象としてはほぼ同じこと。発信する側が、ソフトウェアを開発している側だと「更新版をリリースする」になり、ユーザー側だと「更新版にアップデートする」という感じ。ただ、リリースが意図するのは、「新しい商品やサービスの発表」というときもあるので、紛らわしい。英語の語源と日本語の持つ意味がずれていっているパターンかもしれない。

カーネル

Kernel。種の中身。アイディアの芯になる部分のこと。コンピュータを動かすための基本的な動作をつかさどるプログラムの塊のこと。英語の意味としては分かりやすい。フライドチキンで有名な人を「カーネル」というが、こちらは綴りがColonelなので全く関係ない。

プログラミングとコーディング

技術的な知識がないとその差が分かりづらい言葉。コーディングは、自然言語といわれる人が使う言葉を、機械が理解できる形に書き換えること。プログラミングは人が使う言葉を機械が理解できる形に書き換えた上で、機械がきちん動くかどうかを試し、必要な情報や指示を追加して、求められる挙動をおこなう状態にすること。プログラミングの一部にコーディングがあるといえる。 日本のでウェブサイトの制作などでコーディングといった場合は、文字のサイズや、画像などをデザインされた状態にレンダリングエンジンが表示できるようにファイルを作成することを指していることが多い。この認識の違いによりいわゆる「プログラミング言語」が何を指すのか、少しわかりづらいのではないかと思われる。

人工言語

人が、人同士で使う言葉「自然言語」に対して、機械とコミュニケーションをとるために作られた言葉。人工言語はそれぞれの目的によって、さらに分類することができる。

技術のことが関わらない文書などでは、まとめて「プログラミング言語」という言葉で表記されているように思われることがある。それぞれの言語が、さらに細かく種類が分かれていくのは、自然言語を分類するときに、ゲルマン系言語に英語・ドイツ語、ラテン系言語にフランス語・スペイン語みたいになるのと同じ。

パス

技術的によく使うのはpathをカタカナ語にした「パス」のこと。pathのもともと持つ「道筋」というのと同じような意味合いでプログラムがたどる道筋・経路を示したもの。相対パスや絶対パスといった言い方で、コマンド操作を行うときには必須の知識。一方で、外来語として日本に定着しているのは、名詞の入場券・動詞の手渡すを意味するpassのことだったり、「パスワード」を略した「パス」だったりするので、紛らわしい。

プログラムとソフトウェア

プログラムとソフトウェアはほぼ同じ。機械のいろいろな部位に動かし方の指示を出している記述。機械に伝わるようにプログラミング言語を使って書かれている。プログラミングは動詞的な意味のing系でプログラムを作ること。

機械の動かし方や目的によって、いろいろな種類のプログラム・ソフトウェアがある。種類によって別の名前がついていたりもする。 例えば、コンピューターの物理的な部分を動かすもしくは見えない裏側で動くプログラム・ソフトウェアはシステムソフトウェアといわれていて、その中にOSソフトウェア・ミドルウェア・ファームウェアなどがある。そしてそれぞれのソフトウェア・プログラムは個別の名前がついている。エンドユーザーといわれる、開発する人じゃない人が使っている何か目的を遂行するためのプログラム・ソフトウェアは、アプリケーションソフトウェアといわれている。計算アプリケーション・描画アプリケーション・編集アプリケーションなどがある。

英英の辞書によると、アメリカ英語ではProgramは予定・計画のこと。イギリス英語ではコンピューターに指示を出すこと。Softwareは比較的新しい言葉で英・米ともに「コンピュータープログラムのこと、もしくはビデオテープなどのソフトのこと」となっている。

ミドルウェア

ソフトウェアの一種。一般的に使っている統計やデータ処理やその他アプリケーションソフトウェアを動かすために裏で動いているソフトウェア。

キャッシュ

もとの綴りはcache。キャッシュカードの元である、現金を意図するcashとは別の言葉。更新されたホームページがみれなかったり、スマホの動きが遅くなったりしたときに「キャッシュを消して」といわれるキャッシュのこと。情報伝達の速度を上げるために一時的にデータを保管し、必要になると取り出されてくる機能のこと。およびその機能によって保存されているデータのこと。古いものを消しておかないと、一時データがふえすぎて動きが遅くなったり、古い情報が表示されたりすることになる。

デーモン

Daemon。Unix系のOS(主にコマンドで操作するOS)でよく使わているバックグラウンドで一連の処理を実行してくれるプログラムのこと。やってくれることは、様々だが、これらのプログラムによっていろいろなことが楽になる。もともとの単語の意味は古代ギリシャ神話にでてくる半分神様で半分人間の生き物で神の国の雑事をやっている。日本ではこのつづりは本来「ダイモーン」といわれていた。悪魔を意味するDemon(デーモン)とは別の単語。でも、キャラクターで悪魔を使っているものもあるので、わかりづらい。

ホワイトペーパー

White Paper。英語の白書(政府関係の文書、報告書)の意味があると同時に、BtoBのマーケティングのときに使われる手法の一つ。製品などに対して、トピックのある情報を報告書・文書のようにまとめて、顧客に紹介する資料にする。自社の技術の優位性を紹介するスタイルなどが多い。資料をダウンロードしてくれる顧客が潜在顧客になるので、メールアドレスなどをダウンロードの条件にしていることも多く、次の営業につなげる。

ラズベリーパイ

Raspberry Pi. お菓子ではない。イギリスのラズベリーパイ財団が開発し、2012年に一般向けに販売開始された、シングルボードコンピューター。プログラミングを行い、周辺機器をつなげることで様々なことができるので、教育機関などの研究用としても使われている。日本では「ラズパイ」の愛称で知られている。

トークン

記念品や、交通機関の代替硬貨、引換券のようなものを意図するのが通常の英単語の使い方だが、日本では「セキュリティ トークン」の略として使われて、暗号鍵やワンタイムパスワードを表示するものを意図するときや、プログラムを構文解析する文脈では特定の文字の並びのことだったりもするので、文脈からの理解が大切。

デプロイ

元の英語の意味は、(「軍隊など)派遣する」「(戦略などを)展開する」という動詞。個別のプログラムの状態では使えないソフトウェアを使えるように、作業して展開すること。日本語で使われるときは、名詞的なDeployment(展開)の意図の時があり「デプロイする」と言ったりする。

基盤と基板

日本語だから紛らわしいものの一つ。基盤は、物事の基礎になること。基本となる概念などのこと。英語でいうとinfrastructureやbaseといった言葉になる。他方、基板は、何らかの機能のための様々な部品を乗せる物理的な板のこと。英語でいうとcircuit boardやbasal plate。

Technical Products/Service Terms

ソフトウェアそのものや、サービスなど固有名詞に近いもの。

Crossbow

https://arrow.apache.org/docs/developers/crossbow.html

Apache Arrowの開発で使われているパッケージ関連・インテグレーションテスト関連の作業を自動化するツール。

毎日定義済みのテストを実行して結果を開発者に報告している。定期的ではなく、指示をだして都度テストを実行することもできる。Arrowに引っ掛けて名づけられている。

Boost

C++言語用のライブラリーのひとつ。

https://github.com/boostorg/boost

便利機能がいろいろつまっている。オープンソースで日々進化している。 多くの要素で構成されており、それぞれの保存場所が変わることがある。依存関係があるので、変更するときは依存するいろいろなものも同時に変更しなくてはいけない。 使っているバージョンが古くなると対応していないことがある。英単語における「Boost」は動詞なので、使用箇所が違うため、英文のなかで分かりづらくなることはあまりない。

Fluentd

拡張性の高いログ収集OSS。

技術の進化により顧客の動きや、ソフトウェアの動作履歴など様々なログが集められるようになった現代で、ログデータをより有効に活用し、分析などを可能とするデータ連携をしてくれる。データを連携させることで、より効率的な分析や解析を可能にできる。1000以上のプラグインで、様々なサービスとのデータ連携を実現。Cloud Native Computing Foundation (CNCF) により認定されたプロジェクトの一つ。

https://www.fluentd.org/

CMake

ビルドシステムの一種。オープンソースのクロスプラットフォームでビルドやテストやパッケージをできるようにするのをサポートするツール。

https://cmake.org/

ソフトウェアを環境に合わせてカスタマイズするにあたり、それぞれの環境にどんな違いがあって、プログラムを動かすためにどんな変更が必要かを探してくれる。CMakeで調べた変更条件をもとに、ほかのツールを使ってビルドして、ほかの環境に対応したプログラムを作ることができる。多種多様な依存関係があるので、それぞれの環境の情報をきちんととれるようにしておかないといけない。

Webブラウザのレンダリングエンジンの一種。

KHTMLというものから進化してきたレンダリングエンジン。近年、ウェブブラウザの主流になっているGoogle Chromeや、Microsoft Edgeは、Blinkをベースとしている。ハードウェア側の性能やOSが新しくないとうまく挙動しないことがある。

Gecko

ブラウザのレンダリングエンジンの一種。Firefoxのもとになっているレンダリングエンジン。

PonyMail

メーリングリストの内容をアーカイブして検索や参照をWeb上でできるようにするソフトウェア。過去にあった質問や事例の検索などに便利。Apache Projectで使われている。

https://ponymail.incubator.apache.org/

Jira

ソフトウェア開発に関するもろもろ(バグや課題とか)を管理することができるツール。

https://www.atlassian.com/ja/software/jira

rr

ローカル起動のLinuxで使用できるC/C++のデバック用ツールプログラム。 record and replyが語源。大文字ではなくて小文字。リアエンジン・リアドライブのことではない。

https://rr-project.org/

Abbreviation

略語のまとめ。ネットスラングも含む。基本は単語の羅列の頭文字をとっている場合がある。それぞれの界隈で別の意味があることも。略号の意図を確認したい時、「検索語 Abbreviation」で複合語検索すると、略語ではない全体の文章がでてくるので、意外と意味がわかったりする。

FLOSS

"Free/Libre and Open Source Software"の頭文字から。自由ソフトウェアとオープンソースソフトウェアを包括的に表すときに使われる。

「自由ソフトウェア」は、ユーザーが自由に、ソースコードから研究、複製、再配布などを行うことができるソフトウェア。(参考:自由ソフトウェアについて) 「オープンソースソフトウェア」は、アメリカにあるオープンソースイニシアティブによって承認されたライセンス一覧に掲載されているライセンスを使用しているソフトウェア。

LGTM

"Looks good to me"の頭文字から。口語表現で文章にするなら "It looks good to me." がただしい。直訳すると「自分には(それは)よさそうに見える」

ソースコードをレビューするときやGitHubやGitLabなどのやり取りでよく使われていることば。レビュワーが「いいんじゃない」というときに使う。

成り立ちについて詳しくは、まとめていらっしゃるかたがいたのでそちらをご確認ください。参考:LGTM (Looks Good To Me - 良さそうだね) がなぜレビュー承認に使われるのか

TFW

"That feel when," "That feeling when," or "That face when."の頭文字から。いわゆるネットスラング。どれにせよ、TFWの後に "~な時(when)”の話をして、「こんなことあるよね」と、読んでくれている人に対して訴えかけたいときに使う枕詞として使われていることが多い。毎日起こるわけではないけれど、でもたまにやるとこういいうことになるよね。という気持ちを見てくれている人に共有したい時、訴えかけたい時につかわれる。

lol/LMAO

どちらもネットスラングの代表格で、「笑い」を意図している。lolは、"Laugh out loud" or " Lots of laughs"の頭文字から。日本のネットスラングの"(笑)"や”www”に近い。

LMAOは、"Laugh(ing) my ass off"の略。 ちょっと美しくない単語を使っているので、マナーを気にする人はあまり良い顔はしないかもしれない。日本人が「www」をビジネスメールで使うと眉を寄せられるのと同じ感覚で、ビジネスで使うと非常識に思われるかもしれない。

TLDR/TL;DR

"Too Long, Didn't Read"の略。直訳すると「長すぎるから、読まない」。ネットスラングだけではなく、出版やニュース記事などでも使われることもあり、長い文章を要約する意図に使われることもある。ただ、このTLDRには、文章全体の流れによって意味が補完されて、「長すぎて(意味がない)から、読む(必要)ない」のような嫌味にとらえられることもあるので使う場所は注意が必要かもしれない言葉。 自分が要約を書くときに頭につければそんなに問題がないが、ひとへのコメントなどの時は注意したほうがよい。

参考:TL;DRの意味を勘違いして使っていたら顰蹙を買ったので気をつけて使おう! / What Does “TLDR” Mean, and How Do You Use It?

EOL

"End of life"の略。直訳すると「生命の終わり」。販売や生産、保守の終了を意図する。類似の言葉にEOS(End of Sales:販売終了)やEOM(End of maintenance: 保守終了)があるが、EOLは両方を含んだ意味があり、今後ユーザーが安心して使えなくなることを意図するといえる。なお、"End of line"の略としても使われていて、その場合は「行の終わり」の意。

RHEL

Red Hat Enterprise Linuxの略称。Red Hat社が提供するエンタープライズ向けのLinuxディストリビューションのこと。

VM

"Virtual Machine"の略。直訳すると「仮想機械」。通称仮想マシン。動いているパソコンのなかで動くもう一台のパソコンを実現する技術。仮想のもう一台のパソコンは、CPUなど固有のシステムをもっており、実際に動いてるパソコンと共有はしない。1台のコンピューターを使いながら、別の設定機能を持つコンピューターを使えるようになる。異なる環境での挙動を一か所で試したりできるようになる。仮想マシンのリソースがどこにあるかは、利用環境による。使われる環境や状況によって、異なる意味を持っている場合もある、簡単に説明するのが難しい言葉。

RDBMS

Relational Database Management Systemの略。データを表のような形でまとめるデータベース管理システムのこと。日本語だと関係データベース管理システム。類似の言葉も多い。

PR

Pull Request。 GitHubにおいて、既存のリポジトリーに行った変更の反映をプロジェクトの管理者に依頼すること。同じくGitリポジトリーを管理をするGitLabでは同様のリクエストを"Merge Request"という。広報宣伝のPublic Relationsとは違う。


面白いとおもったら、Twitterなどでシェアしてもらえたら大変うれしいです。 説明に間違いがある場合は、merge requestもしくはTwitterで、どんどん教えていただけると幸いです。 この単語をのせたら?というご意見も同様にいただけたら増やしていいきます!こちらもお気軽にどうぞ! また、用語集はクリエイティブ・コモンズライセンスとしているので、自由にご利用ください。詳細に関してはライセンスのページを参照ください。