*

就活生必見! Webエンジニアになるなら知っておきたい超基本業界用語

本日はWEB業界でよくつかわれる専門用語について私の知っている範囲で書いていこうと思います。

こういうコンテンツが一番必要になるのはこれからWeb業界に入ろうと思っている未経験者の方でしょう。

学校の試験のようにこういった言葉をテストされることはあまりないですが、知らないと常識を疑われますし、頑張って勉強している、といってもウソだと思われます。

未経験の方の指導をしているとWeb業界にこれから就職したいのにFTPという言葉を知らないという生徒さんに結構あいました(汗)

面接でいくらやる気をアピールしても基本的なことを知らなければ嘘言っているなーと思われてマイナスでしょう。

こういった人が頑張ってサイトを作りました!といっても信用できません。

今回、紹介する用語はかなり基本的なものばかりなのでできれば全て知っておいたほうが良いです。

注意点としては大まかなイメージを持ってもらうために完全な正確さは犠牲にしています。あきらかな事実と違うことは書いていませんが、概念的な単語(例えばオブジェクト指向)などは言葉だけで厳密な定義を追求すると初学者にはわからないのであくまでこんな感じ、ということを理解してもらえればOKです。

またこのページだけですべてを完全に網羅するのは難しいことから適宜リンクを貼りましたので、使ってみてくださいね♪

コンピューター全般の基礎

まずはWeb云々の前にPCのことから。

CPU

Central Processing Unit。中央演算装置。PCの部品の1つで計算を行う場所。ここでひたすら計算処理を行っている。

メモリ

データを一時的に保存しておく場所。一般にパソコンの動きが遅いときはこれが足りていないことが多い。今(2016年2月現在)では8Gは欲しいところ。

OS(オーエス)

Operating System。パソコンや電子機器を動かす基本となるソフトウェアのこと。全てのソフトウェアとハードウェアを管理する、おおざっぱなイメージをいうとPCという世界の中の管理人さんみたいなもの。こいつが動かないとほかのソフトが動かない。Windows,Mac,Linuxなどが有名。

デバイス

意味その1 プリンタやキーボードなどPCに接続する周辺機器
意味その2 Androidなどの端末そのもののこと

ブラウザ

インターネットをするときのソフトウェアのこと。InternetExplore,FireFox,Google Chrome,Safariなどが有名。

さらに深く理解したい場合はここで確認しておきましょう。

コンピューター基礎知識
http://pasokonshosinsha.sakura.ne.jp/page088.html

プログラミング編

エディタ

テキストエディタともいう。プログラムを書く際に必要となるソフトウェア。プログラムを書きやすいが機能が搭載されている。秀丸、TeraPad、サクラエディタなどが有名。
プログラミングに使える!フリーのテキストエディタ10選
http://techacademy.jp/magazine/986

IDE(アイディーイー)

Integrated Drive Electronics。統合開発環境。

乱暴にいうとエディタよりもさらに機能が拡張されたソフトウェア。

プログラムを書くだけではなく、エラーの発見を自動的にしてくれたり、後述するコンパイルやデバッグ、バージョン管理などさまざま機能が標準搭載されている。

JavaなどではIDEを使うことが一般的。一般的に大量のメモリを使うため、起動に少し時間がかかる。Eclipse(イクリプス)、NetBeans(ネットビーンズ)が特に有名。

文字コード

PCには文字を記憶させるときに文字そのものではなく「72番」みたいに記号と対応させデータの変換作業を行う。この変換の際に使われる対応表のこと。

2016年2月現在,Web業界ではUTF-8(ユーティーエフエイト)が標準。他にシフトJIS(シフトジス),EUC(イーユーシー)など。この変換がおかしいと意味不明な文字が画面に出力される。いわゆる文字化け

文字コードって何?
http://homepage1.nifty.com/mfujimot/pcbook/charactercode.html

コンパイル型言語

プログラムを実行するときに一度機械語(PCがよめる暗号のようなもの)に翻訳してから実行するタイプのプログラミング言語。C,Javaなどが有名(Javaは厳密にいうと違うようですが・・・)

このような言語の場合、人間が書いたプログラムを一度コンパイル(機械語に翻訳)して実行可能なファイルを作り、そのファイルを実行させる。

後述するインタプリタ言語よりも一般的に速度が速い。

インタプリタ言語

上記のコンパイル型と違い、実行時に1つ1つをPCが読み取って実行していく処理言語のこと。プログラミング言語と機械語の同時通訳しているようなもの。

PHP,Perl,Rubyなどはインタプリタ言語といわれる。コンパイラ型に比べると一般的に処理速度がやや遅い。

変数

プログラムの中であるデータを入れておく1つの箱(正確にはメモリ)のようなもの

配列

複数の変数を一括してまとめておくことができる変数の集合体のようなもの。PHPではただ複数の変数を格納しておく以外にも、添え字をつけることのできる連想配列、や配列の中にさらに配列を入れられる多次元配列などがある。

ちなみにPHPの連想配列は他の言語ではハッシュといわれることが多い。

定数

変数と同じくデータを入れておく1つの箱だが、一度定義すると中身を変えることができない。

関数

プログラミングにおいてある特定の命令を実行する式。

デバッグ

プログラムのエラーを削除すること。

エラーが無くともプログラム作成途中で変数などを出力し、処理が正常に行われているかどうかをチェックすることもこの作業に含まれる。

オブジェクト指向

超重要。似た変数と関数をまとめて部品化することでプログラムを書きやすくするための考え方・作り方。

PHPのみならず現代プログラミング言語では大体、オブジェクト指向が使われている。

ちなみにプログラミング初心者にとって最大の鬼門

プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話
http://tdak.hateblo.jp/entry/20140406/1396773476

クラス

オブジェクト指向で変数や関数を設計する際の設計図で型のようなもの。

インスタンス

クラスから生成される実体。クラスがたこやきの型だとしたらインスタンスはその型から実際につくられたたこやきそのもの。

ライブラリ

プログラムの良く使われる機能などを部品化して誰でも使えるようにしたもの。

ちょっと近い意味の用語としてプラグイン、モジュールなどもあり初心者にはわかりにくい。(詳しくはリンク参照)

モジュールとコンポーネントとライブラリとプラグインの違いとは
http://shoyan.hatenablog.com/entry/2013/05/16/084056

上記のリンクは大変わかりやすいですが、こういった単語の使い分けとしては辞書的に意味を覚えるよりは単語が出てくるケースをたくさん経験してこういうときにはライブラリ、こういうときにはプラグイン、といったように覚えるほうがいいと思います。

フレームワーク

開発者がゼロからコーディングをしなくてもすむように、よくつかわれる機能などをあらかじめ搭載したソフトウェア。

使いこなせばゼロから書くよりもはるかに速いスピードで開発を進められる。

目的としては「コードの書き方の統一性を上げること」であり、楽をするのはその結果。もちろんデメリットもある。PHPではCakePHP,synfony,Zend Frameworkなどが有名。

詳しくは「フレームワークのメリット・デメリット」で

スクラッチ

既存の製品やテンプレート、フレームワークなどを使わず新規にゼロから開発すること。完全なスクラッチをフルスクラッチ、などとも言う。

ソースコード

単にソースとも言う。プログラムが書かれたファイルそのもの。

保守性(ほしゅせい)

あるプログラムの修正のしやすさのこと。一般的には保守性が高いほどいいプログラム

具体的には

  • 各プログラムの依存度が少ない
  • 抽象度が適切
  • 適切な短さで書かれている

のようなプログラム。

可読性(かどくせい)

あるプログラムの読みやすさのこと。一般的には可読性が高いほどいいプログラム。

具体的には

  • フォーマットを統一する
  • 適切な変数名をつける
  • なるべく短くする
  • コメントを適切に書く

など

ソースコードの可読性を挙げるためのTips
http://qiita.com/icoxfog417/items/f737d6c84b733f649461

 スパゲッティコード

スパゲッティのように絡み合っていて非常に読みにくいソースコードのこと。もちろん悪い意味。

 バージョン管理

「いつ、だれが、どのソースコードに、どんな変更を加えたか」を管理できるソフトウェアのこと。履歴をみたり、失敗した場合、ある一地点にもどしたり、分岐させたりすることができる。

一昔前ではSubversion(サブバージョン)、今ではGit(ギット)が主流。

サルでもわかるGit入門
http://www.backlog.jp/git-guide/

データベース編

データベース

大容量のデータを大量に検索、挿入、編集、更新するためのソフトウェアのこと。

MySQL(マイエスキューエル)

世界で最もシェアの高いデータベースソフトウェア。

他にPostgreSQL(ポストグレスキューエル),Oracle(オラクル)などが有名。

テーブル

あるデータが入っている1つの表。下記のようなもの

id|name|age
1 |山田 | 35
2 |佐藤 | 40

レコード

テーブルに入っている一行一行のデータのこと。

上の例でいうと山田 35が1つのレコード

カラム

テーブルの列のこと。上の例で言うとnameやageなど

CSVファイル

comma-separated values。カンマで区切られたテキストファイルのこと。

id,name,age
1,山田,35
2,佐藤,40

のようなもの。

上記のような1次元のデータを扱うのに向いている。通常はエクセルなどで開くことが多い。データをテキストで処理する形式はこれだけではなく、JSON(ジェイソン),XML(エックスエムエル)などある。

データフォーマットの変遷を考える
http://www.gixo.jp/blog/3965

サーバー・ネットワーク編

サーバー

ある特定の仕事を行うPC・ソフトウェアのこと。例えばWebページを見せる仕事をするのはWebサーバー。メールの送受信を行うのはメールサーバー。ただのサーバーという場合、Webサーバーを指すことが多い。

クライアント

サーバーに仕事を頼むPC・ソフトウェアのこと。例えばWebページを見る場合は、ブラウザがサーバーにこのページ見せて!と頼むのでwebクライントといえる。

超絶初心者のためのサーバとクライアントの話
http://qiita.com/shuntaro_tamura/items/ae55b99deb9e2a170754

Linux(リナックス)

主にサーバー用途で使われるOS。実際に使うのはLinuxそのものではなく、さまざまなディストリビューションといわれる規格のようなもの。

たとえで言うとLinux = 南斗聖拳で、各ディストリビューションが南斗~拳みたいなもの。(北斗の拳がわからない方、スイマセン(汗)私は昔、このたとえがすごくわかりやすかったんで・・)

一般的には無料で使うことができ、雑誌などのCDの付録についていたりもする。Ubuntu(ウブンツ)、CentOS(セントオーエス)などが有名。

Linux初心者入門講座
http://linux.pgtop.net/

Apache(アパッチ)

世界的にシェアの高いWebサーバー。

HTTP(エイチティーティーピー)

Hypertext Transfer Protocol。通常のWebサイトを見るときに使われている通信方式のこと。

HTTPS(エイチティーティーピーエス)

Hypertext  Transfer Protocol Secure。HTTPを暗号化した技術。お問い合わせフォームなどユーザーに情報を入力させるような形式のサイトではついていることが多い。

FTP(エフティーピー)

File Transfer Protocol。サーバーなどにファイルを転送するときのファイルの転送方式のこと。この転送方式でファイルを送ることのできるソフトをFTPソフトなどといったりする。FileZilla(ファイルジラ)などが有名。

SSH(エスエスエイチ)

Secure Shell。暗号技術を利用してサーバーと通信する技術。この通信方式で使われるソフトがSSHソフト。

例; TeraTerm,Puttyなど。

SFTP(エスエフティーピー)

SSH File Transfer Protocol。SSHを利用してファイルを安全にやりとりすること。暗号化されているため一般的にはFTPより安全。

それぞれの通信方式などについて
http://bluehackers.com/?p=651

IPアドレス(アイピーアドレス)

ネットワークにつながっているパソコンに振られた番号(220.54.67.121など)。いわゆるネットワーク上の住所のこと。

ドメイン

あるPCがネットワークのどこにいるかを示すのがIPだが、人間にとって覚えにくいため、www.yahoo.co.jpなどの名称にしたもの。ちなみにIPとドメインを対応させるしくみをDNS(ディーエヌエス:Domain Name System)という。

URL

Uniform Resource Locator。Web上においてあるwebページ、音楽など、具体的な1つ1つのページのアドレス。http://news.yahoo.co.jp/pickup/XXXXXXなど

その他

ユニーク

面白いという意味ではなく、「あるデータを識別する唯一の属性」という意味で使われる。たとえば生徒というデータという生徒番号のようなもの。発音がおもしろいのほうとちょっと違う。

UI(ユーアイ)

User Interface。ソフトウェアの見た目や操作感のこと。単にデザイン的なことだけではなく、ユーザーにとって使いやすいか、いなかということが評価される。似た言葉にユーザビリティなど。

良く聞くけど「UI」って何??そんな疑問にお答えします!
http://applision.com/introduction/1197/

GUI(ジーユーアイ)

Graphical User Interface。アイコンなどをクリックしたりして視覚的にPCを操作する方法。要は一般的にPCを操作する方法。

CUI(シーユーアイ)

Character user interface。黒い背景の画面に、命令を文字でうってPCを操作する方法。映画とかでハッカーなんかが使っている画面はこれが多いので、できない人からみるとPC使える感が非常に漂う(笑)

まとめ

とりえあえず思いつくままにあげてみました。

就職の面接や働き始めで、これらの単語をしらないとやっぱり低くみられることは多いです。理解せずに使っているともっとイタイですが・・・

毎日Web業界の記事をよんだり、プログラミングの世界に足をふみいれていれば当然覚えていくはずの単語ですので、ここにある単語が半分以上わからない人は要注意です(爆)

ただし、実をいうと毎日働いている人も正確な単語の定義などは怪しかったりしますので、厳密な理解は必要ないこともあります。あくまで一般教養として知っておきましょう。

関連記事

お問い合わせフォームを作ろう! その2(PHP)

おはようございます。松本です。 繰り返しますが、このブログは技術ブログなので(笑)PHPのネタ

記事を読む

プログラミングが初心者にとって難しい4つの理由

今回は初心者がプログラミングをやるのがなぜ難しいかをしっかり書いていこうかと思います(爆)。

記事を読む

お問い合わせフォームを作ろう! その4(PHP)

お疲れ様です。松本です。 今年は振り返ってみればもう半年が過ぎちゃいましたね。今年はいろいろあ

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 その2

前回の学習 PHPで掲示板を作ろう! 掲示板の作成方法 その1 それでは掲示板の作成方法その

記事を読む

プログラミングを独学で身につけるための4ステップ(実践編)

前回の記事ではプログラミングを独学で身につけるための心構え的なお話をしました。 今回は、実際に

記事を読む

「初級」〜「中級」のPHPエンジニアのスキルについてまとめてみる

いままで主にPHP(を中心としたWeb技術)を勉強し始めの傾けに記事を書いていましたが、今回は初級か

記事を読む

未経験者がWEBエンジニアとして就職する前に身につけておいたほうがよいスキル一覧

夕方、用事から帰ってきてから寝てしまったので寝れなくなっている松本です。 寝れないので今日はも

記事を読む

PHPで掲示板を作ろう!(データベース編) その1 データベースとは

以前、掲示板を作成するブログ記事を書きました。 その1 PHPで掲示板を作ろう! 掲示板の作成

記事を読む

開発を便利にする道具たち

PHPだけではありませんが、プログラミングには開発スピードをアップさせるための便利な道具があります。

記事を読む

繰り返しを学ぼう その2 (while)

おはようございます。松本です。 最近、仕事をしていると細かいノウハウよりも「行動力」が何よりも

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑