未経験からウェブカツ!!プログラミング学習レポ4ヶ月経過報告
スポンサーリンク

ウェブカツ!!女性割引を適応し、プログラミング学習をしています。
ウェブカツ!!オンラインプログラミングスクールを受講し始め、4月経ちました。前回からの学習報告をしたいと思います。

日々のプログラミング学習過程をtwitterで報告しています。学習ペースは早くないけど日々頑張っているので、いいね・フォローしてもらえると嬉しいです。

初回の記事やプロフィールにも書きましたが、プログラミングは全くの未経験者です。
ある程度早急に、そして確実に仕事にできる、かつ、フリーランスとして働ける技術を身につけたく探していたところプログラミングに辿り着きました。

前回の進捗報告はこちら

あっという間に4ヶ月。。!?

プログラミング学習を始めてあっという間に4ヶ月がたってしまいました。

早速ですが、これまでの学習経過を振り返ってみたいと思います。

プログラミング学習4ヶ月たった現在までに学んだこと

学習状況報告は以下にあります。学習進捗報告

学習した言語

  • HTML・CSS部 初級
  • javascript部 初級
  • PHP・MySQL部
  • ネットサーバー部
  • webサービス部

 

ここまで、本当に学んだプログラミングは超基礎の基礎!!レベルだと思います。

注意! 
*ウェブカツ!!学習内容自体は非常に内容の濃いもので、この時点でもとてもハイレベルです。
ここでは、プログラミング初心者の私には理解しきれていないことに対して、超基礎の基礎と言っています。

しかし、継続することで、入部する時点では、プログラミング未経験、HTMLの<h2></h2>くらいしか知らなかった私が、

  • とりあえず自分で超簡単なページを作る
  • jsに関してはかなり怪しい。。
  • PHPとMySQLをなんとか使える
  • エラー時の対応がなんとかできる

ようになってきました!!!

全然一つも完璧なものがないのですが。。
完璧と言わずとも「まあわかる」レベルでもなく。。

PHPに関しても、一から自分でコードを書くのはまだ無理です。

そんな私が、何を思ってか、webサービス部1周終えたところにしてアウトプット制作に入ってしまいました。

と言っても、前回お伝えした通り、webサービス部2周目をする要領で、自作サービスにちょこちょこ置き換えている感じです。

2週間経ってしまいましたが、完成できず。。
プログラミング超初心者。想定内です!!

スポンサーリンク

学習状況

学習進捗報告
ウェブカツ!!学習:123日経過
学習時間:219.5h
学習内容:webサービス部2周目lesson25まで

やっとのペースですが、webサービス部2周目Lesson25まで進めました。
自作サービスは掲示板機能実装の途中まで出来ました。

今回はサービスを作る上でつまづいたところの見直しをしたいと思います。

ページネーションの変更

本科のページングはtopページが1ページ目です。
自作サービスでは、topからカテゴリー分けし、そこからページングをするようにしたく。

変更箇所

  1. ページネーションのPHP構文を各カテゴリー分けしたページのHTMLに書く
  2. それぞれのページのheader関数にそれぞれのページを指定。

これで、1ページ目をクリックすると、topページではなく、それぞれの1ページ目に遷移することができました。

バリデーションの追加

URLのバリデーションを追加しました。

URLチェックを行う方法

URLチェックを行う方法には2種類あります。

  1. 正規表現を使ってチェック
  2. filter_var関数を使ってチェック

  1. 正規表現を使ってチェック
  2. URLかどうかにマッチする正規表現は色々な書き方があります。
    ここで使うのは単純にアスキー文字だけのURLにマッチする正規表現です。

    「符号化文字集合」と呼ばれるもののひとつ。

    もう少し噛み砕いて書くと

    文字コードの話に出てくる用語のひとつで、コンピュータさんが使う「『文字』と『文字に割り当てた番号』の対応表」のひとつ

    https?:\/{2}[\w\/:%#\$&\?\(\)~\.=\+\-]+
    正規表現による判定をする場合の注意点
    ・プロトコルは http または https にしか対応していない。
    ・日本語を含むURLは途中までしかマッチできない、という制限がある。
         ・正規表現を自分で用意しなければならない。
    ・汎用的に利用する場合、関数化が必要
  3. filter_var関数を使ってチェック
  4. filter_var — 指定したフィルタでデータをフィルタリングする
    filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) : mixed

    variable
    フィルタリングする値。
    値をフィルタリングする前に、 内部的に 文字列への変換 が行われることに注意。

    filter
    適用するフィルタの ID。

    FILTER_VALIDATE_URL
    値が URL 形式である (» http://www.faqs.org/rfcs/rfc2396 に準拠している) かどうか、 オプションで、必須コンポーネントが含まれているかどうかを検証。
    HTTP プロトコル http:// を指定しているとは限らず、期待通りのプロトコル (ssh:// や mailto: など) を使っているかどうか、さらなる検証が必要。
    参照PHP公式マニュアル filter-var

    filter_varの使用例

    値を $data 、フィルタIDを $filter とした場合

    filter_var( $data, $filter );

    正規表現を使わずに簡単にURLチェックが可能。

    FILTER_VALIDATE_URL による判定をする場合の注意点
    ・ASCIIオンリーのURLのみ対応する
    ・国際化ドメイン名は失敗する
    ・mailto:やその他のスキームを正しいとみなさない
    ・アスキー文字のみのURLを正しいとみなすので日本語を含むURLは "正しくない" と判定されてしまう。

    で、両者を組み合わせた方法が今回使用したもの。

    function is_url($str) {
       if ( !filter_var($str, FILTER_VALIDATE_URL) && 
          !preg_match('@^https?+://@i', $str)) {
       
      echo “URL形式で入力してください”;
    }

    参考文献
    正規表現の内容はPHPで各種バリデーションを参考にさせていただきました。

    URLを入力してもらって、形式が間違っている時にエラーを出して欲しいので否定形で書きました。

何度も言うがやっぱりアウトプット!!

ここまでスラスラきたように見えますが、たくさんエラーを出し、たくさん立ち止まってしまいました。

しかし、初期の頃のような、「全くお手上げで何から調べたらいいかわからない」状態から、「ここまではうまく行っている」「これとこれができているからここは問題ない」と言う判断がすこしずつ、本当に少しですが、できてきたかなと思います。

特に知識がついたと言うより、やはり毎日の継続、手を動かしてぶち当たって、調べて試して、「やった、できた!!」を繰り返すことだと実感しています。

ウェブカツ生の先輩方があれほど「アウトプット大事!」って伝えてくれていたのに、今まで少し行き詰まったら諦めてしまった自分に反省。
これは実際にやってみないと実感できないと思います。

プログラミング未経験から始めて、中々進まなくて停滞しているウェブカツ生の方にはぜひアウトプットして欲しいです。

超初心者のアウトプット、挫折しない方法

もし、私のようにアウトプットしたくても中々進まず、心折れかかっている方がいましたら。。
私が考える一番挫折しない方法。
(当たり前なこととは思うのですが。。なかなか受け入れられないこと。あと、向き不向きがあります。あくまで進めない方のご参考に
ツイッターに流れてくるハイクオリティーなものを作る必要はありません!

と言うか、目指すものが大きいと挫折します。

じゃあ何が簡単なのか。

まずは学習で使っているサンプルサイトなり、機能なりを、ベースは変えずにアレンジするのです。
半写経、半アウトプット。

サイト模写もままならないなら、サンプルサイトのヘッダーの色とか配置だけ変えてみる、
PHPのコードの書き方がわからないなら、機能の一部を変えてみる、追加してみる。

それだけでも、全然違ってきます。

「手を動かす」のは、写経もそうですが、ただ闇雲に写経していても頭に入ってきません。

やっていることを理解しながら書かないと。
基本の書き方はもちろん学習しないといけません。

でも、あとは分からないことはググれは出てきます。

プログラミングは「暗記」ではないのです。

書き方はあるけど、毎回同じ変数や関数を使う分けじゃないし、人によって書き方も異なります。
それでも動いてしまうのです。

だから、どんなコードにも対応できる力をつけるには、アウトプットたくさんして、ググり力、自分で対応する力をつけること。

と、過去の自分に言ってあげたい。

まずは簡単なことから。
一つ一つみていけば、難しいと思っていたプログラミングも優しく見えるかも。(易しく、とは言えないなあ)

ここまで豪語してまだ作品発表できていないのですが。。
所詮そんなもんです。私はプログラミング初心者です!

次回こそ完成できるといいな。

と言うところで、今回は偉そうに書いてしまいました。
そんなことわかってるわ!って感じですね。

また初心に戻ってコツコツ頑張ります!

最近のコメント

    Twitterでフォローしよう

    おすすめの記事