タグ

ブックマーク / qiita.com/tnj (3)

  • 期間を絞った処理がしたいけどcreated_atにインデックスがなくて辛いときの処方箋 - Qiita

    Log.where('created_at > ?', 24.hours.ago).where(type: 'error') って叩きたいのだけど、 created_at にインデックスなんて張ってないので全力でフルテーブルスキャンになって結果が返ってこない😱 前提 created_at にインデックスなんて張ってない でも id は auto_increment でだいたい日時順に振られてることが期待できる 解決策 インデックスがなければ自分で二分探索すればいいじゃない! ってのを書いたのでご活用ください。 class ActiveRecord::Base # @param [Time] created_at # @return [ActiveRecord::Base] def self.find_closest_created_at(created_at) return if sel

    期間を絞った処理がしたいけどcreated_atにインデックスがなくて辛いときの処方箋 - Qiita
  • String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita

    あるSlackでの会話 何がおきているのか Android 端末でプラットフォームの API バージョンを出すのに、ちょっと色気を出して、 なんて書いたりします。で、だいたい android-22 みたいな感じになるんですけど、でもやっぱり世界ってのは広くて、ふと見たらなんか android-١٦ とか android-၂၂ とか不思議なやつがいるんですよ。 何それ読めない。 もしかして SDK_INT が変な端末がいるのかな??と一瞬考えたんですが、 Build.VERSION.SDK_INT は名前通りプリミティブな public static final int なので疑いようがなかった。 AndroidじゃなくてJavaの仕様 でよくよく調べると、 java.util.Formatter のドキュメントに Number Localization Algorithm なんてものが書か

    String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita
  • デザインの裏側を理解できるエンジニアになろう - Qiita

    「画面」のデザインは、エンドユーザーから見た「プロダクト」との唯一の接点。超大事。 そんな画面のデザインにまつわる、エンジニアが「いじる」ときに気をつけると、もしかしたら面倒が減って争いが減ってみんなが幸せになれるんじゃないかなあ、とか、そもそもの設計上で考慮できると、もしかしたら使う人たちが幸せになれるんじゃないかなあ、というポイントを、思い付きで書いていくので、あとは誰か整理してほしい的な投げやり感あふれるアレコレ。デザインとコーディングの話を混ぜて書いてます。 空白の理由を考える編 その1. 空白にまつわる認識の相違 例えば、Tumblrのダッシュボード。右肩のメニューの隅までちゃんとレイアウトされてるなーって感じがします。 でも、もしあなたが「空白を理解しないエンジニア」だった場合、こんな感じにコーディングしてしまうかもしれません。 (※画像はイメージです) 「なーんか、素人感があ

    デザインの裏側を理解できるエンジニアになろう - Qiita
  • 1