プログラミング独学4ヶ月でWebアプリケーションを作成するまで(6/15 追記)

プログラミングの勉強を始めてなんとかWebアプリケーションの作成までの手順を身につけたので、どうやって作成まで勉強したかを記録として残し、振り返るため作成しました。作成したwebアプリケーションはこちらです。

・アプリ名:yourself
・サービス内容:企業が求職者に連絡できる求人サービス
・使用言語:html.css.javascript(jquery).php.mysql
・URL:https://yourself8989.herokuapp.com
・github:https://github.com/keigooba/ori

以下ローカルでは機能しますが、デプロイしてから動かないため不具合が起きています。

・画像が貼り付けられない
・パスワード忘れのメール送信ができない
・連絡掲示板の時間表示がおかしい

原因がわかれば随時修正していきます。(追記 heroku環境ではかなりの人が不具合を起こしていて設定環境の設定が複雑なため断念しました。2〜3日時間をかけてこれ以上は時間を使えないので、機会があればレンタルサーバーに移行しようと考えております) 。
私の現在のプログラミングスキルは以下の通りです。

・html css bootstrap
大きく複雑な装飾でない場合、多少時間はかかるが、ググれば解決できる。
・javascript PHP 
 基本的な処理フローの理解はできている。既存のコードを見ながら同じような処理を中身を変更して作成できる。
・git
一人で擬似開発を行なっている。ある程度の開発フローはマスターしている。使った開発方法がこちら。初学者がGitで擬似開発する方法

スキルを身につけるまでの経歴は以下の通りです。

・8月にプログラミングに興味を持つが、1ヶ月で挫折
・12月頃から徐々に始めていたが1月からフルタイム週7で勉強開始
・2月22日にオンラインプログラミングスクールウェブカツを受講
・徐々にスキルを身につけ、4月中旬にWebアプリケーション作成開始
・5月中旬にWebアプリケーションをherokuにデプロイ
・Bootstrapのポートフォリオサイト作成

ここから先は勉強過程の記録になるので、作成手順のみを見たい場合は目次の03まで読み飛ばして下さい。

-------index 目次------------------------------------
01 初めてプログラミングに興味を持ったのは8月の頃
02  1月から週7で勉強し始めたプログラミング漬けの生活
03  PHP webアプリケーション作成手順
------------------------------------------------------------

初めてプログラミングに興味を持ったのは8月の頃

私がプログラミングを知り、興味を持ったのは、6月に会社を退職して少しした8月の頃です。

当時23歳でアルバイトをしながら一人暮らしをしていたのですが、アルバイト以外でお金を稼ぐため、ネットサーフィンをしながら何か自分の手に職をつける方法を模索していました。物販、FX、情報発信など色々と実践もしながらどれもこれも夢中になれず、中途半端にやってはやめるを繰り返しました。(うまくいくわけがない)

その時興味を持ったのがプログラミングで一度プログラング学習サイトprogateで勉強を始めました。その時も知識がなく、progate以外にもpaiza等の学習サイトも平行して行い、最終的にはドットインストールで1ヶ月勉強して難しすぎて挫折しました(思考停止でただやっていた部分が大きかったと思います)

これではだめだ!、誰かに教えてもらおう!と思ったのですが聞く相手がおらず(menta等知らなかった)、関東の無料プログラミングスクールの評判が良さそうだったので上京する計画を立てて上京費用を貯めていきました。(関西在住のため)

その後、頃合いを見て関東で開催してる無料体験を受けにいった時、javaがメインだと言われて、(HPにはPHP/ruby/javaとあり、そんな記載はなかった)もう一度進路について検討し始めました。(一番手に職をつけられるのはweb系の言語だと調べていたので)

また、ちゃんと調べようと検索し始め、東京フリーランスのデイトラを見つけ、rubyの勉強をprogateで始めました。ここまで結構情報不足と知識のなさで苦しんでいたのですが、rubyは正直楽しく、昼休憩の時間など、空いてる時間に没頭して取り組むことができていました。(振り返るとまだまだ情報不足で無駄な勉強をしていたと感じます笑)以上が12月までの勉強記録です。

1月から週7で勉強し始めたプログラミング漬けの生活

progateでruby on railsまで取り組み終わった後で、html.cssの知識が全く足りてないことに気づき、Web制作のデイトラを1月から勉強し始めます。ほぼhtml,cssの知識は抜けていたので最初からやり始め、html,cssの知識をある程度身につけます。bootstrapまで勉強し始めたあたりでまた壁にぶつかり、そこから先へ写経しても模写しても全然理解できないようになっていました。

(この時点までプログラミングを暗記だとまだ捉えていて全てを覚えようとしていた初心者です)。

全くできないので挫折し始め、それでもやめることができず、スクールに入ることを検討し始めてプログラミングスクールウェブカツに2月22日に入部しました。

また基礎から勉強をし始め、2〜5月の間毎日8時間程度勉強しました。3月中旬時点で動画内のカリキュラムによりhtml.css,javascript.php.ネットワークの基礎が深く身につきました。

3月22日からwebアプリケーションのカリキュラムをやり始めましたが、PHPの知識不足もあり、何度も振り返りながら1ヶ月程度かけてSQLとPHPの知識を身につけていきました。(この時点で簡単なOPをしておくべきだった。)

そして、4月中旬から5月中旬でwebアプリケーションを完成させました。以上が1月〜5月中旬までの勉強記録です。

私の学習手順と考え方について(6/15 追記)

ここまで読んで頂けた方にもわかる通り、私は遠回りし、かつかなりの時間を無駄に溶かしています。書いた以外にもgit作成のエラーで1~2日使ったり、出来もしない要件定義の為に3.4日以上考えたり、デザインにこだわりすぎて時間を溶かしたり(これは未だにしています)、自走力をつける意図もありましたが、勿体ない時間の使い方をしてますね^^;
でもこれはある意味仕方がないことだと思っていて、失敗して気づけた部分や学んだ部分も少なからずあると思います。

これからプログラミング学習を始める方へのアドバイス(6/15 追記)

そんな自分がプログラミングを始める頃に戻れるとしたらを想像し、アドバイスするとしたら以下のアドバイスをします。

1.とにかく早くタイピングしろ!
2.CSSに時間をかけるな!
3.インフラまわりは1時間考えてわからないなら諦めろ!
4.自分の作りたいものや興味あるのを作り、プログラムを楽しめ!
5.コピー全然OK!ただし、写経しろ!コードを理解し少しでも書き換えろ!
6.どうしても理解できないものは自分のレベル感に合ってない!難易度を下げろ!
7.インプットしたらすぐアウトプット!これがすべて!

今の自分に向けても書いてみました。参考になれば幸いです。

PHP webアプリケーション作成手順

私がWebアプリケーションを作成した手順は以下の通りです。

・作りたいアプリを考える
・実現できるか検討し、色々と試行錯誤する。
・Lineを模写しようと考え、同じような見た目・機能を実装し始める。
・アプリケーションのカリキュラムを見直しながら必要な機能だけを実装。

全てPHPのフルスクラッチで作成しました。
ポートフォリオの技術詳細は以下の通りです。

・新規登録
・ログイン・ログアウト
・パスワード再発行
・マイページ
・登録者検索
・ユーザー詳細
・連絡掲示板
・プロフィール編集
・パスワード変更
・退会

PHPの処理は以下の通りです。

1.post送信
2.バリデーションチェック
3.DBへSQL文実行
4.セッションに情報を記録
5.遷移したいページへ移動
・どういった点で苦労し、どう乗り越えたか?
まず処理フローの理解に1ヶ月程かかりました。理解したあとは書き方を見ながら、自作アプリでも動くように取得する情報を書き換えたり、すべてフローを書き出して体に覚えさせるようにしました。また、要件定義のロジックを考えることが難しく、色々と試行錯誤し、checkboxを使うことで会社登録の認証を行うようにしました。他にも連絡掲示板等のjsの処理では、ググりながら色々な動きのパターンを検証し、決定していきました。

以上がWebアプリケーションを作成までの記録です。
今回の作成でアウトプットし、体に覚えさせる重要性を理解したので、これからはより多くアウトプットすることを意識していきたいと思っています。
ここまで読んで頂き、ありがとうございました!

この記事が気に入ったらサポートをしてみませんか?