2017-03-01から1ヶ月間の記事一覧

gitのリポジトリの中で、issueのURLを開くコマンドを作成した

git

いちいちgitを開けるのが面倒くさいってパターンです。 #!/usr/bin/env ruby require 'open-uri' url = "https://github.com/foo/bar/issues/#{ARGV.first}" system "open #{url}" ファイル名をbin/issueで登録する。 bin/issue 10 これで開きます。 もう少…

rubyでrakeの外部コマンドが失敗した時のエラーハンドリング

webpackerを使用していて、webpacker installって出ているのに、installは失敗していた。 これはムカつくからpullreq出してやろうと思ったら、すでにあった。 さすがだ。 fail hard when webpacker:install ./bin/yarn fails by sealocal · Pull Request #14…

nvmでnodeをインストールしているのに、deployしたら「/usr/bin/env: node: No such file or directory」が出る場合

なんでだよ! node -v => v7.7.4 deploy→/usr/bin/env: node: No such file or directory 確実にインストールはされている。 ということで、シンボリックリンクを貼りましょう。 sudo ln -s "$(which node)" /usr/bin/node ちなみにdebianのversion cat /etc…

rails5からはcontrollerテスト書くぐらいなら、requestテストを書くのがいいっぽい

controllerテストいらねみたいな流れだったけど、requestテスト書けって話だったのか。 Rails 3 と 4 において、controller spec の assigns は慣用されてきました。 今回の RSpec 3.5 はマイナーリリースであり、私たちは SemVer に準拠する以上、 既存の c…

rails5ではrender methodをいたるところで使えるようになっている

rails5にアップデートするときに変更されていて、手を加えて変更したので、備忘録として書いておきます。 rails4.2時代のrenderのやり方 下記のように、requestを強引に擬似るような形でやっていました。 class Renderer def renderer controller = Applicat…

vueのオブジェクトの並び順について

vue

jsonで値を渡しているのに、並び順が違う!って状態に陥りました。 なんでだ?って思うと、どうもObject.keys()の並び順に整理されるようですね。 オブジェクトを反復処理するとき、順序は Object.keys() の列挙順のキーに基づいており、全ての JavaScript …

mysqlのorder by fieldで指定のID順に並べる

どういった時に使うんだよwwwって思いましたが、使う感じになりました。 select * from icons where id in(4, 5, 6) order by field(id, 5, 4, 6) => mysql> select * from icons where id in(4, 5, 6) order by field(id, 5, 4, 6); +----+----------------…

railsで複合uniqueのvalidationをつけてやる

mysqlとrailsの両方に念のためつけます。 複合uniqueなんて、使うことあるのか?って思っていたけど、必要になりました。 忘れないために書いておきます。 まずは、migrationの書き方からです。 class CreateReactions < ActiveRecord::Migration def change…

es2015の分割代入は、rubyのキーワード引数のイメージ

わかりづれー!ってなっていました。 {}←これ何?って感じで意味不明に陥りやすかったです。 function foo({x, y}) { return x + y } console.log(foo({x: 1, y: 2})); =>3 x, yのvalueが代入されている。 これってrubyのキーワード引数と同じっぽく感じる。…

has_manyのhas_manyのcountで効率よくパフォーマンスを出す

counter_cacheはできるだけ使いたくないんですよ。 無駄なカラムを持ちたくないということで、頑張りました。 対策としては、最初で全てのcountを手にするのが一番いいですね。 countは重たいので、先に何とかして値を入手したい・・・。 今回のサンプルでは…