おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

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

Lotus についての雑感

今回の ginza.rb ミートアップで、Lotus と呼ばれる、Ruby製フレームワークについて学びました。 ginzarb.doorkeeper.jp @y_yagi さんが概要を資料にまとめてくれたので、それに沿って特徴や機能について理解を深めつつ、気になることについてワイワイ話しま…

最近のお仕事について

ここ半年ほど、Clinical Platform さんのお手伝いをしています。最近エンジニア募集を開始したので、どんな感じでお仕事を進めているかを簡単に紹介しようと思います。 作っているもの クリニック向けのクラウド電子カルテです。 Ruby や Rails のバージョン…

Rails 4.2 で postgresql を使う場合の注意事項

Rails 4.2 では、DB の string 型が255文字制限ではなくなりました。もともとあまり意味がなかったらしいです(詳しい人補足求む)。対象は postgresql と sqlite で、mysql は対象外です。 PostgreSQL, remove varchar limit. by senny · Pull Request #14579…

Rails で fat model を避けるための、あまり知られていない方法について

このエントリで書いた内容は、ほぼ Growing Rails Applications in Practice の内容が元になっています。英語ですが、ここで挙げた内容以外にもコードを綺麗に保つテクニックが書かれており、かつページ数も少なく読みやすいです。コードを綺麗に保つのが好…

iphone のカメラを修理した

iphone6 plus で写真を撮るときに、フォーカスが合わずにぼやけた写真しか撮れなくなってしまいました。 ググるとどうやらハードウェアの不具合の模様。 iPhone 6 Plusのカメラのピントが合わない不具合が発生 - 非天マザー by B-CHAN ジーニアスバーに持っ…

nested attributes なレコードを、特定の属性が空の時に削除する

nested attributes なレコードを削除したい場合、accepts_nested_attributes_for に allow_destroy: true オプションを渡すと削除可能になります。削除するには、対象となる対象に { _destroy: 1 } のようなパラメータを渡します。 これを踏まえて素直にフォ…

ActiveJob はまだちょっと使うには早いかも

Rails 4.2 から導入された ActiveJob は、sidekiq や resque などのバックグラウンドジョブ系 gem を、同じ利用方法で扱えるようにしてくれます。 これは便利だなーと思い、sidekiq を ActiveJob を通じて使ってみたのですが、しばらく使った後に「まだ本格…

色彩検定2級を受けてきた

6月28日(日)に色彩検定2級の試験を受けてきました。 色彩検定協会/カラーコーディネーター webサービスを作るときに、どんな色を使ったらキマるのか全然わからず適当に勘で決めていたのですが、色彩検定の勉強をする中である程度のセオリーをつかめた気がし…

プロフィールサイトを作った

先日ブログをはてなに戻したのですが、はてなブログはいわゆる naked ドメインに対応していないため、ドメインを willnet.in から blog.willnet.in に変更しました。 結果として willnet.in が空いてしまったので、プロフィールっぽい感じのページとして利用…

はてなに出戻りました

3年ほど Lokka + heroku でブログを書いていましたが、この度はてなに戻ることにしました。 もともと Lokka を使おうとしたのは、 markdown が使いたかった 自分でカスタマイズしたかった という理由からでした。 しかし 1 については今のはてなブログでは普…

find_by_sql したレコードで preload する方法

どうしても AR の query methods だけでは要求を満たせない場合の最後の手段として、find_by_sql メソッドがあります。皆さんよく使ってると思うのですが、戻り値のレコードからさらに association をロードしようとすると N+1 になるケースがあります。かと…

Rails で DB の Time 型を扱う

Rails では、DB の Time 型 を扱うことができます。これは日付を必要とせず、時間だけを格納したいときに使います。 定義方法は、他の型と同じく add_column メソッドなどで time を指定するだけです。 add_column :users, :lunch_time, :time ただ、これを…

ゆるデブ合宿で島根に行ってきた

ひょんなことから島根の自治体の方と知り合いになり、島根県が企業やコミュニティの合宿を誘致しているという話を聞きました。 合宿またやりたいなあ。島根まだ行ったことないし行ってみたいなあ。という気持ちからゆるデブのメンバーに相談したところ、反応…

LOCAL Community Summit 2015 で ginza.rb について LT した

LOCAL Community Summit とは、 地方の技術者やコミュニティの取り組みを、地元だけではなく東京で発表してみよう! 私達の地域の楽しさを、他の地域の技術者にも伝えよう! 地元を離れ首都圏で活躍している技術者や、いろんな地域のコミュニティと繋がろう…

Rails でセッションの有効期限を延長する

config/initializers/session_store.rb で次のように設定する Rails.application.config.session_store( :cookie_store, key: '_hoge_session', expire_after: 1.month ) Rails のドキュメントや railsguides で全然見つからなかったのはなぜなのだろう…。 …

最近の Rack サーバ事情について

先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い…

RubyMotion Android で、Java のクラスをRubyで継承するときの落とし穴

自分用のメモ。RubyMotion 3.3。 前提 RubyMotion では Java のクラスを Ruby で継承できる ただ、その際はコンストラクタだけは Java で書かないとダメ Manuals | RubyMotion の 2.5 参照のこと 単純にコンストラクタを書く用途以外に、「現行のRubyMotion…

第19回 ginza.rb ミートアップ

第19回目の ginza.rb ミートアップを開催しました。 Ginza.rb 第19回 だれが一番?Railsアプリサーバ徒競走!&Ruby2.2について話そう - Ginza.rb | Doorkeeper raptor と rhebok のパフォーマンスをみる 第17回ミートアップ で、Rack サーバの比較をしまし…

pry-remote について

Pow などを利用して開発を行う際に、pry-remote は欠かせないツールです。 binding.pry_remote でブレークポイントを設定し、コンソールで pry-remote コマンドを使うと pry のようにデバッグができます。 しかし、pry-byebug の 2.0.0 になってから、pry-re…

refile というファイルアップロード用 gem がよさそう

File Uploads with Refile | GoRails を見ての感想文です。 carrierwave の作者が作った後継 gem refile がなかなかよさそうな感じです。 S3へのブラウザからの直接アップロードのサポート サムネイルの動的生成サポート アップロード時じゃなくて、ブラウザ…

このブログのデザインをBootstrap 3.3.1 にした

このブログは lokka & heroku で動いています。lokka の theme を Bootstrap 2.1系 で作っていたのですが、このたび最新の 3.3.1 にしました。 メンテがダルいのではてなブログに出戻りたい気持ちがあるのですが、既存の記事をうまく移行する方法が思いつか…

SendGrid 使うときの注意点

Rails で、text.erb 形式のみでメールテンプレートを作った場合は、テキストメールになるはず。でもなぜかHTML形式で受信してしまう…。 調べたら、使っているメール送信用のサービスSendGridのデフォルトの設定に、テキストメールをHTMLメールに変換して送る…