title-logo

Volt を使って10分でリアルタイムチャットアプリケーションを作るチュートリアル

August 03, 2015

これからも Volt 推しでいきます。

「Volt を試してみたいけど、例やチュートリアルが少ない」という意見をしばしば聞きます。確かに、公式ドキュメントのチュートリアルはホントに触りだけで、モデルすらほとんど出てこない内容です。

そこで、モデル側の実装やユーザー機構にも少し触れることができる「Volt を使って10分でリアルタイムチャットアプリケーションを作る」というチュートリアルを公開します。「10分」というのはとりあえず何かこういうフレーズがあった方がキャッチーかな、と思って適当...


Data-Confirm Modalを使って Rails の削除確認ダイアログをいい感じにする

February 06, 2015

Rails の scaffold やらで作ってくれるビューに「Destroy」リンクありますよね。あれ、削除の確認のために JavaScript で Confirm のモーダルダイアログまで出してくれてなかなか親切なヤツなんですけど、せっかくだから見映えももうちょっといい感じにしたい。

ついでに、Github でリポジトリを消すときとかのように、誤って削除することがないようにユーザーに対して入力も求めたい。

自分で書こうとしたんですが、その前に探したらいいのがありました。探してよかった...


Rails エンジンの設定を外からできるようにしたい

February 05, 2015

作っている Rails エンジンの設定を外からやりたくて、どうやるのがいいのかな?と調べてみました。要は、エンジンの挙動をコントロールするための変数なりをエンジンに用意しておいて、マウントする側の親アプリケーションから値を設定したいということですね。

RailsGuides に書いてある方法

RailsGuides のエンジンチュートリアルで紹介されているのは、エンジンのモジュールに mattr_accessor を設定しておいて、親アプリからそのアクセサを介してモジュール変数 (モジ...


Mac で gzip 圧縮されたテキストファイルを直接読む方法

January 28, 2015

Mac のシスログを読もうとしたら gzip で圧縮されてて、その内容を読みたかったときの話です。

最近の Linux だったら less とか zcat とかでそのまま *.gz を余裕で読めちゃうし、そもそも Mac で圧縮されたログファイルを読みたかったことが今まで一度もなかったようで困ってしまいました。

結論

zlessgzcat を使う。以上。

ほんとに知りませんでした。今まで偉そうにしててどうもすみません。

なるほどなるほどー

z* コマンド兄弟には、他にもこうい...


Heroku で動かしているアプリケーションの Web サーバーを Unicorn から Puma に変更する

January 27, 2015

Heroku の推奨する Ruby Web サーバーが Puma に変更になったとのアナウンスがありました。

Puma is Now the Recommended Ruby Webserver

もともと、何となく「1 Dyno で動かすなら Unicorn より Puma の方がいいんじゃないのかな?」とか思って Puma を好んでいました (ただ、ぶっちゃけロクに調べておらず、この考えはたぶん間違ってたと思う)。

が、Rails アプリが 1 つあって、その Web サーバーが Unicorn...


Rails で raw HTML を sanitize する

January 25, 2015

ブログのようなアプリケーションを作ろうとしていて、フォームのテキストエリアをリッチテキストエディタ化するために tinymce-rails を使おうとしています。当然そこで入力した内容は HTML になるので、表示するときには html_safe などでエスケープされないようにしないといけません。

が、やっぱり raw html をそのまま出すのは怖いので SanitizeHelpersanitize メソッド を使ってみることにしました。

sanitize メソッドはホワイトリ...


(翻訳) Ruby 2.2 のシンボル GC

January 21, 2015

Ruby 2.2 の新機能にシンボル GC というものがあります。

正直、「え、シンボルって GC されないから速いんじゃないの?なのにシンボル GC で Rails が速くなるとか話聞くけど、いったいどういうことなの?」という感じでサッパリ理解できてなかったのですが、その辺りの疑問に対してまとめられている記事がありました。

Symbol GC in Ruby 2.2

とても分かりやすく素晴らしい記事だと感じたので、許可をもらって以下に日本語訳を公開します。

Symbol GC in...


Rails 4.2 を PostgreSQL を使って Elastic Beanstalk にセットアップする (2)

January 18, 2015

Rails 4.2 を PostgreSQL を使って Elastic Beanstalk にセットアップする (1) の続きです。

今回は DB の設定をしていきます。が、その前に SECRET_KEY_BASE 環境変数をセットします。

SECRET_KEY_BASE

Rails はデフォルトでセッションの情報を「すべて」クライアントの Cookie に格納するため、それを暗号化するための秘密鍵が必要です。当然これは秘密にする必要があるため、Rails 4.1 からは、production...


Rails 4.2 を PostgreSQL を使って Elastic Beanstalk にセットアップする (1)

January 17, 2015

これまで Rails アプリケーションの公開は Heroku への楽ちんデプロイしかしたことがなかったので、AWS を使ってみることにしました。でもやっぱりサービスを自分で組み合わせて構築するのは大変そうだったので、結局、PaaS として使える Elastic Beanstalk を利用することにしました。

最終的には、ELB のロードバランシングと RDS のレプリケーションによる冗長化と、セッションストアに ElastiCache や DynamoDB を使った動作確認までしたいと思...


Swift で Extension につけるファイル名のベストプラクティス

January 08, 2015

Objective-C の Category にあたる機能は Swift では Extension として提供されています。

Objective-C の Category には、

UIViewController+CommonNavigationItem.h
UIViewController+CommonNavigationItem.m

のように、拡張したいクラス名+Category名 とつけるのが一般的でした。では、Swift の Extension の場合はどんなファイル名にする...


Page 2 of 4