PHP学習 理解度、飲み込み速度大幅に上がる

こんにちは,Masaです。

 

先日からSQLを学び、表面上をさらっと学びましたので

PHPの学習をはじめました。

 

実際にPHPで何か作る過程でSQLをしっかり書いて身につけていこうという方針です。

 

今日PHPで基本的な構文を学びましたが

初めてRubyを触った日と違い

スルスルと手が動きました。

 

多少の書き方の違いには手こずったものの

基本的にはやることはほぼ同じで

Ruby初期頃のような

「これって何に使うんだろう」

という疑問は流石にがなく

 

「ほぉ!PHPだとこんな風に書くんだ!」

 

と、力付いているんだなと素直に思いました。

 

これからPHPオブジェクト指向を学ぶので

オブジェクト指向RubyPHPの多言語で理解できるので

とても楽しみでいます。

 

PHPがどういう言語で何を得意としているのか

まずは表面を触り

これから仕組みの方をしっかり学び進めていきたいと思っています。

 

まずは大量のインプットを徹底して

深い疑問などが出てくるところまでいきます。

 

Rubyを勉強し、

プログラミングの基礎力と

勉強の仕方、流れがわかるようになったので

新しいこと学ぶことが本当に楽しいですね。

 

引き続き勉強楽しみます!!

SQLの学習はじめました。

こんにちは、Masaです。

 

先日からSQLの勉強を始めました。

 

と言いますのも

色々な企業の方々と面接を通じてお話をさせていただいた際に

私が通っていたスクールではRDBMS関係の知識が軽視されているとの

ご指摘と言いますかアドバイスを頂きました。

 

確かにSQLに関しての学習は少ししかしていなく、

railsを触っているとActive Recordのおかげで

SQLを書かなくなるので知識が不足するのは間違いないと思いました。

 

そこで少し調べてみました。

RAILS GUIDESには以下のように書かれていました。

f:id:masataka_sugita:20190731195045p:plain

f:id:masataka_sugita:20190731195113p:plain

 

便利がゆえにおろそかになっていたんですね。

 

プログラミング経験のある人がrailsを触ると

rails便利だけど怖い」

 

と言っているのはこういうことが関係しているんですかね。

 

rails動かしていても発行されるSQLを見ておいた方がいいよ

とは言われていたが

前提知識がないので正直見てるだけではわからないのが現状でした。

 

今回のアドバイスを頂き早速SQLを勉強して思ったことは

「おもしろい!」

の一言です。

 

今までSQLは Active Recordが用意してくれているメソッドを使った時に

発行させるだけのものという認識でしたが

 

実際にSQLを勉強してみると

こんなこともできるの!?と驚くと同時に

Active Racordのメソッドの裏の処理がよくわかるようになりました。

 

SQLはどの現場でも共通の言語として扱われているので

現場で働くまでの時間を有効活用して

どんどんインプットして行こうと思います。

 

エンジニアのかたからいただけるアドバイス

自分では気づかないことなど教えてくださるので本当にありがたいですね。

 

引き続き学習頑張ります。

 

しばらくは実務に向けて個人アプリの開発は一時中断して

時間の許す限り知識をインプットして行こうと思います。

 

では最後まで読んで頂きましてありがとうございました。

個人アプリ開発 #6 paramsをいじる ストロングパラメーター狙いのデータを取ることに苦戦

こんにちは、Masaです。

 

個人アプリ開発 #6

投稿機能のフロントがほぼ完成し

裏の処理を行っています。

 

ストロングパラーメーターでparamsの中から指定のデータを取得することに苦戦しています。

 

今まで通り

 

requierとpermitで狙いのデーターを取ろうとしたがうまく行かず

色々調べ

今回初めて

params.permit!.to_hash

を使ってみたら見事にハッシュになり

 

部分的には取得することができたが

ストロングパラメーターとして

データーを整えるというところでつまづいている。

 

目の前のことで右往左往しても

勉強にはなっても先につながるかわわからないので

一旦状況整理してこの先の処理には何があるのか把握してやって行かないとですね。

 

あと少し・・・

個人アプリ開発 #5 動的な処理に苦戦 jQueryの限界?

こんにちは、Masaです。

 

個人アプリ開発#5

動的にクラス名を変更しつつ同じ要素を追加し

jqueryで取得することに失敗。

 

jQueryセレクタの取得が楽ではあるものの

どうにも変化に弱い印象がある。

今回の機能を実装する上で「厳しい・・・」と強く感じた。

 

動的に変更することを諦め

一旦ベタ書きで動かすことにした。

 

仲良くさせてもらっている人が

以前veu.jsでhtmlにイベントを仕込んでいるのをみていたので

もしかしたらそれならできるのかな・・・ともいつつ

 

今はそんな時間ないので

今後技術スキル上がった時にリファクタリングする。

 

ベタ書きなので

こんな感じでなんども同じ処理を書くことになってしまった

f:id:masataka_sugita:20190721214629p:plain

同じ処理の繰り返し

viewの方は

f:id:masataka_sugita:20190721214713p:plain

ベタ書き

 

ご覧の通りベタ書きで

それぞれの画像に対して表示させる処理をつけているので

同名のクラス名では全て反応してしまうので

クラス名を変更しているので

jsの処理も繰り返してしまう。

 

色々実験すれば

改善の余地もある気がするが時間ができたときにやります。

 

メンテナンスしやすいコードを書くためには

実力がないとなかなか難しいんだなと感じました。

 

イデアはいろんなコードを書くことで

生まれやすくなるので

周りに相談しつつ今できる最大限のアイデアをぶつけようと思います。

 

おそらく明日には

投稿機能が完成するので次の機能を作るのが楽しみです。

 

では

最後まで読んでいただきありがとうございました。

 

個人アプリ開発 #4 即時検索先方一致、フロント(jquery)実装 データの受け渡し

こんにちは、Masaです。

 

個人アプリ開発#4

 

今日もコツコツ開発を進めています。

 

本日は

■入力した値を元に検索をかけてDBから先方一致したものを表示させて

クリックしたら表示させるという処理を作成しました。

 

■paramsに渡すデータを整えておりました。

 

f:id:masataka_sugita:20190718201524p:plain

以前にもあいまい検索機能を作成したことがあったので難しくはなかったのですが

・paramsに複数のデータをどうやって渡すのか

・表示させるvalueと内部で欲しいvalueは違うかたどうするのか

 

という点で少し頭を悩ませ

 

hidden_fieldを使い裏でデータを保持したり

jqueryの指定のセレクタを取得することに苦労したり

paramsで同じkey配列としてデータを渡したり

 

なかなか勉強になることばかりでした。

 

こうしてアプリを1から作成していると

フロントエンドとバックエンドの境目がよくわからくなりますね。

 

見た目だけではデータを渡すことはできないし

ユーザーが入力した情報をバックで欲しいデータを整えるのは

フロント部分でしないといけないし。

 

とはいえ色々作るのは楽しいので

変わらず作ります。

 

【今回の反省点】

今回作った機能は色々と修正箇所があるが

それを見越して作ると確実に時間かかりすぎるので

まずは

「動くもの」

という意識で作成したが現場はどうなんだろうか

見通しの甘さが今回も出てしまったなぁと思うので

次の機能ではもっと事前に何をどうするのか決めてから作ろうともう。

 

最後まで読んで頂きありがとうございました。

 

明日も楽しみつつ頑張ります。

 

 

 

 

 

個人アプリ開発日記 #3 フロント(jQuery)に苦戦【初terateil】

こんにちは、Masaです。

 

投稿機能の画面部分を実装中

 

動的に追加した要素にイベントをつけることはできたが

その中身の値を取得することができずに苦戦中。。

f:id:masataka_sugita:20190717210902p:plain

動的要素に対してのイベントと値を元にした処理

 

➕ボタンを押すとinputタグが出てきて

そこに書き込んだ値を元に

DBに入っている700近い材料の初期データを検索して

表示させるということをしたいが

追加した要素の値が取れない

 

const $marerial_text = $(".material_text-area");
$(document).on("keyup",$marerial_text,function(){
var material_item = $(this).val();
console.log(material_item);
});

 

 動的に追加した要素に対してイベントはこのように書くが

$(this)が$(document)を取得してしまい

狙いのデータが取れない

 

検索かけても今回実現したいことに関する記事はなく

できる範囲のことは試してみて

思考が尽きたので

terateilに質問をしてみた。

 

回答きて解決したら幸い。

 

自分のドジではなければ

Qiitaに書いて置きたい内容ですね。

 

引き続き開発頑張ります。

 

では最後まで読んでいただきありがとうございます。

 

開発日記 #2

 こんにちは、Masaです。

 

開発日記#2

 

就活と並行して開発をしていると

やることだらけでまともに開発に注力できませんね^^;

 

IT業界のことを色々調べてますと

やはり全て面白そうに感じてなかなか自分の方向性を定めるのが大変ですね。

 

学びたいことが多い、が自分の身は1つかなくて全部やるのは不可能。

 

IT業界未経験の大変だなと思うところは

・現場で実際にどのような感じで業務を行なっているのか分からない

・業界の詳しいことまで知ることができない(イメージしずらい)

 

色々と検索して記事をみてはいますがやはり

「現場に入ってみないことには分からないなぁ」

と思いながらコツコツを

 

個人アプリの開発を進めています。

今は投稿機能を作成しています。

 

700近い食材の初期データを流し込み

下準備を行い

作っていますが

 

フロントの処理ができてから裏の処理ができるので

まずはフロントの処理を行なっています。

 

jqueryで動的に要素を追加しながら

情報がしっかりを渡って来るのを確かめる。

 

自分で作るとなると

フロントをどのようにしようか迷うので

とても時間がかかりますね。。。

 

引き続き頑張ります。