プログラマでありたい

おっさんになっても、プログラマでありつづけたい

賃貸物件でも食洗機!!

 一度食洗機付きの物件に住んでから、その便利さの虜になっています。そんな中、今年の7月に引っ越しました。当然といえば当然なのですが、引越し先の物件には食洗機がついていませんでした。ということで、食洗機を取り付けられるよう色々動きました。

不動産屋経由でオーナーに設置の確認



 不動産屋経由で確認したのですが、今住んでいる物件のオーナーは高齢の人らしく、そもそも食洗機はという状態だったようです。そこで、食洗機の写真や蛇口の改修についての説明資料を送りました。蛇口の根本部分を交換するだけなので原状回復可能ということを強調したら、あっさり許可が取れました。

食洗機の選定



 許可が取れたので、次は食洗機の選定です。食洗機は主に据置型とビルトインタイプがあります。後者はシステムキッチンと一体なので、さすがに賃貸では導入は難しいです。そこで、据置型を選びました。据置型の食洗機なのですが、選択肢としてほぼPanasonicしかありません。だから選定としてはサイズと型を選ぶくらいしかありません。
 食洗機の選定としては、機能より大きさが重要になります。つまり一度にどれだけの量を洗えるかがポイントですね。店頭で実物を見るのが一番良いのですが、食洗機は意外に大きいです。しかし、大きくても洗える量は少ないです。だから、台所における範囲で一番大きなものを選ぶのがベストだと思います。他の作業スペースの圧迫など、トレードオフとの戦いになります。私は、「食器洗い乾燥機 NP-TR7-W」を選びました。

設置ビフォー・アフター



 こんな感じの流しです。
f:id:dkfj:20140708085922j:plain
f:id:dkfj:20141206230723p:plain

 まず蛇口部分に分岐をつけます。
f:id:dkfj:20141206223136j:plain

 あとはドンと置くだけです。
f:id:dkfj:20141206231916j:plain

食洗機の購入先の選定について



 Amazon大好きな私ですが、食洗機はヤマダ電機で買いました。理由としては、蛇口等の取り替えが必要なので、それに合う規格の部品を見繕ってもらう必要があったからです。ヤマダ電機の場合、一度下見に来て取り付け可能および部品の見積もりを行ないます。他の家電量販店でも恐らく同じプロセスをとると思います。

感想



 食洗機最高!!賃貸の人も諦めずにチャレンジしてみてください。Amazonのページから、パナソニックに直接電話で相談できるみたいなので、近くに量販店がない場合も電話で聞いてみるのもありかもしれません。

See Also:
賃貸でも工事なしで付けられるワイヤレスドアモニタ パナソニックのドアモニ VL-SDM110
賃貸でも工事無しでパラボナアンテナをつける方法。
プログラマになりたい Advent Calendar 2014

パナソニック(Panasonic) 食器洗い乾燥機用分岐栓 CB-SXH7

パナソニック(Panasonic) 食器洗い乾燥機用分岐栓 CB-SXH7

除菌ハイウォッシュジョイ ボックス 700g

除菌ハイウォッシュジョイ ボックス 700g

Ruby+Mechanizeで対話型のスクレイピング

 クローラー/スクレイピング Advent Calendar 2014の6日目です。あと、全部俺Advent Calendarも開催中です。

 リクエストがあったので、Mechanizeを使ったスクレイピング方法についてです。Mechanizeは、対話型の処理を得意とするスクレイピングの補助ツールです。対話型とは、例えばIDとパスワードを使ってログインするようなサイトなので、それぞれ項目に入力して次のページに遷移するような行為です。

Mechanizeのサンプルソース



 下記は、Amazonアソシエイトサイトから売上を取得するサンプルです。

require 'mechanize'

uri=URI.parse('https://affiliate.amazon.co.jp/')
agent = Mechanize.new
agent.user_agent_alias = 'Mac Safari'
page = agent.get(uri)
next_page = page.form_with(:name => 'sign_in') do |form|
  form.username = 'your_username'
  form.password = 'your_password'
end.submit
puts next_page.search('//*[@id="mini-report"]/div[5]/div[2]').text

 Mechanizeのオブジェクトを作成し、ユーザエージェントなどの属性情報を指定します。次に対象のURIを指定して、ページを開けます。ページを開くと、入力する対象のフォームを探します。幾つか探し方はありますが、今回はフォーム名で探しています。そして、フォーム中のユーザ名とパスワードにそれぞれ入力しサブミットしています。
 次のページでは、xpath形式で取得対象の情報を指定してデータを抜き出しています。Mechanizeも、データのスクレイピングにはNokogoriを内部的に利用しています。

Mechanizeが得意とする処理と苦手とする処理



 Mechanizeの基本は対話型の処理になります。その為、ページごとに必要な処理を記述する必要があります。その為、認証が必要なページやPOST送信が必要な場合には、絶大な威力を発揮します。反面、サイト内をくまなく巡回して、全てのリンクを取得するといったような処理は苦手とします。出来ないことはないですが、記述する処理量が多くなり非効率となります。

感想



 Mechanizeは、Rubyによるクローラー開発技法でも少し取り上げています。しかし、あまり詳しくは書いていない為、もっと色々書いてというリクエストを受けます。根強い人気なんだなぁと度々実感しています。今回はホンのさわり部分だけなので、いつか掘り下げて取り扱おうと思います。

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例