プログラミングでもなんでも、その界隈に入ったばっかりのころは意味の分からない用語をたくさん聞くと思います。この記事には私がIT関係の勉強をしていく中で気になった単語を書き残していきたいと思います。
スケルトンコード : 言語ごとのお決まりのテンプレ
package main
func main () {
//これがスケルトンコード
}
MVC(Model View Contoroller)モデル : システムを3つに分ける。チームで開発しやすい。
参照 :
https://qiita.com/s_emoto/items/975cc38a3e0de462966a
ステージング : システムを公開する前に、本番環境と同じ環境でシステムをテストすること。
オンプレミス : ソフトや環境を自社で管理・運用すること。
CI/CD (Continuous Integration/Continuous Delivery): 日本語訳は継続的インティグレーション/継続的デリバリー。ソフトウェアの開発手法の一つで、変更があるたびにソフトをテストしておいていつでも本番環境にリリース可能にしておく。主にテストを自動化することで実現する。アジャイルが普及したので小さな変更が頻繁に行われるようになり、その変更によるバグの早期発見に使われている。CIの観点から小さなバグの長期潜伏は多大な悪影響をもたらすのでバグの早期発見は重要である。
DHCP(Dynamic Host Configuration Protocol) : コンピュータにIPを自動割り当てする仕組み。クライアントPCの要求ー>IPの割り当ての順番。(もちろんIPに関することなのでプロトコルはTCP/IPネットワーク)
クラスライブラリ : ライブラリのこと。
ASP.NET (Active Server Pages .NET) : .NET環境のWebサーバーでWebページの送信時に動的にプログラムを実行する仕組み。これによってページ閲覧者のページ送信要求によって違う処理を実行しページに反映させることが可能となる。Webアプリケーションの開発等に用いる。プログラムは.NET実行環境(CLR)で実行できるので、様々なプログラミング言語の豊富な機能を利用できる。
.NET (Microsoft .NET) :
米マイクロソフト(Microsoft)社が推進している、機種やOSによらず同じプログラムを動作させられるソフトウェア実行環境を中心とするシステム基盤。現在はほぼ同社の.NET Frameworkとその互換環境のみを指す。特定のマイクロプロセッサ(CPU/MPU)やコンピュータの設計、オペレーティングシステム(OS)、プログラミング言語などから独立した仮想的な機械語の体系(CIL:Common Intermediate Language/共通中間言語)を策定し、プログラミング言語で記述されたソースコードをこの形式の実行プログラムに変換する。実際にコンピュータ上で動作させるには、.NET Frameworkのような実行環境に実装された、CILを解釈・実行できる仮想的なコンピュータである仮想マシン(VM:Virtual Machine)が機種固有の実行形式プログラム(ネイティブコード)に自動変換して実行する。
.NET向けプログラミング言語で記述されたコンピュータプログラムのソースコードは、一旦CILによる実行形式に変換されて配布される。利用者が実行する段階で、.NET FrameworkなどのCLR(Common Language Runtime:共通動作環境)がそのコンピュータのネイティブコードに変換して実行する。CILは開発言語に依存せず、開発言語からCILへのコンパイラさえ用意すれば、どのような言語でもCIL形式のプログラムを作成できる。CIL形式の実行ファイルは、CLRが用意されている環境であればコンピュータの機種やOSの種類に依らず同じように実行できる。
ASP : Application Service Providerの略。インターネット上でアプリケーションを利用するサービスやそのサービス提供者のことを指す。
ASP : Active Server Pagesの略。マイクロソフトが開発したウェブページを動的に作成する技術。
WASM : WebAssembly
PaaS (Platform as a Service), SaaS(Software ...), IaaS(Infrastructure ...) : クラウドサービス
PaaS => サーバーとその運用方法まで確立しサービスとして提供する
SaaS => パッケージレベルのソフトウェアをインターネットを通して提供する
IaaS => レンタルサーバーのように
プロキシサーバー : ネットにつなぐときに中継するサーバー
プロトコル : 通信手段
ハードコーディング(hardcoding) : 本来処理ごとにファイルわけした方が良い変数や関数等をmain関数とかに直書きしていくおろかな行為。クッソ見にくくて周りにプログラムを見せた時にバッシングを食らった上に「ヘボプログラマ」とみなされるので注意。
イベントドリブンモデル : 「ボタンがクリックされた」、「別な画面に切り替えた」等の発生したイベントに応じて実行すべきコードを記述するプログラミングモデルを「イベントドリブンモデル(イベント駆動モデル)」という
イベントハンドラー : イベントを発生したタイミングで実行すべきコードのことをイベントハンドラーという。
FTP (File Transfer Protocol): ファイル転送のために使う接続方法
=>暗号化されていないので傍受可能
FTPS : FTPSにSSL/TLSによる暗号化機能を実装した規格
SFTP : SSHによる暗号化を行う(現在のファイル転送の標準)
SCP : SFTPより高速だが安定しない
SSL (Secure Sockets Layer)/TLS (Transport Layer Security)
通信の暗号化を共通鍵暗号方式と公開鍵暗号方式の両方を使って行い、データの通信による漏洩を防ぐ。サイトの運営元の確認をSSL証明書で確認できいるようにする。これによってなりすまし・盗聴・改ざんのリスクを防ぐことができる。これを適用しているサイトはurl欄のところに鍵マークが出る。
SHH (Secure Shell) : リモートコンピューター(ネットワークに接続された機器)と通信するためのプロトコル。
VPS(バーチャル・プライベート・サーバ) : 物理的なサーバーコンピューター内に作られた仮想的なサーバーコンピューター
RPC : Remote Procedure Call(リモートプロシージャコール)。XML遠隔関数呼び出しや遠隔手続き呼び出しと訳される。あるコンピュータからネットワークに接続された他のコンピュータ上でプログラムを呼び出し、実行させるための手法あるいはプロトコルのこと。リモートプロシージャコールを使うと、ネットワークを通じて他のコンピュータに処理を行わせ、その処理結果だけを受け取ることができる。
引用 : 第6回_RPC(Remote Procedure Call)ってなんですか - 沼田的瀬戸際メモ(仮)