Webエンジニアとして就職するまでに身につけておきたいスキル<後編>

今回は、前回に引き続き、未経験者が就職するでに覚えた方が良い知識について書きます。
前回が、フロントとプログラミングでしたので今回は、データベースとサーバに関してです。
データベース:MySQL、PostgreSQL、Oracle、MS-SQL
Webアプリには、データベース(DB)は必須と言っても、過言ではないでしょう。Webアプリではほとんどの場合、「データ」を扱います。
例えば、Amazonでしたら、商品や顧客情報になりますし、Twitterでしたら、つぶやきやユーザー情報になります。これらはデータを管理する専用のソフトで管理されているのが一般的で、そのソフトのことをデータベース(DB)と言います。
具体的なDBのソフトウェアとしては、MySQL、PostgreSQL、Oracle、MS-SQLが有名ですね。Webの現場では、業務系でなければ8割方、MySQLを使っています。
と言っても、一つのデータベースで操作を覚えれば、他のソフトウェアの操作も、それほど違いはなく、問題はないでしょう。これらの操作がまず、しっかりできることが基本になってきます。
※具体的な項目が並びますので、わからない方は そういうものがあるのだな程度に、目を通して いただければと思います。
具体的には
- データベースの作成
- ユーザーの作成
- テーブル作成
などです。
phpMyadminなどのGUIソフトを使っても良いですが、コンソール(黒い画面)からログインして、コマンドを打ちながら、データベース⇒ユーザー⇒テーブルを自在につくれるようになっておきましょう。
それができるようになったらintやvarcharなど基本的な型の理解が大切になってきます。
とはいっても最初はint、varchar、text、timestamp、datetime、tinyintぐらいでしょう。
これぐらいの使い分けが、適切にできるかですね。逆に言うと、最初はこれくらいが使えれば、なんとかなります。
select、insert、update、deleteなどの基本構文操作
次に、大切になってくるのは、データの検索、入力、更新、削除です。
これらは非常に基本的な内容になりますので、頭より、体で覚えてできるようになっておきましょう。
特に、selectは最頻出なので、何も見なくてもできるように!
複数テーブルの使用、リレーション
少しずつ、基本的なテーブル操作できるようになったら、複数のテーブルにデータを分けてみましょう。
例えば、ECサイトを扱っていて、カテゴリーなどは商品の中の一部ですが、商品テーブルとカテゴリーテーブルのように分けた方が、後々応用が利きます。
また、複数のテーブルを繋ぐことをリレーションなどと言ったりしますが、こちらも一般のWebアプリでは必須です。
バックアップ、リストアができるか
最後に、データベースをバックアップして別の場所に持って行き、復元(リストア)できるかですね。
この操作も、環境を構築する場合に必須になってきます。
データベースの場合、上記の基本作業ができるようになっておくと良いですね。
インフラ:Linux、Windows、AWS/Azure/GCP
フロント、プログラミング、データベースときたら最後は、インフラ(ネットワークとサーバ)になります。
Webアプリを作る場合、自分のPCで作業していると思いますが、リリースする際は、どこからでも、アクセスできるようにネットワークに繋がった、コンピュータ(サーバと言います)にアプリを配置します。(「サーバにアップする」という言葉を聞いたことはないでしょうか?)
サーバを円滑に扱うための基本的な知識と操作に慣れておきましょう!
と言っても、自分でサーバを用意しなくても月額千円以下で、問題ないサーバを借りることができます。まずは、ロリポップやさくらインターネットでサーバを契約してみると、良いかもしれません。
Linuxについて
サーバとして使うパソコンは、ほとんどがLinuxと言われるOSがインストールされています。
WindowsやMacと違い、無料で、使うことができます。Linuxには、UbuntuやCentOSなどの種類があります。
IPとドメイン、DNSの知識
サーバを契約したばかりでは、単にネットワーク上の番号が振られているだけですので、自分の好きなURLで、アクセスすることはできません。
ネットワーク上の番号は、IPアドレスといい、192.168.1.1のような形式で表されています。(ネットワーク上の住所、番地のようなものです)
好きなURL(ドメイン)をつけたい場合は、それを管理している業者(ムームードメインやお名前.comなど)で、購入する必要があります。
これら、IPやドメインと言った、基本的な用語にも慣れておいて下さいね。
また最終的に、URLでサイトにアクセスすることになりますが、IPとドメインを紐付ける仕組みのことを、DNSと言います。
基本的なLinuxコマンド
また就職する前に、ぜひ慣れておいて欲しいのがLinuxコマンドです。Linuxでファイルを操作する場合、マウスをクリックして操作するのではなく、黒い画面で、コマンドを打って操作します。
映画で、ハッカーがコンピュータを操作しているイメージに近いですね。
慣れないと非常に苦痛なので、これも体で覚えてしまうと、イイと思います。
特に、ls、cd、mv、cpといったコマンドは最頻出であり、数学をやるときの九九のようなものです。
ユーザー権限とパーミッション(どこまでの操作を許可するか)
Windowsと違い、複数のユーザーで操作をすることを前提にしているので、このファイルはAさんの権限なのでAさんでないと動かせない、などの権限があります。
Linuxではこのことを理解しておかないと、プログラムが問題ないのにファイルが動かない!ということが頻繁に発生します。
基本的なサービスのインストール
Windowsで、XAMPPをインストールするように、Linuxでもソフトをインストールしないと基本的に何もできません。
最低限、ApacheやPHP、MySQLのインストールはできるようになると良いですね。
スキルを身につけるために
以上、前編で、フロントとプログラミング、後編で、データベースとサーバについて書かせていただきました。「未経験で、こんなに・・・???」と思われたかもしれませんが、かなり絞りました(笑)。
ただ、これらの知識を書籍や無料動画で眺めても、カンタンには身につかないと思います。
大事なのは、実際に、「Webアプリを作ってみること」です。
よほど変わったものではない限り、作っていく過程で、私がここであげた知識が身についていくはずです。
弊社「無料PHPスクール」にお越し頂く、お越し頂かないかに関わらず、これは、ぜひ意識をして頂けると幸いです。