辞書
A
Ajax
Webブラウザが持つJavaScript用HTTP通信機能を使って、
Webページのリロードを行わずにサーバーとXMLデータをやり取りする処理
AngularJS
JavaScript用WEBアプリケーションフレームワーク
MV*フレームワークのに分類される
※MV*=MVC等の設計パターンを採用しているフレームワーク
Model、View、と何かという意味。
AngularJS自身はModel、View、Whateverとの事。
テキストボックスに文字を入力すると、
自動で下部のリストがフィルタリングされる機能等、
入力に応じて画面表示が変わる様な処理が得意。
なお、アニメーション等は別。
API
ApplicationProgrammingInterface
アプリケーションから、
・OSの機能
・プログラム言語で作成されたライブラリ
・Webサービス
を利用するための仕様・規約
C
C#.NET
フレームワーク:ASP.NETを使用し、
言語:C# で書かれたプログラム
なお、
フレームワーク:ASP.NETを使用し、
言語:VB.NET で書かれたプログラムもASP.NETと呼ぶ。
CDN
Contents Delivery Network
コンテンツ配信網
アクセス集中による遅延を防ぐ為にサーバを地理的・ハード的に複数分散させた上でアクセス分散させ、最適な経路で今テンツを提供する仕組み
CGI
WEBサーバー上で動作するアプリケーション。
Perlで作られる事が多かった。
WEBから呼ばれる度に起動するので動きが重いという欠点がある。
この為、WEBからセッションを維持したまま何度も呼ばれても軽く動作するポストCGI技術が多く生まれる。
JAVAサーブレット等
CMS
ContentsManagementSystem
Webサイトを作成する際にHTML等を書かなくても文章等を挿入するだけでレイアウト含めてある程度自由にデザインできるツール
WordPress
ECCube
等。
CVS
Concurrent Versions System
バージョン管理システム
構成管理システム
SVN、VSS等
D
DirectX
Windowsにおけるマルチメディア分野のAPI
・DirectDraw/Direct3D(2/3次元グラフィックス)
・DirectInput(入力機器)
・DirectPlay(ネットワーク対戦ゲーム)
・DirectShow(大容量マルチメディアデータのストリーミング再生)
等がある。
dxdiag
DirectXのバージョン確認ツール
「ファイル名を指定して実行」から起動できる。
F
FastCGI
(ファストシージーアイ)
CGIプログラムのプロセスをメモリ上に保持する事で処理を高速化する仕様
Apache、IIS等の主要Webサーバーで動作サポートされている。
FrontPage Server Extensions
(FPSE)
Windows系のWebサーバー拡張機能
通常はデフォルトでインストールされる(IISに含まれる)。
Microsoft製Webページ制作ソフト「FrontPage」とは別もの。
H
Hosts
DNSサーバーの代理
IPとドメインの対応表ファイル
DNSサーバの応答よりも優先される
Windowsの場合
C:\Windows\System32\drivers\etc\hosts
/etc/hosts
HULFT
データ転送ツール
異なるOS間でもデータ通信が可能
通信の自動化、スケジュール化
Hyper-V
Microsoftが提供する仮想化技術。
Windos系OSに加え、Linux系も動作可能。
ホスト型より高速に動作する。
WindowsServer2008以降に搭載。
PCでの利用の場合は以下を使用
XP~7:VirtualPC
8:クライアントHyper-V
仮想OSをマウント起動する為の仮想ディスクの拡張子はvhd。
VMware、VirtualBoxでも利用可能。
J
JAVA重要用語
「JAVA 重要用語」参照
JBoss
元々オープンソースのWEBアプリケーションサーバー
現在はWildFly
商用版はBossEnterpriseApplicationPlatform
JavaEE準拠
L
LAMP
WEBアプリの構築に適したオープンソースソフトウェア群
・Linux
・Apache
・MySQL
・Perl/PHP/Python
M
MongoDB
NoSQLの一種
C++で記述されているドキュメントベースのDB
MTP
Media Transfer Protocol
PTPを拡張したプロトコル
動画や音楽ファイルを転送する目的で設計されている。
MVCアーキテクチャ
Model-View-Controlと処理の種類に応じてソースを分ける事で、
可読性を高める開発手法。
Java:JAVAサーブレット、JSP、JavaBeans
MVCアーキテクチャに基づいた技術。
Model:JavaBeans
View:jsp
Control:サーブレット
N
Node.js
JavaScriptでサーバーサイド処理を実装する為のプラットフォーム。
Chrome用。
NoSQL
非・関係モデル(リレーショナルモデル)のDBの総称
SQLを用いない。
大規模、複数のサーバーにまたがり、多量のトランザクションが発生する場合に性能が低下するという関係モデルDBの欠点がない。
MongoDB等
NuGet
VisualStudioから利用できるパッケージ・マネージャ
インターネットからモジュールをダウンロード&組み込むツール
対象モジュールに関連する全てのモジュールを最新版に組み込む。
PerlにおけるCPAN
インストール方法(1):ManageNuGetPackage
対象を検索&選択して組み込み
インストール方法(2):PackageManagerConsole
PowerShellベースのコマンドラインで操作
O
O/Rマッピング
マッピング=対応付け
オブジェクト(プログラム内変数)と、リレーショナルデータベースをマッピングする。
通常、JSON、XMLファイル等、外部にマッピング定義ファイルを置き、
・オブジェクトの属性名
・テーブルの列名
を設定することによって自動的にマッピング処理を行う様なツールを用いる。
=O/Rマッパー
P
PTP
Picture Transfer Protocol
デバイスドライバー無しでUSBを介してデジタルカメラからPCへ画像を転送できる
R
REST
REpresentational State Transfer
WEBにおける通信の設計思想
・ネットワーク上のコンテンツ(リソース)が一意なURLで表される
・リソース(URL)に対してGET、POST、PUT、DELETEでリクエストを送信でき、
レスポンスをXML、JSON等で受信できる
システムの状態やセッションに依存せず、
同じURLやパラメータの組み合わせからは常に同じ結果が返される
不特定多数を対象にした、入力パラメータが少ない情報配信や検索サービス等での利用に向く
RESTful
REST形式で実装されたシステム
パラメータを指定して特定のURLにHTTPアクセスすると、
XMLメッセージを受信する様なシステムおよび呼び出しインターフェース
REST API
REST形式で設計されたAPI
RFC
RequestForComment
インターネット上に公開されているIP、TCP、HTTP等のプロトコルやインターネット関連技術の仕様文書
ここの内容が標準とされる。
S
SVF
帳票作成・出力ツール
Java、.NET、ERPから出力可能。
EXCELファイル、プリンター、PDF、画像等でも出力できる。
EXCELファイルの場合、原本に変数を定義し、プログラムから定義された変数の場所に値を出力する。
U
UUID
UniversallyUniqueIDentifier
世界中で重複しない値
セッションID等に利用する。
W
WEBアプリケーション
WEB上で動作するソフトウェア
メリット
・ユーザーはブラウザだけで操作可能
インストール作業が不要
・ブラウザの操作は容易
(複雑な操作はできない)
・開発側はサーバーにソフトウェアをリリースするだけで良い
一括管理可能
デメリット
・ブラウザのバージョンが数種類ある
・ブラウザのバージョンが変わる場合がある
・ブラウザに複雑な機能を持たせるのが難しい
WAF
Web Application Framework
=WEBフレームワーク
WEBアプリケーションの開発をサポートするソフトウェア
言語によって多くの種類が開発され利用されている。
・Laravel、CakePHP(PHP)
・Play、Struts(Java)
・Ruby on Rails(Ruby)
・Mojolicios(Perl)
・ASP.NET Webフォーム、ASP.NET MVC(.NET)
・AngularJS(JavaScript)
Weblogic
BEA System社製アプリケーションサーバ
現在はOracleが運営
JavaEE準拠
クライアントアプリケーションからのリクエストに応じて、
事前に準備しておいたアプリケーションの実行結果をレスポンスする
Tomcatと比較すると有償でOracleのサポートが付く
WordPress
「WordPress 重要用語」参照
WSDL
「SOAP通信」参照
X
XAMPP
発音:ザンプ2
Webサーバーソフトウェア:Apache
JAVAプラットフォーム:JAVA 重要用語/Tomcat
DB:MySQL
開発言語(PHP、Perl)
等をまとめたパッケージ
あ
アーカイブ
別名:書庫
ファイルのまとめ
圧縮されているとは限らない
インタープリタ
変換されたマシン語をCPUが直接処理するコンパイラ方式と違い、
別途インストールされたソフトウェア(インタープリタ)が言語のまま1行ずつ解釈しながら実行する方式
ハードウェアベンダーにより、インタープリタはマシン毎に動作保証されている為、互換性は高い。
・コンパイラ言語に比較して遅い
・高度な処理ができない
・ソースコードのまま保存されるのでセキュリティが低い
等の問題がある
Perl、php、JavaScript等のスクリプト言語
MS-Dos、Unixシェル等のバッチ言語
永続化
ファイルやデータ等、Javaからオブジェクトとして操作した対象がJavaプログラム終了後も残る事=実データとして反映される事
エクストリーム・プログラミング
コーディング、テスト、リファクタリングを短期サイクルで行う開発手法
継続的インテグレーション、テスト駆動開発、ペアプログラミングを用いて開発を行う事を前提としている。
エンコード
文字を別の文字(コード)に変換する事。符号化
→デコード
例
< ⇒ <
> ⇒ >
HTML内に「>」と書くと「<」に変換されてしまう。
HTML上に文字列として「>」と出力したい場合は、
「&」の部分を「&」に置き換え「&lt;」と書く。
URIエンコード
(URIエスケープ、URLエンコード、URLエスケープ)
本来URIで表記できない文字を「%xx」形式で16進数の文字コードとして表現する記法
オンプレミス
自社・個人で用意するインフラ環境
クラウドの反対語
か
仮想化
「仮想化技術」参照
キャメル式
キャメルケース
←→スネーク式
system development
↓
SystemDevelopment
コンテキスト
英訳:文脈
コンピューターの世界ではプログラムの環境、設定等が書かれた文書を指す(事が多い)。
関数であれば、引数の型や継承関係等。
さ
三層アーキテクチャ
二層型
クライアント(プログラム)
↑ ↓
サーバー(データ)
※プログラムを変更する場合、全ユーザーのファイルを更新しなければならない
三層型
(1)プレゼンテーション層
(2)アプリケーション層
(3)データベース層
からなるシステム構成
ほぼWEBシステムで用いられる
クライアント、サーバシステムの発展形
(1)プレゼンテーション層
=ユーザインターフェイス層
=Webサーバ層
・ユーザ操作をアプリケーション層へ渡す。
・アプリケーション層の処理結果を表示
(2)アプリケーション層
=ビジネスロジック層
プレゼンテーション層から受けたリクエストをもとに、
・バックエンドで動作するプログラム(Java等)を実行
・データベース層と連携
(3)データベース層
各層にWEB技術を用いるのが主流
(1)Apache、Html、Jsp
(2)Tomcat、Servlet
(3)DBMS
全モジュールをサーバ側で管理できるので変更に強い。
シングルサインオン
一度のユーザ認証処理によって複数のソフトウェアシステムが利用可能になる特性。
ユーザはシステムごとにユーザIDとパスワードの組を入力する必要がなくなる。
パスワードのメモ書き、統一等、セキュリティ上の危険を防ぐ
複数のシステムから平行して利用される認証基盤を用意し、
利用者は一度の認証作業で連携するすべてのシステムにアクセスできるようにする。
統合された「唯一の」IDには非常に強力なアクセス権が与えられることになるため、
2段階認証やワンタイムパスワードなど、
単純なパスワード認証よりも厳密な認証を求めるようにする
スクラム開発
アジャイル開発で多く用いられるプロジェクトマネジメント手法
エクストリームプログラミングを補完する為に用いられる事が多い。
・デイリースクラム
毎朝の日次ミーティング
・バックログ
作業項目
・プロダクトバックログ
優先順位付きバックログ
顧客視点で何の為にそれが必要か?をすぐに思い出せる様にしておく。
(仕様変更、折衝時、開発、テスト時に必要)
・スプリントバックログ
1~4週間)の作業バックログ計画
スプリントバックログはチームで責任を持つ。
スケールアップ
CPU、ストレージ等サーバーの機能増強
(垂直スケール)
スケールアウト
サーバー台数の増加による機能増強
(水平スケール)
スタブ
複数の意味あり
(1)テストモジュール
大規模システム開発において、
プログラム → 別プログラム
という構成だが、別プログラムが未完成である場合に、
プログラム → スタブ
という風に別プログラムと同じ結果を返す為の代替プログラム
別プログラムが完成した後、スタブと入れ替えられる。
この場合、特に以下の様な分類方法もある。
呼び出す側(上位)代替プログラム:ドライバ
呼び出される側(下位)代替プログラム:スタブ
(2)別のプログラムを呼び出す際の仲介プログラム
この場合は(1)の例と違って上位
例:
・DLL呼び出し時のリンクプログラム
・別サーバーのサービス(プログラム)を利用する際の仲介プログラム
ステージング
本番リリース前の確認行程
動作検証の為の本番環境と同一または近い環境をステージング環境
スネーク式
スネークケース
←→キャメル式
system development
↓
system_development
スループット
単位時間あたりの処理能力
・コンピュータが単位時間内に処理できる命令の数
・通信回線の単位時間あたりの実効転送量
総合システム運用管理ツール
大きく定義して以下の3つの機能を有するソフトウェア。
日立:JP1のシェアが大きい。
(1)ユーザー管理
ユーザー毎に他ホストに対する操作権限を詳細に管理。
異なるOSが混在する環境での管理が可能。
(2)サービス自動起動
ジョブ管理システムとして様々なプロセスサービスやジョブの起動順序を定義・実行する。
仮想環境上、クラウド上のジョブ操作等の複雑な定義が可能。
(3)イベントの収集・管理
操作ログの収集、解析
た
デザインパターン
再利用しやすいクラスを設計する為の指針
ダンプ
ファイルやメモリの内容を記録、あるいは表示すること。
昔はプログラムをデバッグモードで起動し、動作を途中で止めて変数の中身を見る・・・という様な事ができなかった。
バグが発生した後のメモリの状態をテキストファイルに出力し、そこから変数の状態を推理するという様なデバッグが行われていた。
今でもメモリダンプから解析するデバッグ手法もある。
UNIXではプログラム不正終了時にはメモリがダンプされる。
また、DBの内容等、プログラム完成後の証拠として出力する事もある。
デコード
符号化されたデータを復元すること。
→エンコード
手続き型・非手続き型言語
手続き型言語
BASIC、JAVA等の一般的なプログラミング言語
1命令→2命令と複数の命令(手続き)を踏んで結果を取得する。
非手続き型言語
SQL:1命令=1結果で完結する。
1命令目と2命令目に関連性は無い。
ドライバ
開発時の代替プログラム
「スタブ」参照
は
ハウジング
ユーザが所有しているサーバやネットワーク機器をデータセンター内に設置・運用するサービス
ファイアウォール
WAF(Web Application Firewall)
Webアプリケーションの前面やネットワークに配置し、脆弱性を悪用した攻撃を検出・低減する対策
ネットワークレベルでの対策
通信において送信元情報と送信先情報(IPアドレス、ポート番号ほか)を元にして、アクセスを制限するソフトウェアおよびハードウェア
フレームワーク
一からプログラムを書く手間を省ける様に定めたルールと関数の集まり
フロントエンド・バックエンド
例:WEBで商品を購入するシステムの場合
(3)データベース
↑ ↓
(2)WEBデータ(ウェブサーバー)
↑ ↓
(1)ブラウザ
↑ ↓
ユーザー
ユーザーから見て最も前の(1)ブラウザがフロントエンド。
最も後ろの(3)データベースがバックエンド
例:企業LANでファイルサーバーのデータを元にクライアントPCのエクセルで一覧を表示するシステムの場合
(2)データ(ファイルサーバー)
↑ ↓
(1)エクセル
↑ ↓
ユーザー
ユーザーから見て最も前の(1)エクセルがフロントエンド。
最も後ろの(2)ファイルサーバーがバックエンド
WEBシステムの開発においては、
上記の様にDBやブラウザ等のハード、ソフトを省いて
~~~~~
↑ ↓
(2)プログラミング言語
↑ ↓
(1)WEBアプリケーションフレームワーク
↑ ↓
~~~~~
だけで考え、
フロントエンドを(1)WEBアプリケーションフレームワーク
バックエンドを(2)プログラミング言語
と表現する
フロントエンドでは、ログイン管理、セキュリティ管理、ユーザー管理、データベース管理等をフレームワークにデフォルトで備わっている機能を使い、
DB連携等システム固有のバックエンド処理をPHP、JAVA等でプログラミングする。
以下、言語とフレームワークの組み合わせ
・Perl-無し(またはCatalyst)
・PHP-CakePHP
・Ruby-Rails
ホスティング
サーバー保有業者がウェブサービス等を預かり、運用するサービス。
通常、サーバを複数のユーザで共有する
ま
マイグレーション
システム、データ等を新しい環境に入れ替える事
・OS、ソフトウェアのバージョンアップ
・古いプログラミング言語、環境で開発されたソフトウェアを別の言語、環境で開発し直す事
・異なるデータベース間のデータ移行
マイクロサービスアーキテクチャ
アーキテクチャ | 内容 |
---|---|
マイクロサービスアーキテクチャ | 1サービス1サーバ |
モノシリックアーキテクチャ | 複数サービス1サーバモノシリック:一体 |
マッピング
データベースとオブジェクトを対応させ、表や列をからオブジェクトとして操作する技術
メタ
meta:上位の
データそのものに対して、データについてのデータ(関連情報、詳細情報、要約等)
例:データ=書籍情報、メタデータ:著者、出版日、価格等
例:データ=htmlのbody部分、メタデータ:htmlのheader
メタ言語
言語を定義する言語
XML:XMLは対象のプログラム言語を定義する
SASS、LESS:CSSを定義(作成)する
モーダル
Window表示時に別の作業を行えない様な状態
モードレス
Window表示時に自由に別の作業を行える様な状態
モノシリックアーキテクチャ
「マイクロサービスアーキテクチャ」参照
ら
ライブラリアン
司書、図書館員
構成管理ツール(SVN等)を使ったソースコード、ドキュメント等の管理
又は管理者
ラッパー
wrapper(包む)
汎用的に使えるように多くの引数を持つ関数があるとする。
それを特定の目的の為だけに、引数には固定値を渡す関数を別に作ると特定の目的の時だけは便利。
この特定の目的の為だけに作られた関数の事。
逆に特定の目的の為に作られた関数に対して、
ちょっと違った目的に使う為に、引数を追加し、別の機能を持たせる場合にラッパーを作る場合もある。
多言語で作られたDLLを別言語から使用する場合等
ランタイム
実行時に必要なライブラリ等のソフトウェア部品
・ランタイムライブラリ
・ランタイムパッケージ
・ランタイム
等で呼ばれる
リモートプロシージャコール
RPC
Remote Procedure Call
ネットワーク接続された別コンピュータ上でプログラムを呼び出し 実行させる手法
またはその為のプロトコル
RPCを実行した場合、結果だけを受け取る
←→LPC
リポジトリ
=repository:貯蔵庫
ソフトウェアの登録・管理場所
通常、ネットワーク上の公開ディレクトリをライブラリとし、
そこをリポジトリとして登録した人が必要なソフトウェアをダウンロードして利用する。
ループバックアドレス
自身のIPアドレスを表す数字
127.0.0.1
localhost
と同じ
ローカルプロシージャコール
LPC
Local Procedure Call
ローカルコンピュータ上のプログラムを実行する手法
←→RPC