エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【一週間振り返り】Vueの勉強継続できてる!【527日目】

1.今週一週間の感想(ざっくり)

Vueの勉強継続できてる!

2.良かったこと

1.Vueの勉強継続できてる!

2.出すべき書類いろいろ出せた

3.もっとこうしたかったこと

一応順調!

4.新しく気づいたこと

エアロバイクじゃなくて、腹筋ローラーするなら、
記録残せない。

なら、体重自体を晒してみる・・・?

5.来週したいこと

4月スタートダッシュできるようにいろいろ準備!

6. 体重

102.8kg

参考:大学時代の私の体重82kg

・・・太りすぎ・・・(´;ω;`)

7.その他

ってことで、体重を晒すという羞恥プレイはじめました・・・

いつまで続くかわからないですが、自分追い込んで頑張ってみます・・・!

【Vue】Vueの勉強始めようpart5(モンスターとの戦闘)【526日目】

前回

www.nyamucoro.com

参考書籍

実際のコード

■プルリクエス

モンスターとの戦闘を実装 by klack710 · Pull Request #12 · klack710/study-vue · GitHub

■作ったもの(ブランチはmaster参照なので、今後も更新されます)

klack710.github.io

今回やったことは?

  1. v-ifでhtmlの要素削除
  2. methodでデータを操作

学んだメモ

  1. v-ifでは、要素をコメントアウトするので、実質削除
  2. v-showでは、要素を非表示なので、見えないだけ
  3. dataのキーに任意の名前をつけていても、data_list['key']って感じで書ける

感想は?

だんだんそれっぽいものが作れるようになりましたね。

プルリク見るとわかりますが、結構いろんな機能をつけたわりには、記述量は少ないです。

いい感じ。次に進みましょう!

【Vue】Vueの勉強始めようpart4(次の勉強の下準備)【525日目】

前回

www.nyamucoro.com

参考書籍

実際のコード

■プルリクエス

Sp70 戦闘ページのベースを作成 by klack710 · Pull Request #11 · klack710/study-vue · GitHub

■作ったもの(ブランチはdevelop参照なので、今後も更新されます) (2019/03/23時点では、まだ今回のコードは反映されていません)

klack710.github.io

今回やったことは?

  1. v-forにv-bind:key追加
  2. v-bindの省略形を使用
  3. 次の課題用に、モンスターをセット

学んだメモ

  1. v-bind:xxxは、:xxxにできる
  2. v-for:には、:keyを必ず書く
  3. aタグ内とか、textはv-textじゃなくて{{}}使う
  4. vue-routerなるものがあるらしいので本読み進める

感想は?

今回は次の勉強のための仕込み。

ってことで、いい感じに進んでるのいいね!頑張ろー!

【Vue】Vueの勉強始めようpart3(v-forとv-bindでリンク集生成)【524日目】

前回

www.nyamucoro.com

参考書籍

実際のコード

■プルリクエス

topのリンク生成方法を変更 by klack710 · Pull Request #5 · klack710/study-vue · GitHub

■作ったもの(ブランチはdevelop参照なので、今後も更新されます)

klack710.github.io

今回やったことは?

  1. v-bindとv-forを使って、TOPのリンク集をVueで生成
  2. v-textでリンク名を生成
  3. Vueのdata属性をネストして管理

学んだメモ

  1. v-forは、増やすやつにつける。forの癖で外側に書きがち
  2. v-textでテキスト書き換えられる
  3. ネストする時に、[]つかうか{}使うか迷った。命名したかったから{}使った

リンクをVueで管理に切り替えてみた。

        <ol>
            <li v-for="item in link_list">
                <a v-bind:href="item.link_url" v-text="item.link_name"></a>
            </li>
        </ol>
var app = new Vue({
  el: "#app",
  data: {
    link_list: {
      hello: {
        link_url: "/hello/index.html",
        link_name: "hello"
      },
      bind_click: {
        link_url: "/bind_click/index.html",
        link_name: "bind_click"
      },
      data: {
        link_url: "/data/index.html",
        link_name: "data"
      }
    }
  }
});

感想は?

URLと名前の組み合わせはよくあるやつなので、
それをHTML側ではなくVue側で一つの形で保存できたのは良かった。

リスト構造するものは、これでVueによる一括管理ができそう。

パット見キレイそうには見えるんだけど、
実際のプロジェクトとかでは別な書き方になるんでしょうか?

教えていただけると嬉しいです(´;ω;`)どんな形であれアドバイス求むぅ・・・

【Vue】Vueの勉強始めようpart2(v-bind)【523日目】

前回

www.nyamucoro.com

参考書籍

実際のコード

■プルリクエス

bindの機能をいろいろ実装 by klack710 · Pull Request #3 · klack710/study-vue · GitHub

■作ったもの(ブランチはdevelop参照なので、今後も更新されます)

klack710.github.io

今回やったことは?

  1. v-bindで対象の属性に値をバインド
  2. v-bind:xxxx.propでDOMのプロパティにアクセス

学んだメモ

  1. {{}}ってMustacheって言うんだね
  2. v-bindでバインド。Mustache使えない
  3. って書けるけど気持ち悪い・・・

aタグの表示文字・リンク先をうまくVueで生成したいけど、良い書き方ないかな?

<a href="../" v-bind:text-content.prop="link_name"></a>

var app = new Vue({
  el: "#app",
  data: {
    link_name: "topに戻る"
  },

感想は?

わりと便利なのはわかる。

ただ、実際の現場ではどう使われているのかわからない。

一旦機能を理解を目的においているので、ベストプラクティスがワカラナイのはいいけど、
どっかのタイミングで誰かに質問したいところ。

あるいは、いいVueのプロジェクトの例とかないかな。Laravelが混ざってるとなお良いが・・・

【Vue】Vueの勉強始めようpart1(Hello World他、基礎)【522日目】

前回

www.nyamucoro.com

参考書籍

実際のコード

■プルリクエス

github.com

■最終ブランチ

GitHub - klack710/study-vue at ep42

■作ったもの(ブランチはdevelop参照なので、今後も更新されます)

klack710.github.io

今回やったことは?

  1. Hello World表示
  2. クリックイベント追加
  3. バインド

学んだメモ

  1. v-modelでバインド。dataに同じ名前を用意しないと、バインドされないよ。
  2. id="app"でインスタンス化したのに、#app外でタグ用意しても意味ないよね!!!(ハマった)
  3. transition専用のタグ、それ用のCSSが定義できるとか何言ってるかわかんない
<div id="app">
    <ol>
        <li v-for="item in list">{{ item }}</li>
    </ol>
</div>
<button v-on:click="handleClick">リストにおれんじが増えるよ!</button> //←こいつうううう

感想は?

Vueの基礎中の基礎の時点で、すでに新しい考え方が生まれてて、びっくり。楽しい。

今回の学びの3.はかなり新鮮でした。

あと、学習コスト低いというのは間違いない。jQueryとか触ってた人ならあっという間だと思う。

これは読み進めるのが楽しみですね!

【Laravelネタ】なぜか、特定のページでcsrfトークンミスマッチがたくさん出る【521日目】

バグの解決依頼が来ました

今日の私のお仕事は、既存でバグが起こってるっぽいから、直して!ってお話!

さあ、何が起こってるのかな〜?

csrfトークンが一致しないよ

IlluminateSessionTokenMismatchException

なるほどなるほどー?

これは、Laravelの機能で、postリクエストするときに一緒に送っている、csrfトークンが合ってないってやつですね。

発生原因の仮定

  1. csrfトークンの期限切れかな?→めっちゃ長い期間を期限にしてた

  2. ユーザーがクッキー消してやってるのかな?→毎日数件起こってる

  3. csrfトークンの設置忘れ?→正しく動作してる時あるからそれはない

なぜだ・・・

共通点を探そう

ってことで、共通点がないか探してみた。

laravel.logで、エラーを確認。
同時刻のnginxログを漁り、ユーザーのアクセスページを特定。

なるほど、特定のページだけめっちゃエラー出てるね。

にらめっこした

なんでだ?なぜこのページだけエラーが出るのだ?

ここはユーザーのログインページ。

普通にログインできてしまう。

なぜだ。。。1., 3.でもない。2.か?

でもなぜみんな2.をする?みんながみんな、クッキーを削除することあるか・・・?

そこにやつはいた

『ログインに失敗してしまう、そんなユーザーの皆様は、こちらを参考にしてみてくださいね!』

・・・?なんだこれは、え、なに、もしかして・・・

そこに、、、

クッキーを消す方法が、おすすめされていた

(;・∀・)

バグじゃないし、ユーザーにクッキー消せっておすすめしてたら、そりゃみんなクッキー消すよな!!!!

くっそ、見つけた時めっちゃ気持ちよかったけど、過去最高にもやっとした!!!

ってことで、これの対策をどうするかを考える予定・・・

最後に、教訓。

滅多にないパターンだと思いますが!

コード的に明確なバグじゃなくても!

たった少しの誘導で、問題は発生する!!!

いい、勉強になりました、、、

【一週間振り返り】Vueの勉強始めれたよ!【520日目】

1.今週一週間の感想(ざっくり)

Vueの勉強始めれました!良かった!

2.良かったこと

1.Vueの勉強始めれました

2.ちゃんと寝れた

3.もっとこうしたかったこと

Vueの勉強開始、もう少し早くやりたかった・・・

あと、書類周りまだ終わってない(´;ω;`)

4.新しく気づいたこと

やっぱり、スケジュール作らないと私は安定して進めれない。まあそりゃそうだ。

あと、BeatSaber(VR音楽ゲーム)の方が、エアロバイクより疲れるしダイエットなる予感・・・ただ、どうやって記録残そう?

5.来週したいこと

書類用意とかせねばあああ(二回目

今週でいろいろ進むから頑張る

6. エアロバイク(一週間分)

23km(BeatSaberやったあとはとてもじゃないけど無理ぃ)

6.その他

エアロバイク続かない!

でも、回数メモしてない腹筋ローラーはちょっとずつ。

少しずつ腹筋の筋肉痛は減ってきた!!!