SakuraWi - BLog

みんなのウェディングの新米エンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

おいしいものを食らう

6日間のエンジニア座学研修が終わりました。 セキュリティ関係に始まり、テーブル設計やオブジェクト指向について、インフラやRSpecなど基礎を詰め込んだ6日間でした。

土日の写真

せつさん宅にお邪魔しておいしいご飯をいただきました。

f:id:Saku-Saku:20170711004007j:plain f:id:Saku-Saku:20170711004010j:plain f:id:Saku-Saku:20170711004014j:plain

銀座のおいしいコーヒー

ターレットコーヒーはおいしい!

f:id:Saku-Saku:20170711004018j:plain

amazon prime day

やってきましたね。 今年はざっと商品をみましたがあんまりコレ!というものがない感じですねー。

USB充電器の5ポートくらいあるのはほしくなりましたが。

挑戦

TOKYO STARTUP GATEWAYの1次選考に申し込み完了! ちょっと時間の使い方がうまくなくって、仕上げることに必死になってしまいましたが、ともあれ応募は完了しました。 次のステップに進みつつ、講座や企画に参加しながらブラッシュアップしていけるといいなぁ!

最近は首は痛くて、苦しみ気味であるため睡眠を確保しながら原因を追求したいところ。

刺さり

ちきりんさんのこの記事が結構おもしろかった。

途中大人についてとかも書いてあるけど 自分は子供かもしれない。

受け入れたくないものを未だに拒んでいる気がしている。

勝手に失望し、勝手に裏切られる人たち - Chikirinの日記

風邪ひいたかもしれない

寝起きがつらい。
クーラーによってやられたかも。

ポカリをぐびぐびのんで治し中。

社会人初風邪気味記念日である。 結構治ってきた。

カフェ

久々にCRAZYさんのCRAZY CAFE BLANKに寄ってきました。 店員さんが話しかけてくれて、良い雰囲気だなぁと再認識。

f:id:Saku-Saku:20170709013036j:plain

更新停滞気味か!?

ちょっと更新できていない感じになってきてしまっている!!!!

会社でのmacbookproを叩きすぎて、家のmacちゃんだとパワーが足りない感が出てしまっている・・・。 早急にmac proを買わないといけないかもしれない。どうしよう!!

読んだ記事

ポケモンGOも一年経つんだなぁ・・・。 ポケモンgoの楽しさと奥深さを、やってない人にも理解できるように解説する - 分裂勘違い君劇場の別館

ひっ。現実はそうか、と思ってしまう。 優秀な人材に変身するキッカケに出会うか、未熟なまま老いていくか - 分裂勘違い君劇場

「リスクを取らない人生に価値はない」 デンゼル・ワシントンが失敗だらけだった20代を語る - ログミー

RubocopをRspecに適用させる方法

werkerを使用していて、RSpecファイルで落ちたのでその修正方法を。

# Gemfile
gem 'rubocop-rspec'

gemをインストールします。

# .rubocop.yml
require: rubocop-rspec

ymlファイルで読み込みます。 ファイルの頭でいいと思います。

Rails newした後Rubocopでやること色々 - kasei_sanのブログ

のびしろ

最初は誰でもなかなかできないかもしれないが、そこからどうやってのばしていくかってきちんと手順を考えていかないと いつまでたっても同じ場所かもしれないですね。

生きている世界が違う人

生きている世界が違うなーって感じる人と、この人は自分と同じ場所にいるなーみたいな感覚があるときがある。 自分の時間をどんな人と過ごすかに使うのってやっぱり自分に返ってくるよなぁと。

でもなにがいいかなんてなかなかわかんないしなぁ、なんて考えていたり。

自分をもっと変えたいとか思うこともしばしば。

座学で学ぶ

今週は座学による研修が多く、非常に「わかった気になる」ことが多い。 ちゃんと定着したかどうか、自分でコードをかいて試すことが絶対に必要。

特に自分はわかった気持ちになりがち。 だってその方がたぶん脳みそうれしいもんね。 今まで甘やかせ過ぎたって気もするが笑

思考力

やっぱり地頭の良さ的なものってあるような気がしてて、ああいうのってどうやって変わるんだろう 今までの環境と自分が考えて生きてきたかとか本読んだかとか、遺伝とかってどう作用しているのか気になった。

というのもいつだって頭の良い人がいいなぁ、と思うことがあるので・・・笑

うらやましさ

よくうらやましいみたいな環状になるけどうらやましいっていうのってなんなんだろうw

validatorクラスについて

Rails Tutorial終了後、validatorクラスを試してみた記録
ファイル名やコード内容はRails Tutorialで使ったものを参考にしてください。

validatorクラスを作ってみた。

基本的な考えは、railsの仕様にないvalidationを作る際に用いるものです。
カスタムバリデーションともいいます。

ということで、user.rbの中身を書き換えます。
formatの部分だけをvalidationしたいため、コメントアウトしてみました。

そして、validationするためのクラスを呼ぶには、
validates_with クラス名のように呼びます。

#VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
  validates :email, presence: true, length: { maximum: 255 },
                    #format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }

  validates_with EmailValidator

lib/validates/email_validator.rbを作ります。

class EmailValidator < ActiveModel::Validator
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
  def validate(user)
    if invalid_email(user.email)
      user.errors.add(:base, "invalid")
    end
  end

  private
    def invalid_email(email)
      return true unless email.match(VALID_EMAIL_REGEX)
    end
end

続きまして、

注意事項

クラス名はclass EmailValidatorに合わせて
email_validator.rbにする。

スネークケースを適用させたものを名前にすること。

配置について

配置については、
lib/validates

app/validates
のように、validatesディレクトリを作成するケースが多いようです。

lib/validatesに作るのがスマートかもしれません。

lib/validatesのように作った場合、
config/application.rbに1行追加します。

module Railstutorial
  class Application < Rails::Application
    config.action_view.embed_authenticity_token_in_remote_forms = true

    config.autoload_paths += %W(#{config.root}/lib/validates)

最下行の1行が必要になります。
app/配下であれば、自動で読み込みがされるようですが、libは読み込みを明示しなければならないようです。

参考記事

ActiveModel::Validator

具体的な方法で書いてしまいましたが、使用例の1つとして残します!

Sprockets::FileNotFound at / couldn't find file 'action_cable' with type 'application/javascript'の対処

Sprockets::FileNotFound at / couldn’t find file ‘action_cable’ with type ‘application/javascript’

参考ページの解答

Just delete cable.js in /app/assets/javascripts/ and that should fix the problem.

こちらがいっているのは、/app/assets/javascripts/の中にあるcable.jsを消しましょうといっています。 基本的には生成がOFFになっているようですが、なにかしらのミスで入ってしまうことがあるようです。

これを削除するとなおるはずです。

参考資料

ruby on rails - Sprockets::FileNotFound at / couldn't find file 'action_cable' with type 'application/javascript' - Stack Overflow