2011-05-27

ソーラーライトキャップ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク


対抗発電がキニナル今日この頃、ふと思い立って太陽光発電機能がある帽子ってあるのかなぁと思い立って調べたらありました。
予想外に実用的なものでキニナル感じなのです。

詳細は
http://www.2clight.jp/
で調べるのがよいです。

他にも太陽光発電できる帽子として

もありました。
こちらはなんとなく・・・な感じです。

2011-05-26

ビールアワー

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク


お手軽にビールにいい感じの泡を作れるもののようです。
おうちで立派なビールが楽しめる感じのなのでキニナルのです。

アロー自転車

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
http://www.arrowtr.co.jp/

オーダーメイドのシンプルでありながらいい感じでステキな自転車です。
こんな自転車を持っているとステキな感じがするのでキニナルのです。

2011-05-19

WBS「トレたま」で放送された商品をAmazonで検索してみた(201101放送分)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WBSのコーナーの「トレたま」で放送された商品をAmazonで検索してみました。

滑らない箸 (放送:2011.01.31)
 amazonにありました
 箸一番・がっちりさん うるし塗タイプ(国産桧材)
 お年寄りに優しい介護箸【箸一番がっちりさん】うるし塗り
 箸一番・がっちりさん ポリウレタン塗タイプ(国産桧材)

太陽熱調理器具 (放送:2011.01.28)
 見つかりませんでした

水中探査ロボ (放送:2011.01.27)
 見つかりませんでした

超薄型バス停 (放送:2011.01.26)
 見つかりませんでした

車体をラッピング (放送:2011.01.25)
 見つかりませんでした

落書きスニーカー (放送:2011.01.24)
 amazonにありました
 グラッフィー

机で熟睡… (放送:2011.01.21)
 見つかりませんでした

エコでランキング! (放送:2011.01.20)
 見つかりませんでした

洗濯バッグ&カバー (放送:2011.01.19)
 amazonにありました
 アイクォーク バッグ型洗濯物干カバー 【カバール】 ワインレッド ISK-K73WR
 洗濯物目隠しカバー「カバール」
 【送料無料・特典付き】洗濯物目隠しカバー「カバール」3個セット

落書きアート! (放送:2011.01.18)
 見つかりませんでした

鏡でインフル対策! (放送:2011.01.17)
 見つかりませんでした

美姿勢クッション (放送:2011.01.14)
 amazonにありました
 ハイクッション トマト 【座クッション&背クッション】 ベージュ
 ハイクッション トマト 【座クッション&背クッション】 オレンジ
 ハイクッション トマト 【座クッション&背クッション】 ライトグリーン

“アート風”変換サイト (放送:2011.01.13)
 見つかりませんでした

ドライブ測定アプリ (放送:2011.01.12)
 見つかりませんでした

手間なしドアストッパー (放送:2011.01.11)
 見つかりませんでした

簡単にフィギュア制作 (放送:2011.01.10)
 見つかりませんでした

変化する色彩 (放送:2011.01.07)
 見つかりませんでした

次世代の腕時計 (放送:2011.01.06)
 見つかりませんでした

まるでカメレオン (放送:2011.01.05)
 amazonにありました
 色をマネて光る カメレオンランプ(アマゾン)

光る車輪 (放送:2011.01.04)
 見つかりませんでした

WBS「トレたま」で放送された商品をAmazonで検索してみた(201102放送分)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WBSのコーナーの「トレたま」で放送された商品をAmazonで検索してみました。

折り紙バッグ (放送:2011.02.28)
 見つかりませんでした

一石二鳥のイス (放送:2011.02.25)
 見つかりませんでした

宙に浮く?マネキン (放送:2011.02.24)
 見つかりませんでした

片手でラクラク (放送:2011.02.23)
 見つかりませんでした

雑音が入らない (放送:2011.02.22)
 見つかりませんでした

遠くの声を拾う (放送:2011.02.21)
 見つかりませんでした

不思議な正二十面体 (放送:2011.02.18)
 amazonにありました
 RT22 数字ロジックパズル 「アイコゾク」

煙が出ない本格派 (放送:2011.02.17)
 amazonにありました
 電動焙煎機 i-coffee ロースター

“加熱式”手袋 (放送:2011.02.16)
 見つかりませんでした

“背筋が伸びる”K-チェアー (放送:2011.02.15)
 amazonにありました
 i Pole 7 NATURAL LEATHER BLACK J0035
 i Pole 7 MESH FABRIC BLUE J0032
 i Pole 7 MESH FABRIC GREEN J0029

暗闇でもカラフル (放送:2011.02.14)
 見つかりませんでした

足元をロック! (放送:2011.02.11)
 見つかりませんでした

足指ホット! (放送:2011.02.10)
 amazonにありました
 指先ほっと 左右2個組み ※レアアースとシリコーンでぬくぬく!
 即納! 指先ほっと 左右2個組み ※レアアースとシリコーンでぬくぬく!
 【特許取得済み!】指先ほっと(左右2個組)

回るデザイン! (放送:2011.02.09)
 amazonにありました
 光る車輪 モンキーライト(Monkey Light)

変身するバッグ! (放送:2011.02.08)
 amazonにありました
 コアルーバッグ Sサイズ 6WAYバック!アイデアコンクール受賞作品!ショルダーにもリュックにも変身!
 コアルーバッグ Lサイズ 6WAYバック!アイデアコンクール受賞作品!ショルダーにもリュックにも変身!

お菓子のふりかけ?! (放送:2011.02.07)
 amazonにありました
 おかしなフリカケ オレンジ
 おかしなフリカケ ライトグリーン

遺影をネット保存 (放送:2011.02.04)
 見つかりませんでした

花粉計測ロボット (放送:2011.02.03)
 見つかりませんでした

寝て測る脂肪計 (放送:2011.02.02)
 見つかりませんでした

“見える”スクリーン (放送:2011.02.01)
 見つかりませんでした

WBS「トレたま」で放送された商品をAmazonで検索してみた(201103放送分)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WBSのコーナーの「トレたま」で放送された商品をAmazonで検索してみました。

“量れる”写真立て (放送:2011.03.10)
 amazonにありました
 フォトフレームスケール(ピンク)
 フォトフレームスケール(ホワイト)

手軽に3D (放送:2011.03.09)
 タカラトミー 3D ショットカム ホワイト 3D トイデジ W
 タカラトミー 3D ショットカム専用ビューアー 5枚入り 3Dショットカム ビューアー
 タカラトミー 3D ショットカム ピンク 3D トイデジ P

紙も自動! (放送:2011.03.08)
 見つかりませんでした

揺れるしゃもじ (放送:2011.03.07)
 amazonにありました
 スイングしゃもじ ホワイト PM-907

タッチでカラフル紙 (放送:2011.03.04)
 見つかりませんでした

会話を包み隠す (放送:2011.03.03)
 見つかりませんでした

存在しない壁 (放送:2011.03.02)
 見つかりませんでした

ピアノ手袋 (放送:2011.03.01)
 amazonにありました
 サンコ- ピアノグローブ PIAGRB01

WBS「トレたま」で放送された商品をAmazonにあるかをpythonで調べる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WBS「トレたま」でされた商品が気になって調べることがあります。

というわけで過去のものも一気に調べてみようかなと思い立ちましたのでpythonスクリプトを作ってみました。

適当なディレクトリに以下の
toretama.py
amazon_helper.py
を配置して

python toretama.py 201104
みたいな感じで実行します。
実際は関係ない商品も出てくるので最終的には目視確認ですけどね

それぞれのファイルは以下の通りです。

toretama.py
# -*- coding: utf-8 -*-

import os
import sys
import urllib2
import re
import xml.etree.ElementTree as etree

from amazon_helper import AmazonHelper

print sys.stdout.encoding, sys.getdefaultencoding() 

yyyy = sys.argv[1][0:4]
mm = sys.argv[1][4:6]

#指定月に放送されたリストを取得
url = "http://www.tv-tokyo.co.jp/wbs/trend_tamago/%s/%s/writeThisMonth.js"  % (yyyy,mm)
req_l = urllib2.Request(url)
cont_l = urllib2.urlopen(req_l).read()

pat_l = "<a href=\"(.*)\">(.*)</a> <span class=\"date\">\((.*)\)</span>"
for m in re.finditer(pat_l, cont_l, re.MULTILINE):
    #個別ページから商品名を取得
    req  = urllib2.Request(m.group(1))
    cont = urllib2.urlopen(req).read()
    cont = cont.replace("\n","")
    pat  = "<p><strong>商品名</strong></p><p>(.*)</p><p><strong>商品の特徴</strong></p>"
    mlist = re.search(pat,cont) 
    if mlist == None :
        print "not find"
        continue
    
    #amazonのAPIで商品検索
    ackey = "amazonのアクセスキー"
    sckey = "シークレットキー"
    askey = "アソシエートタグ"
    options = {}
    options['SearchIndex'] = "Blended"
    options['ResponseGroup'] = "Small,Images"
    options['Keywords'] = mlist.group(1)
    ah = AmazonHelper(ackey,sckey,askey)
    url_a = ah.make_item_search(options)
    req_a = urllib2.Request(url_a)
    cont_a = urllib2.urlopen(req_a).read()
    dom = etree.fromstring(cont_a)
    namespace ='http://webservices.amazon.com/AWSECommerceService/2010-06-01'
    items = dom.find('.//{%s}Items' % namespace)
    valid = items.find('.//{%s}IsValid' % namespace)
    if valid.text != "True" :
        print "not find"
        continue
    if items.find('.//{%s}Errors' % namespace) :
        print "not find"
        continue
    for item in items.findall('.//{%s}Item' % namespace):
        print item.find('.//{%s}Title' % namespace).text
        print item.find('.//{%s}DetailPageURL' % namespace).text

amazon_helper.py
import urllib,hmac, hashlib, base64
from datetime import datetime

class AmazonHelper:
    def __init__(self, access_key_id, secret_key, associate_tag=None, version='2010-06-01'):
        self.service = 'AWSECommerceService'
        self.access_key_id = access_key_id
        self.secret_key = secret_key
        self.associate_tag = associate_tag
        self.version = version
        self.uri = 'ecs.amazonaws.jp'
        self.end_point = '/onca/xml'
        self.dummy_timestamp = None


    def set_dummy_timestamp(self,dt):
        self.dummy_timestamp = dt
        
    def make_item_lookup(self, options):
        options['Operation'] = 'ItemLookup'
        return self.make_request(options)

    def make_item_search(self, options):
        options['Operation'] = 'ItemSearch'
        return self.make_request(options)

    def make_request(self, options):
        options['Service'] = self.service
        options['AWSAccessKeyId'] = self.access_key_id
        options['Version'] = self.version
        
        if self.dummy_timestamp:
            options['Timestamp'] = self.dummy_timestamp
        else:
            options['Timestamp'] = datetime.utcnow().isoformat()

        if self.associate_tag:
            options['AssociateTag'] = self.associate_tag

        payload = ""
        for v in sorted(options.items()):
            payload += '&%s=%s' % (v[0], urllib.quote(str(v[1])))
        payload = payload[1:]

        strings = ['GET', self.uri, self.end_point, payload]

        digest = hmac.new(self.secret_key, '\n'.join(strings), hashlib.sha256).digest()
        signature = base64.b64encode(digest)

        url = "http://%s%s?%s&Signature=%s" % (self.uri, self.end_point, payload, urllib.quote_plus(signature))
        return url


WBS「トレたま」で放送された商品をAmazonで検索してみた(201104放送分)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WBSのコーナーの「トレたま」で面白い商品がいろいろ紹介されるので
Amazonで変えるのかどうかを検索してみました。

太陽光で遊ぶ玩具 (放送:2011.04.29)
 見つかりませんでした

自動追尾台車 (放送:2011.04.28)
 見つかりませんでした

“スーツ”が新品に変身 (放送:2011.04.27)
 見つかりませんでした

電子レンジ用ロースター (放送:2011.04.25)
 amazonにありました
 Lekue(ルクエ)スチームロースター サル(ベージュ) 62105

近未来の“二輪車” (放送:2011.04.22)
 見つかりませんでした

ひねって鍛える♪ (放送:2011.04.21)
 amazonにありました
 Arm TWISTA(アームツイスタ) 筋力の弱い方用 【腕や肩の悩みに】
 Arm TWISTA-L(アームツイスタ) アスリート用 【腕や肩の悩みに】

“氷点下”ジョッキ (放送:2011.04.20)
 見つかりませんでした

手軽にスタジオ撮影♪ (放送:2011.04.19)
 見つかりませんでした

ダイヤでピカピカに! (放送:2011.04.18)
 見つかりませんでした

温度を色で判別 (放送:2011.04.15)
 見つかりませんでした

電気不要の湯沸かし器 (放送:2011.04.14)
 amazonにありました
 ハイマウント 簡単湯沸かし器 22180

塗って発電 (放送:2011.04.13)
 見つかりませんでした

眠りタイ (放送:2011.04.12)
 amazonにありました
 眠りタイ BRK05T

スライドで載せます! (放送:2011.04.08)
 見つかりませんでした

眠った写真に輝き! (放送:2011.04.07)
 見つかりませんでした

自宅が観光名所! (放送:2011.04.06)
 amazonにありました
 HOMESTAR AQUA 東京スカイツリー(R) (ホームスターアクア 東京スカイツリー(R))

街角美化 ゴミケース! (放送:2011.04.05)
 見つかりませんでした

雪や霧を消して鮮明! (放送:2011.04.04)
 見つかりませんでした

2011-05-17

RailsでSQL Serverに接続する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
RailsでSQL Serverに接続する際には以下のサイトがとても参考になります。
CentOSにRailsを入れてODBC経由でSQLServerに繋げるまで その1
CentOSにRailsを入れてODBC経由でSQLServerに繋げるまで その2

この方法ですでに作成済みのSQL ServerのDBの内容を参照だけして、メインの利用はmysqlということをやっていました。

ちょっと都合によりメインのDBもSQL Serverを利用しようかと思って
rake db:migrate
をしたら以下のようなエラーが出てしまいました。
S0001 (2714) [unixODBC][FreeTDS][SQL Server]There is already an object named 'schema_migrations' in the database
(ちなみに初回はこのエラーはでないのですが2回目以降でました)

activerecord-odbc-adapter
を利用して接続をかけていたのですが、これを
activerecord-sqlserver-adapter
に変えたら
rake db:migrate
が動くようになりました。

最初に紹介したサイトを参考にODBCの設定がされているという前提ですが、
activerecord-sqlserver-adapter
を使えるようにするには、以下のような感じです。
ちなみにRailsは2.3系の場合です。

gem install dbi
gem install dbd-odbc
gem install activerecord-sqlserver-adapter -v 2.3
※↑これではうまくいきませんでした。↓こちらの方がよいです。
gem install activerecord-sqlserver-adapter -v 2.3.18
gem install ruby-odbc
2.3.18を使う場合は、rails 2.3.11の方がよさげです。

インストールしたら
condig.database.yaml

adapter

odbc
から
sqlserver
に変えればOKです。

以下のような感じです。
development:
#  adapter: odbc
  adapter: sqlserver
  dsn: aaa_dev
  database: aaa_dev
  mode: odbc
  username: aaa
  password: abc123

でも
rake db:migrate:reset
は効いてくれませんでした。


レインボーフラッシュ LED傘

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク


柄が光る傘なのです。
目立ちすぎて、ちょっと恥ずかしいかもしれないのですがキニナルのです。
足元を光らすこともできるようです。

足元が光るだけでも十分便利だと思うのですが、柄も光ってしまうところがステキだと思うのです。

色をマネて光る カメレオンランプ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク


カメレオン型のランプです。
周囲の色をまねて光るからカメレオンのようです。
ちょっとキニナルのです。
でもカメレオンでなくてもよいとは思ったりもするのです。

2011-05-15

Bluetooth-Silicone Keyboard

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク


やわらかいのでグルグルまけちゃうようなのでキニナルのです。
スマートフォンを持つようになるとこういう持ち運びに便利なキーボードが欲しくなりそうな感じです。

2011-05-10

ActiveScaffoldの小ネタのまとめ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
RailsのScaffoldをステキにするActiveScaffoldの小ネタをちょこちょこ書いてきたので一回まとめてみます。

まずは本家は以下です。
http://activescaffold.com/

日本語でActiveScaffoldの使い方を知るのにオススメは以下です。
http://wota.jp/ac/?date=20071110#p01

以下は、今まで書いてきた小ネタです。
データを保存する際にsessionに格納されている情報を利用する

ActiveScaffoldとjQueryのthickboxを組み合わせる

Nestedを使ったらエラーが出たよ

日付入力でカレンダーを利用する方法

belogns_toのモデルの内容でソートする

セレクトボックスのソート順を変える

ActiveScaffoldでsum

独自のリンク

独自リンクをクリックしたときに確認をする

ActiveScaffoldで削除するときに独自エラーメッセージを出す

ActiveScaffoldでThe {{key}} interpolation syntax in I18n messages is deprecated. Please use %{key} instead ってエラーが出た時は

ActiveScaffoldでファイルアップロード

ActiveScaffoldで削除の時のメッセージをカスタマイズする

ActiveScaffoldの一覧画面で長いテキストの省略の長さを変える

データ量が多いテーブルにActiveScaffoldを使う時、検索はfield_searchがよさげ

active scaffoldのfield_searchを使うときhas_manyで関連している先のテーブルの複数のカラムを検索対象にする

ActiveScaffoldでsession情報によってメニューを出したり出さなかったり

ActiveScaffoldで新規作成画面にデフォルト値を表示する

ActiveScaffoldでpaper_trailの履歴情報を表示する

ActiveScaffoldでも楽観的ロックは使えるようです

ActiveScaffoldがchromeで表示が崩れるときの対応

ActiveScaffoldでセレクトボックスで特定の値を選択させる


また小ネタが増えたら追加しようと思います。

2011-05-07

ハンドルネームを変えました

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
ハンドルネームを
SOBARCO
から
VIVAHIRAJ
に変えました。

SOBARCO
というサイトを作ったから
SOBARCOとしていたけど
別の内容でちょこちょこ更新もしてきたので
ちょっと変えてみようかと思ってみたので
変えてみました。

今後ともよろしくお願いします。