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

同じ rake タスクを二ヶ所で書いた時の挙動について

annotate_models のコード見ていたら、次のようなコードが書かれていて、実際の db:migrate のタスクを上書きしてるのかなあ…だとしたら実際の db:migrate の処理どこ行ったんだろうと思った。 namespace :db do [:migrate, :rollback].each do |cmd| task c…

miuchee を heroku 環境に移行した

miuchee を heroku に移行したメモです。 移行理由 @mkouhei さんのサーバ(さくら)を仮想マシン環境で使わせてもらっていた さくら環境要因で時折メンテが必要になっていた 現状の heroku なら無料で使えそうな状況である sendgrid は無料で毎日400通メール…

Intellij で Rails 開発をするときの注意点

vendor/bundle を使わないこと。 検索に gem のコードが交じる gem に jruby用のコードがあると、java 系のプロジェクトとして判断されるようで普通の Rails アプリとして認識しない vendor/bundle を無視する設定にすればよいかと思いきや、gem を認識しな…

IntelliJに挫折中

デバッガを使いたくて、IntelliJを試しています。 がどうもすんなりと移行できません…。 全部入りであるということに魅力を感じて、RubyMine でなく IntelliJ で試しています。ただそうするとプロジェクトがなぜか JRuby on Rails と判断されていろいろうま…

GitHub.app for mac

しばらく使ってみた結論。rebase を使用する人には向いてません…>< merge しか使わない人にはいいアプリケーションだと思います。 追記 あとコミットログリーダーとしては超使えると思います

vue.js で DOM の更新を同期的っぽく行う

vue.js は DOM の更新を非同期で行っている。 同期的にするには全体の設定でVue.config.async = false とする方法があるがこれは微妙。 もう一つの方法としては、Vue.nextTick(callback)を使用してDOMの更新が終わってからの処理をコールバックで記述する方…

draper vs active_decorator

active_decorator はよく使ってるけど draper は README 読んだだけの状態で比較しています。 active_decorator メリット 実装が比較的シンプル 使い方もシンプル 自動的に model を decorate してくれる デメリット decorator のメソッドを生やす条件が限ら…

schema が変更された時に自動で erd.pdf を更新する

rails-erd、便利なんだけど実行を忘れて古いままでほったらかしてることが多いので、rake db:migrate したら勝手に更新するようにしてみた。 Rake::Task['db:migrate'].enhance do Rake::Task[:erd].invoke end を lib/tasks/erd.rake などを作って書けばお…

Logentries と Papertrail どっちをつかうのがいいのか

Logentries と Papertrail の簡単な機能比較。heroku で利用する前提 両方でできること ログを閲覧する ログからのアラート通知 Logentries だけでできること ログを解析してグラフを作れる サーバのパフォーマンス監視 ユーザのアクセス解析 公式iOSアプリ…

好きなファイルサイズの画像を作る

ファイルアップロードのテストで、ファイルサイズのチェック部分のテストがしたい 簡単に生成する方法を調べたところ、imagemagick で画像をつくり、その後に exif の comment にテキストを流し込んでファイルサイズを調整するやり方を見つけた しかしそのブ…

git 小ネタ

メモ reflog のコミットログを検索する git log --walk-reflogs --grep-reflog=hoge 特定のコミットを含むブランチを表示する git branch --contain hoge

lambda と -> の違い

同じかと思ってたけど振る舞いが異なるケースがあった def hoge(name, block) puts name block.call end hoge :fuga, -> { puts 'foo' } hoge :fuga, lambda { puts 'foo' } hoge :fuga, -> do puts 'foo' end hoge :fuga, lambda do puts 'foo' end 最後の…

bitbucket について

GitHubとくらべての雑感です。基本的にはだいたい同じように使えますが、いくつか気になる点があったのでメモ。 良い点 プルリクエストの画面上で、リアルタイムで同じ画面を見ている人のアイコンが表示される 悪い点 画像をクリップボードからコピー出来な…

ActiveJobとsidekiq利用時のqueueの名前

デフォルトで mailers という名前のqueueになるので、sidekiq.yml を次のようにしておかないとメールが飛ばない :queues: - default - mailers Active Job · mperham/sidekiq Wiki

rspec-rails 使用時における ActionMailer::Preview のデフォルトパス

いつの間にか、rspec-rails が ActionMailer::Preview のデフォルトパスを spec/mailers/previews/ に変更するようになった模様です。 test/mailers/previews で普通に使えていたのに、ある日急にプレビューが見えなくなって焦りました…。

Androidのエミュレータ

skinを設定すると、なぜかデバイスの解像度を設定していても、そのskin固有?の解像度になってしまうので基本的にはskinを設定しない(no skin)のがよい

herokuコマンドで使うデフォルトのアプリを設定する

heroku logs --app yourappname みたいに、いつも --app つけるのめんどい時は次のようにする heroku git:remote -a yourappname そうすると heroku logs でよくなる。べんり。

rubymotion android で

こんなエラーが出たら java.lang.ClassCastException: com.rubymotion.String cannot be cast to java.lang.String こうすると動くかもしれません Java::Lang::String.new("hoge")

Androidで戻るキーを無効にする

日本のブログだと、次のようにonKeyDownをオーバライドする方法が書かれているのをよく見ます。 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCo…

ActiveRecord の size メソッドの落とし穴

size メソッドは、count メソッドと length メソッドのいいとこどりのメソッドです。 既にデータがロードされていれば、それを使う sql 発行されない データがロードされていなければ、select count(*) from ... を発行する なので多用していたのですが、こ…

GitHub の notification 設定の種類が増えてた

ちょっと前までは、 全部 push イベントだけ しか選べなかったはずなのだけど、今はもっと細かく設定できるようになっています。 「issue のタイトルに特定の文字列があったら除外」みたいなのがあるともっとよいですね。

emacsclient を homebrew でインストールしたものに変更

brew edit emacs としたときにエラー。 emacsclient: can't find socket; have you started the server? To start the server in Emacs, type "M-x server-start". emacsclient: No socket or alternate editor. Please use: --socket-name --server-file (o…