ボトルネック(bottleneck)とは直訳で「瓶の首」で、大きな瓶でも首が細いと流れ出る水量が少ないことから、大きな流れを制限している事や物を指す。

特にITにおいてはインターネットの速度やプログラミングについてよく使用される。
インターネットについては、速度低下の原因となっている機器をボトルネックという。元の通信速度が速くとも、途中に速度上限が低い機器がはいることで、その上限で頭打ちになってしまう。

また、システム等のプログラムでも同様に、全体のパフォーマンスや処理速度を落としている部分のことを指す。
ボトルネックを解消することで全体の速度が向上し、パフォーマンスの改善につながる。
逆に言うと、ボトルネックが存在している限り、その部分以外の改善は結果を伴いにくいのが特徴である。
また、ボトルネックとは、全体の中で一番パフォーマンスが悪い点という相対的な面があるため、一つのボトルネックを解消すれば、別の部分がボトルネックになるとも考えられる。

他にも様々な場面において、全体のパフォーマンスを下げる要因として使用される。
日常では略して「ネック」とも。
ベンチマーク(benchmark)とは、本来、測量における水準点のことを指す。転じて、様々な分野で比較や計測の基準となる物事のことを示す。

例えば、金融、投資の分野においては指標銘柄のことをベンチマークとする。また、自動車業界では、目指すべき目標の基準点として考えられており、完成度の高い車を「ベンチマーク」と呼ぶ。

特にIT分野では、ハードウェアやソフトウェアのパフォーマンスを測る事をベンチマークテストといい、それに使用するプログラム自体をベンチマークと呼称することもある。主に特定の処理を実行し、それにかかった時間を計測する。
ベンチマークテストに使用するツールとしてはプログラムからアプリケーションが存在しており、中には特定の製品に特化したものもある。
バッファオーバーフロー(buffer overflow)とは、メモリ領域であるバッファに対してそれ以上のデータが入力されることで発生するバグやその状態のこと。バッファオーバーランともいう。

システム等において、プログラムが確保しているメモリ領域をバッファと呼ぶ。このバッファの上限を超えたデータが入力・送信されることで、本来意図していないところにデータが入り込み、別の正しいデータを上書きしてしまう。
これによってシステムが誤動作を起こしたり、悪意のあるプログラムを入力されることで、ウイルスが侵入、ファイルの削除、情報漏えいなどが起こる可能性があるため、大きなセキュリティホールとなる。

これらを防ぐためには、入力データの量をチェックする処理や関数を使用する事、不正な引数であれば処理を行わないようにすることが効果的である。
バージョン管理とは、特定のファイルに対しての変更などを管理すること。
主にソフトウェアのソースコードの管理をする場合に用いられる。

ファイルを編集する際、編集する前に戻したい、また人と協業する必要がある場合が出てくることがしばしばある。
この場合、毎回コピー等をとっておくことも可能であるが、変更したところのみを戻したい場合はその管理が難しく、間違いも起きやすい。
これらのバージョン管理を確実に、簡易的に行うためにバージョン管理システムが利用されている。

バージョン管理システムでは多くの場合、ファイルの作成・変更日時、変更点などを保存し、変更後も任意の状態のファイルに戻すことができる。また、複数人と協業する場合は、バージョン管理を行うことで変更点の競合を防いだり、最新ファイルの管理を行うことができる。管理システムにおいてそれらファイルの変更点はデーターベースに保持されており、これをリポジトリと呼ぶ。

主なバージョン管理システムとしてはsubversion、Gitが挙げられる。
グリッドとは直訳で格子のこと。そこから派生して様々な意味を持つ。

ITにおいてはグリッド・コンピューティングを指す事がある。
ネットワーク上のCPUやハードディスクなどの資源を結びつけ、一つの大規模なコンピュータシステムとして稼働させることである。多くのコンピュータを並列的に結び付けることからグリッドと呼ばれる。

また、WEBデザイン分野においてはグリッドシステム、もしくはグリッドデザインのことを指す。
美しいものは格子状に配置されているという考え方のレイアウト方法で、画面上に格子のガイドラインを見立てて、それに合わせてコンテンツを配置していく。
コンテンツの関係性が整理された見やすいデザインとして代表的な手法・考え方である。
ワークフロー(workflow)とは、企業において、複数の人や機械を介して行われる一連の作業や業務の流れのこと。
一般的にはワークフロー自体を図式化したものを指す。

ワークフローで表現されるものは、ある業務に対して、誰が(あるいは何が)どの時点でどのような作業を行うか、といった反復可能な業務処理の手順である。図式化する場合は各作業内容や分担を明記することで視覚的に全体の流れを理解しやすくなり、処理の全体像や問題点を把握することができる。

また、事務手続きにおける申請書等を電子化し、きめられた流れに沿って決裁を自動的に行うシステムのことをワークフローシステムと呼ぶ。
Ruby on Rails (ルビーオンレイルズ)とは、Rubyで構築されたWEBアプリケーションフレームワークの一つ。Rails、RoRと略される。
2004年に最初のバージョンが公開されて以来、WEBアプリケーション開発に多く利用されている。

「同じことを繰り返さない(DRY:Don’t Repeat Yourself)」
「設定より規約(CoC:Convention over Configuration)」を基本理念に掲げている。
DRYは関連性のあるコードをまとめたり、定義などの作業を一回で済ませるようにすること、
CoCとは規約に従うことで設定の手間を省き、開発者がより中身のロジックに集中できるようにする、といった意味である。

WEBアプリケーション開発で利用されることが多い機能や構造を提供しており、
利用することによって開発がシンプルになり、生産性や効率があがることが期待される。
Rubyとはプログラミング言語のひとつ。オブジェクト指向のスクリプト言語であり、WEBアプリケーションの作成に利用されることが多い。
日本人である、Matzこと まつもとゆきひろ氏 によって設計され、1995年に発表された。
Rubyという名称は、競合言語であるPerlが宝石の真珠「Pearl」と同じ発音であることから、まつもと氏の同僚の7月の誕生石「Ruby」から名づけられた。

Perl、Smalltalk、Adaなどが参考にされており、完全なオブジェクト指向である。「enjoy programming」を設計思想に挙げており、シンプルでストレスなくプログラミングできる点に最も重点が置かれている。構文の自由度が高く、記述量が比較的少なく済むことが特徴。

使用されている著名なサイトには「cookpad」や「CrowdWorks」が挙げられる。

フレームワークである ruby on rails が多く利用されており、Rubyの普及の一助となっている。
リプレースとは、直訳で置換する、置き換える、後を継ぐといった意味。

IT分野においては特に、既存のハードウェアやシステムなどのソフトウェアを、新しいものに取り換えることや部分的に入れ替えること、代替的な別のものに変更することを指す。
この場合、機能的な面では同等以上のものに変更するといったニュアンスが強い。

リプレイスとも。
リッチクライアントとは、WEBアプリケーション形態の一種で、クライアントにおける表現力や操作性が豊かなソフトウェアのこと。

WEBアプリケーションでは従来、処理をサーバー側が担い、クライアントでは数値の入力が主な役目であった。アプリケーションの配布が容易であることから普及していたが、HTMLの技術が基本となるため制約が多く表現の限界がある。
対してクライアント・サーバーシステムは操作性・表現力が豊かであったが、クライアントへの導入に手間がかかる点がネックであった。

これら二つのそれぞれのメリットを融合させたのがリッチクライアントである。クライアントにて処理や画面の生成を行うことで、ユーザーの操作に対する反応がよく、使い勝手のよいアプリケーションを実現する。
クライアント側に実行環境をインストールすることが多く、配布にも手間がかからない。

リッチクライアントには決まった定義はされていないが、一般的に操作性や表現力が高く、初期導入・配布が容易である点が主な特徴とされている。

主なリッチクライアントとしてはFlash、Ajax、Flex等が挙げられる。

対してサーバーサイドプログラムのみを用いたものをシンククライアントとよぶ。
MySQLとは、関係データーベース管理システム(RDBMS)の一つ。MySQL ABという企業によって開発されていたが、現在はオラクル社が所有する。1995年に初版が発表された。

オープンソースでフリー版と商用版のデュアルライセンスである。利用にあたっての費用が比較的安く済むこと等から、RDBMSの中では世界では約8割、日本においては約6割のシェア率を誇る、一番利用されているデータベース管理システムといえる。

大量のデータを高速で処理することが可能であり、Yahoo!やGoogleといったユーザーが多いサイトでも利用されている。JavaやPHPで呼び出すことが容易かつ、大方の環境で動作することから非常に汎用性が高い。
サーバー構築環境の際には「Linux」「Apache」「PHP」とセットで使用されることが多く、これらはそれぞれの頭文字をとって「LAMP環境」と呼ばれる。
ユースケース(use case)とは、システムにおける活用事例のこと。システムを利用するにあたって、誰が、いつ、何をして、システムが何を行うか、等のシステムに関する考えられる事例のことである。

これらを図式化したものはユースケース図と呼ばれる。決まった書式はないが、一般的には、システムを利用する人間や外部システムである「アクター」と、使用する事例である「ユースケース」を線で結んで関連を表現する。シンプルな構成であるが、図式化することによりそのシステムが利用者の中でどのような役目を担っているのかが視覚的に表現できる。
このような図以外にも、それぞれを文字として書き出して表にする場合もある。
ユーザビリティ(usability)とは、製品などの使いやすさ、使い勝手の意味。
ユーザビリティが高い・低い、もしくは良い・悪い といった表現をする。

国際標準化機構(ISO)の ISO 9241-11 において、「特定の利用状況において、特定のユーザによって、ある製品が、指定された目標を達成するために用いられる際の、有効さ、効率、ユーザの満足度の度合い」と定義されている。これにおいて、ユーザビリティとは、ユーザー全員にとっての使い勝手を追及するものではなく、想定したある状況下の決まったユーザーにとっての使いやすさであるといえる。

ユーザビリティが高いか低いかは
・有効さ ・効率 ・満足度
の指標で判断される。
モックアップ(mockup)とは製品等の外観、デザインを似せた模型を作成する事、もしくはそれ自体。直訳で「模型」の意味。

よく作られるのは携帯端末等の家電製品である。店頭でデザインと大きさ、重さを消費者に伝える主な手段としてモックアップが作成される。

また、アプリやウェブサイトの開発において、それらの動的な部分を省いたデザイン等の視覚的な部分を試作することを指す。流れとしてはワイヤーフレームの次に作成されることが多く、完成に近いイメージを作成し検討、問題点の洗い出しを行うことに使用される。
メモリリーク(memory leak)とはプログラムのバグの一つで、使用していないメモリを開放することなく確保し続けてしまう現象のこと。leakは直訳で「漏れ出す」の意味。

通常ソフトウェアなどは動作にあたって必要なメモリを確保し、使用後は解放する。このプロセスの最後のメモリの解放作業がプログラムの記述忘れ等によって行われず、必要メモリが膨らみ、他の機能やソフトを圧迫すること。結果コンピュータ自体のパフォーマンスを著しく低下させ、場合によっては機能停止に陥る。

一時的なプログラムではそれ自体を終了することによってメモリが解放されるのでリークは解消されるが、常駐プログラムやサーバソフトウェアの場合は空き領域を圧迫する原因になりうる。また、OS自体にメモリリークが発生した場合は再起動にて回復することとなる。
MACアドレスとはネットワークに接続する機器を識別するために割り当てられたアドレスのこと。物理アドレスとも呼ばれる。

コンピュータ、スマートフォン、ルーター、ハブなど各種機器に製造段階で割り当てられる。0~9、A~Fを合わせた16進数で「A0:62:3A:4B:B9:35」のように表現される。最初の6桁 (例でいうとA0:62:3A) はメーカーを表すベンダーID、次の2桁が機種ID、最後の4桁がシリアルIDとなっている。

MACアドレスは重複することなく割り振られており、変更は可能ではあるが基本的に行うことはない。それぞれの機器を認識することに利用され、通信の際の相互の機器の認識・送付先の確認、ルーターの使用可能機器の登録などに使用される。
マスタメンテとはマスターメンテナンスの略語で、データ処理における基本的な情報をメンテナンスすること。データベースについて使用されることが多い。

データベースには主に処理に利用したり参照されることが主なマスターファイルと、更新されることが主なトランザクションファイルが存在する。この、基本的に変更されることが少ないマスターファイル内のデータを更新する作業のことである。

例えば企業内の従業員のデータをマスターデータとした場合、
新しく入社した従業員のデータを新しく登録する、既存の社員の住所データを変更する、退職した社員のデータを消去する、といったデータを最新のものに整える作業のことがマスタメンテである。
方式設計はシステム開発において設計段階の過程。アーキテクチャ設計ともいう。

システム開発は一般的に要件定義、外部設計、内部設計、プログラミング、テストの流れで進められていくことが多い。
方式設計はこのうちの「外部設計」の最初のフェーズにあたり、要件定義で決まったシステムの要件を基に、どこまでをシステムが行い、どこを人の手で行うかといったシステムの構造と実装方針を定める。システムが行う範囲が決まれば、機能をどうサブシステムに割り振っていくかを決定し、サブシステム間のインターフェースを定義する。

上流工程であり、全体の構造を決定する過程であるのでシステムの基盤となる。
保守契約とは製品の不具合や故障が発生した時に専門的な対応をとることを約束する契約のこと。メンテナンス契約とも。

ハードウェアやソフトウェアのサービスを使用していく中で、その故障や不具合を使用している側が修正することは難しいことが多い。そういった場合に、専門の技術者による修理などの対応を受けることができる。
業務用コピー機などの業界で多く利用されている。

また、WEB制作関連業務においての保守契約では、期間を定めて提供したシステムの修正やアップデート、ホームページであれば更新作業を行う内容であることが多い。
保守契約書という書面を取り交わし、どの業務が「保守作業」にあたるのかを明確に区別することが望ましい。
負荷テストとは、システム等のソフトウェアに対して高い負荷をかけ、想定される範囲内で正常に動作するか確認するテストである。ストレステストとも呼ぶ。

開発時や単体・結合テストではみつけられない実際の稼働時におきる不具合を検知するため、実際の業務や利用を想定した疑似的なアクセスを発生させる。
また、意図的に予想されるよりも高い負荷をかけて、どの時点からシステムに停滞やレスポンスの低下などの影響が発生するのかを確認することも目的とされる。

負荷テスト用のツールを利用し、何秒中に何回リクエストを送るか等の設定を行い結果を検証する。応答時間やスループット、エラーの確認が行われ、それに応じてメモリ等のリソースの調整を行う。
排他制御とは、データベースやファイルに対する書き込み処理を制御すること。

複数の編集者並びに利用者がある情報を同時に書き込み・編集した場合、そのデーターの整合性が失われる可能性がある。それを防ぐために一方が更新を行う際は他方は更新が行えないようにすることを排他制御という。
主に、データの参照や読み取りは可能な共有ロックと、読み取りも書き込みもロックする占有ロックがある。
排他制御を行うことで、例えばECサイトで複数ユーザーに注文確定処理を同時に行われることを防ぎ、定めた在庫以上に注文を受け付けないようにすることができる。

なお、複数ファイルのロックを行っている際、アクセスしているユーザーが互いにロックしているデータの解除待ちになってしまうことをデッドロックと呼ぶ。システム設計上の欠陥と考えられ、処理が停止してしまう。
トランザクション(transaction)とは、コンピュータにおいて切り離しのできない複数の情報の単位のこと。

主にデーターベースに対して複数の情報更新や処理を行う場合、一連の流れをセットとして取扱う処理を「トランザクション処理」という。たとえば決済の処理では申し込み・申し込み確定処理・決済処理などが一連の流れとして行われ、このうちどれかが欠けてしまってはいけない。このような不可分な一連の処理を指す。
トランザクション処理にはその信頼性を保証するために「ACID(アシッド)特性」と呼ばれる備えるべき特性が4つ定められている。

1.Atomicity(原子性)…一連の処理の実行は全て行われるか全く行われないかの二択であることを保証する特性。途中で中断した場合、それは全て実行されなかったことになる。

2.Consistency(一貫性)…処理の開始前後の整合性を満たすことを保証する。処理によって整合性が保たれない・矛盾が生じるトランザクション処理は中断される。

3.Isolation(独立性)…トランザクション処理の中の過程が隠ぺいされる特性。

4.Durability(永続性)…完了したトランザクション処理は永続的で結果が失われないことを保証する。システムに異常があった場合ログを用いて異常発生前まで復旧する。

また、処理を行う複数の情報はひとまとめに「トランザクション・ファイル」とよばれる。
チューニング(tuning)とは同調、調律といった意味であるが、WEBシステム開発においてはシステムの動作を改善するための調整のことを示す。

システムやアプリケーションにおいてのCPU、メモリ等のリソースを無駄なく適切に使用し、スループットやレスポンス等の動作性能の向上を図るために行われる。
一般的には、現時点での性能を測定し、ボトルネックとなっている要因を分析・修正をすることを繰り返す。性能を高め、システムの安定性を得ることが主な目的となる。

ボトルネックをみつけるための方法には、CPUに高負荷をかける、データーベース・ネットワークに対して処理を要求する、ディスクに対する処理を行う という手法が挙げられる。
SOAP(ソープ)とは、XML WEBサービスのための通信規約(プロトコル)の一つ。
Microsoft社やDevelopMentor社などが中心となって開発し、2000年にW3Cが標準規格を勧告した。

データのネゴシエーションと伝送にHTTPやSMTP等のアプリケーション層のプロトコルを使用し、メッセージ部分にXMLを用いて行う。
HTTP等のプロトコルはOSに関わらず存在しているので、これによって異なるコンピュータの異なるOS間でも情報のやりとりが可能になり、ウェブサービスを起動してレスポンスを受け取ることができる。
拡張性、中立性(HTTPなどのどのプロトコル上でも運営が可能)、独立性(プログラミングモデルを選ばない)の三つの特徴を持っている。
スプレッドシートとは表計算ソフトのことである。
一般的に、セルと呼ばれるマス目に数値や文字列、数式を入力し計算やシュミレーション等を行う。
代表的なものとしては、マイクロソフトのExcelが挙げられる。

狭義にはグーグルのGoogle Spreadsheets(グーグル スプレッドシート)のことを示す場合もある。
Google Spreadsheetsはインストール型のExcelに対してブラウザ上で動作するWebアプリケーションのこと。チャット機能も備えており、比較的オンラインでの共有や同時編集に向いているスプレッドシートである。
スループット(throughput)とは、コンピュータ・ネットワーク等において一定の時間の中での処理能力のこと。

アウトプットとインプットの間の時間当たりのデータ量という意味からスループットと表現される。
一般的にはネットワークの通信速度を指す事が多い。無線LAN機器などに「60Mbps」のように表記されており、速度や機器のパフォーマンスの基準とされる。通信機器の場合、総じて近い数値のスループットが推奨されており、途中にスループットが低い機器が入ると全体の速度も低くなる。

コンピュータの処理能力自体や、送信フレームが損失する事のないうちの最大レートの事を指す場合もある。
スタンドアロン(stand alone)とは、環境や他のリソースに関わらず単独で機能するシステムやコンピュータのことである。

直訳では「孤立している」という意味を持ち、その名の通りIT関連のものにおいて単体で動作できる機器や状態を指す。

例えば、スタンドアロンなコンピュータは、ネットワークに接続されていないコンピュータを示す。それ単体でも印刷・演算処理、ファイルの管理などが可能なものであり、昨今のコンピュータは基本的にスタンドアロンでの使用が可能だといえる。
ネットワークなどの外部に接続されていないため、セキュリティが強く、企業内などで機密事項を保存する場合などに用いられる。

システム等のソフトウェアの場合では、他のソフトウェアの機能に依存せずに単体で利用が可能なものを意味し、OSもまたスタンドアロンだと考えることができる。

スタンドアロンの機器の代表例は単体で文字を打ち込み出力できるワープロ等が挙げられる。
サイジング(sizing)とは、システムの要件に合わせてネットワークやサーバー等のリソースの量を見積もることをさす。

システムの運用を開始した後にリソースの補強を行うことは難しくコストもかかるため、前もって負荷とそれに耐えうるリソースの量を見極めることは重要である。特にサーバーに対しての負荷を予想し、サーバーの台数や性能を見積もることをを「サーバーサイジング」と呼ぶ。
また、既存のシステムにおいて、大型コンピュータを小型化するなどして規模を縮小することを「ダウンサイジング」といい、現在では派生して組織の規模を縮小する場合などにも用いられている。
逆に大型のハードウェアに置き換えることを「アップサイジング」と呼ぶ。
クライアントサーバシステムとは、システムの形態の一つである。

動作するにあたって、サーバーとクライアントが相互に作用するシステムの形のこと。クライアントとは、主にユーザーが使用するコンピュータ一つ一つのことで、サーバーは主に処理の部分を担う。
基本的には一つのサーバーに対して複数のクライアントが繋がり、クライアントの要求に対してサーバーが処理を行い結果を返す。返ってきた結果をクライアントが表示をする、というように表示と処理を分担した形である。
クライアントの数の増減にシステムが影響されにくく、サーバー側の変更を行いやすいのがメリットである。
対し、サーバーに負荷がかかりすぎる可能性がある点、ネットワークが不調になるとクライアント側が利用できなくなるのがリスクである。

クライアントサーバシステムに対照的なシステムとしてピアツーピアシステムがあり、こちらは一つ一つのコンピュータが直接繋がり、対等の立場として相互に要求・応答が行われる。
クラス図とは、システム開発において、システムを構成するクラスの関係性を表す図のことである。
クラスとその属性・操作を図として可視化することで、全体の構成の理解を深めることに利用する。

書き方には一定のルールがあり、基本的にそれにのっとって作成する。
まず、クラスを四角形として表現する。
その四角形の中に・クラス名・属性(プロパティ)・操作(メソッド)を記述し、それぞれの名称を記載する。
このうち属性と操作についての記述は任意とされており、属性であればその型や初期値、操作であれば戻り値や引数を記述することもある。また、それぞれの可視性を +(public)、 -(private)、 #(protected)、 ~(package) で表現し、名称の前に記載する。

クラスの相互の関係は線で四角形を結びつけることで表現する。
関係性の例としては、関連、集約、コンポジション、依存、汎化、実現等があり、それぞれ線の形も決められたものである。

こうしてクラスと、そのクラスが持つ属性と操作、それらの関係性が図に表されることでシステムの全体的な構成を示すものとなる。
UIはユーザーインターフェース(User Interface)の略称。
コンピュータにおけるインターフェースの一つで、特にコンピュータと人間との接点のことを指す。

インターフェースとはそもそも「境界」といった意味を持っており、UIはコンピュータを操作する際人間側が触れるもの・使用するものすべてを指す。
例えば、デスクトップ・マウス・キーボードといった接続機器から、画面のデザインといった視覚的情報をも含む。

また、UIは更にいくつかに分類され、メジャーなものとしては
マウスやキーボードを使用し、画面に表示される情報を通して操作する視覚的なGUI(グラフィカルユーザーインターフェース)や、
キーボードを使用し、文字を入力することで操作するCUI(キャラクターユーザーインターフェース)等がある。

またUX(ユーザーエクスペリエンス)と混同されがちだが、こちらはユーザーにとってのサービスを利用して得られる「体験」を意味する。デザインのみに留まらず、ECサイトであれば問い合わせ時の対応や商品の状態なども含むサービス全体を対象とする。このようにUIとは別のものであるが、優れたUIデザインがユーザーに良いUXをもたらすように、密接に関係している要素である。
インターフェース(interface)は、境界面、中間域といった意味を持ち、そこからコンピュータにおいて機器と機器等を媒介する部分を指す。

インターフェースは主に以下の三つの種類がある。
1.ハードウェアとハードウェアを接続するUSBやイーサネット等のハードウェアインターフェース
2.ソフトウェア同士を媒介するAPIやネットワーク等のソフトウェアインターフェース
3.人間とコンピュータ間のマウスやキーボード等のユーザーインターフェース

特に3つめのユーザーインターフェースはUIと略され、キーボードから文字を入力することによってPCを操作するCUIと、マウスなどで視覚的に操作するGUIに分けられる。
このように対象と対象を仲介しているもののことを示す。
IME制御とは、Web上において日本語入力機能を制御することである。

IMEとはInput Method Editorの略称で、ローマ字からひらがな、ひらがなから漢字へ変換したりと日本語の文字入力を補助するソフトウェア全般を指す。
サイトのinput欄などで入力の形式を一定にしたい場合、CSSやJavaScriptで制御する。CSSではime-modeプロパティ等があるが、主にIEのみの機能でブラウザ依存になることからJavaScriptで行うのが一般的である。

半角入力が主な英語圏では制御の問題はないが日本語入力の際には長年の問題となっており、待望の機能であるがニーズが限られているためすべてを完全に制御できる機能は実装されていない。
インフラはインフラストラクチャー(infrastructure)の略称で、土台や基盤、下部構造といった意味。
一般的には生活の基盤である、水道、ガス、交通網等の仕組みを指す。

IT業界でいうインフラ、いわゆるITインフラでは、アプリケーション等のソフトウェアが動作する基盤となるPC、サーバー等のハードウェアや、データーベースやOS等のミドルウェアを指す。
インフラがソフトウェアの動作を支える土台となり、二つが相互に機能しあったものがシステムと呼ばれる。
ASPとはアプリケーションサービスプロバイダ(Application Service Provider)の略称で、アプリケーションをインターネット経由で提供すること、もしくはその事業者のことを指す。
SaaS(サース)と同義で使用されることが多い。

ユーザーはアプリケーション等のソフトウェアをパッケージで購入するのではなく、ブラウザ等を使用してインターネット経由で使用できる。初期費用がパッケージと比較すると安く、手軽に利用を開始できインターネットが使用できる環境であれば場所を選ばないこと等がメリットである。

対して、提供会社の倒産でサービスが使用不可になったり、セキュリティ上のリスクがあること、長期利用はコストがかさむ傾向があるなどのデメリットがあるが、ASPのサービス形態自体は1960年代から存在していた。

利用分野は給与計算、財務管理などの計算分野やコンピュータウイルスのチェックなどがある。
アーキテクチャ(architecture)とは、直訳で建築、建築学、構造等を意味する。

本来は建築学で建築の様式や構造、設計などを指す言葉であり、そこからIT分野においてハードウェアやシステムの設計方法、設計思想、構成方式のことを示すようになった。個々の実装や規約ではなく、あくまで全体の基本設計等を指す。
近年はアプリケーションやWebサービスの構造が複雑化し、アーキテクチャを定めることが多くなっている。

アーティテクチャと誤記されることが多いが、アーキテクチャの発音の方が一般的である。
WBSは、Work Breakdown Structure の略で、プロジェクト管理手段の一つ。
Work Breakdown Structureは直訳で「作業を分解した構成図」となり、そのまま作業分解構成図、WBS図とも呼称される。

プロジェクトにおいて必要な工程を「ワークパッケージ」と呼ばれる最小単位まで細分化し、階層構造にて記す事で全体の仕事量の把握・進捗管理が行える。
特に様々な技術と工程が関与するIT業界にて使用されることが多く、クライアントに対して作業順序や費用対効果を示すことにも利用される。
作業を細かく記すことでやり忘れを防止し、そこに担当者を割り振ることで同時進行の可否や全体の完成までの必要期間が明確になる。このようにプロジェクトの全体を明示し管理するために作成される階層図である。
プロジェクトマネジメントとは、プロジェクトを成功させるための活動全般を指す。プロジェクト管理とも呼ばれる。

ここでの「プロジェクト」とは、目標があり、期限が存在し、複数の工程・人で成り立つ等の特徴をもつものである。
システム開発分野等で、多くはプロジェクトマネージャーというタスクを管理する人物を中心に複数人での作業の際に行われる。
従来はQCD(品質・コスト・納期)の考え方に基づいた活動のひとつとして考えられてきたが、近年独立した概念として認識された。
時間・予算の制限の下、資源を最大限活用しクライアントが満足する状態が目標とされ、組織として無駄なく有効に活動できるよう、企画からタスクの割り振り、進捗・品質・リスク管理などをコントロールすること全般を示す。
フレームワーク(framework)とは、枠組みともいえる機能の集合体のこと。

プログラミングにおいて、よく使用される機能を集めて簡易的に利用できるようにする機能群。
フレームワークを土台として利用することによって少ないコードで汎用的な表現や機能を作成できるので、生産性が高まり開発が効率化・コードに統一感を持たせることができる。
利用には言語に加えてフレームワーク自体の利用方法を習得する必要がある。

有名なフレームワークにはRubyで使用するRuby on RailsやCSSフレームワークのBootstrapが存在する。
ドキュメントとは一般的には資料全般を指す。特にコンピュータ上で作成した電子的な文章の意味を持つ。
主に表計算ソフトやワープロソフトで作成したPDFファイルや文章であることが多い。

また、開発現場においては設計書、計画書、提案書やユーザーマニュアル等を指す。
これらは多くの場合プログラムと同じく納品物とされ、そのプログラムの正しい仕様や本来の動作を示すものとなる。
改修やバグ発生時など後々のシステム運用に際して重要な役割をもつ資料だといえる。
コーディング(coding)とはプログラミング言語でコンピュータが理解しうるソースコードを記述することである。

設計書やアイデア等を基に、コンピュータが動作するよう指示をしていく作業であるといえる。プログラムの作成だけではなく、Webサイトの作成等も含まれる。

プログラミングと同義に扱われることも多いが、厳密に分けるとプログラミングはプログラムの作成を目的に設計やデバック等の作業全体を指す事に対し、コーディングはその中のソースコードを記述していく工程を意味する。
Webシステムとは、インターネットを介して様々なデバイスから利用できるサービスである。

システムには仕組みや体系といった意味合いがあり、特にIT関連では複数の型が存在する。
従来においてメジャーであったシステムには「クライアントサーバ型」「スタンドアロン型」等があげられる。これらはクライアントの端末上で動くものが主であるが、対してWebシステムはインターネット上で動くのでネット環境が利用できれば様々な端末・場所で利用できる。

Webシステムには数多くの種類がある。
例えば、ECサイト、ネットオークションなどが一例である。ユーザーは自分の端末で場所を選ばずアクセスし、商品を検索し、時には情報を保存し、決済をインターネット上で済ますことができる。
またGoogleドライブなどのデータを保存できるサービス、FacebookなどのSNSもWebシステムである。
このようにWebシステムは現代において必要不可欠なものだといえる。
GitHub(ギットハブ)はバージョン管理のクラウドサービスである。
その名の通り、Gitを使用しプログラムなどのデータを保存・公開・管理することができる。
利用者は、GitHubにクラウド上のリモートリポジトリを作成し、ローカルリポジトリから保存・複製等を行う。マージやブランチといった管理機能や簡単なSNS機能も備えておりバグ報告などに使用されている。

基本的に無料での利用が可能であるが、内容非公開の有料プランもあり企業の業務においても利用されている。
CentOS(セントオーエス)とはOS(オペレーティングシステム)の一種で、Linuxディストリビューションの一つ。
同じくディストリビューションである、RHEL(Red Hat Enterprise Linux)と互換性を持つことを開発目標としたコミュニティベースのソフトウェアである。
商用のRHELのソースコードを基に構築されているため、RHELのクローン、フリーのRHELなどと呼ばれることもある。安定感があり、企業や自治体にてサーバー業務に使用されることが多い。

RHELとの違いは、サポートの面が大きい。CentOSは長期間のセキュリティ更新が約束されており、フリーソフトにおいては充実したサポートである。しかし万が一の際、テクニカルサポートを受けることができ、安心感があるのは有償のRHELである。

2014年に、それまでは関与していなかったRHELの開発元のRedHatが支援することを表明し、現在も開発・更新が進められている。
スキン(skin)とは、ソフトウェアなどにおいて見た目のデザインを簡単に変更できる機能のことを指す。
「スキンテーマ」「テーマ」「スタイル」と呼ばれることも多い。

ソフトウェアにもよるが、色からフォント、ボタンのデザイン・テキスト等を一括で変更することができる、テンプレートに似たような機能をもつことが一般的である。

ユーザーがオリジナルのスキンを作成・配布する場合もあり、デザインを直接変更することが難しい人でもオリジナリティのある、好みのインターフェースを選択できることが利点である。
Cookie(クッキー)とは、サイト上でのユーザーの情報を持つデータのことである。

コンピュータを使用しウェブサイトに訪問時、サイト側からコンピュータに送られてくる。
Cookieを保持していればそのサイト内での画面遷移や次回以降の訪問時に、入力した情報や設定に基づいてユーザーごとに合わせたページを表示できる。

よく利用される場面としてはショッピングサイトが挙げられる。ユーザーが商品を検索しカートに入れた場合、その情報をCookieが保持する。決済せずに終了しても次回訪問時にカートに商品が残っているのはCookieの役割によるものである。
Cookieの中にはそのユーザーが訪問するサイトの情報などを追跡するものがあり、そのデータに基づいてユーザーの興味があるものに関する広告を表示することにも使用される。

情報を保持・追跡可能なことからセキュリティやプライバシーの観点で問題があるとする声も多い。
ElggとはSNSサイトを構築・運営できるオープンソースのCMSの一つである。

利用することによって、FacebookやMy SpaceのようなSNSを作成・運営することが可能になる。
Elgg自体はPHPで作成されており、比較的軽量のフレームワークでシンプルにつくられている。
同種のCMSではWordpress、特にSNS用ではOpenPNEが有名である。

Elgg自体は海外では知名度が高いが、日本語の情報・説明が少ないため国内ではOpenPNEと比べるとマイナーである。世界中の開発者を対象としているため、機能拡張のためのプラグインやデザインが充実している。
EC-CUBE(イーシーキューブ)は、日本の株式会社ロックオンによって開発された、ECサイト用のCMSである。

株式会社ロックオンのECサイト構築システムECKitを基盤とし、2006年にオープンソースのフリーソフトとして公開された。
認証機能や商品の管理機能、受注管理など基本的な機能はあらかじめ用意されているが、プラグインで機能の拡張・デザインの変更が可能である。レイアウトをドラック&ドロップで変更できたりと操作が比較的感覚的である点、日本製のCMSであることから言語の壁が少ない点が特徴である。
デュアルライセンスを採用しており、ユーザーは有償の「商用ライセンス」と無償の「GPLライセンス」が選択できる。フリーソフトであるので、インストールから使用・機能拡張も無料で利用することが可能。
Ubuntu(ウブントゥ)とはOS(オペレーティングシステム)の一種で、Linuxディストリビューションの一つである。
Ubuntuという名はズールー語で「他者への思いやり」を意味しており、「誰にでも使いやすい最新かつ安定したOS」という開発目標と繋がっている。
その開発目標から、Ubuntuの操作・インターフェースは初心者にもわかりやすいものになっており、デスクトップ環境としての人気が高い。

Ubuntuは企業の支援とボランティアで開発されており、ダウンロードも無料である。また、ダウンロードが無料なだけでなく、改造することも自由なソフトウェアや、別のデスクトップ環境がインストールされている派生したOSも数多く存在している。
Active Directory(アクティブ・ディレクトリ)は、Windowsのサーバに搭載されている複数のコンピュータを一元管理できる機能群の総称で、主に企業にて使用されている。

Active Directoryサーバーと認証したコンピュータはドメインの中に包括され、その中の他のユーザーのコンピュータやプリンタなどに一つ一つ認証する手間がなくなる。
管理者は、ドメインコントローラーとなったActive Directoryサーバーを利用して、ドメイン内のアカウントを管理することができる。スクリーンセーバ開始の時間から、ソフトウェアの更新、パスワードがわからなくなってしまったアカウントのパスワードリセットも行える。
このように、アカウントを一括管理することで、特に多人数の企業においても、セキュリティの質の底上げ・維持、設定等の統一が可能になる。
OpenPNEとは、2004年に株式会社手嶋屋によって開発されたオープンソースのSNSエンジンである。
サーバーに設置することで誰でも利用・運営ができるSNSを作成できる。基本的なメッセージ機能などはあらかじめ用意されているが、さらにプラグインの追加などで日記機能やあしあと機能などを拡張し、カスタマイズすることも可能。

オープン系のゲームコミュニティから社内のSNSまで様々な場所で使用されており、そのユーザー数は300万人といわれている。今も開発は手嶋屋から開発移管をうけたOpenPNE Projectにより継続されている。
PHPとはオープンソースのプログラミング言語のひとつで、動的なHTMLを作成する際に用いられる。

PHPの正式な名称は「PHP(Personal Home Page): Hypertext Preprocessor」で、HTMLのプリプロセッサ、という意味である。その名称が指すようにPHPはHTMLのなかに埋め込むことができ、それによって動的なサイトを作成することができる。
HTMLやCSSのように、クライアントサイド(利用者のパソコンなど)で動作する言語ではなく、サーバーサイド(サーバー)で実行されるスクリプト言語である。
主に表示のみのHTMLと比較して、ユーザーが打ち込んだ値を取得・処理を行い結果をユーザー側に送信する、といった動きの部分を請け負う。

WordpressなどのCMSやECサイト等のウェブアプリを作成することによく使用されており、汎用性がある人気の高い言語である。
Drupal(ドルーパル)とは、CMS(コンテンツ・マネジメント・システム)の一種で、主にウェブサイトの作成に使用される。HTMLやCSSの知識がなくともサイトの作成・更新・管理が効率よく行えるシステムである。
よく比較されるCMSにWordpress、Joomla!が存在する。Wordpressと比較すると、特に日本での知名度は低くウェブ上にも日本語の解説などが少ないが、世界的にはJoomla!と2、3位を争う高いシェア率をもつ。

Drupalの特徴は高い拡張性である。基本的な機能とは別にユーザーに合わせた拡張機能を追加することができ、細かい管理や調整が可能である。しかし利用が複雑な面があり、初心者には敬遠されがちである。

オープンソースのフリーソフトのため、利用は無料である。
著名なところとしてはホワイトハウスやレディー・ガガ氏のウェブサイトにて使用されている。
Joomla!(ジュームラ)とは、ウェブサイト制作が可能なCMS(コンテンツ・マネジメント・システム)の一つである。
2005年に公開された。オープンソースのフリーソフトなため、世界中で利用されている。

類似するソフトとして日本ではWordpressが有名であるが、Joomla!は比較的日本語のコンテンツがウェブ上に少ないため、日本での利用数は少ない。しかし世界的にはDrupal等と並んで4位以内のシェア率で、特にイタリアでの利用が多い。
HTMLやCSSの知識がなくても、サイトの制作・更新が可能になる。カスタマイズ性も高く、小規模から大規模まで幅広いタイプのサイト構築に有用なソフトである。
SNSは、ソーシャル・ネットワーキング・サービスの略称。社会的なネットワークをウェブ上で構築できるサービスのことである。
有名なものとしてはLINE、Facebook、Instagramなどがあるが、コメント機能等のあるブログ、掲示板、口コミサイトもsnsに該当する。
広いつながりのものから、特定の趣味に絞ったもの、参加自体を承認制にしている緊密なつながりのものまでテーマは様々である。

SNS自体を作成するために使用されるソフトウェアには、IBM Lotus Connections、日本の手嶋屋が中心となって開発した OpenPNE などが存在する。
様々なSNSが開発・利用されているが、昨今では社内のコミュニケーションを円滑かつ素早く行える「社内SNS」が注目されており、今後利用する企業の増加が予想される。
bit(ビット)とは「binary digit」の略称で、コンピュータにおいて、情報の最小単位のこと。
コンピュータはすべてを0と1の羅列で処理しており、その0もしくは1の値一つのことを指す。
8bitは1byteである。

コンピュータには現在、主に32bit版と64bit版が存在する。違いは処理能力にあり、32bit版は2の32乗、64bit版は2の64乗の情報を処理する。つまり64bit版の方が多くの情報を一度に処理することができる。
32bit版ではメモリは4GBまで、ドライブは2TBまでしか使用できなかったが、64bit版ではそれ以上のメモリ・ドライブ量を使うことができる。32bit版はインターネット閲覧のみであれば問題ないといわれているが、高負荷処理が増えている現在は64bit版がメジャーである。
3Dはthree-dimensionalの略。直訳で「3次元」という意味を持ち、立体的な物質の名称などに冠される。
例えば3Dモデリング、3D音響、3DCG等である。

アプリ開発においては、近年3Dゲームアプリが多く開発され、またユーザーからの人気も高い。イラストやドット絵などの2Dゲームと比較すると、奥行きと立体物を構成することで複数のカメラワークや動きを付けることが容易である。
開発にはプログラミングインターフェースのOpenGL、ゲームエンジンとしてはUnityが使用されることが多い。キャラクターなどの描画を細かく行う場合は3Dモデリングの技術が必要である。
Xcode(エックスコード)は、アップル社により開発され、2003年にリリースされた統合開発環境のこと。
Mac、iPad、iPhoneなどアップル製品に向けたアプリケーション開発に利用することが主で、デバックからビルド、シミュレータまで開発に必要なツールが揃っている。
また、画面の作成などはコードを書かずとも直観的な操作で組み立てることが可能である。

現存するアップル製品向けアプリの開発に深く関わっており、iOS・macOS向けアプリの開発には必要不可欠ともいわれている。
SwiftやObjective-Cは勿論、java、C、C++等の言語でも開発可能。
MacOSのパソコンとAppleIDがあれば無料でインストール・利用することができる。
Visual Studio(ビジュアル スタジオ)とは、マイクロソフト社が開発した統合開発環境のこと。
「VS」と省略されることもある。

複数のプログラミング言語を用いた開発が可能で、Webアプリケーションやクロスプラットフォームのアプリもつくることができる。
開発環境としては、エディタからテストツールまで一通りそろっているが、拡張機能でユーザーに合わせてカスタマイズすることも可能。
その柔軟性から、統合開発環境(IDE)の中ではEclipseと1、2位を争うシェア率の高さで、主にWindowsユーザーに人気である。

一般的な無料のタイプからチームで共同開発できる有料のタイプまで幅広い種類が用意されている。
Python(パイソン)とは1991年に登場したプログラミング言語の一種。グイド・ヴァンロッサム氏によって設計されたオブジェクト指向型スクリプトである。
読みやすく、書きやすい言語で、コードが非常にシンプルに作られている。C言語などと比較すると少ない行数でプログラムを書くことができるが、実行速度はやや遅い。

WEBアプリケーション、デスクトップアプリケーションの作成から人工知能の開発まで幅広い分野で利用されており、将来性のある言語として注目を集めている。
有名なものとしては「Youtube」「Instagram」などがPythonによって作られている。
Lync(リンク)とは、マイクロソフト社が提供しているコミュニケーションサービスのこと。主に企業向けのサービスで、ビデオ通話やメッセージのやり取りを行うことができる。

2015年にSkypeの機能が統合され、Skype for Businessに改称された。

最大250人でのweb会議が可能で、場所に捉われずにリアルタイムな通信を行うことができる。
相手が現在PCを立ち上げているかがわかる機能もあり、特に支社が各地に存在するような企業では時間とコストの削減に有用だといえる。
マルチプラットフォームなのでiOSやAndroidでの利用も可能。月額220円からの有料のサービスである。
CMSは(Content Management System)の略称で、Webサイトやポータルサイトを管理できるシステムのことを指す。

通常、サイトの更新などはHTMLやCSSの知識が必要となるが、専門的知識がなくともサイトの更新ができるようにする役目を持つ。例えば、組み込み等はシステムが制御し、ユーザーはテキストを打ったり画像を選択するだけで必要な更新をすることができるようなものである。
CMSの種類や目的は様々であるが、サイトの更新、コンテンツの追加が多い、または複数人が操作をする場合などに特に有用である。

専門的知識がない人でもサイトの更新ができるため、更新を専門業者に頼む必要が無い。結果コストが減り、更新に要する時間も短縮できる、といったメリットがある。

ブログサービスなどもCMSの一種である。
有名なCMSはWordPressで、日本では約7割のシェアを持つ人気のソフトウェアである。
C#(シーシャープ)とは2000年にマイクロソフト社によって開発されたプログラミング言語。
C++から改良された現代的なプログラミング言語で、デスクトップアプリ、スマホアプリ、ウェブアプリなども作ることができる。

マルチパラダイム(複数のプログラミングスタイルをもつ)だが、主に使うのはオブジェクト指向であることが多い。
文法はC言語スタイルでC++は勿論、javaに近しいが、Delphiを開発した人が多くC#の開発に従事したことからか構文はDelphiに沿っている。

C++と比較すると習得しやすい言語といわれているが、成熟しているため構文量などが多い。
C言語とは1972年にデニス・リッチーとブライアン・W・カーニハンによって開発されたプログラミング言語のこと。

歴史が長く、後々のjava、javascript、awkなどに影響を与えた。
java等と比較すると機械語に近い言語であることから、習得が難しいといわれる。しかしシステム開発からゲームの開発、自動車の制御まで、あらゆるハードウェアに対応することができる汎用性の高い言語で、使用している分野と人口が多いのが特徴である。
また、プラットフォーム依存の言語仕様がないため、プログラムの移植性が高い。

広く普及している言語であることから、対応しているコンパイラやエディタ、また入門書も数多く存在している。

のちにオブジェクト指向の仕様を追加したC++が開発された。
ポータルサイト(portal site)とはユーザーにとってウェブの入り口となるページのこと。
ポータルとは玄関口、入口といった意味合いがあり、その名の通りインターネットを利用する際に初めにアクセスされることを目的としているサイトである。
有名なポータルサイトとしてはYahoo!JAPAN、Googleなどが挙げられる。
インターネットの総合サービスとも呼ばれており、リンクや検索窓、ニュースや株価などのコンテンツが集合している。

ポータルサイトでは利用者を増やして広告等で収入を得ることが主である。1996年頃には多数のポータルサイトが乱立し、ユーザー確保の競争が激しかったが現在では統廃合が進んでいる。

昨今企業の中で業務効率化のために「企業ポータル」といったものが注目されている。
企業のなかで情報収集や業務を効率よく進めることが目的で、役職などによって画面や得られる情報をカスタマイズできる技術も開発されたことから、今後利用する企業の増加が見込まれる。
POPはPost Office Protocol(ポスト・オフィス・プロトコル)の略称。
メールを受信する際、受け取った電子メールを、保管しているメールサーバから個人のパソコンへ受信する際に利用される通信規約(プロトコル)のことである。
一度メールサーバにメールを受信・保管することでユーザーは受信のため常にコンピュータを立ち上げる必要がない。ユーザーが任意のタイミングでサーバーから電子メールを取り込む際に用いているのがPOPである。

POP使用時はパスワードが暗号化されず盗み取られる恐れがあることから、パスワードの暗号化を行ったAPOPが推奨され、以後もセキュリティ面での強化が行われている。

メール受信時にPOPを使用するのに対し、送信時にはSMTP、Simple Mail Transfer Protocol(シンプル・メール・トランスファー・プロトコル)が使用される。
プラットフォーム(Platform)とはソフトウェアやハードウェアが動作する土台となる環境のこと。
直訳すると「高さのある足場」「檀上」などの意味を持つ。

プラットフォームと呼ばれるものは相対的であり、対象によって変化する。たとえばWindowsなどOSのプラットフォームはCPUをはじめとするハードウェアを指し、
ソフトウェアやアプリケーションにとってのプラットフォームは動作するOSの種類などの環境を指す。

このように対象となるものの基本的な動作環境や基盤となる部分のことである。
ビルド(build)とはシステムやソフトウェア等を作る際、人間が書いたソースコードをコンピュータが実行可能なプログラムに変換する工程のことである。
コンパイルと混同されがちだが、ソースコードを変換するだけのコンパイルに対して、さらにそれらをリンクし、実行ファイルを生成することを指す。
簡易的なプログラムであれば一つのファイルをコンパイルするだけでよいが、複雑で複数のファイルで構成されているプログラムの場合、コンパイルした後に組み合わせる作業が必要となる。この場合のコンパイルを含めた工程がビルドである。

ビルドにより、ソースコードを実行可能なプログラムに変換するだけでなく、配布用のファイルを生成する場合もある。
javascriptは、ネットスケープ社によって開発されたプログラミング言語のひとつ。

主に動的なウェブサイトを作成する際に用いられるが、アプリの開発にも使用できる言語である。
Webページを構成する全てのオブジェクトを操作でき、計算からバリデートまで幅広く応用が可能なため、工夫次第で様々な表現をすることができる。
例えばページ内のあるコンテンツをスクロールに合わせてゆっくり表示させる事から、検索窓で文字を打ち込むたびに候補を表示することもjavascriptで実現できる。

javaに似たような記述法を用いることから命名されたが、java自体とは完全に別の言語である。
javaとはプログラミング言語のひとつ。電化製品からソフトウェアにまで使用されている汎用性の高い言語である。近年はAndroid向けアプリを作成するのによく使用されている。
開発はJDK(Java Development Kit)を使用する。いずれも無料のものであることが普及の理由の一つである。

javaはファイルを開く際にコンパイルが必要な言語であるのでその手間があるが、PHPやRubyよりも処理速度が速い。また、WindowsやLinux、iOSといったOSにかかわりなく動作させることができること、「オブジェクト指向」であるので複数人での開発に向いていることが開発現場で選択される理由である。
画面遷移図とは、システムやwebサイトの設計段階で作成するものの一つ。画面の遷移の流れを図と短い文で示すもの。
特にクライアントに画面遷移の流れを伝えることは必須であることからすべての構築、開発には必要不可欠なものだといえよう。
フローチャートと混同されがちであるが、フローチャートはシステムの処理を指し示すのに対し、画面遷移図はエンドユーザーが見ることになる画面の移り変わりの流れを示す。
書き方やツールに規定はないが、画面の概要を示した四角の図を矢印で結び、流れを示す書き方が一般的である。

よく使用されるツールは、汎用性の高い「Excel」や「PowerPoint」、製図サービスである「Cacoo」や「draw.io」があり、テンプレートが見つかりやすいことや標準で実装されている点が特徴である。
ワイヤーフレームとはwebサイト等を作成する際の設計図である。
主に線や図形でどのようなコンテンツをどこに設置するか、といったことを示す。
デザインカンプと混同されがちだが、ワイヤーフレームでは構成以外のビジュアル的なデザインは特に設定しない。

使用するツールとしては特に決まったものはないが、メジャーなものとしては「PowerPoint」「Illustrator」「Cacoo」などがある。

クライアントにイメージを伝える際や制作者間でのやり取りに必要不可欠なものであるので、サイト制作の際にはワイヤーフレームを作成することがほとんどである。
レッドオーシャンとは競争が激しい市場のことを指す。
製品とマーケットに差異がない複数の企業が存在する市場のことで、購入者にとって違いがみられないため低価格競争に陥り、低利益になる。
対義語としてはブルーオーシャンがあり、こちらは製品と需要がありつつも競合他社がいない状態である。他社との違いが明確にユーザーに認識されているのでいわゆるブランド化につながる。

戦略としてはどちらもビジネスにはなりうるが、一般的にブルーオーシャンの方が好まれる。
ブルーオーシャンも模倣され他企業が参入することでレッドオーシャンになりうる。

また、起業する際の資金調達から利益が発生するまでの厳しい状態のことを指す場合もある。
Retinaとはアップル社独自の高画素密度のディスプレイ、Retinaディスプレイのことを指す。
Retinaは「レティナ」「レティーナ」と呼ばれ、直訳で「網膜」の意味。

Retinaディスプレイの実装により、iPhone3GSと比較したiPhone4の画面解像度は4倍になり、 1インチあたりの画素数は従来の160ppi程から倍の326ppiに増加、肉眼では画素を認識できない密度になっている。
コントラスト比も4倍になったことでより繊細な表現が可能である。

この変化によりアプリ開発やサイト制作においても見た目が適切に表示されるために留意しなければいけなくなった。
例えば、利用表示する画像の解像度をRetina用に都度作成しなければいけない、といったことである。
もちろん、従来の大きさの画像も表示可能だが、ぼんやりしたように見えてしまうことが多い。

iPhoneではiPhone4以降、iPad、Macでも搭載が進んでいる。
レベニューシェアとは開発などの際の契約方式のひとつ。
直訳では収入(revenue)を分ける(share)という意味。

商品を買い切り型でなく、初期費用を抑えて利益の一部を分配する。
たとえば、ECサイトの制作をA社からB社に依頼した際、開発費用を抑える代わり、A社はサイトで得た収益の1-3割をB社に支払う、といったもの。

A社の収益が大きいほどB社への支払額が増えてしまうこと、収益が上がらなければB社は損益がでる可能性があるが、
A社は成果が上がるか不確定な開発に対して初期費用を抑えられ、B社は固定的な収益をあげることができる、といったメリットがある。
リソースとは、直訳では「資源」という意味だが、コンピュータ分野においては別の複数の意味がある。

・開発に必要な人員、コストなど
・ハードウェアやソフトウェアを動作させるために必要となるメモリ容量やCPU処理速度
・特にプログラミングにおいて、プログラムが使用する画像やテキスト等ロード元のデータ

広義であるからして使用や解釈には場面や文脈をふまえる必要があるが、開発に関しては上に挙げたなかの3番目の意味合いが使用されることが多い。
Monacaとはアシアル株式会社が提供するアプリ開発プラットフォームである。
HTML5,CSS3,JavaScriptが採用されていることにより、一度ですべてのOSに対応したアプリ(ハイブリッドアプリ)を開発することができる。
利用には複数のプランが用意されており、個人開発から大規模開発まで利用することが可能である。
クラウドベースのプラットフォームのため、ソフトなどのインストールなしで開発が行える。
無料で登録し、商用アプリも開発可能なことから利用者数が増加しているサービスである。
ハッカソンとはソフトウェア関連のイベントである。プログラマやデザイナー、プロジェクトマネージャー達が集まり、個人やチーム、もしくは集まった全体で一からシステムなどを短期間でつくりあげる、いわば開発の合宿のようなもの。
期間は数時間から寝泊り有の一週間など様々であるが、いずれも短期間の間に集中して行われることが多い。
一からシステムを創りあげることができる、他職種と近い距離で開発できる、個人の仕事になりがちな開発をチームで行える、といった点がメリットとしてあり、教育を目的として行われることも多い。
ハッカソンの種類は増え続けており、年齢を制限したものや、IT以外の分野と共同して行われるものもある。
名称”hackathon”はハック(hack)とマラソン(marathon)を組み合わせた造語である。
定款(ていかん)とは会社などの団体の中の根本規則・重要な決まり事のことを指す。会社を設立する際は作成することが必須となっており、書類または電子媒体に記録する。
内容には、絶対的記載事項(必ず記載しなければいけない)、相対的記載事項(定款に記載がないとその項目の効力が発生しない)、任意的記載事項(定款外にも記載できる)の種類がある。
プログラミング言語のひとつ。Apple社が2014年に発表した、iOS、macOSおよびLinuxで利用できるオープンソースの言語である。
元来、アップルのアプリ開発に関しては「Objective-C」が使用されており、成果も十分認められていたが、その構文等の独自性が強かった。
SwiftはRubyやPHP等の設計思想を取り込み、またObjective-CのほかObjective-C++、C言語と共存することで利用者を増やす意図があったと考えられる。
XcodeでPlaygroundを使用して開発する。Objective-Cと比較して簡易的にiPhoneやiPad向けのアプリを開発できるといえる。
Fast(動作が速い)、Modern(モダン 読みやすく書きやすい)、Safe(安定性がある)、interactive(対話式)といった特徴があり、将来性のある言語として注目を集めている。
クライアントの要求に対してデータや処理結果等の情報を返す役割をもつコンピュータのこと。
たとえば、Webサーバーはホームページ等を表示するために必要なデータを格納し、表示時にはそのデータをブラウザに送り返す。
サーバーにはファイルサーバー、Webサーバー、メールサーバー等多数の用途があり、更にサーバーの役割を担うコンピュータ自体もサーバーと呼ぶ。
また、利用する場合には 自分で購入し、運用する場合のオンプレミス と 借りる場合のクラウド がある。
クラウドには大きく分けて「共用サーバ」「レンタル専用サーバ」「VPS」「パブリッククラウド」の4種類存在し、運用する規模や想定コストによって適切なサーバーが異なる。
直訳で「真似をする」の意味をもつ、機械の仕組みを真似した装置やソフトウェアのこと。
一般的にはソフトウェアの方を指す。
特定のOSやハードウェア用に開発されたソフトウェアを、別の動作環境で疑似的に実行させるために用いられる。
たとえば、AndroidやiPhone等のスマートフォン用のものをPC上で実行したり、古いソフトウェアを実行したい時などに利用することが多い。
このようにエミュレータを使用してソフトウェアを実行することをエミュレーションという。
eclipse(エクリプス)とは、オープンソースの統合開発環境。IBMによって開発された。
プラグインとして機能を組み込むことが可能で、それによってC++、PHP、C#、Python、COBOL、JavaScript等多言語に対応することができる。
機能としては、デバッグ・ステップの実行、バージョン管理、JUnit連携(テストコード自動生成、テスト実行)、Ant連携、リファクタリング、コンパイル等があり、開発からテストまで行うことができる。
WebViewはアプリ内でwebページを表示する機能。
アプリ開発の際、コードを加えることで組み込むことができる。 AndroidやiOSにて利用することができる。
AndroidではAndroid 4.4以前はOS自体にWebViewが組み込まれていたが、Android 5.0以降は「Android System Webview」というアプリとして利用されている。
あくまでもブラウザではないため、ブラウザの設定・Cookie等は引き継がない。
ユニティ・テクノロジーズが開発したゲームエンジン。統合開発環境が内蔵されており、複数のプラットホームに対応している。
主にjavaScript・C#・Booの3つのプログラミング言語を使用し、3D、2Dの描画からサウンド再生、データ管理までゲーム開発に必要な機能が一通りそろっている。
アプリケーション・プログラミング・インタフェースの略称。
アプリケーションを開発する際に、より簡単にプログラミングできるよう関数として提供されることが多い。APIを利用することにより、一定のプログラムの簡略化、自動化ができる。
ヤフオク、メルカリ、Twittterなど特定のアプリと連携する際に使用されるものを指す場合が増えている。