WEBエンジニアに必要な技術スキル




WEBエンジニアにとって必要はスキルとは何でしょうか?ここでは、実際にモノを作りこむときに必要な技術面でのスキルをご紹介したいと思います。


HTML、CSS


今ご覧になっているようなページがHTMLとCSSでできています。ウェブ上にあるページを表示するためには、このHTMLとCSSを理解して使いこなすことが必須です。


HTMLはページのタイトルを書いたり、表を作成したりなど、ページを表示するために必要になります。ホームページを作るときは必ずHTMLを使用する必要があります


CSSは文字を装飾したり、ページをいくつかのブロックに分けたりなど、ページのデザイン的な機能を主に担います。HTMLでもデザイン部分はできるのですが、各ページに共通するようなデザインをページごとに書いていると、デザインを変更したくなったときにすべてのページを変更しなければなりません。ページ数が少ないうちはいいのですが、100ページを越えるような大きなサイトだと、とても面倒ですよね。


CSSは1つのファイルにまとめることができ、ホームページで共通のデザインを使いまわすことができます。デザインを変える場合には、CSSのファイルを変えるだけで、全部のページのデザインを一気に変えることができるようになりますので、メンテナンスがとても簡単になります。




JavaScript


JavaScriptは最近のウェブアプリケーションを構築する際には必須となるスキルです。


郵便番号を入れると自動的に住所が補完されたり、Google Mapで地図をドラッグすると場所を動かすことができるということを体験されている方も多いと思います。これらの機能はJavascriptを使って実現されています。


このようにJavascriptを使うと、ユーザーの手間を軽減したり、利便性を飛躍的に上げることができるようになります。


Google Mapが登場して以降、それまで日陰の存在だったJavaScriptが一躍表舞台に登場するようになり、最近ではJavaScriptが使われていないサイトを見ないことの方が多いです。


JavaScriptは絶対に覚えておく必要があります。




プログラミング




PHPやJavaなどの言語を使ってプログラミングできることは非常に重要です。WEBエンジニアの仕事の7割はプログラミングにあるといってもいいかもしれません。


WEBエンジニアがよく使うプログラミング言語のページにあるように、WEBアプリケーションで使われる言語はだいたい決まっています。1つの言語を覚えると様々なシステムを組めるようになりますので、ぜひ1つの言語を徹底的にきわめてマスターすることが大事です。


プログラミングとはどのようなことをするのでしょうか?
例えば、氏名や年齢などの個人情報を入力したら確認画面を表示し、確認ボタンを押下して登録完了というページがあるとします。インターネット上で申し込みをするような場合、よく見かけると思います。


プログラマーはまず、個人情報の入力画面を作成し、情報が入力されてボタンが押されたら、確認画面に遷移して入力された情報を確認できるようにプログラムを書きます。このときに、メールアドレスの形式に誤りがないか、住所に記載漏れがないかどうか等も合わせてプログラムでチェックします。そして、最後にユーザーが登録ボタンを押すと、入力された個人情報をデータベースに登録して、ユーザーに確認メールを配信し、登録完了ページを表示する、というようなプログラムを組みます。


データベースに登録する際には、入力されたパスワードなどの秘密性の高い情報は暗号化して保存したりするなど、セキュリティに配慮したプログラミングを行います。


以下でも説明していますが、プログラマーは上述のHTMLやCSS、JavaScriptを理解して表示画面を作ったり、データベースに情報を登録したり検索したりするための知識や、大事な個人情報が漏えいしないようにセキュリティに配慮したプログラミングを行うなど、幅広い知識を身につける必要があります





データベース


データベースは情報を登録したり検索したりすることができます。たとえば、ショッピングサイトでは商品情報をデータベースに登録し、ユーザーがキーワードや金額などで検索をかけると、データベースから該当するものを抽出して画面に表示します。


プログラマーはデータベースを操作するためにSQLという言語を覚える必要があります。


データベースがあることによって、様々なアプリケーションを開発することが可能になります。ショッピングサイトなどもそうですし、企業などで使われる業務アプリケーションでも必要になります。




Linux、WindowsなどのサーバーOSの知識




アプリケーションはLinuxやWindowsといったOSがインストールされたサーバー上で動作することになります。


プログラムを書いているときに、Linuxの機能(コマンド)を使う必要が出てくる場合もありますし、タスクスケジュール機能のようなWindows独自の機能を使う場合もあります。


インターネットに公開して多くの人に使ってもらうためには以下でも説明しているセキュリティに十分注意する必要がありますし、サーバー上でアプリケーションを動かすための設定を行う必要もあります。OSが変わればやり方が全然違いますので、個々のOSを熟知しておく必要があります。


開発したアプリケーションは最終的にサーバー上で動くため、サーバーのことをよく知らずに中途半端な設定をしてしまうと、大きなセキュリティホールを作ってしまうことになりかねず注意が必要です。




セキュリティ


最近は個人情報が漏えいして大問題になったりするなど、セキュリティに対する意識が非常に高くなっています


ウェブアプリケーションは1つのサーバー上で動き、個人情報などの大事なデータが登録されていますので非常にセキュアなシステムを構築する必要があります。


プログラマーは、悪意のある攻撃があってもデータが漏えいしないようなプログラミングを意識する必要があります。たとえば、SQLインジェクションやクロスサイトスクリプティング、ディレクトリトラバーサルといった攻撃があり、これらに対する対策を講じる必要があります。


インフラエンジニアやSEは、サーバー構築の際、ファイアウォールの設定を適切に行って必要なポートだけを開放したり、サーバーにログインできるユーザーを限定するなど、サーバーの設定を適切に行う必要があります。もし設定が不十分だと、悪意のあるハッカーに侵入されて、データをごっそり持っていかれたり、内部のデータを書き換えられたりするなど、大問題になってしまいます。


ほかにも内部の人間によるデータの持ち出しを防ぐために、サーバーPCにアクセスできる人の物理的な制限を検討する必要もあるなど、セキュリティ対策は非常に重要です。



このエントリーをはてなブックマークに追加



関連記事 

1.WEBエンジニアは将来性があると思う理由
2.WEBエンジニアの種類




▲ このページの上部へ戻る