タグ

ブックマーク / blog.sushi.money (5)

  • ドメイン駆動設計読んだ - hitode909の日記

    ドメイン駆動設計というのはソフトウェア工学のおしゃれなで,Kindleで買えたので読んだ.ドメインを軸に戦略的に設計しましょうという.2週間くらいで読めて良い体験できてよかった. ソフトウェアを,ユーザーインタフェース,アプリケーション,ドメイン,インフラストラクチャという4つの層に分けて,一番重要なのがドメイン層で,ドメイン層にアプリケーションが存在し得る理由がある.銀行システムだったら,口座とか利子みたなやつがドメイン層で,口座がよくできてると銀行としてうまくいく.ATMのタッチパネルというのはユーザーインタフェースで,どんなにATM押しやすくても,ドメイン層に,口座という概念がなくて,ただのハッシュだったりすると,銀行を運営して金を儲けるとか,新たな金融商品とか作るのが困難になる.インフラ層は永続化とかするのだけど,インフラ層がいかによくても,意味ないデータを保存していては銀行倒

    ドメイン駆動設計読んだ - hitode909の日記
  • UI変更批判バトルと複数のバージョンのウェブサービスを同時に配信することについて - hitode909の日記

    ウェブサービス,UI変えると,改悪とか,元に戻してとか,そういう意見が出る. サービス提供する側の立場では,新しいUIのほうが使いやすかったり,機能が増えたり,収益が増えたりするので,新しい方を多くの人に提供することに価値がある.使いやすいかとか,儲かるかとかは,リリースまでに調べておく必要があり,リリースの結果使いにくくなったり収益減ったりしたら,失敗ということになる. 一方で,ユーザーの立場からすると,前の方がずっと使ってて愛着があったとか,新しい方を覚えるのは手間とか,確かにという感じはする.また,ウェブサービスは最終的にユーザーの手元のブラウザで表示されて動くので,映画の結末が気に入らないから変えたいといった要望よりは,受け入れやすい.データ構造についての,サーバー側の処理についてのユーザーからの要望というのはあまりなくて,このボタンがどうみたいな,UIの要望が多いと思う. 全部置

    UI変更批判バトルと複数のバージョンのウェブサービスを同時に配信することについて - hitode909の日記
  • テスト書きすぎ問題 - hitode909の日記

    テスト書きすぎるとよくないって言ってる人がいた.DHHっていう人.作業時間の1/3以上テストしてたらおかしいとか,ActiveRecordのバリデーションなど,Railsの機能はテストしない,とか. Signals vs. Noiseの去年のエントリに、テストをどれくらい書くべきかということについてDHHが指針を示していたものがあったので... - Sooey 偉い人が言ってるからという理由で,テスト手抜き派の人に良い材料を与えてしまった.僕は意見ちがって,作業時間半分以上はテスト書いたりしてる. テストたくさん書くと,最初に書くときのコストは増える.けど,あとから読む時や,変更したい時には,読むだけだし,書くのも差分だけで良い.コード体を理解できれば,要らないテスト捨てるのは,落ちたのを消すだけだから簡単.あとで見て,テスト足りないと分かったときに,明文化されてない仕様からテストを補う

    テスト書きすぎ問題 - hitode909の日記
  • Nokogiriが文字化けするのの対策 - hitode909の日記

    そこらへんで拾ってきたHTMLをNokogiriに渡すと,文字化けすることがあって,困ってた. Nokogiriに文字コードを渡せるので,HTMLから正規表現でcharsetを取り出して,一番多く出現するcharsetをそのページのcharsetとして採用すると,うまくいった. ヒューリスティックにやってるだけだけど,だいたいうまくいく. こんな感じ. charset = io.scan(/charset="?([^\s"]*)/i).flatten.inject(Hash.new{0}){|a, b| a[b]+=1 a }.to_a.sort_by{|a| a[1] }.reverse.first[0] before "〓\u0082«〓\u0083¼〓\u0083\u0089〓\u0083\u0095〓\u0082〓〓\u0082〓〓\u0083\u0088!! 〓\u0083´〓\

  • UserStreamを受信するgem - hitode909の日記

    UserStreamを受信するときに,毎回Net::HTTPがどうとか書いていて,めんどうだったので,UserStreamを受信するgemを作った. 1行ずつ受信したJSON(のテキスト)をくれるから,使いたいように使える. UserStreamReceiver.new.run{|chunk| p JSON.parse(chunk) } 内部的には,id:tilyさんのOAuth::CLI::Twitterを使ってAccessTokenを取得していて,最初に起動したときに,対話的にPINを入れるように言ってきたりする. 既存のtwitterクライアントから使いたい場合とかは,コンストラクタにAccessTokenを指定して使うこともできる. bin/以下に2つコマンドが入ってる. user-stream-receiver 受信したJSONを表示する. user-stream-receive

  • 1