初心者が最速でWebサービスを作るために勧めている勉強方法。

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

当社では新卒や二次新卒のWebエンジニアを時々募集しているのですが、採用面接でよく聞かれるのが「何から勉強したら良いでしょうか?」という質問。
個人的には実際に作らないと作れるようにはならないと伝えていますが、そもそも何を作れば良いか分からないというのは確かにそうだと思います。

恐らく初心者の方はまずはPHPやデータベースの参考書を買ってきてというところから始めるかと思いますが、独りで学習しようとした時に参考書を読んで理解するところで止まってしまう方もいらっしゃいます。(正直読んでても面白いものではありませんので。。)

では、何を作ったら良いでしょうか?

初めてプログラムをする方は自分で何が出来るかもわかりませんし、何を作ったら良いかもわかりません。
今回は当社で新人やアルバイトなどでエンジニアが来ている時にお勧めしている勉強方法を書いてみます。

 

0. レンタルサーバを借りてみる。

まずはWebサーバがないとどうしようもないのでレンタルサーバを借ります。
自分でサーバを借りるという行為は、これからWebエンジニアとしてサービス作るぞ!という意思決定と意気込みです。
ですので、自分で契約するということ自体が私は重要だと考えています。

ドメインはデフォルトでサーバ会社から提供されるサブドメインでも良いですが、後々業務で使用することもあると思いますので独自ドメインの取得からサーバへの関連付けも自分でやると勉強になります。

今のサーバは安いプランでもほとんどPHPやMySQLが入っているかと思いますが、一応確認してから契約するのが良いでしょう。

VPSなど自分で設定出来るものもありますが、最初からサーバ設定含めてやろうとすると心が折れるかも知れないので、個人的にはレンタルで十分だと思います。

 

1. 問い合わせフォームを作ってみる。

フォームに情報を入力すると管理者と入力したユーザーにメールが配信される一般的な問い合わせフォームです。
ここで学べるのはWebサービスにおいては基本中の基本である投稿フォームの仕組みです。
ユーザーに投稿させるようなものであれば必須ですね。
メール通知もWebサービスを始めるなら必須の知識です。

他のフォームの項目を真似しても良いと思いますので、入力したデータを取得して次の画面へ引き継ぐ、その情報をメールで送信する、という工程をどうしたら出来るのか調べながら作っていきます。

ここで、まずはPOSTやGET、SESSIONの使い方などの基礎中の基礎が身に付くと思います。

 

2. 掲示板を作ってみる。

掲示板ではサーバにデータを保存する仕組みとデータの関連付けの基本的なことが学べます。
今はレンタルサーバでもMySQLなどのデータベースが利用できますので、ここではデータベースを使って投稿データの保存は行ってください。

掲示板の基本的な流れは以下の通りです。

フォームから投稿する
その投稿データを保存する
保存したデータを表示する
投稿データに対してコメントを投稿する
コメントは投稿データに結び付けて表示

極端な話、掲示板を作れるレベルであればシステムの基本である入力(In)して表示する(Out)が出来るようになっていますので、工夫次第で簡単なサービスは作れるようになっていると思います。

掲示板も立派なWebサービスですし。

 

3. Web APIを使ってみる。

マッシュアップって最近聞きませんが、自分でコンテンツを持っていない人間にとてWeb APIほど便利なものはありません。
最近のWebサービスはSNSアカウントでログイン出来たりするので、twitterやfacebookのAPIなどは抑えておきたいところです。

とはいえ漠然とSNSでログインしてみてもしょうがないので、楽天APIやYahoo!APIなんかを使って、自分のおすすめ商品一覧などを作ってみるところから始めてみると面白いかと思います。

自分で漠然とこんなものを作ってみたいという構想がある方は、使えそうなAPIを検索してそれについて勉強するのも良いと思います。

 

4. 1から3で学んだことを組み合わせる。

基礎が出来たら今まで学んだことをすべて組み合わせてみることをお勧めします。

もちろんやりたいことをある方は自分で調べてどんどんWebサービスを作ってみた方が良いでしょう。

もう少し勉強したい人はWeb APIで情報を取得して、それをデータベースに蓄積して表示する、など学んだことをすべて組み合わせてシステムを作ってみると良いと思います。

というのは今の時点でアイデアがなくてもWeb APIで取得できる情報からアイデアが出ることもあるからです。
例えば画像検索でこういう検索キーワード使えば面白い画像サービスが出来るな、とかショッピングAPIで自分なりのお勧め条件のショッピングサービスを作れるな、とか色々あると思います。

ここまで出来るようになれば、あとはやりたいことに向かって調べながら進めていくしかありません。
やりたいことと言語を検索キーワードにすれば大体のことは調べられます。

 

番外: 作ったサービスにアフィリエイト広告を貼ってみる。

これは会社の社則の副業禁止に引っかかるんじゃないか?と思われる方もいらっしゃると思いますが、個人的には自分で作ったサービスには貼ってみて欲しいです。

スキルではありませんが、アフィリエイトなどの広告収入もWebサービス運営には欠かせません。
アフィリエイトサイトを選んで登録して自分のサービスに貼り付けて表示するという一連の手順はやっておくべきです。

貼って報酬が出ればモチベーションにも繋がりますし、報酬が全然出なければ広告収入の難しさを身を持って体験出来るでしょう。
会社でサービスの企画などを提案するにしても収益モデルを必ず聞かれます。
Webサービスの収益モデルで広告収入ということをおっしゃる方が多いのですが、それがいかに難しいかということをよく理解出来るかと思います。

===

あとはどれだけ本人がのめり込めるか、だと思います。
もちろん会社で学ぶことも出来ると思いますが、個人的には自分でサービスを作ってみることをお勧めします。

あくまで個人的にお勧めしている方法なので参考までに。

執筆者:高本

株式会社8bit 取締役の高本です。 社内のWebサービス企画、プログラミングや、売上・請求管理にいたるまで幅広く担当しております。

関連記事

プログラミング

【phpdotenv】PHPで環境変数を取り扱うお話

PHPでサーバーの環境ごとに設定ファイルを用意する場合、config.phpなどのファイルにデータベースの接続情報やAPIのキーなどをdefineで登録すると思います。 これは昔からある一般的なやり方ですが、例えば「ローカル環境やテスト環境と本番環境で情報を出し分けたい」「GitHubやSubversionなどに接続情報を管理されたくない」ということがあるかと思います。 Linuxの場合は「.env」でユーザーごとの情報をあらかじめ設定することが可能ですが、PHPだとデフォル […]

Webサービス

【CAPTCHA系】reCAPTCHAの代替サービスを紹介するお話

みなさん、reCAPTCHAを使ってますか? CAPTCHAと呼ばれる機能は問い合わせフォームやログインフォームなどいわゆるbot系対策として有効で、その中でもreCAPTCHAは無料かつ簡単に導入できるたため、様々な場所で使われてます。 目次1 2024年4月から実質有料化?2 他にないのだろうか?3 アカウントを作る4 PHPでの実装5 最後に 2024年4月から実質有料化? しかし、2024年4月から今まで100万リクエストまで無料だったのが、1アカウント合計1万リクエ […]

Webサイト制作

Webアクセシビリティの基本を学ぼう!

近年Webサイト制作時に求められる『Webアクセシビリティ』。 正直なんだかよくわからない、ややこしそうだなあと思う方も多いと思います。 自分も勉強中ではありますが、今回は対応しやすそうな内容をなるべくわかりやすくまとめてみました。 一緒にWebアクセシビリティについて学んでいきましょう。 目次1 そもそもWebアクセシビリティってなに?2 基本的な対応内容2.1 色のコントラストをはっきりさせよう2.2 文字サイズを変更できるようにしよう2.3 できるだけテキストベースを心 […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。