クリエイティブ、プログラミング用語まとめ

この記事は32分で読めます

自分用メモ

※参考:マーケティング、集客に関する用語まとめ
※参考:デジタル用語の定義を簡単にまとめてみた
※参考:プログラミングの学習方法

プログラミング言語など


BeautifulSoup
Pythonでスクレイピングをするためのライブラリ。HTMLデータの構文を解析する為に用いられ、HTMLタグやCSSのセレクタで抽出する部分を指定する事ができる。

Bootstrap
HTML/CSS/JavaScriptから構成される、レスポンシブデザインに対応したフロントエンドのフレームワーク。Webページでよく使われるフォーム、ボタン、メニュー等の部品がテンプレートとして用意されている。デザイン性も確保されており、Webページのスタイルも最低限の調整で済むのも特徴。2011年にTwitter社で開発された。

C#
マイクロソフトが2002年に開発したプログラミング言語。オブジェクト指向言語である。C++やJaVA、開発者が設計した統合開発環境Delphi(デルファイ)から影響を受けており。文法はC言語スタイルを用いている。開発元マイクロソフトの公式サイトやskypeの公式サイト、ポータルサイトのMSNや検索エンジンBingの開発で使用されている他、ゲーム開発において採用されている事もある。

ECMAScript(エクマスクリプト)
JavaScriptの仕様。この仕様に基づいて各ブラウザエンジンに実装されているのがJavaScriptである。Ecma Internationalという団体によって標準化されている。2019年1月時点の最新仕様はES08で、毎年6月にES09になる予定。

Haskell(ハスケル)
純粋関数型プログラミング言語の一種。名前は数学者ハスケル・カリーに由来する。最初の版は1990年に開発された。関数型言語として有名だが、手続き型としても使用できる。重要な特性の1つに「抽象化」があり、これによってプログラムの可読性、保守性を大きく向上できる。

jQuery(ジェイクエリー)
Webブラウザ用のJavaScriptコードをより容易に記述できるようにしたJavaScriptライブラリ。煩雑なプログラムの記述を、より少ない記述で実現する事が可能になる。またWebページにアニメーションや効果を付けたり、ユーザーの行動に応じたインタラクティブなデザインを実現できる。利用する為には、開発しているHTMLの中にjQueryを読み込む必要がある。
※参考:ProgateでjQueryを学習

Node.js
サーバーサイドでJavaScriptを実行してくれるプラットフォーム。GoogleのスプレッドシートやFacebookのメッセージといったリアルタイムWebと相性が良いのが特徴。ライブラリも多数存在しており、IoTやスマホアプリ開発にも利用されている。

Perl
1987年にラリー・ウォールによって開発された伝統ある言語。正規表現を用いた文字列の処理が得意で、初心者にも扱いやすい一方で奥が深い二面性を持つ。かつては電子掲示板やチャット、アクセスカウンタといったCGIの多くがPerlで作られていたが、今ではPHPに押されている側面もある。

Python
プログラミング言語の1つ。オランダ人のグイド・ヴァンロッサムが1991年にオープンソースソフトウェアとして公開した。Pythonという英単語には「ニシキヘビ」という意味があり、言語のロゴもニシキヘビをモチーフとしている。C++やJavaと比べると簡単な構文でコンパイル不要、そして読みやすく書きやすいという特徴があり、プログラミング初心者でも取り組みやすい点が特徴だと言える。
※参考:Pythonとは?特徴やメリット、出来ること出来ないことを解説

React
JavaScriptのライブラリの1つ。サイトの見た目の部分を作ることが出来る。Facebook、Airbnb、Dropbox、Progateなどが採用してる。Reactのモバイル版である「React Native」を使うと iOSとAndroidの両方でスマホアプリを作る事ができる。
※参考:ProgateでReactの学習

Requests
PythonのHTTP通信ライブラリ。使用すると、Webサイトの情報取得や画像の蒐集を簡単に行う事ができる。「人間のためのHTTP」と呼ばれる程、使いやすさに定評がある。スクレイピングの際にも用いられ、Beautiful Soupと組み合わせるとWebサイトを解析して必要な情報だけを抜き出す事ができる。

Sass(Syntactically Awesome StyleSheet)
CSSを効率的に書くことが出来るメタ言語。「サス」と読む。記述量がCSSより減ったり、コードを再利用できるといったメリットがある。個人サイトから大規模開発まで幅広く用いられている。書き方はSASS記法とSCSS記法の2つがある。使用するにはRubyのインストールが必要。
※参考:ProgateでSassを学習

Solidity(ソリディティー)
Ethereum上でスマートコントラクトを開発する際に使用するプログラミング言語。スマートコントラクトをより簡易に記述する事ができる。特徴として、人間が使う言語に似ている「高級言語」である点が挙げられる。
※参考:イーサリアムとは?特徴やスマートコントラクトも解説

Unity
ユニティ・テクノロジーズ社が提供するゲームエンジン。ゲームエンジンの中では最も使用されている事で知られる。モバイルやブラウザゲームの開発でよく用いられている他、建設や医療のXR分野で活用されている事も。最近はポケモンGOで採用された事も話題になった。

TypeScript
マイクロソフトが開発した、Webアプリケーション開発のフレームワーク。JavaScriptを拡張して開発されたが、JSとは異なり静的型付けのクラスベースオブジェクト指向言語になっている。JavaScriptのライブラリも使用でき、互換性においても優れている。

Visual Basic.NET(ヴィジュアル ベーシック ドットネット)
マイクロソフトが開発したプログラミング言語およびその処理系。オブジェクト指向言語である一方、手続き型言語のような書き方をしても構わないのが特徴。C#やJavaに比べ、文法が自然言語に近いので、プログラミング初心者でも比較的習得しやすいと言われている。

フロントエンド概要


HTMLエンティティ
ブラウザがHTMLを表示する際に特別な意味を持つ記号などの文字を、特別な処理をせずにそのまま出力させるために定義されている文字の代替コードのこと。半角空白を表す「 」や、HTMLタグを表すための大なり小なり記号の「<」や「>」が代表例として挙げられる。「文字実体参照」「名前付き文字参照」と呼ばれる事もある。PHPにおいてHTMLエンティティを扱う場合、「htmlspecialchars()」などの関数を利用する事が多い。

Webフォント
あらかじめサーバ上に置かれたフォントや、インターネット上て提供されているフォントを呼び出し、表示するCSS3から策定した技術。ネットワーク上にあるフォントデータをDL出来るため、どのデバイスで見ても制作サイドが意図したフォントで表示する事が可能となる。SEO効果を保ったままデザイン性を高められる点や、レスポンシブWebデザイン性に適している点がメリット。

エスケープ処理
マークアップ言語やプログラミング言語で文字列を扱う際に、その言語の文法や処理系にとって特別な意味や機能を持つ文字や記号、及びその並びを、一定の規則に従って別の文字列に置き換えること。例えば、HTMLはタグの記述に「<」「>」という記号を用いるため、この記号そのものを文字として表示することは本来できない。この時、「<」「>」という特殊な表記法に置き換えることで、それぞれ「<」「>」と表示できるが、こうした置き換え操作・処理の事をエスケープ処理と呼んでいる。

コーディング
HTMLやCSSのマークアップ言語やJavaScript言語を用いて、デザイン通りの見た目になるようコードを記述し、ブラウザで表示できる状態にすること。
HTMLコーディングの品質がSEOに影響する事もある。
※参考:SEOに関するスキルまとめ

コンテンツデリバリーネットワーク(CDN)
Web上で送受信されるコンテンツを、インターネット上で効率的に配送するために構築されたネットワーク。用いることで、Webのみならず大容量アプリケーションや音楽。動画配信やオンラインゲームといったブロードバンドのコンテンツを配信する事が安定かつ低コストで行えるようになる。HTMLにlink要素を1つ追加するだけですぐに利用できるのが特長だが、万が一不具合が発生した場合、使用した部分が正しく表示されないリスクもある。国内の代表的なサービスとしてはCloufflare, CloudFont, Akamaiが有名。

スタイルシート言語
HTML等の構造化文書の見た目を記述するコンピュータ言語。「スタイルシート」とは、色や文字の大きさ、フォント、レイアウト等の規則を集めたものを指す。スタイルシート言語の代表例としてはCSSがあり、今日では「スタイルシート=CSS」と同じ意味合いで用いられる事も多い。

マークアップ言語
タグで囲む(マークを付ける)事で構造を表現する言語。人間であれば直感的に理解できる事柄をタグや記号で表示し、コンピュータに認識させるのが特徴。HTMLやXMLが代表例。なお、Webサイト作成時にサイト内の文書に意味付けを行う作業を「マークアップ」と呼ぶ。SEO対策においては、マークアップを適宜行いGoogleに正しく情報を伝える事は非常に重要となる。
(CSSは「スタイルシート言語」であり、マークアップ言語ではないので注意)

モーダルウィンドウ(ポップアップ)
子ウィンドウのこと。親ウィンドウの上に強制的に表示され、閉じる処理をするまでは親ウィンドウの操作が出来なくなる特性がある。最終確認や年齢認証といった重要な注意を促す時や、確実に閲覧して欲しい告知や広告を表示させる時に用いられる。

モックアップ
プロダクトデザインにおいて、外観デザインの試作、検討レベルで用いられる模型のこと。ワイヤーフレームにはなかったデザイン要素やコンテンツを載せていく段階である。

ワイヤーフレーム
Webサイトやアプリのレイアウトを定める設計図のこと。デザインやコーディング等の作業に入る前段階で作成し、完成イメージを「見える化」する事が目的で制作される。複数人で作業してる場合でもイメージが共有でき、個々人の認識の相違による制作上のミスコミュニケーションを防ぐ事が可能。Web制作の現場では、構成の異なるページの数だけワイヤーフレームが作成される。

フロントエンド文法


class属性
HTML5のグローバル属性の1つ。要素に対して分類を指定する際に用いられる。class属性は分類の役割を果たすので、1つのHTML文書内で複数の要素に同じ値を付ける事が出来る。また以下のように複数の分類を付ける事も可能。
<要素 class=“値1 値2”>
class属性は、特定の要素にだけCSSを適用したい時に使用する。実務ではid属性よりもclass属性が使われる場合が(9:1の割合で)多い。

DOM(Document Object Model)
JavaScriptでHTMLの要素を操作するための仕組み。APIでもある。 DOMツリー構造と呼ばれる階層構造を持っており、 ツリー内の各要素は「ノード」と呼ばれる。 特定のIDを持つHTML要素を取得する際は「getElementByidメソッド」を、 HTML要素の内容を書き換える際は「innerHTMLプロパティ」を用いる。 W3Cがこれまで3段階に分けて勧告しており、 JavaScriptを扱う上で絶対に知っておくべき仕組みだと言える。

id属性(identifier)
HTML5のグローバル属性(どの要素にも指定できる属性のこと)の1つ。要素に固有の名前を付けるために用いられる。id属性は固有の生なので、同じHTML文書内では重複して他の要素に記述する事はできない。特定の要素にだけCSSを適用したい時に使用する。class属性との違いとしては、1つの要素にidとclassが併記されている場合、CSSの適用先としてidが優先される点が挙げられる。またJavaScriptの処理がclassよりも早い点が特長。

JSON(JavaScript Object Notation)
JavaScriptの中でオブジェクトを記述する書式のこと。csvやxml等のデータの扱い方の1つと言える。keyとvalueを1つのデータとして扱うのが基本のフォーマットになっている。XMLと比べると簡潔に構造化されたデータを記述できるので、人間が理解しやすい点が特長。

JSX
Reactでアプリを作るために開発されたJavaScript文法。HTMLと殆ど同じように記述できる(一部違いもあるので注意)のがポイント。ReactにおいてJSXは必須ではないが、簡潔に記述できるので頻繁に用いられている。

length
プロパティの1つ。主に文字列の長さや配列の要素数を取得できる。文字列の長さを取得できれば、最大文字数を設定して、超えた場合に注意を促す事が可能となる。関数の引数を取得するような事も可能。プログラミングでは、ループ処理など配列の要素数を数える事があるが、lengthは、配列オブジェクトの要素数を数える上でも役立つ。

parseFloat関数
JavaScriptにおいて文字列を変数に変換する際に用いる関数。似たような関数に「parseInt関数」があるが、parseFloatは基数が容姿されておらず、一般的な10進数による小数点を扱えるのが特徴。

Viewport
ブラウザにおけるウインドウの画面幅(ウインドウ幅)の表示領域のこと。指定する際はmeta要素を使って、横幅(width)や拡大率(initial-scale)をhead内に記述する。記述は以下の通り。


アロー関数
JavaScriptで関数を定義する方法の1つ。ECMAScrpit2015(ES6)で新しく定義された。これまで関数の定義にはfunctionを使っていたが、アロー関数を使うことでより短い記述で関数を定義できるようになった。「アロー(arrow)」という名前の通り、「=>」といった矢印のような書き方をする。

インライン要素
要素(行)の途中に差し込む事ができるもの。ブロック要素の中に入れて、効果を付け足すような使い方をする。例えば<p>要素の<strong>要素のように、段落の中の一部を強調するような形で用いられる。インライン要素の中にブロックレベル要素を配置する事は出来ない。
※参考:ブロックレベル要素、インライン要素、インラインブロック要素のまとめ

インラインブロック要素
インライン要素のなかで、画像やフォーム部品など、他のものに置き換わる要素のこと。「置換インライン要素」とも呼ばれる。通常のインライン要素は横幅(width)や高さ(height)を持たないが、置換インライン要素はこの2つを持つ。余白が付いてしまうので消したければmarginやpaddingで消してあげること。

コンソール
ブラウザに実装されている入出力ウインドウのこと。コンソールに文字列を出力して、動作確認やデバッグに活用することが出来る。

セクショニングコンテンツ
HTML5から追加された「セクション(章、節、項といった文章のまとまった範囲)」を示すための要素。具体的にはsection, article, aside, nav要素を指しており、これらを配置する事で文書内にセクションが作られる。セクションによる区切りがある事で、文書構造(アウトライン)や階層をより明示的に表す事ができる。

セレクトボックス
いくつかの選択肢から1つを選ぶ時に使われる部品。selectタグの中に選択肢の数だけoption要素を記述していく。selectタグの中にはname属性を指定し、部品に対する名前を指定するケースがある。また複数の選択肢を指定するにはselectタグの中にmultiple属性を指定する必要がある。

ダイアログボックス(dialog box)
PCを操作中に表示される、入力を行なったり、確認や警告のメッセージという形で表示される小さなウインドウ。大きさは固定化されており、拡大や縮小は出来ない。またサイト閲覧者が指示に従ってボタンを押すなどの操作を行うと消滅する事が多い。「ダイアログ(dialog)」には”対話”という意味がある。基本的には開発者が使う言葉で、利用者向けには「ポップアップウインドウ」と説明される事が多い。
※参考:ダイアログボックスとは?種類やモーダル、モードレスの違いについて

タグ
HTMLにおいて内容に意味付けを行い、要素を作るもの。「<タグ名>」の記号に囲まれた半角の英数字を指し、Webページはこのタグを用いて作成される。タグは<開始タグ>との2つを1セットとして使用するのが基本。終了タグにはタグの前にスラッシュ(/)を付ける必要がある。

テンプレートリテラル
文字列や定数の連結方法の1つ。文字列の中に変数(定数)を埋め込む事が可能。文字列の中で「${定数}」とすることで、文字列の中に定数や変数を含める事ができる。この時、文字列全体をバッククォート(`)で囲む必要があるので注意。なお、文字列の連結方法としてはテンプレートリテラルの他に「+」記号を用いる選択肢もある。

ブロックレベル要素
開始タグと終了タグで囲ったものを1つのブロックにするもの。ブロックレベル要素で作られたブロックは、要素が必ず横いっぱいに広がって、次の要素がブロックレベル要素の下に位置されるという特徴がある。ブロックレベル要素の中に他のブロックレベル要素やインライン要素を配置する事は可能。

メディアクエリ
ウインドウサイズ(画面サイズ)等によって適用するCSSを切り替えられる機能。CSS3から追加された。レスポンシブ
Webデザインでは、主にウインドウサイズを条件にして適用するCSSを切り替えている。Bootstrapを使わずにレスポンシブページを実現する事が可能となる。指定方法はいくつかあるが、CSSの@metaルールを使う方法が最も用いられている。書き方にはデスクトップファーストとモバイルファーストの二種類がある。具体的な記述は以下の通り。
「@meta screen and (max-width : 767px)」
特定の条件以下を表したい時は最大幅を表すmax-widthを、特定の条件以上を表したい時は最小幅を表すmin-widthを、「◯◯以上〜◯◯以下」を条件としたい場合はandを使って複数の条件を繋ぐ。

ラジオボタン
複数の選択肢から、1つの項目のみ選択できる部品。HTML文章の中では、質問の答えとして、1つだけ回答させる場合に用いられる。作成には「input type=“rdaio”」と書き、その右側にname属性で部品の名前を、value属性で送信される文字列をそれぞれ指定する。昔のラジカセのボタンは「複数ボタンがあっても、構造上、絶対に1つしか押せない」という仕組みで作られていた事から、この名前が付けられた。

リスト
箇条書きのこと。情報を見やすく整理して表現する方法としてよく用いられる。HTMLでは、項目を列挙するul要素とli要素、順序を考慮して列挙するol要素とli要素、用語とその説明という定義型のリストを構成するdl要素と用語を示すdt要素、その定義を表すdd要素といった3種類のリスト要素が用意されている。リストは文書を構成する要素としての性質があるため、ul, li, dl共にブロックレベル要素のグループに含まれる。
※参考:HTMLのリストとは? ul, ol, dlの3種類をまとめ

レスポンシブWebデザイン
Webサイトのページを画面に表示する際に、あらゆるデバイスに対して単一のHTMLファイルでデザインを表示できる技術。デバイスごとにHTMLファイルを用意するのではなく、CSS3によってデザインを画面サイズに合わせて最適化する仕組みになっている。デバイス間で同じHTMLに基づいているため、サイトの情報設計やページの画面設計が統一されたり、Googleが推奨している事からSEO上の効果が見込める点がメリット。一方で初期の設計・構築のコストが大きく、コーディングの難易度が高いデメリットもある。

擬似クラス(Pseudo-class)
要素が特定の状態になる場合にスタイルを指定するもの。「button:hover」のように、セレクタに付加するキーワードとして記述され、選択した要素の特定のスタイルを指定している。分類としては動的、言語、構造、ターゲット、UI要素の状態といったものがあり、代表例として、aタグに使う動的なクラス「a:link{}」「a:hover{}」「a:visited{}」や、分類に属する、ある要素内で最後に現れる子要素を対象とする「:last-child」が挙げられる。

疑似要素(Pseudo-Elements)
要素内の特定の文字や行に対してスタイルを指定するもの。擬似クラスが要素全体の特定の状態を指定するのに対し、疑似要素は要素の特定の部分のスタイルを指定できる点が異なる。要素の直前に内容を追加する「::before」と、要素の直後に内容を追加する「::after」の2つが代表例。習得することでHTMLコードを汚す事なくCSSデザインの表現幅が一気に広がる。SEOを気にせずにユーザーのための自由な表現が可能となる。一方でjQueryなどで要素を動かしたりする時に対象として選べないのがデメリット。

属性
要素に関する補足情報のこと。どの要素にも指定できるグローバル属性(titleやlang, style, hidden, id, class等)と、その要素固有の属性の2つに大別される。属性は開始タグの中に以下の中で記述される。
<要素名 属性=“属性値”>
属性は1つの要素に対していくつでも設定できる。種類としては、対象のタグのリンク先(href)や幅(width)、最大文字数などを設定し、タグの振る舞いを規定している。属性によっては、ブラウザやそのバージョンによって挙動やデザインが異なる場合もあるので、この場合はCSSやJavaScriptで機能を補完する必要がある。

要素(Element)
Webページを構成する要素のこと。HTMLでは、開始タグと終了タグ、及びこの2つに囲まれた内容の3つを要素と呼んでいる。
<sttrong>本日は晴天なり</strong>
上記のコードは、全てが「要素」に該当する。
開始タグ内に、任意の属性や(属性)値を設定する事も出来る。要素はブロック要素、インライン要素、インラインブロック要素の3つに大別される。なお、imgタグなど終了タグが存在しない要素もあるが、これらは要素の内容が存在しないため「空要素」と呼ばれる。

プログラミング概要


CGI(Common Gateway Interface)
クライアント側のWebブラウザの要求に対してWebサーバが外部のプログラムを呼び出して、その実行結果をHTTPを介してクライアントのWebブラウザに送信する仕組み。CGIのプログラムはPerlによって記述されている。かつては「.cgi」という拡張子を付けていたが、現在では省略してアクセスする事が主流となっている。

Fizz Buzz
元は2人以上で行う英語圏の言葉遊びで、プレーヤーは1から順に数字を発言して、3で割り切れる時は「Fizz」を、5で割り切れる時は「Biuz」を、両方で割り切れる時は「FixxBuzz」と発言し、間違えた人から脱落するというもの。このFixxBuxxをプログラムとして作成出来るかで、プログラマー志望者がプログラムを書く事が出来るかを確認する機会が少なからずある。

MAMP(マンプ)
ローカル開発環境を構築できるソフトウェア。名前はMacintosh、Apache、MySQL、PHPの頭文字を取ったもの。MacだけでなくWindowsでも使用できる。インストールする事でApache、MySQL、PHP、Python等をまとめてインストール出来るので、PHP等のプログラミングを簡単に試す事が可能となる。無料版と有料版があり、有料版ではWordPressを利用出来る機能が付いてくる。

インタプリタ形式
プログラムを機械語に変換した後、実行まで行う言語。プログラマがテキスト形式で記述したソースコードを解釈しながら実行する。ソースコードを直接テキストエディタで編集すれば、すぐに反映されるメリットがある。一方で実行速度が劣っていたり、文法ミスが分かりにくいというデメリットもある。Web系はインタプリタ形式を用いる。実行するまでエラーがあるかは分からない。言語を学ぶ上で一番大事なのは「トライアンドエラー」で、これを一番繰り返せるのはインタプリタ。PHPが代表例。

エスケープシーケンス
コンピュータシステムにおいて、通常の文字列では表せない特殊な文字や機能を、規定された特別な文字に並びにより表したもの。文字色の変更やカーソルの移動、改行の「\n」、文字の消去など、文字出力の制御を伴う特殊な文字列が該当する。プログラミング言語によって、使えるエスケープシーケンスは異なる。例えばHTMLの場合、半角スペースを表す「 」や、コピーライトを表す「©」が知られる。エスケープシーケンスは、2進数、10進数、16進数、ASCIIコードと対応している。Macでバックスラッシュを入力するには「option+¥」キーを押す
※参考:0808の学習まとめ

オープン系システム
技術的な仕様が公開されているOSやサーバー、ルーターやスイッチなどの周辺機器やソフトウェアを組み合わせて構築されたシステムのこと。汎用系システムと比べると、高速化の必要がない場合や、より柔軟なシステムを組みたい場合に使用される。言語はJavaやPHP、C言語、VBなどが用いられる。
※参考:Web系、オープン系、汎用系の違いを解説

ゲームエンジン
ゲームを作るための統合開発環境。3D/2D描画やサウンド再生、ユーザーインターフェース管理、データ管理・作成などの要素を揃えている。以前はゲームプログラマーが自社用に開発していたが、近年では汎用性の高いゲームエンジンが商用として貸し出されるようになり、大手ゲームメーカーもライセンス契約を行なって利用している。一部のゲームエンジンは無料で利用もでき、個人でも簡単にゲームが作れるようになっている。

コンソール
コンピュータの操作に用いる入出力装置のこと。キーボードとディスプレイのセットがコンソールと呼ばれる事がある。要は、その装置を使ってコンピュータを操作するもの。コンピュータと意思疎通をする時に使うツールだと言える。日本語では「制御卓」と呼ばれる。

コンパイラ形式
ソースコードを「コンパイラ」という専用ツールによって、機械に近い形に書き換える言語。「バイナリコード」というコンピューターが理解しやすい形式に変換してから実行する。プログラムを機械語に変換するだけなので、速度が早く文法ミスが把握でき、ソースコードを秘匿できる。コンパイラを一度通す必要があるので手続きが面倒なのがデメリット。エラーを全て検出してくれる、業務系や組み込み系を作る際はコンパイラ形式を用いる。Javaが代表例。

スクレイピング(scraping)
ウェブサイトから情報を取得し、その情報を加工して新たな情報を生成すること。情報を取得する過程まではクローリングと同じだが、スクレイピングでは取得した情報を加工する点も含まれる事が多い。HTMLのデータを収集して、DOMを解析したり正規表現を使ってデータを抜き出す。コンピュータによってサービス側のサーバーの負荷を高めたり、不正アクセスに繋がるケースもあるので、サービス側は認めている方法ではない。サービス側がAPIを公開していない場合、行われる事が多い。

スコープ
ある変数や関数などの名前を参照できる範囲のこと。「変数(関数)のスコープ」と出てきたら「その変数(関数)が使える範囲」と解釈すれば良い。「作業範囲を決めましょう」という事を「作業のスコープを定義しましょう」と言われる事がある。

ソースコード
プログラミング言語を使って記述されたテキストのこと。「ソース」や「コード」と略される事もある。エディタ等のソフトウェアを使って作成する。あらゆるソフトウェアにはソースコードが存在し、ソフトウェアはソースコードにプログラムされた通りに動く。

デプロイ
特定の環境下でアプリケーションやシステムを使えるようにすること。これらを追加・更新するために、一時的にPCの動きを止め、再起動した時にこれらが使用できる状態になってるようにする。また、開発環境からテスト環境、本番環境へ反映される事もデプロイと呼ばれる。

プログラミング言語
コンピュータに対して一連の計算処理の指示を記述するためのプログラムを作成する言語。文書構造の定義しか出来ないマークアップ言語に対して、数値の計算処理(=データ処理)が出来る点がポイント。基本制御構造(順次、条件分岐、繰り返し)と呼ばれる処理を上手く組み合わせ、データ処理を効率よく行っている。
※参考:プログラミングの基礎知識。言語や仕組み、開発について

モジュール
「寸法」「機能」を意味する言葉。IT領域ではプログラミングの部品のこと。あくまで1つのパーツに過ぎないため、モジュール単独では機能しない。あるモジュールと他のモジュールを組み合わせてファイルとしてまとめ、更にファイルを組み合わせる事でプログラムが作られる。

ライブラリ
汎用性の高い複数のプログラムを、再利用できる形でひとまとめにしたもの。「プログラムの部品の寄せ集めファイル」と言える。フレームワークとは異なり、全体を動かすための何かしらのロジックがある訳ではない。
※参考:ライブラリとフレームワークの違い

リニアサーチ(線形探索)
サーチアルゴリズム(探索アルゴリズム)の代表例。一直線に探索していくのが特徴。自分の提示した数値と同じなのかをチェックする。目的の数値が見つかるまで配列のすべての要素と直接比較する。簡単だが処理量は多くなりがち。

リファクタリング
プログラミングにおいて、プログラムの外部から見た動作を変えずに、ソースコードの内部構造を整理すること。構造を階層化したり、プログラム内の要素につける名前を簡潔なものに書き換えるといった作業が該当する。設計の劣化を防いでシステムを長く使えたり、コードを理解しやすくなって引き継ぎ時の手間が減るといったメリットがある。

ローカル開発環境
自分のパソコンに用意する、実際の開発環境に限りなく近い仮想的な環境。「ローカル」とは”自分のパソコン”という意味がある。WebアプリケーションやWebサイトを作りたい場合、導入は必須。

関数型プログラミング
関数の組み合わせによってプログラムを構成していく手法。解決したい問題に対し、その問題の性質を関数の組み合わせで記述していく。「問題の性質を記述する」ことでプログラミングする宣言型プログラミングの一種。Haskellのように「変数」という概念が存在しない純粋関数型言語と、Lispのように変数を用いる事ができる非純粋関数型言語に大別される。オブジェクト指向言語の特徴も併せ持ったScalaも代表的な言語の1つ。

構造化プログラミング
個々の処理を小さな単位に分解し、階層的な構造にしてプログラミングすること。順接(sequence)、分岐(selection)、反復(iteration)の3つの制御構造によって処理の流れを記述していく。

実装
プログラミング言語を使って設計に沿ったソースコードを書くこと。

手続き型プログラミング
後日調査予定。

汎用系システム
ハードウェアを仕様して開発されるシステム。汎用コンピュータ、ホストコンピュータといったハードウェアに特化した開発になる。オープン系のようにシステム開発や変更など、他に応用することが難しい。開発においては、IBMや富士通、日立製作所などの汎用コンピュータを用いた基幹システムの開発が行われる。生命保険や損害保険、銀行やクレジットカード会社などの大手金融の基幹システムの再構築〜運用保守の業務が多い。COBOL等の比較的古い言語で開発される。
※参考:Web系、オープン系、汎用系の違いを解説

アルゴリズムとフローチャート


アルゴリズム
コンピュータによる問題解決の手順のこと。あくまで「コンピュータにとっての解決手順」であることが条件。コンピュータにして欲しいことを達成させるための一連の手順であり、「正しいロジックとは何か、どういう基準なのか」を記述するものとも言える。物事のやり方や解き方を工夫して、手間をかけずに結果を得る方法のこと。「最適な解き方で解こう」という感じ。また、アルゴリズムを考えるとは「どのように命令を与えれば、コンピュータである問題を解決できるか」といった考え方を指す。
※参考:アルゴリズムとは?プログラミングとの関係や記述方法

サーチアルゴリズム(探索アルゴリズム)
ランダムな数値から指定した値を探し出すアルゴリズム。リニアサーチ(線形探索)やバイナリサーチ(2分探索)が具体例。サーチとは探索のこと。特定の制約条件を満たす物を見つけ出す行動である。問題を入力して考えられるいくつもの解を評価した後、解を返すアルゴリズムと言い換えられる。故に、サーチアルゴリズムは探索アルゴリズムとも呼ばれる。

ソートアルゴリズム(整列アルゴリズム)
バラバラの数字を小さいor大きい順に並べ替える、自分の探したい数字を見つけ出すアルゴリズム。バブルソートが具体例。

バブルソート
隣り合う2つの要素の値を比較して条件に応じた交換を行う。ソートアルゴリズムの中では最も遅いが記述が簡単、大きい数字がどんどん右側に移動していく。「大きい泡」がどんどん上がっていく(バブルソート)という意味になる。

フローチャート
流れ図。処理の書かれた様々な種類の図式を、矢印で繋いで処理のステップを視覚的に表現する記法。プログラムの処理の流れを図に書き起こす事でロジックを視覚的に整理できる。そして、正しい段取りでプログラムを記述する事ができる。現場でも難しいコードの時はロジックを整理するために作成する事がある。
※参考:フローチャートとは?条件分岐や繰り返しなど

リニアサーチ(線形探索)
サーチアルゴリズム(探索アルゴリズム)の代表例。一直線に探索していくのが特徴。自分の提示した数値と同じなのかをチェックする。目的の数値が見つかるまで配列のすべての要素と直接比較する。簡単だが処理量は多くなりがち。

配列(array)
データの塊のこと。連続したデータを扱う技法。情報を記憶しておくための箱である変数の1種類で、複数の箱が連なっているものを指す。1つの変数の中に、複数の値を入れる事ができる。複数の器を1つの塊として扱っている。特に繰り返し処理で用いられ、クラス全員のテストの点数や毎月の売上金額のように、同じ意味を持つ複数のデータを利用した計算を行う際に重宝する。
※参考:配列、連想配列、for文、foreach文の違いや関係性

連想配列(associative array)
添字に好きな名前を付けられる配列。配列が個々の要素を管理するのにインデックス番号を用いるのに対し、連想配列では「キー」と呼ばれる文字列の値を用いる。インデックス番号をより使い勝手が良くしたイメージ。arrayの中に書く際は、「キー」の後に「=>」を記載する必要がある。

プログラミング文法


break文
主にループ制御構造で用いられる文で、最も内側のfor文、while文、do-while文から脱出するという意味がある。また条件分岐で用いられるswitch文から脱出する際にも使用される。

echo
PHPにおける文字列の出力方法の1つ。echoに文字列を指定する際は、シングルクォーテーション(’)またはダブルクォーテーション(”)で文字列を囲む必要がある。「print」と似ているが、カンマ(,)で区切ると一度に複数出力できるので、PHPではechoが用いられる事が多い。一方で配列の出力は出来ないので、この場合は「print_r」や「var_dump」が用いられている。

foreach
PHPで用いられるループ処理の構文。「配列+繰り返し(for)文」といった内容で、配列の要素がある分だけ繰り返し処理を行う。配列や連想配列を展開したい時や、配列などの値を変更する必要がある場合に便利である。情報が大量にある際に必ずと言っていいほど出てくるのがポイント。書き方には「foreach (反復可能なデータ構造 as 要素)」である一次元配列と、「foreach (反復可能なデータ構造 as キー => 要素)」といった連想配列の2種類がある。
※参考:配列、連想配列、for文、foreach文の違いや関係性

GETメソッド
HTTP通信でクライアント(Webブラウザ等)からWebサーバーへ送るリクエスト(命令)の1つ。リクエストした内容によってURLが変わるのが特徴。入力内容は以下のように、URLのリクエストパラメーター(?以降の文字列)として付加される。
http://example.com/search.php?madori=2ldk&yachin=80000
例えば物件検索サイトの場合、間取りや家賃などの条件を入力した場合、検索結果ページのURLに入力した条件が含まれるような場合に用いられる。GoogleにインデックスさせたいページではGETメソッドを使う必要がある一方、あまり長いデータは送信できない。また他の人に見られて困る情報(パスワード等)をGETで送ると、URLに付いて情報漏えいに繋がるので注意。

numeric(ニューメリック)
数字のこと。特に10進数で表された数字を指す。numeric型の変数は「数字が入りますよ」という意味がある。また関数「is_numeric」は、指定した引数が数字か否かを判定する働きがある。

POSTメソッド
HTTP通信でクライアント(Webブラウザ等)からWebサーバーへ送るリクエスト(命令)の1つ。どのような条件を入力してもURLが変わらないのが特徴。以下のようなURLが表示される。
http://example.com/search.php
大容量の添付ファイルも送信できるのが特長。

require_once
PHPの構文で、別のPHPファイルを一度だけ読み込む事ができる。requireとほぼ同じだが、一度読み込んだファイルは再度読み込まない機能がある。ユーザー定義関数など、二度読んでしまうとエラーになってしまう処理を呼び出す際に役立つ。

this
自身の動いているオブジェクトを指す予約語。主にインスタンスメソッド内で利用される。プログラミング言語によってはselfやMeといった言葉を用いる事もあるが、概念は共通している。

try〜catch構文
例外が発生する可能性がある際に使う構文。例外が発生しない場合の処理と、例外が発生したときの処理を分ける事ができる。tryブロックの中に例外が発生する可能性のある処理を記述し、catchブロックの中に例外が発生した後の処理を記述する。

インクリメント演算子++
数値型の変数の値を1だけ増やす演算子。数を数える場合カウンターとして使ったり、連続するデータの位置を管理するためにインデックスとして使用する。「++変数名」という前置き形式と、「変数名++」という後置き形式という2パターンがある。コンピュータの世界でインクリメントとは、変数の値を1増やす演算、という意味がある。対義語はデクリメント演算子(–)である。

入れ子構造(ネスト)
あるものの中に、それと同じ形や種類の(一回り小さい)ものが入っている状態や構造のこと。プログラミングにおいては、条件分岐やループの内部に、別の条件分岐やループ等が含まれている状態を指す。入れ子構造が深くなると処理が見にくくなるので、出来るだけ別の方法でシンプルなコードを書くように心掛ける必要がある。

演算子
数式やプログラミング言語で、各種の演算を表す記号やシンボルのこと。例として、数式などを計算する算術演算子、値を代入する代入演算子、値を比較する比較演算子、命題論理を扱う論理演算子の4種類が挙げられる。演算が作用する対象を被演算子(オペランド:引数)といい、この被演算子が1つだけの演算を表すものを単項演算子、2つの被演算子から1つの結果を得るものを二項演算子、3つ以上の被演算子から結果を得るものを多項演算子と呼ぶ。

型変換
ある方を別の型に変換すること。整数に変換する「int()」や文字列に変換する「str()」、浮動小数点に変換する「float()」がある。型変換をする際は、関数のカッコ「()」に、変換したい値を入れる。int型やfloat型のような数値の型同士であれば計算は可能だが、数値と文字列のstr型の組み合わせで計算するとエラーメッセージが表示されプログラムが停止するので注意。
※参考:プログラミングにおけるデータの型について

繰り返し処理(loop)
決まった回数や条件を満たすまで同じ処理を繰り返し行う場合に用いるもの。たくさんの処理を手抜きで済ませられるのが特長。「ループ処理」と呼ばれる事もある。代表例に「for」文や「while」文がある。for文は繰り返す回数が決まっているが、while文は繰り返す回数が決まっていない。

辞書(Python)
ディクショナリ型と呼ばれる配列の一種。{}の中にkeyとvalueの組み合わせが含まれているデータのこと。任意の数の要素を代入でき、作成後は要素の追加や削除ができる。keyとvalueの2つで1要素という考え方をする。1つのディクショナリの中で同じkeyは使用できない。

条件分岐(branch)
「もし◯◯ならば✕✕せよ」というプログラムの書き方。if文が代表例。例えば、水曜日がサービスデーの映画館のチケット予約サイトの場合、「もし水曜日ならチケットを割引する」という処理で条件分岐を使用する。プログラミングは結局のところ、条件分岐と繰り返しを組み合わせているだけと言える。
※参考:条件分岐とは?プログラミング言語による書き方の違いや共通点など

変数(variable)
データの記憶場所。文字や数値などのデータに任意の名前を付けて記憶し、利用したい時に呼び出す事が可能。記憶したデータは「変数値」と呼ばれ、また変数に代入された値を利用することを「参照」と言う。「5+10」といった演算結果もいつでも読み出す事が可能となる他、データに名前を付ける事で、そのデータが何を表してるかを明確に出来るメリットがある。変数名は「データを保存しておく箱」と例えられる事が多い。
※参考:変数とは?名付け方のコツや定数についても解説

変数名
データの記憶場所(=変数)に付けられた名前のこと。変数名は英単語であれば自由に付けられるが、「$userName」のように2語以上であれば大文字で区切るルールがある。「$1name」のように数値で始めたり、日本語を使うのはルール違反。また、読みやすいコードにするために、変数名から内容が想像できる名前にする事が望ましい。

文字列(string:ストリング)
単語や文章などの文字が連なったもの。「テキスト(text)」と呼ばれる場合もある。文字列の処理は、数値計算と並ぶコンピュータの基本的な処理である。多くのプログラミング言語に文字列を扱うためのデータ型や手続き、関数が用意されている。なお、コンピュータでは全ての情報が数値(ビットの並び:ビット列)として表現されるので、文字列中の個々の文字も、最終的にはビット列として記録され演算される事になる。この文字とビット列の対応付けは「文字コード」と呼ばれる。

論理演算子(Logical operators)
プログラミング言語などに用意された、論理演算を表す記号や符号などの総称。True/Falseのような真偽値を2つ以上の条件を組み合わせ、その真偽を判定するために用いられる。種類としては「&&(AND:かつ)」「||(OR:または)」「!(否定:NOT)」が挙げられる。

関数

※参考:プログラミングにおける関数とは?基礎知識を解説
※参考:Excelの関数とは?わかりやすく分類してみた。

explode関数
PHPで使用される、文字列を文字で分割して配列にして返す関数。「2019/01/31」から「2019」のみを取得したい際に用いられる。戻り値に配列として値が戻ってくるので、要素数に「0」を指定することで「2019」を取得できる、という考え方をする。以下の形で記述される。
「explode (区切り文字列, 対象の文字列, 返される配列の最大要素数)」
なお、区切り文字列を「第一引数:delimiter」、対象の文字列を「第二引数:string」、配列の最大要素数を「第三引数:limit」と記載する事もある。

fgets関数
引数に指定したファイル(ファイルポインタ)から内容を1行読み込む関数。外部のファイルを読み込みたい時に役立つメソッドである。改行までの1行単位で取得するのが特徴で、ファイルの全文を取得するにはループ処理を用いる必要がある。通常「fopen()」「fclose()」と併用して読み込み処理を行う。以下のように記述される。
「文字列 = fgets(ハンドル);」
なお、ハンドルとはファイルを開いて処理している時に、使用する管理用に用意されたもの。ハンドルはファイルの処理位置を示しており、処理位置を進める事で開いたファイルの先頭から順に読み込むことや出力する事ができる。

fopen関数
ファイルやURLを開いてくれる関数。ファイルの読み書きをする際に使用する。あるデータからファイルにデータの情報を読み込ませたり、ファイルの内容にデータ情報を書き込みする際に、ファイルを指定して、指定したファイルを開いてくれる。書き方は以下の通り。
「$変数名(ファイルポインタ) = fopen (“開きたいファイル名”, “オープンモード”);」

fwrite関数
指定したファイルへの書き込みを行う関数。対象ファイルを指定した上で、ファイルに指定した文字列を書き込む。書き方は以下の通り。
「fwrite(対象ファイル, 書き込む値)」

htmlspecialchars関数
PHPでエスケープ処理を行う際に使用する関数。HTMLでは直接かけない「<」「>」といった記号をそのまま出力できるような形に変換する効果がある。書き方は以下の通り。
「htmlspecialchars(エンティティ対象文字列, (フラグ,文字コード))」
なお、フラグには変換する文字列を指定した定数を指定する。例えば「ENT_QUOTES」という定数は、シングルクォーテーションとダブルクォーテーションを共に変換する機能を持っている。また文字コードには、UTF-8など変換に使用するコードを指定する。

isset関数
変数の中身に値が入っているか、NULLではないかを確認するために用いられるPHPの関数。返す値(戻り値)は、TRUE(真)かFALSE(偽)のboolean型である。書き方は以下の通り。
「bool isset($変数名1 [, $変数名2 ・・・])」

nl2br関数
改行文字の前にHTMLの改行タグを挿入する関数。改行文字「\」をHTMLの改行タグ「br」に置き換えてくれる。nl2brとは「new line to br」の略称。設定する際は、XSSによって悪意あるプログラムを実行されないために「htmlspecialchars」を追加する必要がある。

print_r
PHPにおいて、変数や文字列をブラウザに出力する際に用いられる関数。配列内の「キー」と「値」の出力も出来るので、var_dumpと同様に配列の中身をデバッグする際にも用いられる。

var_dump
PHPにおいてデバッグに使用できる関数。print_rと同様、配列内の「キー」と「値」の出力が出来るのに加え、「データ型」も表示してくれるので、エラーの発生場所がすぐ分かるのがメリット。PHPがインストールされている環境であれば使用でき、別途インストルする必要はない。「var_dump(情報を出力する変数)」といった形で記述する。

ファイルポインタ
ファイルの中で、今どこが対象になってるかという「ファイル内の位置」を示すもの。現在ファイルをどこまで読み書きしたかを表している。以下のファイルを開く(fope関数を使う)場面で、ファイルの先頭位置に設定する際に用いられる。
「ファイルポインタ = fopen(“パスを含めたファイル名”, “モード”)」
なお、「fp」と略される事もある。

リテラル
人間語で書いたプログラムの元ネタであるソースコードの中に書き込まれている文字や数字のこと。変数の対義語であり、変更されない事を前提とした値である。プログラミング言語のコード内にリテラルを挿入する場合は、前後をダブルクォーテーション(””)で括る等、判別のための特別な書式を用いるケースがある。プログラミングにおいて記述した文章では、必要に応じてリテラルを分類し、数値リテラルや日付リテラル、文字列リテラル等と言うように呼び分けるのが一般的である。リテラルは変数に代入されて使われたりする。


引数
プログラムや関数に渡す値のこと。引数を関数に入れる事で、戻り値が出てくる。これは、人間(関数)がご飯(引数)を食べると排泄物(戻り値)を出す事に例えられる。
※参考:関数、引数、戻り値の違いについて考える

オブジェクト指向関連

※参考:オブジェクト指向とは?クラスやインスタンス等の基礎知識を解説

オブジェクト指向①
複数の「モノ」に意味を与え、それぞれの「モノが出来ること(役割)」を作っていく考え方。プログラムの中では、「モノA」「モノB」のように、何種類もの「モノ」を用意して、それぞれのモノに対して「モノBが出来ること」を定義する形で、コンピュータを動作させる。プログラムを分かりやすく表現できるのが最大のメリットだと言われている。

オブジェクト②
データとそれに対する処理をひとまとめにしたモノ。コンピュータ上で操作や処理の対象となる何らかの実体と言い換えられる。配列と同じく、複数のデータをまとめて管理するために用いられる。配列は複数の値を並べて管理するが、オブジェクトはそれぞれの値にプロパティと呼ばれる名前を付けて管理するのが特徴。

クラス③
オブジェクトの設計図。オブジェクトを生成するために定義された概念。これから作る「モノ」の定義だとも言える。作成する「モノ」に対して、何を覚えさせるのかや、どのような機能を持たせるかを決定していく。オブジェクト指向では、「クラス」というオブジェクトの設計図を作成し、クラス(設計図)を元にオブジェクト(実体)を生成している。

インスタンス④
クラス(設計図)をもとに生成された実体のこと。「オブジェクト」と同じ意味で用いられる。インスタンスを生成するステップとしては、①クラス(設計図)を用意し、②クラスからインスタンスを生成した上で、③インスタンスにプロパティやメソッドといった情報を追加する、といった過程が挙げられる。

プロパティ⑤
インスタンス(=オブジェクト)が持つデータのこと。もとは「物体の特性、特質」を意味する言葉。インスタンスの設定や状態、属性などの情報を意味する事が多い。オブジェクト指向においては、インスタンスが持つデータをプロパティ、インスタンスに関連する処理(関数)をメソッドと呼ぶ。

メソッド⑥
インスタンス(=オブジェクト)の動作を表す概念。クラスの中で定義した関数(プログラムの一連の処理をまとめたパッケージのようなもの)とも言える。インスタンスが「車」だとすると、「メーカー」「排気量」「色」がプロパティに、「走る」「曲がる」「止まる」等がメソッドに当たる。

ゲッター⑦
プロパティ(メソッド)のアクセス権がPrivateの場合に、プロパティの値を返すために定義されるメソッドのこと。

コンストラクタ(constructor)⑧
インスタンスを生成する(クラスがnewされる)時に実行されるメソッドのこと。「構築子」とも呼ばれる。new演算子を使ってインスタンスを作り、メンバ変数の初期化など最初にやるべき処理も行う。インスタンスのプロパティはthisで作成する事も可能。また、不要になったインスタンスを破棄する直前に実行されるメソッドとして「デストラクタ(destructor、消滅子)」がある。

継承(インヘリタンス)⑨
既にあるクラスをもとに新しいクラスを作成する方法。クラス定義の共通部分(変数定義やメソッド等)を別クラスにまとめる仕組みだとも言える。「Animalクラス」から「Dogクラス」を継承すると、「Animalクラス」の全ての機能を引き継いで、「Dogクラス」を作成できる。なお元となるクラス(Animalクラス)を親クラスあるいはスーパークラス、新しく作成したクラス(Dogクラス)を子クラスあるいはサブクラスと呼ぶ。継承を使うことで、コードの再利用性や拡張性を高める効果がある。

カプセル化(encapsulation)⑩
データ(属性)とメソッド(手続き)を1つのオブジェクトにまとめ、その内容を隠蔽すること。いわゆる「情報隠蔽」の構成概念の1つ。オブジェクト指向プログラミングにおけるオブジェクトは、クラスによる情報のカプセル化を行う事ができる。カプセル化が充分に成されたオブジェクトを組み合わせてプログラムを構築することで、オブジェクト内部の仕様が外部に予期せぬ影響を及ぼしたり、外部からの干渉によってオブジェクトの状態が壊されることを防ぐのが可能となる。

オブジェクト指向言語
プログラム言語の分類や特徴の1つで、操作手順よりも操作対象(モノ)に重点を置いているのが特徴。プログラムを「手順」ではなく「モノの作成と操作」として捉える(モノを基点とする)考え方だと言える。コードの再利用を促進し、システムの開発や保守にかかる時間を短縮できるのがメリット。プログラムを書く前の計画や設計が非常に重要となる。主要な概念としてカプセル化、抽象化。ポリモーフィズム、継承などが挙げられる。

データベース・SQL関連

※参考:データベース(DB)とは?CRUDやSQL、作成方法も解説

リレーショナルデータベース(RDB)
データベースの1種類で、複数の表(テーブル)の形式で管理するのが特徴。RDBには複数の表(テーブル)が入っており、それぞれのテーブルには名前(テーブル名)が付けられている。縦の列をカラム、横の列をレコードと呼ぶ。表(テーブル)は列(カラム)と行で構成される。1つのレコードが1件のデータに対応して、カラムはそのデータの要素に対応している。
※参考:リレーショナルデータベース(RDB)とは?四大命令や主キー外部キーも解説

SQL
データベースに送る命令のこと。データベース専用の操作言語と言える。JavaやC等のプログラミング言語で開発されたシステムやアプリでも、DBのアクセスにはSQLを用いる。DBの製品によってSQLの命令や記述方法には微細な違いがあるが、基本的な構文や考え方は共通している。SQL文は大文字と小文字を区別しない。文末にはセミコロン(;)を置く必要がある。
※参考:SQLの構文まとめ
※参考:ProgateでSQLを学習

WHERE句
テーブルの中にある特定のレコード(横の列)を取得する際に用いられるキーワード。SELECT、UPDATE、DELETEで利用できるがINSERT文では使用不可。WHERE句の後ろには条件式(真か偽になる式)を記述するのがルールである。

データ型
データの種類を表したもの。CHAR型とVARCHAR型から成るテキストデータ、INTEGER型、DECIMAL型、REAL型から成る数値データ、DATERMINE型、DATE型、TIME型から成る日付データが代表例で、このうち数値データはクォーテーション(’’)で囲ってはいけない。データベースのカラムには、データ型で指定された種類の情報しか格納できないようになってる。利用可能なデータ型は製品によって異なっている。

パターンマッチング
文字列があるパターンに合致しているかを確認すること。SQLではLIKE演算子を用いてパターンマッチングを行う。実施することで、部分一致の検索(◯◯◯という文字列を一部に含むか?という判定)が簡単にできる。「式 LIKE パターン文字列」と表現する。なお、パターン文字列として使用できる文字には、任意の0文字以上の文字列を表す「%」と、任意の1文字を表す「_(アンダースコア)」が挙げられる。

NOT演算子
WHERE句に用いられる論理演算子の1つで、「◯◯を含まないデータ」や「◯◯に一致しないデータ」のような条件でデータを取得したい際に用いられる。NOTを記述することで、右辺の条件式の結果は真は偽に、偽は真に逆転する。複数の論理演算子を用いる場合、ANDやORに優先して処理されるのもポイント。

NULL
そこに何も格納されていない、未定義である事を示す演算子。何のデータも保存されてない場合に用いられる。数字のゼロや空白文字とは異なった概念なので注意。NULLのデータを取得するには「〜がNULLである」という意味になる「IS NULL」というSQLを用いる。「カラム名 IS NULL」とする事で、「指定したカラムがNULLであるデータ」を取得する事が可能。また、NULLでない事を判定するには「IS NOT NULL」を用いる。「NULLのデータ」を取得したい場合は「=」は使えないので注意。

ORDER BY句
指定した列の値を記述として、検索結果を並べ替えて取得できるキーワード。「〜順に並べる」という意味がある。データを並べ替えるには 「(基準となる)並べ替えたいカラム名」と「並べ方」を指定する必要がある。並べ方は昇順(ASC)または降順(DESC)を指定する。省略するとASCと同じ意味になる。設置場所はSQL文の末尾に置くので、WHERE文と併用する事が可能。

LIMIT句
「最大で何件取得するか」を指定する際に使用するキーワード。「LIMIT データの件数;」という形で記述する。検索結果の上から指定されたデータの件数だけ取得する。「制限する」という意味がある。設置場所はORDER BYと同じくSQL文の末尾(併記する場合はLIMITが末尾)であり、WHERE文との併用も可能。

DISTINCT句
検索結果から重複するデータを取り除いてくれるキーワード。「DISTINCT(カラム名)」とする事で、検索結果から指定したカラムの重複するデータを取り除いてくれる。設置場所はSELECT文の最初であり、他の修飾と異なるので注意。

集計関数
指定された列(カラム)の様々な値を集計する関数。SUM・AVG・MAX・MIN、及び行数を数えるCOUNTが代表的で、選択リストやORDER BY句、HAVING句に指定する。あくまで「検索結果」に対して集計を行うツールなので、UPDATE、INSERT、DELETEには利用できない。

グループ化
SQLに備わっている、指定した基準で検索結果をいくつかのまとまりに分ける機能。テーブルの指定(FROM)や取得条件の指定(WHERE)の後、集計の前に行われる。集計はグループごとに行われ、グループごとの集計結果が表の形で得られる。グループ化をするには、「GROUP BY カラム名」という形で、基準となる列(カラム)を指定する必要がある。また複数のカラム名を適用させる事もでき、その際はカラム名同士をコンマ(,)で繋げる必要がある。

HAVING句
グループ化したデータから、更に特定のグループのみを取得したい場合に用いられるSQL。「GROUP BY カラム名 HAVING 条件;」とすることで、条件を満たすグループを取得できる。集計処理を行った後の結果表に対して絞り込みが出来る意義がある。
(WHERE句には集計関数が利用できない為)

サブクエリ(副問い合せ)
SQL文の中に入れる、別のSQL文のこと。「副照会」と呼ばれる事もある。2つ以上のSQL文を1つにまとめる事ができるので、より複雑なデータを取得する際に用いられる。サブクエリを使うには、()で囲む必要がある。書き方は通常のSQL文と同じだが、()内にセミコロン(;)は不要。実行順序として、まずサブクエリが実行された後、外部にあるSQL分が実行される。

AS句
カラム名に別名を定義する際に用いるキーワード。「カラム名 AS “名前”」で、カラム名に定義する名前を指定する。わかりにくい列名や長い列名を、わかりやすく短い列名を付けて利用できるのがメリット。DB製品によってはASの記述を省略する事も可能である。

主キー(PRIMARY KEY)
社員テーブルのようにおける社員番号のように、「この値を指定することで、ある1行を完全に特定できる」という役割を担う列のこと。特性として、必ず何らかのデータが格納される(NULLではない)、他の行と値が重複しないといった点が挙げられる。全てのテーブルは主キーとなるような列を必ず持つべきだと言える。特定の行を識別可能にするために、主キーのための列を無理矢理作るのが一般的。作成するには、CREATE TABLE文の中に「PRIMARY KEY(列名)」を追加すれば良い。

外部キー(FOREIGN KEY)
関連したテーブル間を結ぶために設定する列のこと。他のテーブルのある列(主キー列など)の値を格納することで、「その行が他のテーブルのどの行と関連しているか」を明らかにする機能がある。主キーとは言葉は似てるが、機能や役割は全く異なる無関係なものなので注意。

JOIN句
複数のテーブルを1つに結合したい時に使うキーワード。ONで条件を指定して、異なるテーブルを結合する。結合したテーブルは1つのテーブルとしてデータを取得する事ができる。結合条件は「ON テーブル名.カラム名 = テーブル名.カラム名」で指定する。なお「結合」とは、テーブルを丸ごと繋ぐのではなく、結合条件が満たされた行を1つずつ繋ぐことを意味する。

LEFT JOIN句(左外部結合)
FROMで指定したテーブルのレコードを全て取得する。外部キーが「NULL」のレコードもNULLのまま実行結果に表示される。左表の結合相手となる行がない場合に用いられる。

phpMyAdmin
MySQLサーバーをWebブラウザで管理するためのデータベース接続クライアントツールで、PHPに実装されている。phpMyAdminを用いる事で、SQL文を記述せずにMySQLのデータベースに対して様々な動作を行える。また、ユーザーが任意のSQL文を記述して実行する事もできる。コマンドラインでSQLを書けなくても手軽に操作できるのが特長。

照合順序(collations)
文字の並び順(大小関係)を比較する場合の基準。多くの照合順序は、番号順やアルファベット順、英語の大文字と小文字を区別するか否か、及びこれらの拡張や組み合わせに基づいている。分類としては、文字の順序を示すSQL照合順序と、文字を区別するWindows照合順序の2つがある。照合順序の名前が「”SQL”」から始まるのが前者で、そうないのが後者である。基本的にはWindows照合順序が用いられる。

PDO(PHP Data Objects)
PHPからデータベースにアクセスする機能を提供する拡張モジュール。PHP5.1から標準で搭載されている。どのデータベースを利用してるかを隠蔽してくれる機能や、どのデータベースを利用する場合でも同じ関数を利用できる機能を持っている。データベースサーバーとの接続を確立するには、PDFクラスのインスタンスを作成する必要がある。また、PDOは1つのSQLを実行するのに準備、実行、取得といった三段階のステップを踏む。

バージョン管理関連


バージョン
アップデートするにつれて変化するファイルの状態のこと。Gitを理解する上では欠かせない概念である。同じファイルの複数バージョンを保持することを「バージョン管理」と呼び、Gitはこれを行うツールである。

Git
プログラムソースなどの変更履歴を管理する分散型のバージョン管理システム。Linuxの開発チームが使用して、徐々に世界中の技術者に広まった。コードの変更履歴を保存(コミット)できるのが特長。いつ誰がどこを変えたのかや、最新のバージョンはどれか等、ソースコードの変遷を把握する事が可能。
※参考:Gitのコマンドまとめ
※参考:ProgateでGitを学習

GitHub
2008年に開発された、Gitを利用した開発者を支援するWebサービス。クラウド上でGitを用いたバージョン管理をする事ができる。世界中のソフトウェア開発に利用されており、ユーザー数は1000万人を超える。なお、GitHubのようなGitのホスティングサービスは、他にもBitbucketやBacklogなど複数存在しており、Gitを使うために必ずGitHubを使わねば…という訳ではない。
※参考:GitとGitHubの違い

リポジトリ
システム開発のプロジェクトに関するデータの貯蔵庫。ファイルやプログラム、設定情報などを保管する。Gitなどのバージョン管理システムにおいては「ファイルや変更履歴を置いておく場所」という意味がある。手元のパソコン内に作成する自分専用のリポジトリであるローカルリポジトリと、ネットワーク上に存在するリモートリポジトリの2つに大別される。「リポジトリ」という言葉を見たら、「このリポジトリには何を入れるのか」を考えるのが大事。

コマンドライン
ユーザーがキーボードから「コマンド」と呼ばれる命令文を入力して、コンピュータに命令を実行させる方法のこと。文字だけでコンピュータを操作できる。Windowsではコマンドプロンプト、Macではターミナルというツールが使用されている。サイトやアプリを開発する際の必須ツールである。
※参考:コマンドラインとは?意義や簡単なコマンドまとめ

ターミナル
Macに予めインストールされているアプリの1つ。キーボードを使って特別な文字の命令を打ち込むことで、マウスの操作ではできないコンピュータの細かい設定や特別な操作ができるようになる。システム環境設定では変更できない、高度なカスタマイズを行いたい場合に用いる。Windowsにおけるコマンドプロンプトとほぼ同じもの。

コミット
ユーザーが任意のタイミングで記録を保持する操作、およびその記録自体を指す用語。コミットは自動的には行われず、ユーザーが適切なタイミングで明示的に実行する必要がある。また、コミットする際にその内容を記載した文言は「コミットメッセージ」と呼ばれる。コミットを特定する上では「ハッシュ値」と呼ばれる技術が用いられている。

ローカルリポジトリ
手元で使っているPC内に作成する自分専用のリポジトリ。ローカルリポジトリにコミットを行いファイルの状態を保存するには、変更するファイルを保持する「ワークツリー」、コミットするファイルを登録する「ステージングエリア」、コミットを格納する「Gitディレクトリ」と呼ばれる3つの場所を用いる。

CUIクライアント(Character User Interface)
Gitクライアントの1種類。キーボードから文字の命令を入力してGitを操作する。文字を入力することで結果が文字として表示されるシンプルな機能が特徴。

GUIクライアント(Graphical User Interface)
Gitクライアントの1種類。マウスを使用してGitを操作する。メニューやボタンが沢山ある一方、種類も多く習得するには時間がかかる。視覚的に分かりやすい点はメリット。

ディレクトリ
フォルダのこと。CUIにおける用語。コマンドラインで開いている「カレントディレクトリ」、初期表示される「ホームディレクトリ」、一番階層が浅い「ルートディレクトリ」の3つに大別される。様々な「コマンド」を使用して操作を行う。例えば、ディレクトリ間を移動するには「cdコマンド」が用いられる。

プル
指定したリモートリポジトリの内容を、使用中のローカルリポジトリに取り込むこと。実行するには「git pull」というコマンドを用いる。

差分
ファイルの修正前と修正後の違いのこと。差分を見て、意図しない変更がないかを確認するのは重要である。差分の確認には「git diffコマンド」を使用する。

ブランチ
Gitで記録する履歴を枝分かれするための機能。同じリポジトリ内で、並行して異なる作業をする際に役立つ。枝分かれさせたブランチは任意のタイミングで統合できるが、この作業を「マージ「と呼ぶ。また、Gitのリポジトリを作成すると自動で「masterブランチ」が作成される。ブランチを操作するには「git branchコマンド」を用いる。

対話モード(インタラクティブモード)
Pythonの実行方法の1つ。コマンドプロンプトやターミナルを利用する。プログラムを1行ずつ逐次実行できるモードで、Pythonで書かれたプログラムの動きを試してみたい場合などで使用される。

各種サービス・アプリ


Atom
テキストエディタの1つ。Web開発者が作業を効率化するための様々な機能を網羅している。GitHubの創業者が「Web技術を用いて、自由にカスタマイズできる新時代のエディタ」という理念のもと開発を進めたオープンソースのエディタである。「パッケージ」と呼ばれる拡張機能を追加することで、各自のユーザーが使いやすい環境を作り上げることが出来るのも魅力。

Progate
Web上でプログラミングを学べる無料の学習サイト。単なる解説にとどまらず、実際にコードを打ち込む「演習」がセットになってるのが特徴。レッスンを達成することで経験値が貯まりレベルアップしていく、ゲーム感覚で学習ができる。『初心者から、創れる人を生み出す』がキャッチコピー。
※参考:Progateとは?魅力や欠点、学習の順序や心得など

Visual Studio Code(VSCode)
マイクロソフトが開発したオープンソースのテキストエディタ。Windowsの他、MacやLinuxでも動作する。強力な編集機能とデバッグ機能を持っている他、JavaScript、TypeScript、CSS、HTML、Python、PHP、C#など数多くのプログラミング言語をサポートしているのが特長。多くのプログラマーやWebデザイナーの指示を集めており、VimやSubllimeTextから乗り換える人も少なくない。

システム環境設定
Macに標準搭載されているアプリケーション。コンピュータ内のシステム設計を操作できる。Windowsのコントロールパネルに該当する。Macを使いこなす上で欠かせない機能。
※参考:システム環境設定の機能や、Mac購入後に行いたい設定について

デベロッパーツール
Google Chromeに付属しているWebデザイナー、コーダー向けのツール。HTMLやCSS、JavaScriptのコーディング内容を検証し、問題があれば元データを編集できる。自分のWebページだけでなく競合のページの確認も出来るのもポイント。
※参考:Google Chromeデベロッパーツールとは?出来ることや使い方を解説

職種・働き方


Webディレクター
Web業界においてプロジェクトを管理、指揮、管理する職種。売上を上げるWebサイトを構築するプロジェクトに関わるプロデューサー、ライター、デザイナー、プログラマーなど社内外の関係者との間に立ち、円滑に業務を進めるのがミッション。プロジェクトの進捗管理を円滑に行うため、スケジュール管理力や社内外の関係者との間に上手く立ち回るコミュニケーション能力、ある程度の技術的な知識が必要となってくる。
※参考:Webディレクターとは?必要スキルやKPI、KGIとの向き合い方

Webプロデューサー
Webビジネスにおけるプロジェクトの企画・制作から顧客折衝、予算管理、運営といった上流から下流までのフロー全体を把握し、統括を担う責任者のこと。業務範囲としては「企画・統括」に焦点が置かれている点が多く、「制作・管理」が中心となってくるWebディレクターと異なると言えるが、両者の違いがそこまでないケースも多い。
※参考:Webプロデューサーとは?制作フローも解説

フルスタックエンジニア
全ての開発を自分一人で手がけられるエンジニアの総称。厳密な定義がある訳ではないが、システムの「設計」「開発」「運用」を一貫して行えるスキルと知識が求められる事が多い。またプロジェクトマネジメント、ソフトウェア開発、インフラ、サービス運用といった4分野のスキルを兼ね揃えている事を指す場合もある。
※参考:システムの開発の前工程や開発の流れ、開発手法について

  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

管理人紹介


21世紀、より良い人生を歩むための個人事業主による備忘録メモです。固定観念にとらわれず、日本や世界の深淵に触れ、自由快適な人生を歩んでいく事を大切にしています。