2019/05/27

overwriting existing method...

Creating scope :hogehoge. Overwriting existing method Piyo.hogehoge.

メソッドとスコープ両方作ってしまうとこういう警告が出る。 警告だけなのか・・・ 後ろに書いた方が優先されるっぽい?

migration、reference

inverse_ofって結局いるのかなんなのか

Rails 5 以上 + ActiveRecord での inverse_of オプションの使いどころ - Qiita

foreign_key: :micropostsってしたら こんどはincompute_type'`って怒られた。

ActiveRecord::AssociationTypeMismatch: Post(#70310488644880) expected, got 3 which is an instance of Integer(#70310494026920)

in_reply_toの仕様

  • 空のとき→ nilか?0か。
  • 自分の投稿のとき

rubyの0とnil

  • 0だったらnilにして、||=で片付くようにしたかった。が、難しそう。
  • nilを0として判定するのはto_iでできるらしい。
  • 三項演算子で同じオプジェクト2回取得するのもなんかなあと思う。いい兆候か悪い兆候か。

indexまわり

ソート順をidでするか、created_atでするか

  • どっちがいいんだろうと思って調べたら、やっぱり議論済でいろいろ記事があった。

【Rails】idでソートするか?created_atでソートするか? 〜 Re: idの順番に依存しないコードを書こう - Qiita

  • 何調べてもこの方の記事出てきてほんとすごいw
  • そして今回もとてもわかりやすい

idの順番に依存しないコードを書こう - komagataのブログ

  • どっちもメリット・デメリットがあるというお話で、私には今回判断が難しいかも、、
  • 管理画面側なので、正確性についてはそこまでかなあ。データも一度に大量発生するわけじゃないし。

例外

2019/05/26

つらい。自分ができないことをさらけ出しながらやらないと成長できないのがつらい。 やらなきゃいけないことがいっぱいあって、なにひとつできないのが辛い。

なんにもやりたくなくなって、動けなくて誰にも助けを求められないのがつらい。

あーーーーーやだやだやだ。つらい、、、、、

コーヒー飲みすぎたときみたいな、体の中からそわそわして何も手に付かない感じ。 これ、どうしたら治るんだっけ。 お水たくさん飲んでも、なにかたべてもだめ。

ほしいもの

あとで読む、が便利にできるやつがほしい。 - webページからそのまま保存できる - 読んだら一言残して、きれいに見えるようにしたい。 - タグとか付けて検索できるようにしたい - evernotechrome拡張みたいにページ保存できるやる、spでもほしい。

2019/05/24

うーーん

ここに書いてること、見直すわけでもないし書き方もほんとに雑だから全然溜まっていってる気がしない。 意味がうまれるようにやりたい、、毎日流れるように過ぎていくのがほんとこわい、、 適当にちょっとずつのこすんじゃなくて、いっこずつ一日少しでもいいからちゃんと身につけていく法gあいいよね。

雑記

技術書も電子書籍で買うようにしたんだけど圧倒的にいいな。 やっぱ分厚いと持ち歩けないし、家にいる時間ほとんどないから

メソッドの名前

array とか hash

to_h

[[:for, bar],[:hoge, :piyo]] #=>{ foo: :bar, hoge :piyo } [key, value]のペアで渡すので、中身保の腕3つとか渡しちゃダメ。

定数

  • 配列を定数で定義したかった。
  • シンボルであるべきか、文字列かとか悩んだ。

freeze

  • rubyの定数は書き換えることができる。グローバル変数に近い。
  • rubyでは先頭が大文字であれば定数としている。StringArrayも定数。

  • 配列オブジェクトをフリーズしても要素はfreezeされない。

  • 定数の再代入も不可にしたい場合(デフォできちゃう)、名前空間切ってmoduleをfreezeする
ミュータブル

ミュータブルとイミュータブルとは?Rubyプログラミングの注意点 | エンジニアライブログ - 変更可能な変数の型。 - rubyではStringとか。 - 配列の初期値を引数で指定したとき、配列内の文字列ひとつを変数に入れて値を変更したら、配列の要素も変わってしまう。 - 配列の全要素が同じ文字列オブジェクトを参照しているので発生する。 Array.new(3, 'piyo')でなくArray.new(3) { 'piyo' }で防げる。同じ値でも異なるオブジェクトを設定しているから。 -object_id`で同じオブジェクトかどうか確認できる。

  • rubyはすべてがオブジェクトって学んだよね。基本データ型というものがなく、truenilもすべてが特定クラスのインスタンスである。
イミュータブル
  • 破壊的な変更が適用できない。
    • 数値型
    • シンボル
    • true, false(TrueClass FalseClass)
    • nil(NilClass)

技術書、最初から完全に理解するか、頭の中にインデックスを作るか? 〜 #チェリー本 が後半から難しくなる問題を考える - give IT a try

  • あたまの中にインデックスを作る。
  • プラモみたいに、薄く塗って乾かし、を繰り返す。

2019/05/23

css

LVHA

link, visited, hover, active の順dえ指定しないと無効化されちゃったりするんだって!!しらなかったこわい

LoVeとHAte、で覚えるらしい。わかりやすい〜〜〜

2019/05/22

any?

  • enumerableクラスのメソッド
  • ブロックを繰り返し実行し、一度でも真を返せばtrueを返す(繰り返しを中断する)
  • 全部false、またはレシーバが空のときはfalseを返す
words.any?  { |w| w.size >10 }

であれば、words = %w(dog cat mouse pig)なら全部10文字以下なのでfalse word = %w(hippopotamus dog mouse pig)ならかばが出てきた時点でtrue

all?

  • 上記の「ブロック内がすべてtrueであれば`true」
  • ブロックの戻り値をすべて調べる。&&より可読性高く書けることもあるが、全部判定するのがしんどいときは&&でつなぐほうがよい

git

コミットしてないuntrackedのファイルをなんか誤って消してしまった。 vscodeGUI操作で変なとこ押したのかな、、、つらい 自分でvue実装したところが消えてしまった。 これの予防策どうしたらいいんだろう。 ローカル専用のブランチ作る?そのままリモートにpushしたくなったときに困りそう。

stash

git stash branch tmp-branchで別ブランチにstash内容を切り出すことができる ふむ。使ってみる。

#

なんかいろいろやったけどメモ出来てない。昨日も忙しかったから日記書いてないことすら忘れている

2019/05/20

やろう

  • 今日話題に上がったもので、わからないものはとりあえず調べることにする。

相対パスいつもわからなくなるな。

./ わたしのいるところ ./../ わたしのいるところの一個上

vue

hamlでのコンポーネント表記の仕方でひっかかる。ハイフン エラー文「そんな名前のコンポーネントはありません」が正しい。名前を疑っていく。

2019/05/19

だめなひがつづく。

なにもしたくないから外に出て、何もしたくないからどこにも行けなくて、最後眼の前に新しくできてたカラオケに入った。

pretenderを知れてよかった。

vue

yarn???????

  • 使ってるけど、わからん。
  • yarnを使ってみた - Qiita
  • パッケージマネージャー
  • 知らんって!!!!!
  • ソフトウェアのインストールやバージョンの管理、更新、削除を容易に行えるようにするプログラム。 つまり、railsでいうgemかな・・・? → Gemはパッケージ、bundlerがパッケージマネージャ。ふむ。
gemのこと
  • そもそもGemも雰囲気で使っている。
  • gem install "sinatra"でインストールもできるよね。Gemファイルに書くのと何が違うのかと言うと、
  • ライブラリ同士の依存性、互換性による問題
  • gemファイルに記載し、bundleを用いるとgemどうしの互換性を保ちながらgemを導入してくれる。

  • yarnが何かはわかった。

  • materializeうまく導入できなかったのでこれ見た。 一次ドキュメントはどこだ。gemか?

【Ruby on Rails】Materializeを導入する - zackey推し