WEBアプリ開発に関する技術を綴るブログ

php,js,apache,mysql,laravel,fuelphpあたりの技術

忘れそうな用語集

絶対パス absolute path URLでページを指定して、目的地(情報)がどこにあるのかを確実に伝えます。 実際に道案内をするときに、目的地の住所(URL)を教えるのが絶対パスの伝え方 トップからの位置

相対パス relative path 今いる場所(階層)を基準にして、目的地(情報)がどこにあるのかを伝えます。 ある地点から道を曲がって道路沿いのつきあたりを右…というように、今いる場所から目的地までの経路を案内するのが相対パスの伝え方になります。 自分がいる場所を起点にした位置

FTP(エフ ティー ピー)とは

Webサイトを運営していくと、「HTMLファイル」や「画像」などを、 サーバーにアップロードする場面がでてきたりするのだが そのサーバーに接続する為の手段! File Transfer Protocol(ファイル・トランスファープロトコル)の略 日本語に訳すと「ファイル転送プロトコル」 パスワードや認証情報などが暗号化されることなくそのままの状態で通信を行なっている。 悪い人に転送内容を盗まれる場合あり。

FTPS,SFTPは、どちらもセキュリティを備えているプロトコル都内、安全にファイル転送ができる。 FTP接続は危険!

threshold」 しきい値:感覚や反応や興奮を起こさせるのに必要な、最小の強度や刺激などの(物理)量。閾値 あと少しズレると動作や表示内容などが変わるギリギリの値のこと

if(つまみ食いの数 < 2){

 今回だけは見逃す

}else{

 地獄の果てまで追い詰める

}

この話における「1個」と「2個」が閾値です。

SSLサーバー証明書

入力した情報を暗号化してやり取りできるようにしているのがSSLという仕組みです。 サーバー証明書を導入することで、SSLという仕組みを利用できます。 SSLで情報を暗号化することにより、データの盗聴、改ざん、なりすましを防ぐことができます。

SSLを使っているサイトでは アドレスバーのURLが https:// から始まります。 また、ブラウザに鍵マークが表示されます。

SSLサーバー証明書は、主に3種類あります。

EV認証証明書

企業認証証明書

ドメイン認証証明書

ソケット 「ネットワークとの接続口

名前解決 IPアドレスドメイン名に変換したり、ドメイン名をIPアドレスに変換 名前(人間様向け)」と「アドレス(コンピュータさん向け)」の変換であれば、すべて「名前解決」と表現して差し支えない 『人間用の名前←→コンピュータ用のアドレス』の変換をすること

バリデーション 入力内容や記述内容が要件を満たしているか、妥当性を確認すること

API Application Programming Interfaceの略で、 プラットフォーム側の汎用性の高い機能を外部から手軽に利用できるように提供する仕組みのこと。 開発のスピードアップやメンテナンスのしやすさから、 多くのクラウドサービスでAPIが用意されているケースが増えています。

名前解決 利用者はドメイン名を用いて接続先のサーバーを指定する(1)。

しかし、利用者のパソコンが接続先として指定されたサーバーと通信を行うためには、 「IPアドレス」と呼ばれるネットワーク上の識別番号を示す数字が必要である。 そのため、利用者のパソコンはDNSに対して利用者が指定したドメイン名を問い合わせ(2)、

接続先のサーバーのIPアドレスを得る(3)。

そして、利用者のパソコンは、このDNSから得た接続先のIPアドレスを使用して通信を行うのである(4)。

コンピューターネットワークにおいては、このような、 より抽象度の高いアドレス(例:ドメイン名)に対応する、 より抽象度の低いアドレス(例:IPアドレス)を見つけ出すこと

人間とコンピュータ双方がDNSによりスムーズにリクエストとレスポンスを行うこと ドメインIPアドレスの名前の違いを解決している

DNSの正引き・逆引き

正引きとは、ドメインIPアドレスを調べること 逆引きとは、IPアドレスドメインを調べること DNSと同じように、IPアドレスとホスト名のマッピングを行う最も原始的な仕組みが「hosts」ファイル

アドオン(add-on)とは、

ソフトウェアに後から追加できる拡張機能のことである。 具体的には、アプリケーションの機能を追加する目的で作成されるソフトウェアのことである。 代表的な例としては、ブラウザに追加されるプラグイン(plug-in)などがある。 別名、アドイン(add-in)とも呼ばれる。 その他にも、拡張パッケージ・パワーアップキット・アペンドディスクなどの呼び方があるが、 主にパソコンソフトやゲームソフトの分野で使われる用語である。

エイリアス 【 alias 】

エイリアスとは、偽名、別名、通称などの意味を持つ英単語。 ITの分野では、ファイルなどの実体を別の名前で参照するためのシンボルといった意味で使われることが多い。

冗長化 もしものときに備えて余計に用意しておくこと 使い方例:クラウドサービスを利用することで、オンプレミスより容易に冗長化を実現できる。

二重化 同じ物を、もう1個用意しておくこと

可用性とは 「システムやサービスが利用できる時間の割合」、つまり稼働率のことを指す。

リファラ

HTTPヘッダ」の中に書いてある「自分はどこから来ましたよ~」な情報を「リファラ」と呼びます。

ユーザーエージェント

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5"

この人はiPhoneから見てる。

このように自分はどんな人(ブラウザの種類とか)かを示してくれる情報がユーザエージェント

プロキシ (proxy) 代理

クライアントとサーバの間に入ってやりとり

メリット (1)身元を隠せる (2)場合によってはホームページへのアクセスが速くなる(キャッシュ機能があるから) 一度閲覧したWebサーバーのデータを一時的に保存しておける

サブネット

会社がネットワークで、部署がサブネット

100台でつくる大きなネットワークの中にある、 10台で作った小さなネットワーク メリットは3番目ネットワークの中の4番目のコンピュータといったように特定するのが容易になる

ローカルIPアドレス 仲間内でしか通用しないIPアドレス

グローバルIPアドレス

独自ドメイン 自分だけが利用できるドメイン お金がかかる ドメインの取得業者(ムームードメインやお名前.com)からお金を払って取得可能 一般的に「co.jp」、「ne.jp」などは割高で、 「com」や「net」は安価に取得できます。高くて1万円強、安価なものなら数百円で取得 目安として、 ・ドメイン維持費:1,000円/年 ・レンタルサーバー代:250円/月 かかったりする。(月額換算すると500円にも満たない額) レンタルサーバロリポップなどがある

無料ドメイン 一つのドメインを複数人で共有して利用 例)アメブロライブドア、FC2 http://ameblo.jp/★★★★/の ameblo.jpがアメブロドメインで、 ★★★★がユーザー毎のID

サブドメイン(メインサイトに対して、テーマが異なる場合はサブドメイン) Yahoo!ではサブドメインを利用して複数サービスを展開している Yahoo!JAPAN: http://www.yahoo.co.jp/ Yahoo!オークションhttp://auction.yahoo.co.jp/ Yahoo!ニュース : https://news.yahoo.co.jp/

バーチャルドメイン(マルチドメイン) 一台のサーバコンピュータあるいは一つのIPアドレスに複数のドメイン名を同時に割り当て、それぞれでサービスを提供すること。

サブディレクトリ(メインサイトに対して、同じテーマのコンテンツならばサブディレクトリ) 価格.com パソコン : http://kakaku.com/pc/ 家電 : http://kakaku.com/kaden/ カメラ : http://kakaku.com/camera/ 自動車・バイク : http://kakaku.com/kuruma/

環境変数 コンピュータが持っている変数

シンボリックリンク(windowsでいうショートカット) ファイルやフォルダの代理人ファイル ★★★★ ファイル ☆☆☆☆ シンボリックリンク

☆☆☆☆ シンボリックリンクを開くと、 ★★★★ファイルが開く。 直接★★★★ファイルを開いたのと同じ結果。 ☆☆☆☆ シンボリックリンクは★★★★ ファイルとして振る舞う。 ただし、実際には本物ではない。 ☆☆☆☆ シンボリックを削除しても、★★★★ ファイルは削除されていない。

アクセス制限 見せたくない人に、見せたくないことを、見せないようにすること

アクセス制御 ソフト,ネットワーク,ファイルとかに対する「誰が」「誰に対して」「何を」 やって良い(してはいけない)を管理

アクセス制限とアクセス制御の違い アクセス制限:見せたくない人に見せない アクセス制御:見せたくない人に見せない + 見せてOKな人には見せる

SSL 通信プロトコルの一つで、インターネット上の通信を暗号化する仕組み

TLS SSLの後継者。通信プロトコルの一つで、インターネット上の通信を暗号化する仕組み

SSLTLSの違い SSL 1.0→SSL 2.0→SSL 3.0→TLS 1.0

SSLSSHの違い SSH:通信が暗号化されるtelnet どちらも暗号化される どんな通信を暗号化するのか。 SSL:インターネット用。インターネットのやり取りが暗号化される SSH:遠隔操作用。他のコンピュータを遠隔操作する際のやり取りが暗号化される

プロバイダ 回線事業者(NTTの「フレッツ光」、KDDIの「auひかり」、ケイ・オプティコムeo光」など) 回線事業者に支払う費用は、初回だけ発生する「回線工事費」と、 毎月支払う「回線使用料」「回線終端装置のレンタル使用料」などがある。

回線を通してインターネットに接続する役割を担うのが「インターネットサービスプロバイダ」(接続事業者) プロバイダ以外にISPと呼ばれたりもする。 パソコン-回線-プロバイダ-インターネット

スマートフォンもプロバイダを通してインターネットをしています。

固定回線に対応している主なプロバイダ(@nifty,BIGLOBE,OCN,So-net)

"回線サービス" + "プロバイダ" を契約して"初めて"インターネットに接続可能となる

バックアップポリシー 何を、どのように、何のために、いつバックアップするかを決めること。

ログローテーション 一定期間ごとにログファイルをまとめ、古いログをバックアップファイルに移行、 そして設定期間を過ぎたログは自動的に削除する処理

バイナリ・ラージ・オブジェクト 別名:BLOB

データベースのフィールド定義などで用いられるデータ型の一つで、テキスト(文字)や数値以外の任意の形式のバイナリデータを格納することができるもの。

パッケージマネージャ ソフトウェアに関わるファイル一式がまとまったものをパッケージ このパッケージをまとめて管理してくれる。

デプロイ

ソースコードをサーバー上に新しく置き、プログラムを立ち上げること

ビルドしてできた実行ファイルを、実行する環境に合わせて、実際に実行できるようにすること。

Webサービスの場合であると、 追加したいアプリケーションを利用可能にするために、 サーバーの動きを止め、その間にアプリケーションを反映させる

開発環境からステージング環境、 ステージング環境から本番環境へ反映させることもそれぞれデプロイと言う

ホットデプロイ

ソースコードのデプロイ時にシステムを一瞬も停止することなくデプロイすること

サーバーをオンにした状態でデプロイをできる

アプリケーションが動かない時間(≒ダウンタイム)が発生しないデプロイがホットデプロイ

ビルド

ソースコードとしてコーディングされたソフトウェアを、 コンパイルリグレッションテスト、リリースノートや関連ドキュメントの生成、 第三者に提出したり配布したりするための専用のファイルの生成、などを行う一連の工程のこと

ソースコードをそれぞれ翻訳するのがコンパイルで、 コンパイルされたファイル達を1つの実行ファイルにまとめてあげるのがリンク。 ビルドっていうのはこのコンパイルとリンクをまとめて行っているみたいなイメージ

リグレッションテスト デグレードデグレ)とリグレッションは同じ意味の用語 今まで動いていた部分が動かなくなっていないかを確認するためのテスト

デグレート

前に作ったはずの機能が無くなっちゃったり直したはずのバグが復活したりといった 「プログラムを変更したら前よりおかしくなっちゃった」な状態を指す。

Kubernetes(クーベネティス/クーベルネイテス) Googleが開発 高度なことを簡単に使えるようにテクノロジーが注ぎ込まれている 1.アプリを迅速に予定通りにデプロイする (コンテナをサーバー群へ展開する) 2.稼働中にアプリをスケールする(稼働中にコンテナ数を変更する) 3.新機能をシームレスに提供開始する (稼働中にロールアウトする) 4.ハードウェアの利用率を要求に制限する (コンテナで共存させて稼働率を高くする)

クラスタ構成 実際には複数のコンピュータだけど、1台っぽく振る舞わせる構成 クラスタリングする目的は、 主に「誰かが力尽きても大丈夫なようにしておく」 ためと「苦労を分かち合う」ため。冗長化と負荷分散

オーバーヘッド

焼き芋を食べる時に、芋の皮を剥く行為のこと。 本来は食べるのが目的であって皮を剥く行為は 1.余計な処理が発生 2.時間がかかる 3.負荷がかかる

最初から剥いてある芋や、皮を剥かずに食べるかをすると 無駄が省ける

エミュレーション ある装置やソフトウェア、 システムの挙動を別のソフトウェアなどによって模倣し、 代替として動作させること。

オーケストレーション

仮想化環境において、 仮想サーバーやアプリケーションの設定を統合的に行う、 あるいは運用を自動化するといった意味

Amazon EC2

クラウド上で仮想マシンを稼働させるサービス 料金は従量課金制

Microsoft Azure

クラウドプラットフォーム

ベンダー

ITベンダーとは、ITのソフトウェアやサービス、システム、製品などを販売する企業のこと

大手のITベンダーでは、富士通NEC、日立があり、海外では、 IBMやHP(ヒューレット・パッカード)などがあります。 また、セキュリティベンダーには、トレンドマイクロマカフィーシマンテックなどがあります。

サードパーティ ある企業やその提携企業が構築したビジネス-モデルに,第三者的に参加する企業のこと。

コマンドラインツール (command line tool)

キーボードで操作するプログラム

ポータビリティ 【 portability 】 可搬性 / 移植性

あるプログラムを他のOSやコンピュータの上で動かそうと思ったときに、 どのくらい簡単にプログラムを改造できるかを示している。

プラガブル(Pluggable)

プラグ(Plug)が可能(able)という意味で、「脱着できる」といった感じで使われる言葉。

アドネットワーク

webサイトやブログ、SNSなど、複数メディアの広告枠を束ねているネットワークのこと

クロール (crawl)

インターネットの世界を徘徊し、ホームページに記載されているリンクを辿って、情報を集めていく 収集した情報を、検索エンジンさんに報告

カプセル化【通信】 (encapsulation)

パケットを包んだパケット

パケット

細切れにしたデータ パンを一本丸かぶりするより、細切れちぎって食べるイメージ 10パケットと言ったらパケット10個分のデータ(転送)量

コンテナ

仮想的OS環境の事。1台のコンピュータしかないのに、複数のコンピュータが動いている環境

OS上に個々のアプリケーションごとの専用区画を作り出す技術

依存ファイル

プログラムの実行ファイル以外に必要となるファイルのこと

実行環境

動かすために用意された環境

動作環境

最低限の動作を保証する環境の条件 「メモリはこのくらい必要で、 これのバージョンはいくつ以上だったら大丈夫で、 その他、これこれの条件を満たせば動作を保証するよ!」のような内容

コンポーネント

部品

IPC

2つのプログラム間でデータ交換を行なうこと。

Immutable Infrastructurea インフラを使い捨て

Imuutable:不変 クラウドや仮想環境で利便性の高いシステム運用法

Infrastructure as Code

インフラを設定する全ての手順をコード化するという意味。 ChefやAnsibleといったオープンソースソフトウェアが、 このような機能を提供しています。

マイクロサービス

用途・目的ごとに小さなサービスを作っておくことで、「変化に強くて柔軟性の高い、 アプリケーション開発を行おう」というのがマイクロサービス プログラムを機能ごとのモジュールとして完結させ、 それらを独立したプロセスとして動かし、APIでつなぎ合わせて連携させる。 そうして、一つの大きなサービスを構成する手法 社会の急激な変化・開発期間の単位が短くなる傾向から、昨今注目されているソフトウェアのアーキテクチャ 米国:Amazon,NetFlix 日本:LINE,クックパッド,Gunosy が取り入れている。

DevOps(development operations)

アジャイルとDevOpsとの違い

リコメンデーション・エンジン

従来型のデータマイニングや統計分析手法とは全く異なる、きわめて高い予測・分析、学習機能に基づいてWebにアクセスしてきた顧客に、商品やサービスをリコメンド(推薦)するアプリケーション・ソフトウェア。

疎結合

システムどうしが標準的なインターフェースに基づいて接続されているため,一方が他方を容易に取り替えられる状態をいう。

密結合

システムどうしが固有のインターフェースに基づいて接続されているため、一方が他方を容易に取り替えられない状態をいう。

データマイニング

マーケティング手法の一種で、あるデータ群から潜在的な顧客のニーズを採掘(マイニング)する方法。

CIサーバー

CI(継続的インテグレーション)を実行するためのサーバーのことである。

CIサーバーの主な役割として「ビルド」と「テスト」がある。これらを自動化することによって、開発の効率的が促進できる。

モノリシック(一枚板)

ソフトウェア的には、全体が1つのモジュールでできていて、分割されていないことを意味する。 特にカーネルの構造などで、必要な機能を1つのバイナリに全部組み込んでしまい、外部モジュールを必要としないようなものをモノリシックカーネルと呼ぶ。これとは逆に、最小限のものだけをカーネルに入れ、多くの機能を外部のモジュールで行うものを「マイクロカーネル」と呼ぶ。モノリシックカーネルは、このマイクロカーネルに対して従来のカーネル構造を指す言葉として使われる。 なお、現在では、マイクロカーネルではないもののモジュール構造を持ったり、一部だけを外部モジュールとして実現することも行われており、それぞれの違いは曖昧なものになってきている。

カーネル

オペレーティング-システムの中でもっとも基本的な機能を受け持つ部分。 通常,ユーザーは直接制御できない

高密度化

NAT(Network Address Translation)

グローバルIPアドレス←→プライベートIPアドレスの変換を行う仕組み

Cacti

サーバのネットワークトラフィック、CPU使用率、 空きメモリ量、ディスク使用率などをグラフ化するソフトウェア SNMPを使用し、監視ターゲットの統計情報を取得・グラフ化

SNMP(Simple Network Management Protocol)

ルータ、スイッチ、サーバなどTCP/IPネットワーク に接続された通信機器に対し、ネットワーク経由で監視、制御するためのアプリケーション層プロトコル

SNMPを利用することにより、導入したネットワーク機器を監視することができるので、ネットワークに障害 が発生した場合にどの機器に障害が発生したのかをすぐに突き止められるなど、迅速な障害復旧に役立

状態監視:CPU,メモリ,インターフェースでのパケット受信使用量,筐体内の温度 ハードウェア監視:HDD,電源,ファンなどの部品が壊れてないか。 ソフトウェア監視:L2ループが発生してないか。

リレーショナルデータベース(RDB) 現在の多くがリレーショナルデータベース

データベースマネジメントシステム(DBMS) データベースを扱う為の道具 データベースが図書館だとしたら、そこで働く職員さん

リレーショナルデータベースマネジメントシステム(RDBMS) リレーショナルデータベースを扱う為の道具

リンク切れ

自ページに設置してあるリンクの遷移先がHTTPステータスコード404 Not Found 等によりアクセスすることが出来なくなっている状態を指します。

リンク先のURLを間違えて設定していたり、リンク先のページが削除されてしまったりすることで生じます。

デッドリンク(Dead Link)とも言われ、長く運用しているサイトに多く見られることがあります。

ユーザビリティ

一般には製品やソフトウェア、Webサイトなどの「使いやすさ」や「使い勝手」を表す言葉です。 ただし、実際にはそれだけでは説明し切れない広い意味合いを持っており、複数の定義が存在します。(後述) Webサイトのユーザビリティの良し悪しは、コンバージョン率やリピート率、離脱率、滞在時間、サイトに対する心的印象などに影響し、 サイトのビジネス上のパフォーマンスを左右する要因となります。

パージ

データやファイルなどをまとめて削除・消去するという意味

エッジコンピュータ

端末の近くにサーバーを分散配置するというネットワークコンピューティングの技法の1つ

同期処理と非同期処理の違い 同期処理:あるタスクが実行している間、他のタスクの処理は中断される方式 非同期処理:あるタスクが実行をしている際に、他のタスクが別の処理を実行できる方式

非同期処理と並列処理の違い 並列処理:コンピュータの処理速度を向上させるための手法。 複数あるタスクを、別々のコアに演算を割り当てる事でタスクを同時(並列)に実行して処理を行わせます。

並列処理と並行処理の違い 並行:複数の動作が論理的に順不同、もしくは同時に起こる 並列:複数の動作が物理的に同時に起こること

並行処理: ひと昔まえのシングルコアのCPUを積んだPCで、youtubeで動画を見ながら、ブログの更新ができるのは、 人間の目では同時に処理演算が実行されているように見えるが、シングルコアなので1処理ずつ行っている。 一瞬すぎて人間には同時に処理されているように見える。

並列処理: その名の通り、同時実行させて物理的に並行して処理

時代は、並行→並列へ。そしてその先へ

core2の登場

コア:中央処理装置(制御装置,演算装置) デュアルコア:1つのCPUに2個のコアが存在。 先ほどのコード読み込み〜処理までを「物理的に同時に」実行可能。 これが並列処理

物理メモリと仮想メモリ

仮想メモリ:物理メモリが不足したときにwindowsが使用するのが、ハードディスク上に設定した仮想メモリ。 別名バーチャルメモリやページングファイルという。pagefile.sysと隠しファイルになっている。 デメリットは、物理メモリに比べて処理速度が1000倍くらい遅いため、頻繁に仮想メモリにアクセスするような状態では、 パフォーマンス悪くなる。

多次元配列

配列の配列

インピーダンスミスマッチ

情報工学において概念や構造の異なる2分野の領域の間で発生するギャップのこと。 多くの場合、オブジェクト指向プログラミングとリレーショナルデータベースとのギャップを指す。

オブジェクトデータベース

オブジェクト指向プログラミングにおけるオブジェクトの概念を取り入れたデータベースのことである。

O/Rマッピング

「オブジェクト」と「リレーショナルデータベース」をマッピング(対応付け)すること O/Rマッピングは実装時のデータベース操作にかかわる煩雑な作業を軽減し、 「インピーダンスミスマッチ」を解決してくれる

REST

Webサービスの設計モデル

言語解析技術

互換

本来の環境よりランクが上→上位互換 本来の環境よりランクが下→下位互換 本来の環境より新しい(新しい奴)→後方互換 本来の環境より古い(昔の奴)→前方互換

オブジェクト指向 データベース

リレーショナル データベース

多次元 データベース

複数の属性項目(次元)を持ったデータを管理し、分析の視点を次々に切り替えて検索・表示できるデータベース。

データウェアハウス・システム

企業経営の中で時系列に蓄積されたデータの中から、 各項目にある関連性を分析するためのシステム

例) コンビニエンスストア 「月曜日に鶯ボールを購入する10代の女性は、マイルドセブンを購入していることが多い」 「猛暑の日に売れる商品は、アイス」 など単純なデータ集計では発見できなかった各データ間の関連性を洗い出すことが出来る。 ビッグデータ活用においてデータとデータの関連性を洗い出す行為はとても重要であり、 DWHの導入は必須

ドリリング

多次元データベースでは,詳細に展開する操作をドリルダウンといい,逆に集計する操作をドリルアップ

スライシング

パンやハムをスライスするように,スライシングとは,多次元データベースをある断面で切り取って2次元の表にする操作

ダイシング

ダイスとはサイコロのことで,ダイシングとはサイコロを振ることである。多次元データベースでの操作では,縦軸と横軸を指定して2次元の表にする操作

スパースアレイ配列

配列の添え字が順序だてて並んでいなくて、途中の値が飛んでいても良い、という構造

例) 添字の値 1,2,3,5,6(4がない)とか"大阪府","兵庫県","京都府"のように数値以外のデータでも構わないというもの。

グローバルマッピング

データのマッピング

ルーティンマッピング

処理プログラムのマッピング

構造化データ

HTMLで書かれた情報が何を意味するのかを、 検索エンジンやその他のクローラーに理解できるようタグ付けしたもの

メリット: 1.リッチスニペットが表示できる 2.ページ内コンテンツがナレッジグラフに表示される

リッチスニペット

通常テキストのみであるスニペットを発展させたもの。 画像とかレビュー評価などのテキスト以外の情報も表示されているもの

強調スニペット

ユーザーが疑問を投げかけるような検索を行った際に、回答として 検索結果上部に表示されるスニペット。 例) トランジット とは

ナレッジグラフ

レジスタ

CPUの中の部品で、覚えるのが速いけど、たくさんは覚えれない記憶装置。

プロシージャキャッシュ

Oracleで言う所のライブラリキャッシュ。コンパイルされた物を格納する場所

OODB

オブジェクト指向データベース

ストリング

プログラミング言語における、文字列型のデータ、または文字列型であることを示すステートメントのこと。

ステートメント

コンピューターのプログラムで、一つの指令を与えるための文。

オブジェクトストレージ

ブロックストレージ

固定長のブロック単位によって、データにアクセスする仕組み

オブジェクトストレージ

IDとメタデータによってデータを特定し、アクセスや読み書きを行います。 こうした特徴から、オブジェクトストレージはデータ保存容量の上限が実質的にありません。 大量のデータを高速に処理し、かつブロックストレージが不得意な非構造化データの保存にも適しています。

相関分析 2つのまたは2つ以上の変量の間で、一方の変量が変化すると、 他方もそれに応じて変化する関係を言い、これを統計的に分析すること

回帰分析 相関関係や因果関係があると思われる2つの変数のうち、一方の変数から将来的な値を予測するための予測式(回帰直線)を求めるための手法。2組のデータの傾向を分析するために行われる。

組み込みソフトウェア

大きく産業機器や家電製品などに内蔵される、特定の機能を実現するためのシステムで動作するソフトウェアのことで、大きくはソフトウェアとハードウェアに分けられます。

組み込みシステム

特定の機能を実現するために機械や装置等に組み込まれるコンピュータシステム。

近年におけるマイクロプロセッサの価格の低下、能力の向上などにより組込みシステム導入は広がっている。

new演算子

インスタンス(実体)を作るときに使う演算子

値渡し

関数に変数を(引数として)渡すときの「渡し方の種類」のひとつ。 渡す変数をコピーして、コピーした変数を「これを使ってね」と渡すやり方 変数の中身を書き換えても呼び出し元には影響しない 関数に対して情報を与えたいだけの場合は値渡しを使います。 呼び出し元から呼び出し先の関数に対する一方通行の場合です。

参照渡し

関数に変数を(引数として)渡すときの「渡し方の種類」のひとつ。 変数の置いてある場所が書かれた紙を渡して「ここにある変数を使ってね」と伝えるやり方 変数の中身を書き換えると呼び出し元の変数の中身も書き変わる 関数内での変更を呼び出し元にも反映したい場合は参照渡しを使います。 呼び出し元と呼び出し先の関数で双方向のやり取りをしたい場合です。

オブジェクト指向言語は基本的に参照渡し

値渡しと参照渡しの違い

Eclipse (統合開発環境)

IBMによって開発された統合開発環境 (IDE) の一つ。 高機能ながらオープンソースであり、Javaをはじめとするいくつかの言語に対応する。 Eclipse自体はJavaで記述されている。

・主な機能 -プラグイン -デバッグ・ステップ実行 -JUnit連携 -Ant連携 -リファクタリング -コード編集支援 -Eclipse Compiler for Java

Unicode

いろいろある符号化文字集合のひとつ 『文字』と『文字に割り当てた番号』の対応表のひとつ

OpenVMS

ディジタル・イクイップメント・コーポレーション (DEC、現在はヒューレット・パッカードエンタープライズ) によって設計された、 タイムシェアリングシステム、 バッチ処理およびトランザクション処理用のオペレーティングシステムである。 当初は単にVMSと一般的には呼ばれており、 元々はVAXシステム上で動作していたが、 後にDEC Alphaとインテル Itaniumに移植された。 2014年、ヒューレット・パッカードはVMS Software, Inc.に OpenVMSの将来のリリースを開発する独占的な権利を与えると発表した。

ロケール

ソフトウェアに内蔵される、言語や国・地域ごとに異なる単位、記号、日付、 通貨などの表記規則の集合。または単に、利用する言語や国・地域の指定。

ヒープ領域

動的に確保可能なメモリの領域。ヒープ (heap) とは、『山積み』という言葉の中の『山』をさす英単語である。

スーパーサーバ (super server)

様々なデーモン宛のお仕事要求をまとめて受け付けるデーモン ftpdやtelnetdの代わりに仕事をする。 ただし、httpdは見ない。

メンバ変数

オブジェクト:ピヨ太君  ■メンバ変数(属性) どんなやつ   ・基本的にのんびり屋   ・たまに頑張り屋さん   ・寝るのが好き   ・食べるのも好き

 ■メソッド(操作) どう動ける   ・寝る   ・食べる   ・遊ぶ

抽象メソッド

実装を持たない、シグネチャ(メソッド名、引数の型、引数の数)と戻り値の型のみを定義するメソッド

共有ロック

トランザクションが SELECT 文によりデータを参照するものであるときのロックのモードです。 共有ロックによりデータがロックされている間は、 他のトランザクションからデータを参照することはできますが、データの変更はできません。

排他ロック

トランザクションが INSERT 文、UPDATE 文及び DELETE 文であるときのロックのモードです。 排他ロックされている間、他のトランザクションからデータの参照も変更もできません。

インスタンス化(instantiation)

newする事

point-to-point link (ポイント・ツー・ポイント接続)

2 つのコンピュータを、両端に 1 つずつ接続するネットワーク・リンク。 PPP(point to point protocol)

2ノード間を一対一で接続するためのプロトコル PPPは主に電話回線やISDN、専用回線やATM回線などの通信で使われます。

スーパークラス

オブジェクト指向プログラミングにおいて、 あるクラスの仕様を継承して新しいクラスを作成する際に、 元となるクラスのこと。 新しいクラスのことは 「サブクラス」(subclass)、 「派生クラス」(derived class)、 「子クラス」(child class)などと呼ぶ。

インスタンス変数 【 instance variable 】

オブジェクト指向プログラミング言語で、 オブジェクトの個々のインスタンス毎に固有の変数。 オブジェクトのクラスを定義する際にその内部で使用される変数として定義されるもので、 実行時にインスタンス毎に領域が確保され、それぞれが固有の値を取る。

エクステント

エクステントとは、ハードディスクやMOディスクなどの外部記憶装置に記録された、 論理的に連続した記憶領域のことである。

ファイルの記録された領域が物理的には連続していなくても、 論理的に連続した領域として認識させることで、 アプリケーションプログラムは物理的な記録領域を意識することなくファイルへアクセスすることができる。

コンソール

Macでいうターミナル

機械語

0 or 1の羅列

if~やfor~も、最終的には0 or 1に変換される

スタック領域

ヒープ領域

ストレートエンジン

InnoDB -対象のレコードだけをロック(行ロック) -MySQL5.5以降でのデフォルトのストレートエンジン -トランザクション機能ある

MyISAM -対象のテーブル自体をロック(テーブルロック) -トランザクション機能がない

プロシージャ

コードの塊を作成する仕組みをリーチン、関数、メソッドなども 似たような仕組みを指す。 pascalvisual basicのように呼び出し元に値を返さないものをプロシージャ、 返すものを関数と呼んで区別する場合もある。

.tar【拡張子】

複数のファイルを一つにまとめたファイル

同期と非同期

インターフェイス 「このクラスは、○×△メソッド(≒関数)を持ちます!」という「約束」 インターフェイス」は割と幅広い意味で使われる用語

透過的

実際に存在するものを存在しないように見せる ヴァーチャルリアリティの逆。

OSI参照モデル(Open System Interconnection)

ISO(国際標準化機構)が決めた異なるベンダ感で相互通信するための「ネットワーク・モデル」と言われる統一規格のこと。

<OSI参照モデル> 第一層 物理層 第二層 データリンク層 第三層 ネットワーク層 第四層 トランスポート層 第五層 セッション層 第六層 プレゼンテーション層 第七層 アプリケーション層

<TCP/IPの階層> ネットワークインターフェイス層 インターネット層 トランスポート層 アプリケーション層

フェイルオーバー (failover)

冗長化されたシステムにおいて、障害が発生したときに自動的に待機系に切り替える機能

ミラーサーバ (mirror server)

バックアップ用だったり、負荷を分散する目的で作られることが多い 同じ物が複数あれば、1つがぶっ壊れても何とかなりますね。 同じ物が複数あれば、やることがいっぱいあっても分担できます。 そのような用途で作られるのが「ミラーサーバ」です。

ミラーリング

複数のハードディスクに同じ内容を記録しておく事

可用性

「めったに使えなくならないよ!普通に使える状態を長期間にわたって良い感じに維持してるよ!」です。

コネクションプーリング (connection pooling)

接続した状態を用意しておいて、それを貸し出しますよ機能

SSL/TLS

SSL、もしくはTLSだよ!」の意味。

通信内容を暗号化する

だから盗み見られても大丈夫

SSL 1.0→SSL 2.0 →SSL 3.0→TLS

レコードプロトコルとハンドシェイクプロトコルの 2つの層から構成されます

リテラル

ソースコードに書いた文字とか数字

正規表現

いくつかの文字列を一つの形式で表現するための表現方法

論理演算

AND演算,OR演算,XOR演算,NOTの4種類がある。 2進数の1桁を対象として演算結果がけた上がりしないですから、 0または1だけを演算し、その結果も0または1のいずれかになる。 論理演算は真偽を演算するものとみなせるので、 論理演算の結果を表す表のことを真理値表とも呼ぶ。

ワイド文字

常に 16 ビットの多言語文字コード 文字定数の型は char です。ワイド文字の場合、型は wchar_t です。 ワイド文字は常に固定サイズであるため、ワイド文字を使用すると、 各種言語の文字セットを使ったプログラミングが簡単になります。

マルチバイト文字

1 つ以上のバイトのシーケンスで構成される文字 マルチバイト文字は、漢字などの文字セットで使用されます。

ASCII(American Standard Code for Information Interchange)コードとは

アスキー。 コンピュータは二進数しか扱えないため, 文字データも二進数(つまり整数)として表現される. コンピュータは,ある二進数を特定の文字だと思いこんで処理する約束になっている. このような,文字を表現する二進数のことを特に文字コードと呼ぶ.

そこで,どの数値とどの文字を対応させるかを決めて,一覧表を作成することなる. 現代のコンピュータでは標準的な文字コード表が決まっている. 特にアルファベットと記号ではASCII(アスキー)コード表が使用される.

後方互換

新しいので使えるかを示している

ダイアログボックス

ポンと開く子画面のこと。

閉じますか?

yes no

リファレンス

プログラミングの分野では、主に関数の使い方などが書かれた文書のことを指す。

文字列連結演算子

2つの文字列を結合して1つの文字列にします。

「.」を使うと文字列を連結することができます。

my $str3 = $str1 . $str2;

my $str1 = 'ABC'; my $str2 = 'DEF'; my $str3 = $str1 . $str2;

文字列「$str3」は「ABCDEF」になります。

Perlでは文字列連結を加算演算子「+」で行うのではないので注意です。

比較演算子

<,>,<=,>=,=,!=,<> 比較演算子は意味が通じるなら全てのデータ型で使える。 全ての比較演算子二項演算子で、booleanデータ型を返します。

BETWEEN演算子

SQL文の検索条件に使われる範囲比較演算子のこと。 対象領域にある値が、指定した範囲内にあるのか、ないのかを検証する。

NOT 論理演算子

後に続く文の真偽値を反転します。例えば、IF NOT EXISTS(...) のように指定します。 NOT では大文字と小文字が区別されません。

ビット単位論理演算子

インタプリタ

ちょっと翻訳して、ちょっと実行方式

コンパイラ型言語と対比されたりする。

コンパイラ型言語

最初に全部まとめて人間語から機械語へ翻訳してから実行する方式のプログラミング言語

データ型の種類

数データ:INTEGER,SMALLINT,DECIMAL,DOUBLE PRECISION 文字データ:CHARACTER(n),VARCHAR(n) 日時データ:DATE,TIMESTAMP 行データ:ROW

オペランド (operand)

1 + 1 = 2 の 1と1と2のこと

react native

ReactはFacebookが開発したJavaScriptフレームワークであり、 React Nativeはそれをモバイルで使えるようにしたものである。 React Nativeを使用することでネイティブに描画されるiOSAndroidのアプリを作ることができる。 1つのコードで、両方のプラットフォームで動くものが作れる。

ホットデプロイ

WebアプリケーションやWebサービス(に加えた変更)を運用環境に適用する際、 システムの一時停止と再起動を伴わずに適用することである。

リージョン

サーバーやストレージ、ソフトウェアなどをネットワーク経由で利用できるクラウドサービスですが、 物理的なサーバーやストレージが存在しないわけではありません。

サーバーやストレージはクラウド事業者のデータセンターにあり、 データセンターが設置されている独立したエリアのことを「リージョン」と呼んでいます。

例えば「東日本リージョン」のクラウドサービスを利用する場合、 東日本にあるいずれかのデータセンターのリソースを利用していることになります。

また、各リージョン内には独立したインフラの運用区画として「ゾーン」が設置されていて、 サーバーラックやネットワーク、電源、ストレージなど、すべてのリソースがゾーンごとに分離されています。 この複数のゾーンを冗長化して活用することで、可用性や耐障害性を高めているのです。

グロナビ

各ページに共通して設置されるサイト内の案内メニュー 例)会社概要,事業・サービス・採用情報,お問い合わせ のところ

イベントドリブン型

「イベントの発生をきっかけとして、仕事を始めるやつ」

「C10K問題」(クライアント1万台問題)

ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと。

チケット駆動開発

チケット駆動開発は、プロジェクトの中で発生する数あるタスクをチケットという単位に分割してタスク処理する手法です。

具体的に言うと、開発の中には新機能追加、バグ修正、課題解決、テスト、サポートなどなど様々な手順がありますが、それぞれを一つの作業として切り出しチケット化します。

チケットには担当者が割り当てられるので担当の人間がソースコードを修正したりしてチケットを終了させるわけです。

テスターやマネージャーはチケットをバンバン発行してプログラマーはチケットをクローズするという作業に分割できるので、作業分割できるし組織っぽい開発環境を作れるわけです。

チケット駆動開発はプログラミングが主な開発会社だけでなくて、プロジェクトマネージメントが必要な組織であれば共通して使える概念です。

ツール:backlog,redmine,trac,jira

EPEL

エンタープライズ Linux 用の拡張パッケージでFedora プロジェクトの貢献者たちがFedora のパッケージを自分たちが使っているRed Hat Enterprise Linux (RHEL) やその互換ディストリビューション上で使用したいという要望から作成された拡張パッケージです。

RHELクローンとしてサーバー用途に用いられることが多いCentOSは簡素で堅牢なパッケージを提供する傾向にあります。 CentOSの公式リポジトリは保守的でパッケージ数も多くないため、 EPELやRemi, RPMforgeを追加し必要なパッケージを追加するといった使い方をされるようです。

.tar【拡張子】

アーカイブファイルは「複数のファイルやフォルダを1つにまとめたファイル」 アーカイブファイルには、いろいろな形式があります。 その、いろいろある中の1つが「tar」です。 拡張子「.tar」のファイルは圧縮・解凍ソフトやUNIX系OSでよく使われる「tar」コマンドで解凍できます。 ちなみに、拡張子が「.tar」のファイルは「1つにまとめられている」だけです。 圧縮は、されていません。 ご注意ください。 圧縮ファイルとは、ちょっと違います。

.yml【拡張子】 YAMLファイル 拡張子が「.yml」のファイルは、どちらかと言えば、 プログラムやソフトでデータを受け渡しするときに使われるファイルの形式です。 手動でファイルを開いて、中身を直接目で見る必要に迫られることは多くない

クロスルート

通常、「SSL証明書」を認証する際は、「中間証明書」の内容を元に ブラウザにインストールされている「ルート証明書」を確認し、 正しい認証局から認証されているかを確認するのですが、 「ルート証明書」が入っていなかった場合、認証しあっている 別の認証局の「ルート証明書」で、代わりに認証を行っているのですが これが「クロスルート」という考え方です。

EFO

申し込みフォームの入力完遂率を高めるために、 フォームを改善する施策のこと。 典型的なパターンとしては、 ・多すぎる入力項目を減らす ・入力ミスがあった場合、どのように修正すればいいかをわかりやすくする ・フォームを送信することでどんなメリットがあるかを伝える EFOをする前に入力フォームまで辿りつけるかを確認して動線を考えることが大事!

低遅延(低レイテンシー

情報機器や通信回線の状態が良くて遅れが少ないこと

CDF(channel definition format)

インターネット上の情報をユーザーの操作なしで取り込めるように規定された, 情報配信ファイルの形式。HTML を拡張したもの。

xibファイル

XcodeでI phone,i padのアプリ開発する時の画面作成で使われるファイル

project builderとinterface builderを兼ねた開発環境がxcode

XMLファイル

nibファイル(NeXTStep Interface Builder)

NeXT Step(OS)に付属するInterface Builderというアプリケーションで作成されたファイル

バイナリファイル

storyboard

xibの画面遷移をわかりやすくしたもの。 storyboardをnibと呼ぶ人もいる。

DAU

「Daily Active Users」の略であり、 企業や個人の運営するWEBサイトやスマートフォン用のサイトなどを 一日にどれぐらいのユーザーが利用したかを確認するための指標です。