Journey

技術に関することと覚書と

2020-01-01から1年間の記事一覧

vimでTDDしやすい環境を整えた

自分はコードを書くときにTDDをするので、vimから手軽にテストを回せる環境が必要でした。 なので、いままではvim-test + vim-dispatchを使用していたんですが、quickfixlistの挙動だったりがなんか微妙だなーと感じていたのでasyncrun.vimを使用して自分で…

HanamiのEntityのschemaに別Entityを使用する方法

結論 class User < Hanami::Entity attributes do # one attribute :post, Types::Entity(Post) # many attribute :posts, Types::Collection(Post) end end 経緯 HanamiでDDDっぽく書くために https://guides.hanamirb.org/entities/custom-schema/ に書い…

VimでPRをレビューするためのプラグインを作っている

githubでレビューをしていていると、いつものエディタと違うことに違和感を感じることないですか? 自分の場合は フォント フォントサイズ ウィンドウサイズ 背景色 シンタックスハイライト その他周りにあるUI がいつもと違うので、全体的に違和感を感じて…

FactoryBotを効果的に使用する

似た記事をQiitaに書いてますが、こっちをメインにする意味でも書き直そうと思います。 はじめに ご存じの方も多いと思いますが、FactoryBotは主にテストを書く際に使用される、オブジェクトのインスタンス化を簡単にするためのものです。 ただ、FactoryBot…

hanamiで関連先のモデルにorderやlimitをかける方法

例えば User モデルが Post モデルを has_many している場合に、find_with_posts で posts に対して order や limit をかけたい場合があると思います。 その方法は公式のDocumentに書いていなかったので、自分がやっている方法を共有します。 def UsersRepos…

Vueでpropsで渡されたものをコンポーネント内でさらにv-modelに渡したい場合

タイトルままですがVueのあるコンポーネントでv-modelで渡されたものを、さらにそのコンポーネント内で別のコンポーネントのv-modelに渡すなどした時に以下のようなwarningが出ます Avoid mutating a prop directly since the value will be overwritten whe…

Github trend素振り的なものをやっていく

Github trend素振り的なものがあるらしいんのでやってみる。 具体的には、githubトレンドにあるものを、動かしてみるものらしいです。 ものを動かし始めることって結構ハードル高いので、それの耐性がつくのと、文字通りOSSのトレンドにおいていかれないよう…

ActiveRecordのtakeメソッドがテスタブルだった

Railsにおいてある特定個数の要素がほしいときに以下のようなコードをよく書くと思います。 Article.most_recently.limit(5) ただこのように書いてしまうと、 limit はrailsのメソッドのためテストコードが書きにくくなってしまいます。具体的な例を上げると…