25日目:Node.js Ⅲの復習(テーブルのデータ削除、編集の機能構築) PHPの学習開始!
<学習日>
25日目
<学習内容>
① Node.js Ⅲの復習(テーブルのデータ削除、編集の機能構築)
② PHP Ⅰの学習(0-33%): (PHPのデータ型、条件分岐)
<参考>
Progateレベル:125
<学習内容詳細>
① Node.js Ⅲの復習(テーブルのデータ削除、編集の機能構築)
さて、前々日、前日にひき続いて、Node.jsの復習です。
Node.js Ⅲでは、Node.jsⅠ/Node.jsⅡをベースにして、より実践的な内容を学ぶので、それなりに歯ごたえがあります。
ただ、初回の時に比べたら、はるかに頭に入ってきやすかったのは、Node.jsⅠ/Node.jsⅡのときと同じでした^^
アドレスにアクセスした際に、データベースに対してどういったアクションをとるのかについて記述するのですが、Progateで学べたのは以下の2つです。
app.get ⇐ データベースのデータを参照してくる
app.post ⇐ データベースのデータを変更する
メソッドといわれるパラメータで、HTML側の記述も下記のとおり異なる対応が求められるので、意識しておいた方がよさそうです。
app.getのアクションに紐づくボタン:<a></a>の記述でOK
app.postのアクションに紐づくボタン:<form></form>の記述が必要
app.getの場合に、<form></form>で記述してもいいのかは、特に触れられていませんでしたが、データベースを読みに行くだけであれば、<a></a>で事足りるので<form></form>を使うこともないのだと思います^^
もう一つ大切なテクニックとして、ルートコードというものがあります。
これは、ブラウザ側のボタンと呼応して、データベースの「どの情報」を取得 or 修正するのかを自動化するためのテクニックです。
簡単に言うと、ブラウザ上でのユーザーのアクションに対して、呼応する形で必要な動作をさせるテクニックとなります(あまり簡単になってない!?)。
順を追うと、ブラウザ上のデータテーブルの横に、各々「削除」「修正」ボタンが配置されていた場合に、そのボタンには別のリンク先が紐づけられます。
例えば、削除ボタンの場合、「/delete/1」だったり「/delete/7」だったりします。
末尾の数字が、たとえばデータベースのIDに相当する数字であるようにすることで、「ブラウザでIDが7のデータの削除ボタンが押された」ということを識別できるようにします。
そうすれば、ユーザー側のアクションに基づいて、必要な作業が自動的に実施できる仕組みが出来上がる、というわけです!^^
このような、実際にユーザー側のアクションの情報を反映して、正しい動作をするような考え方は、WEBアプリ全般に必要になってくるアイデアだと思うので、少し難しいですが、しっかりと腑に落ちるまで「全体の構造と情報の流れ」を理解することが肝要と考えます^^
ということで、Node.jsの復習は完了です。
ローカル環境構築のエラーについては、Progateのお問い合わせメールに25日に送付しているのですが、残念ながらまだ回答がありません(><)
気長に待つことにして、新言語に手を出していきましょう!
② PHP Ⅰの学習(0-33%): (PHPのデータ型、条件分岐)
色々あるので迷ったのですが、PHPの学習を進めていこうと思います^^
そんなに深く考えていません。どのみちProgateでは、浅く広く学ぶつもりなので、これ以降の学習順序は自由に、と考えています。
(HTML&CSSは絶対に最初がいいと思ってはいますが)
PHPの最初の方を学習してみた感じですと「ほとんどJavaScriptの最初変わらない」が結論です!
すこーしだけ、書き方が違うだけで、根本的な考え方はまるで一緒といって差し支えありませんでした^^
英語をマスターしたら、スペイン語楽勝!みたいな、欧米語圏の横の繋がりのようなものを感じます。
(私は英語もスペイン語もマスター出来ていないので、あくまで所感です笑)
このようなプログラミング言語の横の繋がりも、今回感じることが出来たので、浅く基礎をある程度の短期間で網羅的に学ぶのは、「プログラミング脳」を醸成するのに効果的かなと思っています。
超絶短期間で成果を出す必要があるほど切羽詰まっているのであれば、特定の言語だけ攻めるのもアリですが、そうでないなら入門編くらいの知識はざっくりと全てさらう、というのも選択肢としてはありじゃない、ということです^^
私の場合は「どの言語が好きか」「どの言語が得意そうか」をしっかりと知りたい/実感したいということもありますが^^;;
今日は前々日、前日の反動で少し長くなりましたが、ここで終わります^^
ではでは、1日でも長く続けられるように頑張っていきます^^
同志の方、一緒に頑張っていきましょう!