現場で覚えたIT用語集(*'ω'*)②

##はじめに
日々分からないことだらけで頭がパンパンになっております（笑）
こうして少しずつですが、愚直に用語を書き出して整理していきたいと思っております。

現場に出て間もないエンジニアが
初めて聞いた用語や、聞いたことあるけどなんだっけ？と思ったことをできるだけメモに取りました。

振り返り用にダラダラと用語を羅列しているだけですので、見づらい記事になっております。
Qiitaの記事に書きなれてきたら第3者が見ても見やすい内容に修正していきます。

##現場で覚えた用語集
###CSVファイル
Comma Separated Value（＝カンマ（,）で区切った値）
互換性が高く、Excelのみならずメモ帳、メールソフト、データベースソフトなどほとんどのソフトに取り込んで閲覧、編集することが可能。
**メリット・特徴**
⇒「余計な情報が入っていない分、データの容量が軽いこと」
⇒「テキストデータのためCSVファイルは様々なソフトで開くことができること」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/5f0f6ec6-886d-3c6d-9eb0-b4ad67a29d41.png)

**CSVファイルとExcelファイルとの違い**
>〇拡張子が「.csv」と「.xlsx」である。
〇CSVファイルは他のアプリケーションでも開けるなど汎用性があるが、Excelファイルはできない。
〇ルに色を付けたりグラフを作れる、また関数計算ができたりとExcelファイルのほうが、ただのテキストデータであるCSVファイルに比べて、機能性が高い。

<br>
###Docker
⇒Docker社が提供する「コンテナ型仮想化技術」 を実現するプロダクト
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/65f5d354-5ad0-714e-9ebe-82befbd63722.png)
従来のホスト型仮想化とは異なり、ゲストOSを起動せずに、ホストOSの上に動作しているDocker Engineから**コンテナと呼ばれるミドルウェアの環境構築がされた実行環境を作成し、その中でアプリケーションを動作させる**。
⇒従来のホスト型仮想化よりも圧倒的に軽量に動作するのがコンテナ型仮想化の特徴。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/bc2d7be1-6ee6-767e-08b4-7642fab73d92.png)



<br>
###仮想化
PCやサーバといったマシンにインストールされているOS(ホストOS)の上に、別のマシンを仮想的に立ち上げる事
⇒「パソコンの中に仮想パソコンを起動する」のが仮想化

<br>
###VitualBox
⇒使用しているPCに仮想環境を構築して、他のOSをインストールすることができる仮想化ソフト
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/f2ab7276-afe2-bcce-ee12-53f2e48f3df1.png)
Virtualboxを導入することにより、Mac環境でWindowsやLinuxなど複数のOSを切り替えて使用することが可能になる。
**主な機能**
>・スナップショット：仮想環境の状態を丸ごと保存しておく機能
⇒仮想環境を以前の状態に戻せることができる。
・シームレスモード：ホストOS（使っているOS）とゲストOS（仮想マシンのOS）間で同時並行で、作業を行うことが可能。
⇒OS間で切り替えることなく、あたかも一つのOSで作業をすることができる。
・共有フォルダ：ホストOSとゲストOSで同じファイルを共有することが可能。
⇒共有のフォルダを使用することでお互いにファイルのやり取りができるようになる。


<br>
###VMware
⇒仮想化ソフトのひとつ
　コンピュータの中になんちゃってコンピュータを作ったり、それを動かすときに使うソフトで色んなシリーズがある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/8d37f9e0-52b8-ed7a-0755-7e11d87d558e.png)

>・VMware HA（High Availability）
⇒物理サーバーに障害が発生した場合、自動的にリソースプール内の別の物理サーバー上で仮想マシン（VM）を再起動する。
すべてのアプリケーションでコストパフォーマンスの高い可用性が実現する。
・VMware vMotion
⇒稼働中の仮想マシン（VM）を停止させることなく、別の物理サーバーへ移動できる機能。
ダウンタイムなしのメンテナンスを実施することが可能。
サーバーの負荷に応じて、仮想マシン（VM）を分散させる目的にも利用可能。
・VMware DRS（Distributed Resource Scheduler）
⇒稼働中の仮想マシン（VM）のCPUやメモリの負荷状況を監視し、特定の物理サーバーに負荷が集中した際に自動的に仮想マシン（VM）をリソースが空いている別のサーバーに移動させ、全体の負荷を最適化することができる機能。

<br>
###Azure
⇒Windowsなどの開発・販売を行っているMicrosoft社が提供するクラウドサービス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/a82a87de-7452-042f-f773-44f5f1e8f2d6.png)
>**Azure Active Directory**
⇒クラウド上でサービスを利用する際のID管理とセキュリティ保護を実現するプラットフォーム。
**Azure AI**
⇒専門知識を必要とせずに人工知能（AI）を利用できる。
**Webサービス**
⇒さまざまな言語やフレームワークを利用してWebアプリケーションを作成でき、クラウド上でサービスを運用できる。
**Azure DevOps**
⇒システムの開発から運用までをチームで効率的に作業を進めていくためのツールを提供するサービス。
**Azure Storage**
⇒サービスの運用に必要な、耐久性、可用性、拡張性、信頼性に優れたストレージをクラウド上に提供する。
**コンピューティングサービス**
⇒ユーザが利用している既存のアプリケーションをクラウド環境に移行するサービス
**Azure Blockchain Service**
⇒ブロックチェーンは電子署名を使ってデータを作成し、且つネットワーク間で共有することで、データの不正な改変防止と喪失保護を実現する技術

<br>
###サクラエディタ
⇒Windowsの日本語テキストエディタ。
　テキスト編集だけに特化した高機能でシンプルなソフトウェア。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/90079485-61a8-d920-4dac-b7b104c0850f.png)

<br>
###TortoiseGit
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884151/3da3a624-e006-3914-9d40-14872feed254.png)

Gitをより扱いやすくするために開発されたWindows用ソフトウェア。
無料で扱うことができ、コマンドを打ち込んで実行するという少し初心者にはハードルの高い状態をこのTortoiseGitが解消してくれる。
※Sourcetreeのようなもん。


<br>
###pytest
Pythonでよく用いられる単体テスト（ユニットテスト）を支援するためのモジュール。
テストの作成と実施を効率的に行うことができる。
Pythonの標準環境では存在しないためpipコマンドなどで導入し、テストスクリプトには「import pytest」で読み込む。


<br>
###XML
Extensible Markup Language
文書やデータの意味や構造を記述するためのマークアップ言語の一つ。
マークアップ言語とは、「タグ」と呼ばれる特定の文字列で地の文に情報の意味や構造、装飾などを埋め込んでいく言語のことで、XMLはユーザが独自のタグを指定できることから、マークアップ言語を作成するためのメタ言語とも言われる。

<br>
###リリース（ローンチ）
リリースとは、新しい商品やサービスの開始を発表することを指す。
また、リリースと同じ意味で「ローンチ」という言葉が使われることもある。
ローンチは、その中でも新しいWEBサービスやアプリケーションなど発表する時に使われることが多い

<br>
###スクリプト言語
プログラミング言語の一種で、オペレーティングシステム（OS）やアプリケーションソフトの動作や機能などをプログラムの形で記述できるもの。
人間がコードを読んでもプログラムをある程度理解できるレベルにまで可読性を高め、処理できるようにしたもの。
JavaScript, PHP, Python, Ruby

<br>
###コンパイラ言語
高水準プログラミング言語の分類の一つで、公式の、あるいは主要な実行環境がコンパイラ（compiler）であるような言語のこと。
人が理解できる言語を翻訳し、機械に指示できるようにするための言語。
C言語, C++, C#, Java

##終わりに
今回もただ羅列するだけの内容で申し訳ございません。。。
知らないことが多すぎてキリがないので、継続できる程度でこれからも投稿を続けていきたいと思います。
内容を完全に理解したわけではないですが、**何か思い出すフック**になれば良いと思っております。

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