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

rbenv でインストールした Ruby2.0.0 に切り替えて gem コマンドを使ったらエラー発生

rbenv install 2.0.0-p0 で Ruby 2.0 をインストールし、 rbenv global 2.0.0-p0 で Ruby 2.0 に切り替えて gem list --local を実行したら ERROR: Your gem push credentials file located at: /Users/tnakamura/.gem/credentials has file permissions of …

ついに 30 歳になった

なってしまった。自分が 30 歳になるとはね。 この1年間は、自分で使うための Web アプリや、 これまた自分で使うためのライブラリを作ったりしたくらいで、 目に見える成果をあげることは出来なかったな。 ここ数年足踏みが続いていて、正直焦っている。 …

Ransack を使って簡単検索フォーム作成

はじめに 検索機能を実装するために gem を作っていたんだけど、 何を思ったか検索フォームを実装する gem を Google 先生に質問してしまい、 Ransack という gem を知ってしまった。 ernie/ransack 自作の gem より高機能そうだったんで、ライバル調査とい…

Backbone の View をテストする

以前 Konacha を導入してから、 Rails アプリの JavaScript コードをテストできるようになった。 Evergreen を導入したばかりだけど Konacha に移行した JavaScript コードの大半は、Backbone を使って実装した UI なんだけど、 困ったことに View のテスト…

NetTcpBind​ing の TCPポート共有を有​効にしているとトレー​スファイルに大量の警​告とエラーが出力され​る

WCF を使っているアプリをデバッグしていて、WCF のトーレス機能を ON にしていると、 クライアント側のトレースファイルに大量の警告とエラーが出力されていた。 アプリは一見普通に動いていたから、今の今まで気づかなかった。なんという悪夢。 2日ほど調…

ChannelFactory の閉じ忘れに注意

C#

チャネルを閉じて安心するな。ChannelFactory にも Close メソッドがあるぞ。 var factory = new ChannelFactory<IGreetingService>( new NetTcpBinding(), "net.tcp://localhost:808/IGreetingService"); var channel = factory.CreateChannel(); var result = channel.Greet(</igreetingservice>…

SimpleCov で Rails アプリのカバレッジを分析

日曜プログラミングだと、アプリを早く形にしたくて、 ついテストそっちのけで機能ばかり実装しがちな自分。 でもテストを書かないわけにはいかないし。いざ書こうと思ってはみたものの、 どこから手を付けたらいいか悩む。 まぁ、悩んでいても埒が明かない…

Backbone を使って実装したアプ​リのパフォーマンス改​善には Underscore​ の throttle と debounce が便利

ネタ元はこちら。 クライアントサイド JavaScript のパフォーマンス改善には backburner.js が便利! - tricknotesのぼうけんのしょ 自分の場合、Web アプリの UI を開発するときって、たいてい Backbone 使っている。 この Backbone が依存している Undersc…

Backbone.js と jQuery.mmenu を使ったスライドナビゲーション

Backbone でモバイル版の UI を作っていて、 Facebook や Gmail の iPhone アプリみたいな、 スライド表示されるメニューを実装したくなった。 そういったメニューを実装するための jQuery プラグインは既にいくつか存在していて、 Sidr - A jQuery plugin f…

Sencha Touch の Model と Store の使い方メモ

Sencha Touch の Model を Store を使って、 Web API からデータを取得する方法をメモしておく。 まず、次のようなモデルを定義したとする。 Ext.define("App.model.Post", { extend: "Ext.data.Model", config: { fields: [ { name:"name", type:"string" }…

MSTest を使って RSpec っぽくテストを書いてみた

C#

プライベートで RSpec 使ってテストを書いていると、 仕事でも RSpec っぽくテストを書きたくなる。 でも、仕事で使っている言語は C# だから、Visual Studio の単体テスト機能(MSTest) しか使わせてもらえない。 RSpec は describe や context を入れ子に出…

Heroku で FeedNormalizer を使って嵌った

RSS をパースするのに feed-normalizer を使っていたんだけど、Heroku 上で require "open-uri" require "feed-normalizer" feedlink = "http://tnakamura.hatenablog.com/feed" feed = FeedNormalizer::FeedNormalizer.parse(open(feedlink)) feed.title #=…

LTSV ロガーを自作して Rails アプリで使ってみた

WEB+DB PRESS Vol.74 の LTSV 特集を読んで LTSV 熱が高まったので、Ruby 用の LTSV ロガーを作って、Rails アプリに組み込んでみた。 tnakamura/logger-ltsv tnakamura/rack-ltsvlogger LTSV フォーマットでログを出力するライブラリは既にいろんな人が公開…

Heroku の Dyno を寝かせない

Rails 製 Web アプリを Heroku で動かしているんだけど、Heroku の Dyno は1時間以上放置されると寝ちゃうようだ。 Dynos and the Dyno Manager Heroku Dev Center 寝起きも悪いんで、1時間おきにかまってあげて Dyno を寝かさないようにした方が良さそう。 …

Bootstrap を使ってデザインしたアプリに Sidr でメニューを作成

Twitter Bootstrap はレスポンシブ Web デザインをサポートしているから、 小さい画面ではナビゲーションバーのメニューが隠れて、代わりにボタンが表示される。 このボタンをタップするとメニューがドロップダウン(?)表示されるんだけど、これ好みじゃない…

道頓堀くくる

おやつで無性にしょっぱいものが食べたくなったので、 大丸地下2階のうまかもん横丁にある『道頓堀くくる』に行ってみた。 そういえば大阪のたこ焼きは初めて食べる気がする。 銀だこは築地だし、蛸やは地元福岡だったし。 注文したのは、たこ焼き8個(520円)…

十二国記

面白いと勧められて半信半疑で読み始めたら、 思いのほかはまってしまった。 通勤時間と会社の休み時間で、少しずつ読み進めて、 ようやく今発売されているぶんは全て読破。 こんなに集中して小説を読み耽ったのは初めてだ。 一番のお気に入りは『図南の翼』…

Rails 本体で特定のパスに IP アドレス制限をかける方法

RailsAdmin で Web サービスの管理ページを実装しているんだけど、公開するにあたって、管理ページに誰でもアクセスできるのはマズイ。そこでまず考えるのは、管理ページに IP アドレスの制限をかけること。 ただ、今回は Heroku を使っているので、Apache …

モデル間のアソシエーションの情報を取得する方法

belongs_to や has_many で宣言した、 モデル間のアソシエーションの情報を取得するには、 ActionRecord::Reflection の reflect_on_all_associations メソッドを使えばいい。 ActiveRecord::Base は ActiveRecord::Reflection を include しているので、 モ…

Twitter Bootstrap 付属のアイコン画像より Font Awesome

CSS

Twitter Bootstrap が提供するアイコンは、 画像ファイルだから拡大すると見苦しいし、 色も黒と白の2色しかないので、 テーマをカスタマイズする場合の使い勝手がイマイチ。 そこで最近、Web フォント形式のアイコン『Font Awesome』を使い始めた。 Font Aw…

Webサービスのモックアップは HTML と CSS で書けばいい

デザインはからっきしだけど、このままではダメだと思って、本や雑誌でデザインを独学してる。 で、モックアップが重要みたいなこと説かれていると、Visio なんか使ってワイヤーフレームを書き始めるけど、正直まどろっこしい。性に合わない。この上 Photosh…

bootstrap-sass を使って Twitter Bootstrap をカスタマイズ

RAILS_ROOT/vendor/assets 下に Bootstrap 一式を放り込んで使っていたんだけど、 このやり方だと Bootstrap のスタイルをカスタマイズするとき面倒なことに気付いた。 上書きする CSS を書く?ありえない。 Bootstrap 公式のカスタマイズページを使う? 変…

文字列を扱う便利メソッドが大量な『Underscore.string』

Backbone.js で Model や Collection や Router の URL を組み立てるのに、 C# でいうところの string.Format みたいなメソッドが欲しいけど、 今のところ Backbone.js にも Underscore.js にも無い。 その代わりといっては何だが、『Underscore.string』と…

タカチホキッチン

ジュンク堂で epi っていうグルメ雑誌立ち読みしてたら、 『タカチホキッチン』の『チキン南蛮定食』が目に止まった。 そういえば、チキン南蛮を店で食べたことは無かったな。恥ずかしながら。 宮崎のチキン南蛮50選に選ばれたらしいので、行ってみた。 もも…

グリーンハウスの『リコッタパンケーキ』

渡辺通の『ホテルニューオータニ』1F にある『グリーンハウス』へ行ってみた。 ここの『リコッタパンケーキ』は凄く評判が良いらしい。 お目当てのリコッタパンケーキは、コーヒーまたは紅茶のセットで1700円。 超高い。ランチ2回相当の値段がするパンケーキ…

Rails で CoffeeScript の SourceMaps を出力する方法(暫定版)

Rails の Asset Pipeline は CoffeeScript をコンパイルしてくれるけど、SourceMaps は生成してくれない。 せっかく Chrome が SourceMaps をサポートしているというのに、未だに生成された JavaScript コードでデバッグしろというのか。 実はもう既に Sourc…

Gmail スタイルのショートカ​ットを実装できる『M​ousetrap』

Web アプリにショートカットを実装したくて、ライブラリを探していたら、良いの見つけた。 『Mousetrap』。 ccampbell/mousetrap JavaScript でショートカットを実装するライブラリでは shortcuts.js が有名だけど、後発の Mousetrap は shortcuts.js と同等…

Rails で JavaScript を国際化する

はじめに Rails で JavaScript を国際化するには、『i18n-js』という gem を使う。 fnando/i18n-js 自分が作っている Web アプリでそこまでやる必要性は無いかもしれないけど、 国際化せずに直接 HTML や JavaScript のメッセージに日本語を書き込むのは、何…

ひょうたん寿司

たまにはランチで寿司でもと思い、天神にある『ひょうたん寿司』(回らないほう)に行ってみた。開店10分前に行ったのに、店の前にはすでに行列がずらり。運よく第1陣で入れたけど、もっと早く来ればよかったと後悔するところだった。今回のお目当てはランチ…

やぐら

福岡市内でカツ丼の旨い店を探していたら、博多の商工会議所地下にある『やぐら』が評判良いみたいで行ってみた。 いかにもサラリーマン御用達な雰囲気の店。カウンター席に座って早速、かつ丼とかけそばのセットを注文した。 かつ丼は卵のとろとろ具合が良…