<?xml version="1.0" encoding="UTF-8" standalone="no"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
  <title>ちぎっては投げるブログ</title>
  
  <subtitle/>
  
  <link href="https://denpa-shinbun.com/"/>
  <updated>2021-03-04T22:05:33+09:00</updated>
  <author>
    <name>mczh</name>
  </author>
  <generator uri="https://blog.hatena.ne.jp/" version="fb5f88cd2320aa65918484dafaa1d2">Hatena::Blog</generator>
  <id>hatenablog://blog/6653586347154552133</id>

  
    
    
    <entry>
        <title>仮想通貨イーサリアムのマイニングのやり方メモ</title>
        <link href="https://denpa-shinbun.com/entry/ethereum-mining"/>
        <id>hatenablog://entry/26006613699269912</id>
        <published>2021-03-04T22:05:33+09:00</published>
        <updated>2021-03-04T22:05:33+09:00</updated>        <summary type="html">設定を忘れそうなのでメモしておく。 時間があるときに清書する。 今回は有名どころとしてBitcoinではなくEthereumのマイニングを試す。 マイニング用ソフト PhoenixMiner 5.6d: fastest Ethereum/Ethash miner with lowest devfee (Win/Linux) https://bitcointalk.org/index.php?topic=2647654.0 ウォレットの準備 chrome.google.com uniswapなどでも使えるのでmetamaskがおすすめ マイナーの設定 start_miner.batを編集する。使…</summary>
        <content type="html">&lt;p&gt;設定を忘れそうなのでメモしておく。&lt;/p&gt;

&lt;p&gt;時間があるときに清書する。&lt;/p&gt;

&lt;p&gt;今回は有名どころとしてBitcoinではなくEthereumのマイニングを試す。&lt;/p&gt;

&lt;h2&gt;マイニング用ソフト&lt;/h2&gt;

&lt;p&gt;PhoenixMiner 5.6d: fastest Ethereum/Ethash miner with lowest devfee (Win/Linux) &lt;a href="https://bitcointalk.org/index.php?topic=2647654.0"&gt;https://bitcointalk.org/index.php?topic=2647654.0&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;ウォレットの準備&lt;/h2&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Fmetamask%2Fnkbihfbeogaeaoehlefnkodbefgpgknn%3Fhl%3Dja" title="MetaMask" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=ja"&gt;chrome.google.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;uniswapなどでも使えるのでmetamaskがおすすめ&lt;/p&gt;

&lt;h2&gt;マイナーの設定&lt;/h2&gt;

&lt;p&gt;start_miner.batを編集する。使うグラボなどによって調整が必要&lt;/p&gt;

&lt;p&gt;ウォレットアドレスの設定、ワーカ名の設定、プールの設定が必要。
そのときに人気のマイニングプールを調べて設定するのがよい。
できれば日本、アジアのサーバが良い。&lt;/p&gt;

&lt;pre class="code bat" data-lang="bat" data-unlink&gt;REM
REM Example bat file for starting PhoenixMiner.exe to mine ETH
REM

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

cd &amp;#34;C:\My Programs\PhoenixMiner_5.5c_Windows_AMD_NVIDIA (Password-phoenix)&amp;#34;
REM IMPORTANT: Replace the ETH address with your own ETH wallet address in the -wal option (Rig001 is the name of the rig)
PhoenixMiner.exe -pool jp.sparkpool.com:3333 -wal {ウォレットアドレス} -worker {任意のワーカー名} -epsw x -mode 1 -Rmode 1 -log 0 -mport 0 -etha 0 -retrydelay 1 -ftime 55 -tt 79 -tstop 89 -coin eth -rxboost 1 -straps 3

pause&lt;/pre&gt;


&lt;p&gt;&lt;figure class="figure-image figure-image-fotolife" title="etherum mine"&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20210304/20210304220009.png" alt="f:id:mczh:20210304220009p:plain" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;h2&gt;グラボの設定&lt;/h2&gt;

&lt;p&gt;AMD Radeon RX-580&lt;/p&gt;

&lt;p&gt;AMD Radeon RX 580 Hashrate &lt;a href="https://miningchamp.com/gpus/266/Sapphire-Radeon-RX-580-hashrate"&gt;https://miningchamp.com/gpus/266/Sapphire-Radeon-RX-580-hashrate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;によると、27.5MHsだが、そのまま動かすと5MH/s程度しか出なかった。&lt;/p&gt;

&lt;p&gt;調べたところ、Radeon Softwareで設定をコンピューティングモードに変更が必要だった。
ソフトウェアバージョンは21.2.3。&lt;/p&gt;

&lt;p&gt;&lt;figure class="figure-image figure-image-fotolife" title="amd software"&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20210304/20210304214352.png" alt="f:id:mczh:20210304214352p:plain" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;グラフィックス&gt;高度&gt;GPUワークロード&gt;コンピューティング&lt;/p&gt;

&lt;p&gt;元の値はグラフィクスになっていた。&lt;/p&gt;

&lt;p&gt;これで25MH/s程度は出るようになった。&lt;/p&gt;

&lt;h2&gt;利益計算&lt;/h2&gt;

&lt;p&gt;グラボの能力と電気代とプールの料金から利益を計算する&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.cryptocompare.com%2Fmining%2Fcalculator%2Feth%3FHashingPower%3D25%26HashingUnit%3DMH%252Fs%26PowerConsumption%3D117%26CostPerkWh%3D0.22%26MiningPoolFee%3D1" title="Mining Calculator Bitcoin, Ethereum, Litecoin, Dash and Monero" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://www.cryptocompare.com/mining/calculator/eth?HashingPower=25&amp;HashingUnit=MH%2Fs&amp;PowerConsumption=117&amp;CostPerkWh=0.22&amp;MiningPoolFee=1"&gt;www.cryptocompare.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;現状でだいたい1カ月で5000円くらいだろうか。&lt;/p&gt;

&lt;h2&gt;税金計算の補助&lt;/h2&gt;

&lt;p&gt;マイニングの利益にも税金がかかる。確定申告の必要があるか調べ、準備をしておくこと。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fapp.zerion.io" title="Zerion — Invest in DeFi from one place" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://app.zerion.io"&gt;app.zerion.io&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cryptact.com/service/asset-management/"&gt;https://www.cryptact.com/service/asset-management/&lt;/a&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://www.cryptact.com/service/asset-management/"&gt;www.cryptact.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
</content>        
        <category label="Programming" term="Programming"/>
        
        <category label="雑記" term="雑記"/>
        
        <category label="Software" term="Software"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/728a887b9e733b54343fb1c2ecb27c3b02ec4443/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20210304%2F20210304215805.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>2020年に買って良かったもの</title>
        <link href="https://denpa-shinbun.com/entry/2020/12/31/210217"/>
        <id>hatenablog://entry/26006613672475218</id>
        <published>2020-12-31T21:02:17+09:00</published>
        <updated>2020-12-31T21:02:17+09:00</updated>        <summary type="html">釣りばかりしていたので釣り関連ばかりになるが、釣りをしない人にもお勧めできそうなものを書く。 JYXETOV 結ばない靴紐 https://amzn.to/381VM5m 靴紐が苦手である。 気づいたらほどけるし、脱ぐのはめんどうだし、と常々思う。 なので、出来るだけスリッポンな靴などを選ぶ。最近はメレルのジャングルモックが安く買えたので履いている。 しかし、アウトドア用の靴はスリッポンタイプは少ない。アウトドアで歩き回ってるときに靴紐がほどけると非常に面倒だし、場合によっては危険である。そこで、上記の結ばない靴紐に変えたのだが、これが良かった。見た目は悪いが、結ばずに済むし、締め具合の調整も…</summary>
        <content type="html">&lt;p&gt;釣りばかりしていたので釣り関連ばかりになるが、釣りをしない人にもお勧めできそうなものを書く。&lt;/p&gt;

&lt;h3&gt;JYXETOV 結ばない靴紐&lt;/h3&gt;

&lt;iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=mczh-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B07P5MD2MT&amp;linkId=1b9182a6df327babcd7e8e77cae36a26"&gt;&lt;/iframe&gt;


&lt;p&gt; &lt;a href="https://amzn.to/381VM5m"&gt;https://amzn.to/381VM5m&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;靴紐が苦手である。
気づいたらほどけるし、脱ぐのはめんどうだし、と常々思う。
なので、出来るだけスリッポンな靴などを選ぶ。最近はメレルのジャングルモックが安く買えたので履いている。&lt;/p&gt;

&lt;p&gt;しかし、アウトドア用の靴はスリッポンタイプは少ない。アウトドアで歩き回ってるときに靴紐がほどけると非常に面倒だし、場合によっては危険である。そこで、上記の結ばない靴紐に変えたのだが、これが良かった。見た目は悪いが、結ばずに済むし、締め具合の調整も出来る。値段も安いし、良い買い物だった。&lt;/p&gt;

&lt;h3&gt;おたふく手袋の下着上下 ボディータフネス&lt;/h3&gt;

&lt;iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=mczh-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B075F3QNKF&amp;linkId=6d4411c16ebabc6493131043bbe4c53e"&gt;&lt;/iframe&gt;


&lt;p&gt;&lt;a href="https://amzn.to/38RGu1Z"&gt;https://amzn.to/38RGu1Z&lt;/a&gt;&lt;/p&gt;

&lt;iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=mczh-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B0752BR7NP&amp;linkId=cabbb2bcd44e9dd94bba146d1b3530ca"&gt;&lt;/iframe&gt;


&lt;p&gt;&lt;a href="https://amzn.to/3aYeAnQ"&gt;https://amzn.to/3aYeAnQ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ユニクロのヒートテックよりこっちの方が暖かいように思う。最近は毎日これを着ている。ワイシャツの下もこれを着ている。&lt;/p&gt;

&lt;h3&gt;防水靴下&lt;/h3&gt;

&lt;iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=mczh-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B01L3NYBI4&amp;linkId=7f3a66e2b627cb269283ff69a8d49ac2"&gt;&lt;/iframe&gt;


&lt;p&gt;&lt;a href="https://amzn.to/2WW4fAH"&gt;https://amzn.to/2WW4fAH&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;雨の日や釣り船での釣りで、靴下の更に上からこの防水靴下を履くことにした。思ったよりも水が貫通してこないし、単純に靴下が二重になり暖かい。洗濯で乾かすときが少しめんどくさいので常用はしずらい。&lt;/p&gt;

&lt;h3&gt;ハクキンカイロと電子ライター&lt;/h3&gt;

&lt;iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=mczh-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B00N4FDANC&amp;linkId=fdf0ba350a7cf7c73fbdbee00913b33f"&gt;&lt;/iframe&gt;


&lt;p&gt;&lt;a href="https://amzn.to/2WYutT4"&gt;https://amzn.to/2WYutT4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;アウトドア界隈では有名なハクキンカイロだが、たばこを吸わないのでライターもないし、使いにくいと思ってこれまで買ってこなかった。しかし、釣りを始めると、ラインを焼くことがあり、そのために電子ライターを導入した。&lt;/p&gt;

&lt;iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=mczh-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B07MVCK5S8&amp;linkId=eacfc006e7ea1b29b351008ad9fa4ea0"&gt;&lt;/iframe&gt;


&lt;p&gt;&lt;a href="https://amzn.to/2X0Dkno"&gt;https://amzn.to/2X0Dkno&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;これとの相性がよく、最近はいつもポケットに入っている。通常のカイロより暖かいのと、水に多少濡れても発熱出来るのが気に入っている。&lt;/p&gt;

&lt;p&gt;年末に書いたからか、防寒具ばかりになった。まだまだ寒い新年も、これらを使って過ごそうと思う。&lt;/p&gt;

&lt;p&gt;お題「&lt;a class="keyword" href="https://blog.hatena.ne.jp/-/campaign/bestbuy2020"&gt;#買って良かった2020&lt;/a&gt;」&lt;/p&gt;
</content>        
        <category label="雑記" term="雑記"/>
        
        <link href="https://ogimage.blog.st-hatena.com/6653586347154552133/26006613672475218/1609672843" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>2020年のふりかえり、主に技術と趣味</title>
        <link href="https://denpa-shinbun.com/entry/2021-furikaeri"/>
        <id>hatenablog://entry/26006613672060630</id>
        <published>2020-12-30T23:51:19+09:00</published>
        <updated>2020-12-30T23:51:19+09:00</updated>        <summary type="html">いつかのために雑多に書く 仕事 去年はTypescriptばかり書いていたが、今年はSwiftがメインで、下期は少しJavaだった。 Javaはテストの整備だったが、ViewとModelが密になってしまっている実装を渡されて、単体テストを書くのは辛かった。 密になっているだけならまだしも、単体テストでUIのテストも一部書かれており、そのテストがエミュレータでたまにこける問題が最後まで解決できなかった。 SwiftはMVPで実装したが、ViewがWebViewで作られていて、果たしてMVPにした意味があったのかはいささか疑問が残るが、少なくともJavaのスパゲティ実装よりはだいぶ良かった。 新規…</summary>
        <content type="html">&lt;p&gt;いつかのために雑多に書く&lt;/p&gt;

&lt;h3&gt;仕事&lt;/h3&gt;

&lt;p&gt;去年はTypescriptばかり書いていたが、今年はSwiftがメインで、下期は少しJavaだった。
Javaはテストの整備だったが、ViewとModelが密になってしまっている実装を渡されて、単体テストを書くのは辛かった。
密になっているだけならまだしも、単体テストでUIのテストも一部書かれており、そのテストがエミュレータでたまにこける問題が最後まで解決できなかった。&lt;/p&gt;

&lt;p&gt;SwiftはMVPで実装したが、ViewがWebViewで作られていて、果たしてMVPにした意味があったのかはいささか疑問が残るが、少なくともJavaのスパゲティ実装よりはだいぶ良かった。
新規実装であんなにぐちゃぐちゃなコードを書く人がいて、そして実はそのタイプの人のほうが弊社には多いのかもしれないという体験はできれば得たくはなかったが、今後には役立つように思う。&lt;/p&gt;

&lt;p&gt;とにかく、チームとしての体を保つための仕組みつくりに腐心した。
他者の意識は変わらないから「仕組み」で防ぐのがエンジニアと思っていたが、しかし、仕組みをいくら作ろうとも、あっという間に仕組みが腐るのには困った。
腐らない程度の簡単な運用で、しかしチームとして進めるための仕組みを作り続けていき、なんとかアプリのリリースはできた。
ただ、チームはリリースを持って解体された。
願わくば、チームメンバーが今回の体験を次回に活かしてほしいと思う……。&lt;/p&gt;

&lt;p&gt;会社にTeamsが導入されたのも今年からで、それまでは勝手に建てられたチャットサーバなどを使っていたが、いっきに使いやすくなった。
ただし、偉い人の理解不足は相変わらずだなと落胆した。&lt;/p&gt;

&lt;p&gt;コロナの影響や、最近の会社の悪態度（特にリモートワークとボーナスまわり）もあり、退職者が非常に多かった。
身近な人もやめていき、優秀な人からやめていっているなという印象が強い。
自身も、身近な人は信用できるが会社そのものは全く信用できないと思い始めている。
なので、会社に依存しないスキル磨きを続けていきたい、と思っていたが、次のチームはややレガシーな分野のチームになりそうである。メンバーは良い感じなのだが。個人で何か進めるべきだろうか。&lt;/p&gt;

&lt;h4&gt;今年に得られた主なスキル&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Swift&lt;/li&gt;
&lt;li&gt;Macの操作全般&lt;/li&gt;
&lt;li&gt;モバイルアプリの単体テスト&lt;/li&gt;
&lt;li&gt;モバイルアプリのUIテスト(一部)&lt;/li&gt;
&lt;li&gt;モバイルアプリの脆弱性対策&lt;/li&gt;
&lt;li&gt;fastlane&lt;/li&gt;
&lt;li&gt;NodeJS&lt;/li&gt;
&lt;li&gt;Pupetter&lt;/li&gt;
&lt;li&gt;Azure  DevOpsでのタスク管理&lt;/li&gt;
&lt;li&gt;Azure Pipelineでのモバイルビルドと自動単体テスト&lt;/li&gt;
&lt;li&gt;オンラインでの勉強会運営(難しい…)&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;趣味のこと&lt;/h3&gt;

&lt;p&gt;趣味はひたすら釣りをしていた。
累計で年間50回は行ったと思う。そのわりに釣れていない。
竿とルアーが増えて困る。
VJをひたすら投げるようになったのも今年からだと思う。&lt;/p&gt;

&lt;p&gt;今年はキャンプにはあまり行けなかった。
おそらく1回のみ。&lt;/p&gt;

&lt;p&gt;ブログはほぼまったく書けていない。下手するとこの振り返り記事が年初かもしれない。&lt;/p&gt;

&lt;h3&gt;ハムスター&lt;/h3&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20210103/20210103205726.jpg" alt="f:id:mczh:20210103205726j:plain" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;以前のキンクマが病気で亡くなってしばらく飼わないでいたが、五月にまた飼い始めた。今度はジャンガリアン（パールホワイト）にした。ジャンガリアンの方が明らかに警戒心が低いのがわかる。警戒心が低いと言うより、アホなだけなようにも見える。基本的にペレットがメインの生活をしているのにも関わらず太っていて困る。&lt;/p&gt;
</content>        
        <category label="ふりかえり" term="ふりかえり"/>
        
        <category label="雑記" term="雑記"/>
        
        <category label="Programming" term="Programming"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/79bfc2129b3ae409b6c76d9e1c7cc0c8c51c7bcc/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20210103%2F20210103205726.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Windowsでwebpack-dev-serverに環境変数を渡す方法</title>
        <link href="https://denpa-shinbun.com/entry/webpack-define-variable"/>
        <id>hatenablog://entry/17680117126990120115</id>
        <published>2019-03-08T21:07:53+09:00</published>
        <updated>2019-03-08T21:07:53+09:00</updated>        <summary type="html">最近はJavascriptを少し触っている。 課題1 開発環境と本番環境でJavascriptのコードを切り替えたい。 解決方法1 もとからprocess.env.NODE_ENVには設定に応じて値が埋まっている。 if (process.env.NODE_ENV === 'production') { // 本番環境 } if(process.env.NODE_ENV === 'development')){ //開発環境 } 課題2 開発環境内で更にコードを切り替えたい場合が出てきた。 process.env.NODE_ENV はdevとprdしか自動では定義していないように見える。 解決…</summary>
        <content type="html">&lt;p&gt;最近はJavascriptを少し触っている。&lt;/p&gt;

&lt;h3&gt;課題1&lt;/h3&gt;

&lt;p&gt;開発環境と本番環境でJavascriptのコードを切り替えたい。&lt;/p&gt;

&lt;h3&gt;解決方法1&lt;/h3&gt;

&lt;p&gt;もとからprocess.env.NODE_ENVには設定に応じて値が埋まっている。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;if (process.env.NODE_ENV === &amp;#39;production&amp;#39;) {
 // 本番環境
}

if(process.env.NODE_ENV === &amp;#39;development&amp;#39;)){
 //開発環境
}&lt;/pre&gt;


&lt;h3&gt;課題2&lt;/h3&gt;

&lt;p&gt;開発環境内で更にコードを切り替えたい場合が出てきた。
process.env.NODE_ENV はdevとprdしか自動では定義していないように見える。&lt;/p&gt;

&lt;h3&gt;解決方法2-1&lt;/h3&gt;

&lt;p&gt;調べていてよく見るのは、package.jsonのnpm scripts部分で、&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;$ ENV=hoge webpack&lt;/pre&gt;


&lt;p&gt;のように、環境変数を付与する方法だが、これはWindows(というよりコマンドプロンプト)では動かない。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;SET ENV=hoge&amp;amp;&amp;amp; webpack&lt;/pre&gt;


&lt;p&gt;とするといいぞ、という記事も見たが、webpack-dev-serverでは&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;process.env.ENV&lt;/pre&gt;


&lt;p&gt;はundefinedになっていた。&lt;/p&gt;

&lt;h3&gt;解決方法2-2&lt;/h3&gt;

&lt;p&gt;そこで、webpack cliのオプションを見てみると、&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwebpack.js.org%2Fapi%2Fcli%2F" title="Command Line Interface | webpack" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://webpack.js.org/api/cli/"&gt;webpack.js.org&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;--define : Define any free variable&lt;/pre&gt;


&lt;p&gt;というオプションを見つけた。&lt;/p&gt;

&lt;p&gt;これで、例えば&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;$webpack-dev-server --define HOGE=true&lt;/pre&gt;


&lt;p&gt;とすれば、
Javascript側でHOGEがtrueとして定義されるので、&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;if(HOGE)){
  console.log(&amp;#39;HOGEが定義されてるよ&amp;#39;)
}&lt;/pre&gt;


&lt;p&gt;とすることで、指定した環境向けだけ特定コードを通るように環境変数で切り替えができた。&lt;/p&gt;

&lt;p&gt;さらに、上記のコードで&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;$webpack-dev-server --define HOGE=false&lt;/pre&gt;


&lt;p&gt;のようにfalseを指定した場合には、webpackのminifyが効いてデッドコード（通ることがありえないコード）はbundleせずに消してくれているようだった。便利。&lt;/p&gt;
</content>        
        <category label="JavaScript" term="JavaScript"/>
        
        <category label="TIL" term="TIL"/>
        
        <category label="Programming" term="Programming"/>
        
        <link href="https://ogimage.blog.st-hatena.com/6653586347154552133/17680117126990120115/1552046873" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>2018年の振り返り日記</title>
        <link href="https://denpa-shinbun.com/entry/2018"/>
        <id>hatenablog://entry/10257846132693649330</id>
        <published>2018-12-31T23:37:17+09:00</published>
        <updated>2018-12-31T23:37:17+09:00</updated>        <summary type="html">日記のつもりで、今年に思ったことを書いてみる。 これは反省ではなくて、いつかのときに、そういえばそんな年だったなと思い返すための記録である。 仕事の話 さて、2018年だが、勤務先の変更や業務変更や異動などいろいろあった。 会社のことなので細かくは書けないが、 仕様書の必要性 品質担保の難しさ UC記述の粒度の難しさ UIの試作はWEBベースで作ると楽 が学びである。 仕様書と品質の話 当然だが、仕様書がないものはテストケースも規定できない。 これまでの私の担当していたプロジェクトは仕様書をまず書き、その後詳細設計に入り実装という流れであった。そのため、仕様書がないという場合がそもそもなかった…</summary>
        <content type="html">&lt;p&gt;日記のつもりで、今年に思ったことを書いてみる。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20181231/20181231233408.png" alt="f:id:mczh:20181231233408p:plain" title="f:id:mczh:20181231233408p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;これは反省ではなくて、いつかのときに、そういえばそんな年だったなと思い返すための記録である。&lt;/p&gt;

&lt;h2&gt;仕事の話&lt;/h2&gt;

&lt;p&gt;さて、2018年だが、勤務先の変更や業務変更や異動などいろいろあった。&lt;/p&gt;

&lt;p&gt;会社のことなので細かくは書けないが、&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;仕様書の必要性&lt;/li&gt;
&lt;li&gt;品質担保の難しさ&lt;/li&gt;
&lt;li&gt;UC記述の粒度の難しさ&lt;/li&gt;
&lt;li&gt;UIの試作はWEBベースで作ると楽&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;が学びである。&lt;/p&gt;

&lt;h3&gt;仕様書と品質の話&lt;/h3&gt;

&lt;p&gt;当然だが、仕様書がないものはテストケースも規定できない。
これまでの私の担当していたプロジェクトは仕様書をまず書き、その後詳細設計に入り実装という流れであった。そのため、仕様書がないという場合がそもそもなかった。
だが、今回、諸事情により、仕様書がない（作らない…）プロジェクトに参加したが、絶望的な品質だった。&lt;/p&gt;

&lt;p&gt;そもそも何が正しい動きだかわからないのだから、動くままが仕様であり、つまりバグなどないのだ。
…などと言うわけにもいかず、これはおかしいからバグだ、おかしくないバグじゃない、を各人の判断で行う羽目になる。&lt;/p&gt;

&lt;p&gt;しかし各人の判断などという曖昧なものに頼れば当然ぶれる。各人の脳内にオレオレ仕様書が出来上がるのだ。しかも記憶ベースだから途中から整合性が取れなくなる。そもそも存在にすら気が付けない機能もある。&lt;/p&gt;

&lt;p&gt;かくして、絶望的な品質の製品が出来上がっていた。
辞めていった某同期が、俺のチームは仕様書がないから無限にバグを直し続けている、と言っていたことを思い出した。
当時は、これがバグドリブン開発だ！（意訳）などと言って笑い飛ばしていたが、いざやるとなるとまさしくこの世の地獄だった。&lt;/p&gt;

&lt;p&gt;どうすればいいかは悩ましい。いや、私の気持ちははっきりしている、今の製品開発を止めて、一度仕様書を起こすべきである。
ただ、そうはいかないのが会社である。&lt;/p&gt;

&lt;h3&gt;UC記述の話&lt;/h3&gt;

&lt;p&gt;その前のプロジェクトでは、仕様書をUC記述で書こう、ということになっていた。
これはテストケースを起こすのが楽だから、というのが理由の一つである。
だが、テストケースを起こせるようにするべく、粒度を細かくして巨大な仕様を書こうとした結果、途中で破綻した。&lt;/p&gt;

&lt;h3&gt;UI試作の話&lt;/h3&gt;

&lt;p&gt;HTML＋CSSで作ると早い。
Ruby on Rails と PythonのFlaskを試したが、Flaskはちょっと凝ったことをすると面倒だったので、簡単なものならFlaskで、基本はRailsのほうがいいかなと思った。&lt;/p&gt;

&lt;h3&gt;そのほか&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cookieを使ってみて、基本を少し学んだ。ド基本だが、ドメインそろっていないとダメとか、文字列はエンコードしないといけないとか。&lt;br/&gt;
オブジェクトをJsonでシリアライズ／デシリアライズするのって何に使うんだろ？と前に思ったことがあったが、Cookieに入れるときには便利。&lt;br/&gt;
WEBアプリケーションで、後々のページで再利用するデータを保持するのはどこが定石なのだろう、Cookie？DB？パラメータでずっと渡し続けるのはイケてないだろうなというのは思ったが…。&lt;/li&gt;
&lt;li&gt;言語は型付きのほうが好き&lt;/li&gt;
&lt;li&gt;GoogleHomeを買ったがまだ開封出来ていない。&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;買った物&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Surface Pro6&lt;br/&gt;
今このブログを書いている。軽さと性能に満足。&lt;/li&gt;
&lt;li&gt;自作PC&lt;/li&gt;
&lt;li&gt;Ryzen, Radeon&lt;/li&gt;
&lt;li&gt;AntecのPCケース &lt;br/&gt;
メンテナンス性、剛性が高く買ってよかった。&lt;/li&gt;
&lt;li&gt;YAMAHAのスピーカーとスピーカー台と中華アンプ&lt;/li&gt;
&lt;li&gt;Sony XPERIA XZs&lt;br/&gt;
今年のワーストバイ。電池持ちが異常に悪い。突然の発熱で性能が落ちる。さっさと買い換えたい。&lt;/li&gt;
&lt;li&gt;キャンプ道具&lt;br/&gt;
毎年キャンプしていたが、今年は椅子やマットや焚き火台などを買った。焚き火台は特にお気に入り。&lt;/li&gt;
&lt;li&gt;ゼノブレイド2 黄金の国イーラ&lt;br/&gt;
DLCとは思えない新作ゲームだった&lt;/li&gt;
&lt;li&gt;星のカービィ スターアライズ&lt;br/&gt;
クリアしていない&lt;/li&gt;
&lt;li&gt;リディー＆スールのアトリエ&lt;br/&gt;
switchで出ているから買ったらまさかの3部作の3作目だった…。面白かったが、switchでいきなり3作目だけ出すのは不親切だと思った。&lt;/li&gt;
&lt;li&gt;スマブラSP
ぜんぜん勝てない&lt;/li&gt;
&lt;/ul&gt;

</content>        
        <category label="ふりかえり" term="ふりかえり"/>
        
        <category label="雑記" term="雑記"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="Book" term="Book"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/529e87545612b816ce0a7c2032bd7fec7a4eb193/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20181231%2F20181231233408.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>コミュ障が約5万円値下げ相当でSurface Pro 6を買う方法</title>
        <link href="https://denpa-shinbun.com/entry/surfavepro6-bestbuy"/>
        <id>hatenablog://entry/10257846132656208350</id>
        <published>2018-10-29T23:24:26+09:00</published>
        <updated>2018-10-29T23:24:26+09:00</updated>        <summary type="html">2018年の10月中ごろ、Surface Pro 6が発売になった。 Surface Pro 6 が新登場 – 軽さの中に、無限の可能性を – Microsoft Surface 以前からSurfaceが欲しいと思っていたため、ちょうどいいので購入することにした。 第八世代のCore i5は4コアになり、2コアしかなかった第七世代のCore i7よりも性能が良いと聞いたのが決め手である。 だが、Surfaceはブランド力もあり、なかなか安売りのセール対象にならないことに定評がある。通常の家電量販店の商品は10％のポイントが付くが、Surfaceは多くの場合に1%しかポイントがつかない。 それで…</summary>
        <content type="html">&lt;p&gt;2018年の10月中ごろ、Surface Pro 6が発売になった。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE2x0Jl?ver=f28e&amp;amp;q=90&amp;amp;m=6&amp;amp;h=663&amp;amp;w=998&amp;amp;b=%23FFFFFFFF&amp;amp;l=f&amp;amp;f=jpg&amp;amp;o=t&amp;amp;aim=true" alt="ãã¼ã¿ãªã" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.microsoft.com/ja-jp/p/surface-pro-6/8zcnc665slq5?activetab=pivot%3aoverviewtab"&gt;Surface Pro 6 が新登場 – 軽さの中に、無限の可能性を – Microsoft Surface&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;以前からSurfaceが欲しいと思っていたため、ちょうどいいので購入することにした。&lt;/p&gt;
&lt;p&gt;第八世代のCore i5は4コアになり、2コアしかなかった第七世代のCore i7よりも性能が良いと聞いたのが決め手である。　&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;だが、Surfaceはブランド力もあり、なかなか安売りのセール対象にならないことに定評がある。通常の家電量販店の商品は10％のポイントが付くが、Surfaceは多くの場合に1%しかポイントがつかない。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;それでも安く買うためには、家電量販店で値切り交渉をする必要がある。&lt;/p&gt;
&lt;p&gt;いくつかのブログを見たが、2-3万程度なら頑張れば下がるようだ。&lt;/p&gt;
&lt;p&gt;とはいえ、今回は本当に出たばかりなので、そう簡単に下がらないだろう。&lt;/p&gt;
&lt;p&gt;そもそも、家電量販店で店員が寄ってきたら逃げるタイプである私にそのような交渉が出来るはずもない。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;ネット通販で安く買おう大作戦&lt;/h4&gt;
&lt;p&gt;そこで、いくつかのネット通販のキャンペーンを組み合わせて、ポイント還元での最安を目指す。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;私の場合、ソフトバンク回線持ちでYahooプレミア会員なので、Yahooショッピングを狙うのが良いと考えた。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;通常1%&lt;/li&gt;
&lt;li&gt;Yahooカードで+1%&lt;/li&gt;
&lt;li&gt;Yahooカードの通常ポイントで+1%&lt;/li&gt;
&lt;li&gt;ソフトバンク回線契約とプレミアムで+4+5=9%&lt;/li&gt;
&lt;li&gt;5の付く日の購入での（ポイントサイト利用のためにアプリ経由はしない）で+2%&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここまでがヤフーショッピングの還元で、14%になる。&lt;/p&gt;
&lt;p&gt;ただし、月ごとの上限がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ソフトバンク回線で5,000まで&lt;/li&gt;
&lt;li&gt;プレミアムで5,000まで&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;よって、Surface Pro 6の定価を150,973円として、&lt;/p&gt;
&lt;p&gt;10,000＋7,545で17,545ptとなる。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;加えて、ポイントサイトの経由をする。&lt;/p&gt;
&lt;p&gt;多くのサイトは1%還元だが、ぶっちぎりに多いのがLINEショッピングの不定期キャンペーンである。これは最大で10万円で20,000ポイントまで狙えることが多い。&lt;/p&gt;
&lt;p&gt;LINEポイントはLINE Payカードにそのままチャージ出来るので、ほぼ現金と等価である（なお、ギフト券類には変えないほうがお得である）&lt;/p&gt;
&lt;p&gt;というわけで、このパターンではまず本体で37,545円相当のポイントを得る。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;期間限定ポイントが含まれるので、キーボード購入にあてる&lt;/h4&gt;
&lt;p&gt;しかし、これはあくまでポイントであり、使わなければ意味がない。&lt;/p&gt;
&lt;p&gt;特にYahoo側は期間限定ポイントを含んでしまっている。さっさと使わず失効すると意味がないので、Surfaceの周辺機器の購入にあてる。&lt;/p&gt;
&lt;p&gt;期間限定ポイントとなるのは、&lt;/p&gt;
&lt;p&gt;カード+1、ソフトバンク回線+9、5の付く日+2と思われる。&lt;/p&gt;
&lt;p&gt;期間限定ポイントには付与日の問題があり、即時には付与されない。&lt;/p&gt;
&lt;p&gt;ヤフーカードの+1%は毎月15日。それ以外は、原則木曜日である。&lt;/p&gt;
&lt;p&gt;毎月15日を待つのは厳しいので、せめて木曜日まで待つとして、周辺機器にあてられるのは、&lt;/p&gt;
&lt;p&gt;10000+3018の13,018ptとなる。&lt;/p&gt;
&lt;p&gt;キーボードが1万円弱であるので、購入として使い切れるため、ほぼ値下げと等価と言っていいだろう。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;ちなみに、ヤフーショッピングではポイントに対してもポイントは付くので、周辺機器に対してもそれなりに付くはずである（もう計算が面倒になってきたので省略する）&lt;/p&gt;
&lt;p&gt;さらに言うと、本体とキーボード購入のタイミングを月で分けると、ソフトバンク回線の月上限が回復するので、月末の5の付く日が狙い目と見ている。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;実際にYahooで買ってみた &lt;/h4&gt;
&lt;p&gt;というわけで、実践した。2018/10/25の5のつく日である。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h5&gt;Tポイント側&lt;/h5&gt;
&lt;p&gt;予想外にコジマが値下げと10%通常だったおかけで、通常ポイントが14,770pt、期間限定12,945ptとなった。&lt;/p&gt;
&lt;p&gt;&lt;img class="hatena-fotolife" title="f:id:mczh:20181029185208j:image" src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20181029/20181029185208.jpg" alt="f:id:mczh:20181029185208j:image" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;さらにこの表では見えていないが、ヤフーカードの特典が1,477ptある。このため、Tポイントは期間限定含めて29,201ptとなる。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h5&gt;&lt;br /&gt;LINEショッピング側&lt;/h5&gt;
&lt;p&gt;残念ながら今回のLINEのキャンペーンは18,000ptが上限だった。これに、通常の1%である1,477ptが追加される（上限である20%を越えていないため、通常ポイントも有効なはず）&lt;/p&gt;
&lt;p&gt;&lt;img class="hatena-fotolife" title="f:id:mczh:20181029185217j:image" src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20181029/20181029185217.jpg" alt="f:id:mczh:20181029185217j:image" width="361" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;実質価格の計算&lt;/h4&gt;
&lt;p&gt;もろもろ足して、&lt;strong&gt;48,678相当のポイント&lt;/strong&gt;となる。&lt;/p&gt;
&lt;p&gt;元値が147,744円だったので、実質価格を9万円台まで落とすことが出来た。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;この値下げを家電量販店の交渉で出すには相当苦労するだろうから、コミュ力なくてもここまで安い値段を出せるのは、YahooとLINE様様である。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;次はタイプカバーキーボード&lt;/h4&gt;
&lt;p&gt; 次は、木曜日まで期間限定Tポイントの付与を待ち、月もまたいでYahooのポイント上限も回復したあとに、タイプカバーキーボードを買うのみである。ちなみに、ここでもまたLINEのキャンペーンを待つ手もある。私はもう待てずに勢いで買いそうである。&lt;/p&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;作戦2&lt;/h4&gt;
&lt;p&gt;いやいや、ソフトバンク回線なんて今時持ってないから、という場合を調べてみたが、普通にAmazonが安い。現在価格で&lt;span class="a-size-medium a-color-price"&gt;125,999円である。Yahooショッピング コジマ店がそもそも147,744円だったので、すでに2万円以上安い。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom: 0px;"&gt;
&lt;div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B07HYNBJRW/mczh-22/ref=nosim/" target="_blank" rel="noopener" name="amazletlink"&gt;&lt;img style="border: none;" src="https://images-fe.ssl-images-amazon.com/images/I/41XmDJyMbIL._SL160_.jpg" alt="マイクロソフト Surface Pro 6 [サーフェス プロ 6 ノートパソコン]12.3型 Core i5/256GB/8GB プラチナ" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;"&gt;
&lt;div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B07HYNBJRW/mczh-22/ref=nosim/" target="_blank" rel="noopener" name="amazletlink"&gt;マイクロソフト Surface Pro 6 [サーフェス プロ 6 ノートパソコン]12.3型 Core i5/256GB/8GB プラチナ&lt;/a&gt;
&lt;div class="amazlet-powered-date" style="font-size: 80%; margin-top: 5px; line-height: 120%;"&gt;posted with &lt;a title="amazlet" href="http://www.amazlet.com/" target="_blank" rel="noopener"&gt;amazlet&lt;/a&gt; at 18.10.29&lt;/div&gt;
&lt;/div&gt;
&lt;div class="amazlet-detail"&gt;マイクロソフト &lt;br /&gt;売り上げランキング: 9,518&lt;/div&gt;
&lt;div class="amazlet-sub-info" style="float: left;"&gt;
&lt;div class="amazlet-link" style="margin-top: 5px;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B07HYNBJRW/mczh-22/ref=nosim/" target="_blank" rel="noopener" name="amazletlink"&gt;Amazon.co.jpで詳細を見る&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="amazlet-footer" style="clear: left;"&gt; 
&lt;p&gt;&lt;span class="a-size-medium a-color-price"&gt;さらに、あと数日待って10/31には、&lt;/span&gt;&lt;a href="https://amzn.to/2EQfBzY"&gt;Amazonタイムセール祭りでポイントアップチャンス&lt;/a&gt; が始まる。これは最近月一程度の頻度でやっている。ここでエントリーすると、いつもよりAmazonポイントがもらえる。&lt;/p&gt;
&lt;p&gt;ついでに私がAmazonで買い物をするときによくやるのが、&lt;/p&gt;
&lt;p&gt;&lt;a href="https://amzn.to/2EPl3mD"&gt;Amazon.co.jp: アカウントにチャージ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;経由での還元のかさましである。&lt;/p&gt;
&lt;p&gt;9万円分を購入することで、2.5%の還元が付く。&lt;/p&gt;
&lt;p&gt;&lt;iframe class="embed-card embed-webcard" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" title="Amazon.co.jp: Amazonチャージ　ギフト券を現金チャージで最大2.5%ポイント: ギフト券" src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Famzn.to%2F2ER9lrL" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://amzn.to/2ER9lrL"&gt;amzn.to&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
Amazonギフト券の有効期限は10年もある上に、今回のように高額商品をもとから買うのであればすぐに使いきれるため、是非ギフト券を経由するべきである。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;さらに言えば、ギフト券購入時にセブンイレブンで現金支払いではなくnanaco2回払いをすると、nanacoクレジットカードのポイントも上乗せできる。（ただしnanaco自体のポイントはつかないので注意）&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;私の場合、ギフト券2.5%、クレジットカード1.2%、タイムセール祭りで4%（上限5,000pt）となるので、9,661円相当の還元となり、実質価格は116,338円となる。元値に比べてずいぶんと安く狙える。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;というわけで、無理して量販店で交渉するぐらいなら、ネットで頑張ると案外安くなる。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Surface Pro 6自体の使い勝手は、タイプカバーが届いたら書こうかと思う。&lt;/div&gt;
&lt;/div&gt;</content>        
        <category label="特価" term="特価"/>
        
        <category label="雑記" term="雑記"/>
        
        <category label="Review" term="Review"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/7c3610263326e75adfd6a84c117b179a60bd08ba/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F41XmDJyMbIL._SL160_.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Amazon Echoで話しかけた言葉をIFTTTに通知する方法</title>
        <link href="https://denpa-shinbun.com/entry/amazon-echo-ifttt"/>
        <id>hatenablog://entry/8599973812327439978</id>
        <published>2017-12-18T00:00:00+09:00</published>
        <updated>2017-12-18T00:01:30+09:00</updated>        <summary type="html">この記事はスマートスピーカーIFTTT 大喜利 アドベントカレンダー2017の18日目です（前日の21時に急遽登録しました）。 qiita.com Echoに話しかけた内容を取得できない？ Amazon Echoは、前回のAmazon EchoとRaspberry Piで部屋の照明を制御する #おうちハック - ちぎっては投げるブログで使ったように、IFTTTと連携することで出来ることの幅が大きく広がるが、ひとつ不満がある。 それは、任意の言葉をトリガーにできるが、その言葉やその言葉の一部を取得する方法がないという点である。 これが出来ると、話しかけた内容を他のサービスに食わせたり、そのうち数…</summary>
        <content type="html">&lt;p&gt;この記事はスマートスピーカーIFTTT 大喜利 アドベントカレンダー2017の18日目です（前日の21時に急遽登録しました）。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqiita.com%2Fadvent-calendar%2F2017%2Fssifttt" title="スマートスピーカーIFTTT 大喜利 Advent Calendar 2017 - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://qiita.com/advent-calendar/2017/ssifttt"&gt;qiita.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h3&gt;Echoに話しかけた内容を取得できない？&lt;/h3&gt;

&lt;p&gt;Amazon Echoは、前回の&lt;a href="http://denpa-shinbun.com/entry/amazonecho-raspberrypi"&gt;Amazon Echo&amp;#x3068;Raspberry Pi&amp;#x3067;&amp;#x90E8;&amp;#x5C4B;&amp;#x306E;&amp;#x7167;&amp;#x660E;&amp;#x3092;&amp;#x5236;&amp;#x5FA1;&amp;#x3059;&amp;#x308B; #&amp;#x304A;&amp;#x3046;&amp;#x3061;&amp;#x30CF;&amp;#x30C3;&amp;#x30AF; - &amp;#x3061;&amp;#x304E;&amp;#x3063;&amp;#x3066;&amp;#x306F;&amp;#x6295;&amp;#x3052;&amp;#x308B;&amp;#x30D6;&amp;#x30ED;&amp;#x30B0;&lt;/a&gt;で使ったように、IFTTTと連携することで出来ることの幅が大きく広がるが、ひとつ不満がある。
それは、任意の言葉をトリガーにできるが、その言葉やその言葉の一部を取得する方法がないという点である。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171217/20171217210409.jpg" alt="f:id:mczh:20171217210409j:plain" title="f:id:mczh:20171217210409j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;これが出来ると、話しかけた内容を他のサービスに食わせたり、そのうち数字部分だけを使って処理したりと多様な処理が可能になるのだが、なぜだかEchoのIFTTTトリガーは入力の取得に対応していない。（おそらく。ちなみに、Google Homeでは出来るようだ）&lt;/p&gt;

&lt;p&gt;そこで、なんとかならないか？と考えて思いついたハック的な方法は、「やることリスト」もしくは「買い物リスト」を流用する方法である。&lt;/p&gt;

&lt;p&gt;やることリスト、買い物リストはIFTTT側で入力された言葉を[AddedItem]として使用できる。これによって入力を取得し、他のサービスに投げればよい。&lt;/p&gt;

&lt;p&gt;前回のBeebotteのBodyに使えばRaspberry Piにも通知できるので、いろいろ夢が広がる。&lt;/p&gt;

&lt;p&gt;デメリットとして、「やることリスト」もしくは「買い物リスト」が本来の意味を失う。&lt;/p&gt;

&lt;h3&gt;ツイートするIFTTTレシピ例&lt;/h3&gt;

&lt;p&gt;とりあえず、話しかけた内容をTwitterに投稿するレシピのスクショを以下に示す。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171217/20171217210411.jpg" alt="f:id:mczh:20171217210411j:plain" title="f:id:mczh:20171217210411j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;これでAlexaに「こんにちは を買い物リストに追加して」と話しかけると、Twitter側には、&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;「こんにちは」ってアレクサに話しかけたなう&lt;/pre&gt;


&lt;p&gt;と表示されることになる。&lt;/p&gt;
</content>        
        <category label="IFTTT" term="IFTTT"/>
        
        <category label="Advent Calendar" term="Advent Calendar"/>
        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="Software" term="Software"/>
        
        <category label="Amazon Echo" term="Amazon Echo"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/b4ad98a57a7e5e81bc5abcbd82d561b59a9200d7/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20171217%2F20171217210409.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Slackの無料枠を最大限利用するために、特定チャンネルのメッセージを定期削除するようにした</title>
        <link href="https://denpa-shinbun.com/entry/slack-auto-delete-messages"/>
        <id>hatenablog://entry/8599973812327214654</id>
        <published>2017-12-17T00:00:00+09:00</published>
        <updated>2017-12-17T00:03:09+09:00</updated>        <summary type="html">この記事はSlack Advent Calendar 2017の17日目の記事です。 Slack Advent Calendar 2017 - Qiita Botを作ると言ったな、あれは嘘だ Botの定義とは？という話もあるが、いわゆる話しかけるとそれに答えてくれるものをbotとするなら、今回の記事はbotではない。だが、自動でなにかしてくれるのは全部botと呼ぼうよ、と思えばbotを作ったと言えなくもない（詭弁）。 古いメッセージを削除するbotを作る Slackは無料での利用だと、最大1万メッセージまで利用できる。1万メッセージを超えると、古いものから閲覧検索が出来なくなる。（削除されるわ…</summary>
        <content type="html">&lt;p&gt;この記事はSlack Advent Calendar 2017の17日目の記事です。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://qiita.com/advent-calendar/2017/slack"&gt;Slack Advent Calendar 2017 - Qiita&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Botを作ると言ったな、あれは嘘だ&lt;/h3&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171216/20171216225030.png" alt="f:id:mczh:20171216225030p" title="f:id:mczh:20171216225030p" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Botの定義とは？という話もあるが、いわゆる話しかけるとそれに答えてくれるものをbotとするなら、今回の記事はbotではない。だが、自動でなにかしてくれるのは全部botと呼ぼうよ、と思えばbotを作ったと言えなくもない（詭弁）。
 &lt;/p&gt;

&lt;h3&gt;古いメッセージを削除するbotを作る&lt;/h3&gt;

&lt;p&gt;Slackは無料での利用だと、最大1万メッセージまで利用できる。1万メッセージを超えると、古いものから閲覧検索が出来なくなる。（削除されるわけではないので、有料プランにするとまた見られるようになる）
 &lt;/p&gt;

&lt;h3&gt;情報を貯めておくチャンネルと垂れ流すチャンネルがある&lt;/h3&gt;

&lt;p&gt;私のSlackの運用は、色々話をする雑談チャンネル系と、共有カレンダー等の情報を自動で流すお知らせチャンネル系と、保存しておきたい情報をメモしておく保存系チャンネルに分かれている。&lt;/p&gt;

&lt;p&gt; 
無料枠である1万メッセージを超えてしまうと、保存しておく必要のないチャンネルメッセージも、保存しておきたいチャンネルメッセージも区別せずに古い順に見えなくなっていく。
 &lt;/p&gt;

&lt;p&gt;そこで、雑談チャンネルや自動投稿チャンネルについて、一定期間より前の投稿を自動削除する仕組みを作ることで、保存しておきたいチャンネルのメッセージ寿命の延命を試みる。
 
 &lt;/p&gt;

&lt;h3&gt;Slack Appを作成する&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://api.slack.com/apps?new_app=1"&gt;Slack API: Applications | Slack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create New Appからアプリケーションを作り、トークンを取得する。
 &lt;/p&gt;

&lt;p&gt;特徴で「権限」を選択し、「スコープ」でそれっぽい権限を付与していく。
ここで、「それっぽい」がよくわからなかったので、適当に付与したが、実際には何が必要で何が不要だったのかの検証までは出来ていない。
おそらく、
 &lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;ユーザーのパブリックチャンネルにアクセスします
channels:history
ユーザーのパブリックチャンネルに関する情報にアクセス
channels:read
あなたのパブリックチャンネルを修正
channels:write&lt;/pre&gt;


&lt;p&gt;あたりが必須だと思う。
 &lt;/p&gt;

&lt;h3&gt;Rubyスクリプトの作成&lt;/h3&gt;

&lt;p&gt; 
削除は、以下のRubyスクリプトで行う。
Gemとして、slack-apiを使っているので、&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;gem install slack-api&lt;/pre&gt;


&lt;p&gt;が必要。
 &lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;require &amp;#39;slack&amp;#39;
  Slack.configure do |config|
  config.token = &amp;#34;取得したトークン&amp;#34;
end
# name=&amp;gt;day
channel_names = {&amp;#34;チャンネル１&amp;#34; =&amp;gt; 何日分を残すかの日数, &amp;#34;チャンネル2&amp;#34; =&amp;gt; 以下略}
channel_backup_names = [&amp;#34;バックアップを書き出しておきたいチャンネル名&amp;#34;]
client = Slack::Client.new
channel_names.each{|channel_name, date|
  puts &amp;#34;#{channel_name},#{date}&amp;#34;
  File.open(&amp;#34;/tmp/#{channel_name}.txt&amp;#34;, &amp;#34;a&amp;#34;) do |f| 
    channel = client.channels_list[&amp;#34;channels&amp;#34;].find { |c| c[&amp;#34;name&amp;#34;] == channel_name }
    begin
      history = client.channels_history(channel: channel[&amp;#39;id&amp;#39;], latest: (Time.now - (60 * 60 * 24 * date)).to_i, count: 1000)[&amp;#39;messages&amp;#39;]
      history.each do |h|
        sleep 2
          if channel_backup_names.include?(channel_name)
            f.puts history.to_json
         end
         puts client.chat_delete(channel: channel[&amp;#39;id&amp;#39;], ts: h[&amp;#39;ts&amp;#39;])
       end
  end while !history.empty?
end
}&lt;/pre&gt;


&lt;p&gt; 
必要なのはトークンと、チャンネル名と、そのチャンネルのメッセージを何日前まで残すかの情報である。&lt;/p&gt;

&lt;p&gt;sleepを入れないとAPIアクセスしすぎでアクセス制限がかかるので、ちゃんとwaitしながら負荷をかけないように気を付けよう。&lt;/p&gt;

&lt;p&gt;一応、/tmpの下にバックアップとして書き出している。/tmpの下なので放っておくと消えるので、とりあえず必要ならDropboxにアップロードしておくことにする。
  &lt;/p&gt;

&lt;p&gt;バックアップ周りは無駄なファイルオープンをしているので直したいが、この記事はアドベントカレンダーの締め切り前日に書いているのでひとまず後回しにする。
 &lt;/p&gt;

&lt;p&gt;Dropboxへのアップロードは以下を参考。
 
&lt;iframe src="https://hatenablog-parts.com/embed?url=http%3A%2F%2Fdenpa-shinbun.com%2Fentry%2Fhamster-motion" title="RaspberryPiでハムスター監視システムを作ろう 完成編 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-motion"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;
 &lt;/p&gt;

&lt;h4&gt;メッセージ数の変化&lt;/h4&gt;

&lt;p&gt;実行後にメッセージ総数が減るかを確認したが、減っていない。&lt;/p&gt;

&lt;p&gt;調べたところ、最大48時間かかるとの記述を見つけたので後日確認したところ、ちゃんとメッセージが減っていることを確認した。&lt;/p&gt;

&lt;p&gt; 
このスクリプトをcronで動かすようにすれば、定期削除の完成である。&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;crontab &lt;span class="synSpecial"&gt;-e&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt; 
ところで、privateチャンネルのメッセージは削除できなかった。権限の問題かと思い、いろいろ試してみたのだが、成功していない。&lt;/p&gt;
</content>        
        <category label="Ruby" term="Ruby"/>
        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="Linux" term="Linux"/>
        
        <category label="TIL" term="TIL"/>
        
        <category label="Advent Calendar" term="Advent Calendar"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/03ff9ea24cc4305596c37732d60f56f9abc1ec6f/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20171216%2F20171216225030.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Amazon EchoとRaspberry Piで部屋の照明を制御する #おうちハック </title>
        <link href="https://denpa-shinbun.com/entry/amazonecho-raspberrypi"/>
        <id>hatenablog://entry/8599973812322568509</id>
        <published>2017-12-06T00:00:00+09:00</published>
        <updated>2017-12-06T00:00:19+09:00</updated>        <summary type="html">この記事は、おうちハック Advent Calendar 2017の6日目の記事です。 qiita.com おうちハックと私 一人暮らしを始めてから、部屋を好き勝手いじれるようになったこともあり、スマートホームに憧れていろいろと自作してみた時期がある。 実際に作ってみたもの 朝に天気予報を喋ってくれる 朝になると電気をつけてくれる 朝に出かけると電気を消してくれる 帰ってくると電気をつけておかえりなさいと言ってくれる ごみの日に今日は燃えるごみの日だよ、と教えてくれる ハムスター監視システム お喋り系は、喋るだけでなく対話もやってみようと思い、マイクからGoogleの認識エンジンに投げるスクリ…</summary>
        <content type="html">&lt;p&gt;この記事は、おうちハック Advent Calendar 2017の6日目の記事です。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqiita.com%2Fadvent-calendar%2F2017%2Fouch-hack" title="おうちハック Advent Calendar 2017 - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://qiita.com/advent-calendar/2017/ouch-hack"&gt;qiita.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h1&gt;おうちハックと私&lt;/h1&gt;

&lt;p&gt;一人暮らしを始めてから、部屋を好き勝手いじれるようになったこともあり、スマートホームに憧れていろいろと自作してみた時期がある。&lt;/p&gt;

&lt;h3&gt;実際に作ってみたもの&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;朝に天気予報を喋ってくれる&lt;/li&gt;
&lt;li&gt;朝になると電気をつけてくれる&lt;/li&gt;
&lt;li&gt;朝に出かけると電気を消してくれる&lt;/li&gt;
&lt;li&gt;帰ってくると電気をつけておかえりなさいと言ってくれる&lt;/li&gt;
&lt;li&gt;ごみの日に今日は燃えるごみの日だよ、と教えてくれる&lt;/li&gt;
&lt;li&gt;ハムスター監視システム&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;お喋り系は、喋るだけでなく対話もやってみようと思い、マイクからGoogleの認識エンジンに投げるスクリプトまでは作ったが、うまく運用できていない。
また、ハムスターを飼っているので、夜中にちゃんと活動しているのか？を監視するシステムを作った。（ハムスターは夜行性）&lt;/p&gt;

&lt;p&gt;上記のシステム群は、全部&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01CSFZ4JG/mczh-22/" target="_blank" &gt;Raspberry Pi&lt;/a&gt;で実装した。電子工作はまったくできない人間なので、単なる24h起動可能なLinuxマシンとして便利に利用している。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01CSFZ4JG/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51t8NiK5NJL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01CSFZ4JG/mczh-22/" target="_blank" &gt;Raspberry Pi3 Model B ボード＆ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; TechShare     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;h3&gt;作りたかったけどまだ出来ていないもの&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;話しかけると応答がある&lt;br/&gt;
音声認識まではやったんだけど…&lt;/li&gt;
&lt;li&gt;冷房の自動ON/OFF&lt;br/&gt;
電子工作出来ないなりにセンサーで温度を取得まではやったんだけど…&lt;/li&gt;
&lt;li&gt;ハムスターの自動給餌&lt;br/&gt;
モーター買うまではやったんだけど…&lt;/li&gt;
&lt;li&gt;これらの設定を管理するWEBサイト&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;今回の記事では照明の制御を書くはずだった&lt;/h2&gt;

&lt;p&gt;上記に書いたように、照明制御はボチボチ作っているので、今回のAdventカレンダーはそれをネタに書こうと思っていた。&lt;/p&gt;

&lt;p&gt;ところが、ちょうどよく5日ほど前にAmazon Echo Dotの招待メールが届いた。せっかくなので、Amazon Echoからスマートホームの仕組みに対応していない「一般的なシーリング」をつけたり消したりする仕組みをラズベリーパイで作ろうとしてみたところ、あっさりできたので、今ホットなEchoネタをAdventカレンダーネタにしようと思う。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171205/20171205222218.jpg" alt="f:id:mczh:20171205222218j:plain" title="f:id:mczh:20171205222218j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;Amazon Echo（日本語版）とRaspberry Piの通信&lt;/h3&gt;

&lt;p&gt;すでにRaspberry Piでの赤外線通信によるシーリングライトのON/OFF制御の仕組みは作っていたので（詳細は後述）、なんとかしてAmazon EchoからRaspberry Piに通知を送信できればやりたいことが実現できる。&lt;/p&gt;

&lt;p&gt;Amazon Echo =&gt; Raspberry Pi =赤外線=&gt; シーリング&lt;/p&gt;

&lt;h3&gt;Amazon Echoスキルの自作検討&lt;/h3&gt;

&lt;p&gt;しっかりと調べたわけではないのだが、基本的にAlexaのスキル（=アプリ）は、AWSのLambda経由で動かすようだ。
Lambdaというのは、登録したスクリプトを あるトリガーによって実行してくれるAmazonのクラウドサービスのひとつである。
AWS Lambdaの利用は、一定条件までは無料であるが、AWSのサービスを使うのはうっかりして無料枠を超えて課金してしまいそうで、貧乏な個人ではあまり使いたくない。（AWSはクレカ登録が必要だったと思う）&lt;/p&gt;

&lt;h3&gt;既存サービスの利用検討&lt;/h3&gt;

&lt;p&gt;なので、自作のスキルを作る、という作戦はいったん諦めて、既存のスキルやサービスの組み合わせでの実現を考えた。&lt;/p&gt;

&lt;p&gt;既存サービスを調べてみると、AlexaはIFTTTのトリガーに対応していることがわかった。さらに、IFTTTは日本語でEchoに話しかけてもちゃんと扱える。これなら、Echoに日本語で話しかけて、IFTTTのアクションを起こすことが出来そうだ。&lt;/p&gt;

&lt;h3&gt;IFTTTとは？&lt;/h3&gt;

&lt;p&gt;IFTTTは、トリガーとアクションを定めると自動実行してくれるサービスである。
トリガーやアクションは豊富に提供されている。今回は、トリガーにAlexaを用いる。&lt;/p&gt;

&lt;p&gt;問題はアクションで、IFTTTには大量のアクションがあるが、個人のLANに設置されたRaspberry Piにアクセスするアクションは当然ない。&lt;/p&gt;

&lt;p&gt;代替手段としては、&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Raspberry Pi側をサーバ化し、IFTTTからRaspberry Piに通知を行う&lt;/li&gt;
&lt;li&gt;IFTTTは外部サーバに通知し、Raspberry Piは外部サーバにデータを取りに行く&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;の2パターンが思いつく。&lt;/p&gt;

&lt;p&gt;1.のほうは外部サービスは不要であるが、Raspberry Piのサーバ化が必要であり、だいぶ面倒である。
外部からアクセスできるように固定IPにするかDDNSに登録するかが必要である。さらにルータのポートを開ける必要もあり、セキュリティや脆弱性対策の保守なども気になってくる。&lt;/p&gt;

&lt;p&gt;一方、2.は外部サービスこそ必要なものの、Raspberry Piが自分から外に取りに行くため、Raspberry Piに対して外からのアクセスは不要である。よって、セキュリティ面のリスクを低くすることができる。そのため、今回は面倒なこと考えずにさくっと作りたいので2.を採用する。（アドベントカレンダーになんとか間に合わせる必要もある）&lt;/p&gt;

&lt;h3&gt;Raspberry Piが外部サービスからデータを取ってくる&lt;/h3&gt;

&lt;p&gt;私がこうした実装を雑にやるためによくやる方法は、TwitterやGmail、Dropboxなどの有名どころのサービスを間借りする方法である。&lt;/p&gt;

&lt;p&gt;IFTTTのアクションには有名どころはだいたいあるので、たとえば「Dropboxに特定ファイルを追加する」をアクションとすれば、Raspberry PiはひたすらそのファイルがDropboxに追加されるのを監視すれば、一応の通信は実現できる。Dropboxのファイルが存在するかしないかが通信手段となる。&lt;/p&gt;

&lt;p&gt;イメージとしては、以下のようになる。&lt;/p&gt;

&lt;p&gt;Amazon Echo =&gt; IFTTT  =ファイル追加=&gt; Dropbox &amp;lt;=ファイル監視＆削除=&gt;Raspberry Pi =赤外線=&gt; シーリング&lt;/p&gt;

&lt;p&gt;今回もこの超雑実装で行こうかと思ったが、IFTTTについて調べているうちに、もっと良さそうなサービスがあることを知ったので、そちらを試すことにした。&lt;/p&gt;

&lt;h3&gt;Beebotte&lt;/h3&gt;

&lt;p&gt;その良さそうなサービスが、Beebotteである。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://beebotte.com/"&gt;Beebotte&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Beebotteは、MQTTというプロトコルにおけるブローカーの役割を果たしてくれるサービスである。&lt;/p&gt;

&lt;p&gt;50,000 Messages/dayの条件で無料で使えるので、そんなに何度もEchoに話しかけるわけもなく十分すぎる無料枠である。&lt;/p&gt;

&lt;h4&gt;MQTTとは？&lt;/h4&gt;

&lt;p&gt;MQTTは、IoT機器向けに作られたプロトコルで、センサーからサーバにデータを送信するような場合を想定した作りになっている。&lt;/p&gt;

&lt;p&gt;送信側はPublisherとして情報を送信し、中継するサーバであるBrokerを経由して、受信側であるSubscriberが情報を取りに行く。（私の解釈ではそう思っている、あっているだろうか？）&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqiita.com%2Fdarai0512%2Fitems%2F37158f56e9a6b4ce83ed" title="IoT時代のプログラミング（主にMQTTについて） - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://qiita.com/darai0512/items/37158f56e9a6b4ce83ed"&gt;qiita.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;今回のシステムでいえば、IFTTTがPublisherであり、Raspberry PiがSubscriberになる。&lt;/p&gt;

&lt;p&gt;通信のイメージとしては、以下のようになる。&lt;/p&gt;

&lt;p&gt;Amazon Echo =&gt; IFTTT  =&gt; Beebotte &amp;lt;=&gt;Raspberry Pi =赤外線=&gt; シーリング&lt;/p&gt;

&lt;h2&gt;Beebotteの設定&lt;/h2&gt;

&lt;p&gt;サインアップ&amp;amp;ログインしたら、Channelを作る。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171205/20171205183524.png" alt="f:id:mczh:20171205183524p:plain" title="f:id:mczh:20171205183524p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;ここでは、&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;channel: ifttt&lt;/li&gt;
&lt;li&gt;resource: data&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;としたが、自分でわかりやすい文字列なら何でもよい。&lt;/p&gt;

&lt;p&gt;SoS（Send on Subscribe）というのは、図の右にも記載されているが、SubscriberがオフラインのときにPiblisherからBeebotteへ送信されてきたデータを保存しておき、Subscriberがオンラインになったときに(on Subscribeなときに)、送信(Send)する機能である。情報の取りこぼしを防ぐ仕組みだと思うが、今回は不要である。&lt;/p&gt;

&lt;p&gt;設定したらChannel Tokenが取得できるのでメモしておく。&lt;/p&gt;

&lt;h2&gt;IFTTTの設定&lt;/h2&gt;

&lt;p&gt;続いて、IFTTTの設定である。&lt;/p&gt;

&lt;p&gt;サインアップ&amp;amp;ログインしたら、新しいAppletを作る。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ifttt.com/"&gt;IFTTT helps your apps and devices work together - IFTTT&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171205/20171205183926.jpg" alt="f:id:mczh:20171205183926j:plain" title="f:id:mczh:20171205183926j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171205/20171205183944.jpg" alt="f:id:mczh:20171205183944j:plain" title="f:id:mczh:20171205183944j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;this(トリガー)にAlexaを設定し、認識させたい文章(=電気消して)を登録する。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171205/20171205184332.png" alt="f:id:mczh:20171205184332p:plain" title="f:id:mczh:20171205184332p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;lower case（小文字）となっているが、日本語も入力できる。&lt;/p&gt;

&lt;p&gt;続いて、that(アクション)にWebHookの設定をする。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171206/20171206185933.png" alt="f:id:mczh:20171206185933p:plain" title="f:id:mczh:20171206185933p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://api.beebotte.com/v1/data/write/ifttt/data?token="&gt;https://api.beebotte.com/v1/data/write/ifttt/data?token=&lt;/a&gt;取得したトークン&lt;/li&gt;
&lt;li&gt;Method: POST&lt;/li&gt;
&lt;li&gt;Content Type: application/json&lt;/li&gt;
&lt;li&gt;Body: { "data": "OFF" }&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;同様にして、「電気つけて」アプレットも作成する。BodyのOFFの部分はONにする。&lt;/p&gt;

&lt;p&gt;この設定は、Beebotteの指定したチャンネルに対して、Bodyで記載したJSON形式のデータを送信（Post）する処理を意味する。&lt;/p&gt;

&lt;h3&gt;Raspberry Piの設定&lt;/h3&gt;

&lt;h4&gt;irMagicianを使った照明制御&lt;/h4&gt;

&lt;p&gt;Raspberry Piに&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B074Z3TZ1R/mczh-22/" target="_blank" &gt;irMagician&lt;/a&gt;を接続する。&lt;/p&gt;

&lt;p&gt;irMagicianはUSB接続の学習リモコンだと思えばよい。組み立て済みで、半田もブレッドボードもいらず、ただUSBに挿すだけで使えるため、電子工作出来ない勢の強い味方である。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B074Z3TZ1R/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/41v6M1FdSoL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B074Z3TZ1R/mczh-22/" target="_blank" &gt;irMagician-高性能/低価格 赤外線リモコン&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; 大宮技研     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;ちなみに、irMagicianの接続ケーブルは以下のフレキシブルケーブルがおすすめである。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00G4TS530/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/31O-%2Brny0pL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00G4TS530/mczh-22/" target="_blank" &gt;TIMELY 好きな位置に固定できるフレキシブル型USB2.0ケーブル 20cm TM-microUSB-FS&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; タイムリー     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;非常に固く、照明に向けて赤外線を発信する向きの固定ができる。&lt;/p&gt;

&lt;p&gt;我が家は棚の金網部分に結束バンドでRaspberry Piをぶら下げているので、以下のような配置になっている。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20171207/20171207211622.png" alt="f:id:mczh:20171207211622p:plain" title="f:id:mczh:20171207211622p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h4&gt;irMagicianのコマンド&lt;/h4&gt;

&lt;p&gt;irMagicianは、以下のリポジトリのコマンドで簡単に制御できる。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fnetbuffalo%2Firmcli" title="netbuffalo/irmcli" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://github.com/netbuffalo/irmcli"&gt;github.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;irMagicianにシーリングの赤外線リモコンを向けて、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;python irmcli.py &lt;span class="synSpecial"&gt;-c&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;で赤外線を記録し、&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;python irmcli.py -p&lt;/pre&gt;


&lt;p&gt;で再生されるので、動作を確認する。&lt;/p&gt;

&lt;p&gt;問題がなければ、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;python irmcli.py &lt;span class="synSpecial"&gt;-s&lt;/span&gt; &lt;span class="synSpecial"&gt;-f&lt;/span&gt; light_on.json
&lt;/pre&gt;


&lt;p&gt;でファイルに書き出すと、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;python irmcli.py &lt;span class="synSpecial"&gt;-p&lt;/span&gt; &lt;span class="synSpecial"&gt;-f&lt;/span&gt; light_on.json
&lt;/pre&gt;


&lt;p&gt;でいつでも再生できる。&lt;/p&gt;

&lt;p&gt;このjsonを照明オンとオフ用の両方を保存しておく。&lt;/p&gt;

&lt;h4&gt;Beebotteからデータを受信するRubyスクリプト&lt;/h4&gt;

&lt;p&gt;Rubyで書くのが楽なので、Rubyで書いた。
Rubyのインストールは各々で調べて実施してほしい。&lt;/p&gt;

&lt;p&gt;私の環境は以下。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [armv7l-linux-eabihf]
$ which ruby
/home/pi/.rbenv/shims/ruby&lt;/pre&gt;


&lt;p&gt;また、beebotteのGemを使っているのでインストールする。&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;$ gem install beebotte
&lt;/pre&gt;


&lt;p&gt;以下がスクリプトである。&lt;/p&gt;

&lt;pre class="code lang-ruby" data-lang="ruby" data-unlink&gt;&lt;span class="synPreProc"&gt;require&lt;/span&gt; &lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;rubygems&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="synPreProc"&gt;require&lt;/span&gt; &lt;span class="synSpecial"&gt;'&lt;/span&gt;&lt;span class="synConstant"&gt;beebotte&lt;/span&gt;&lt;span class="synSpecial"&gt;'&lt;/span&gt;

s = &lt;span class="synType"&gt;Beebotte&lt;/span&gt;::&lt;span class="synType"&gt;Stream&lt;/span&gt;.new({&lt;span class="synConstant"&gt;token&lt;/span&gt;: &lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;取得したチャンネルのトークン&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;})
s.connect()

s.subscribe(&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ifttt/data&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;)

s.get { |&lt;span class="synIdentifier"&gt;topic&lt;/span&gt;, &lt;span class="synIdentifier"&gt;message&lt;/span&gt;|
  &lt;span class="synStatement"&gt;if&lt;/span&gt; message.include?(&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ON&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;)
    &lt;span class="synSpecial"&gt;`&lt;/span&gt;&lt;span class="synConstant"&gt;python /home/pi/irmcli/irmcli.py -p -f /home/pi/irmcli/light_on.json&lt;/span&gt;&lt;span class="synSpecial"&gt;`&lt;/span&gt;
    puts &lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ON&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;
  &lt;span class="synStatement"&gt;elsif&lt;/span&gt; message.include?(&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;OFF&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;)
    &lt;span class="synSpecial"&gt;`&lt;/span&gt;&lt;span class="synConstant"&gt;python /home/pi/irmcli/irmcli.py -p -f /home/pi/irmcli/light_off.json&lt;/span&gt;&lt;span class="synSpecial"&gt;`&lt;/span&gt;
    puts &lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;OFF&lt;/span&gt;&lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;
  &lt;span class="synStatement"&gt;end&lt;/span&gt;
  puts &lt;span class="synSpecial"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;Topic: &lt;/span&gt;&lt;span class="synSpecial"&gt;#{&lt;/span&gt;topic&lt;span class="synSpecial"&gt;}\n&lt;/span&gt;&lt;span class="synConstant"&gt;Message: &lt;/span&gt;&lt;span class="synSpecial"&gt;#{&lt;/span&gt;message&lt;span class="synSpecial"&gt;}&amp;quot;&lt;/span&gt;
}
&lt;/pre&gt;


&lt;p&gt;見ての通り、Beebotteに対してSubscribeして、getでデータの受信を待ち、受信したらBodyに記載された内容にON/OFFを含むかを判定し、irMagicianのコマンドを叩いているだけである。&lt;/p&gt;

&lt;p&gt;実行結果を以下に示す。&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;$ ruby receive_beebotte.rb
&lt;span class="synComment"&gt;#ここでアレクサに話しかける&lt;/span&gt;
ON
Topic: ifttt/data
Message: &lt;span class="synSpecial"&gt;{&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;data&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;:&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ON&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;,&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ts&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;:&lt;span class="synConstant"&gt;1512468551686&lt;/span&gt;,&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ispublic&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;:&lt;span class="synStatement"&gt;false&lt;/span&gt;&lt;span class="synSpecial"&gt;}&lt;/span&gt;
&lt;span class="synComment"&gt;# ここでアレクサに話しかける&lt;/span&gt;
OFF
Topic: ifttt/data
Message: &lt;span class="synSpecial"&gt;{&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;data&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;:&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;OFF&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;,&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ts&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;:&lt;span class="synConstant"&gt;1512468572795&lt;/span&gt;,&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;ispublic&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;:&lt;span class="synStatement"&gt;false&lt;/span&gt;&lt;span class="synSpecial"&gt;}&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;無事に取得できているようだ。&lt;/p&gt;

&lt;h4&gt;常駐させる&lt;/h4&gt;

&lt;p&gt;さて、ここまで出来たら、このスクリプトをサービス化して常駐させる。&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;$ sudo vi /lib/systemd/system/receive_beebotte.service
&lt;span class="synStatement"&gt;[&lt;/span&gt;Service&lt;span class="synStatement"&gt;]&lt;/span&gt;
&lt;span class="synIdentifier"&gt;ExecStart&lt;/span&gt;=/home/pi/.rbenv/shims/ruby /home/pi/irmcli/receive_beebotte.rb
&lt;span class="synIdentifier"&gt;Restart&lt;/span&gt;=always
&lt;span class="synIdentifier"&gt;Type&lt;/span&gt;=simple

&lt;span class="synStatement"&gt;[&lt;/span&gt;Install&lt;span class="synStatement"&gt;]&lt;/span&gt;
&lt;span class="synIdentifier"&gt;WantedBy&lt;/span&gt;=multi-user.target
$ sudo systemctl &lt;span class="synStatement"&gt;daemon&lt;/span&gt;-&lt;span class="synStatement"&gt;reload&lt;/span&gt; &lt;span class="synComment"&gt;# 再読み込み&lt;/span&gt;
sudo systemctl &lt;span class="synStatement"&gt;start&lt;/span&gt; receive_beebotte.service &lt;span class="synComment"&gt;# サービスの開始&lt;/span&gt;
sudo systemctl &lt;span class="synStatement"&gt;enable&lt;/span&gt; receive_beebotte.service &lt;span class="synComment"&gt;# 自動起動の有効化&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;この状態でEchoに話しかけて照明がオンオフ出来れば成功である。&lt;/p&gt;

&lt;h3&gt;実際の動画&lt;/h3&gt;

&lt;p&gt;完成品の動画は以下。三脚を使わなかったので手ブレがひどい。&lt;/p&gt;

&lt;p&gt;音声の読み上げはGoogle翻訳を使っている。&lt;/p&gt;

&lt;div style="position:relative;height:0;padding-bottom:56.25%"&gt;&lt;iframe src="https://www.youtube.com/embed/9psvdW9LoPw?ecver=2" width="640" height="360" frameborder="0" gesture="media" allow="encrypted-media" style="position:absolute;width:100%;height:100%;left:0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;


&lt;p&gt;ここでお気づきのことと思うが、「トリガー」という文言が語尾に必要である。これは、IFTTTの仕様なのでどうしようもない。&lt;/p&gt;

&lt;p&gt;本来は、語尾に「トリガー」がついても違和感のない言葉を選ぶべきだっただろう。たとえば、「電気消してトリガー」よりかは、「ライトオフトリガー」のほうがまだマシに思える。&lt;/p&gt;

&lt;h2&gt;おわりに&lt;/h2&gt;

&lt;p&gt;以上、と言いたいところだが、なぜか再起動後にサービスが自動起動しないのであとで調べる。&lt;/p&gt;

&lt;p&gt;最近すっかり更新せずにいたため、やる気を出すために初めてAdventCalendarに参加したが、時間がなくて雑な記事になってしまった。&lt;/p&gt;

&lt;p&gt;時間を見つけて微修正していく予定である。&lt;/p&gt;

&lt;p&gt;また、SlackのAdventCalendarにも登録しているので、そちらに向けても作業をしていく。&lt;/p&gt;

&lt;h2&gt;アドベントカレンダーにコメントしていたペット監視の話は？&lt;/h2&gt;

&lt;p&gt;Adventカレンダーに登録した時点ではまだ記事を書いていないつもりでいたが、ブログを読み返したらすでに書いていた…。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=http%3A%2F%2Fdenpa-shinbun.com%2Fentry%2Fhamster-motion" title="RaspberryPiでハムスター監視システムを作ろう 完成編 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-motion"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;何も追記しないのも微妙なので、実際の監視動画を本記事に載せることでお茶を濁す。&lt;/p&gt;

&lt;div style="position:relative;height:0;padding-bottom:75.0%"&gt;&lt;iframe src="https://www.youtube.com/embed/s9iDN7B7zE8?ecver=2" width="480" height="360" frameborder="0" gesture="media" allow="encrypted-media" style="position:absolute;width:100%;height:100%;left:0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;


&lt;p&gt;おわかりいただけただろうか…？
カメラの固定位置に悩んだ結果、ドアップとなってしまった。
とはいえ元気なようで、何よりだ。&lt;/p&gt;
</content>        
        <category label="Ruby" term="Ruby"/>
        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="Linux" term="Linux"/>
        
        <category label="Python" term="Python"/>
        
        <category label="Advent Calendar" term="Advent Calendar"/>
        
        <category label="Amazon Echo" term="Amazon Echo"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/39fd8ecd050c9273ef380e662ca943d1b8216b04/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20171205%2F20171205183944.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>［TIL］BootstrapのCSSは直接書き換えないほうが良い</title>
        <link href="https://denpa-shinbun.com/entry/css"/>
        <id>hatenablog://entry/8599973812274280158</id>
        <published>2017-06-26T22:56:48+09:00</published>
        <updated>2017-06-26T22:56:48+09:00</updated>        <summary type="html">元のCSSファイルを直接書き換えてしまうと、Bootstrapがバージョンアップする場合に、どこがオリジナルでどこが自分で書き換えたのかがわからなくなるので、バージョンアップ出来ない、あるいは非常に面倒な事態になりかねない。 なので、別の上書き用のCSSファイルを用意し、BootstrapのCSSより後に読み込むようにして、そちらのCSSで自分のカスタマイズを書く。 CSSは後優先の仕組みなので、これで元ファイルには手を入れずにCSSのカスタマイズが可能になる。 最近ちょっとだけCSS周りをいじることがあったが、直接元ファイルを編集してしまったので、戒めとして。指摘されてみれば、たしかに直接編…</summary>
        <content type="html">&lt;p&gt;元のCSSファイルを直接書き換えてしまうと、Bootstrapがバージョンアップする場合に、どこがオリジナルでどこが自分で書き換えたのかがわからなくなるので、バージョンアップ出来ない、あるいは非常に面倒な事態になりかねない。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;なので、別の上書き用のCSSファイルを用意し、BootstrapのCSSより後に読み込むようにして、そちらのCSSで自分のカスタマイズを書く。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;CSSは後優先の仕組みなので、これで元ファイルには手を入れずにCSSのカスタマイズが可能になる。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;最近ちょっとだけCSS周りをいじることがあったが、直接元ファイルを編集してしまったので、戒めとして。指摘されてみれば、たしかに直接編集は有り得ないな……。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;ところで全然関係ないのだが、はてなブログのアプリはカスタムURLに早く対応してほしい。&lt;/p&gt;</content>        
        <category label="Programming" term="Programming"/>
        
        <category label="TIL" term="TIL"/>
        
        <link href="https://ogimage.blog.st-hatena.com/6653586347154552133/8599973812274280158/1498485408" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>NuAns NEO Reloadedの布カバーに撥水スプレーをすると良い感じに水を弾く #NuAnsNEOReloaded</title>
        <link href="https://denpa-shinbun.com/entry/nuansneoreloaded-waterproof"/>
        <id>hatenablog://entry/8599973812273482088</id>
        <published>2017-06-24T17:36:05+09:00</published>
        <updated>2017-06-24T17:36:05+09:00</updated>        <summary type="html">NuAns NEO reloadedはそのカバーの種類の豊富さが売りだが、布系素材は汚れそうだと思っていた。 とはいえ、そんなに値段の高いものでもないので、汚れたら買い換えれば良いか程度に思っていたが、ふと、せっかく布なんだから撥水スプレーしてみたら汚れがつきにくのでは？と思い立ったので試した。 暗くてわかりにくいが、デニムとスエードのカバーである。 Nuans NEO TWOTONE ボトムカバー パンチングスエード NA-2TONE-BPS posted with カエレバ NuAns 2017-05-31 Nuans NEO TWOTONE トップカバー ウォッシュデニム NA-2TON…</summary>
        <content type="html">&lt;p&gt;NuAns NEO reloadedはそのカバーの種類の豊富さが売りだが、布系素材は汚れそうだと思っていた。 とはいえ、そんなに値段の高いものでもないので、汚れたら買い換えれば良いか程度に思っていたが、ふと、せっかく布なんだから撥水スプレーしてみたら汚れがつきにくのでは？と思い立ったので試した。&lt;/p&gt;
&lt;p&gt;&lt;img class="hatena-fotolife" title="f:id:mczh:20170624171436j:image" src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170624/20170624171436.jpg" alt="f:id:mczh:20170624171436j:image" /&gt;&lt;/p&gt;
&lt;p&gt;暗くてわかりにくいが、デニムとスエードのカバーである。&lt;/p&gt;
&lt;div class="kaerebalink-box" style="text-align: left; padding-bottom: 20px; font-size: small; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-image" style="float: left; margin: 0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B06WRS83DZ/mczh-22/" target="_blank"&gt;&lt;img style="border: none;" src="https://images-fe.ssl-images-amazon.com/images/I/61o63buSVpL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="kaerebalink-info" style="line-height: 120%; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-name" style="margin-bottom: 10px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B06WRS83DZ/mczh-22/" target="_blank"&gt;Nuans NEO TWOTONE ボトムカバー パンチングスエード NA-2TONE-BPS&lt;/a&gt;
&lt;div class="kaerebalink-powered-date" style="font-size: 8pt; margin-top: 5px; font-family: verdana; line-height: 120%;"&gt;posted with &lt;a href="http://kaereba.com" target="_blank" rel="nofollow"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="kaerebalink-detail" style="margin-bottom: 5px;"&gt;NuAns 2017-05-31&lt;/div&gt;
&lt;div class="kaerebalink-link1" style="margin-top: 10px;"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="kaerebalink-box" style="text-align: left; padding-bottom: 20px; font-size: small; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-image" style="float: left; margin: 0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B06VVWRFQD/mczh-22/" target="_blank"&gt;&lt;img style="border: none;" src="https://images-fe.ssl-images-amazon.com/images/I/61U1P8XD-VL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="kaerebalink-info" style="line-height: 120%; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-name" style="margin-bottom: 10px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B06VVWRFQD/mczh-22/" target="_blank"&gt;Nuans NEO TWOTONE トップカバー ウォッシュデニム NA-2TONE-TDM&lt;/a&gt;
&lt;div class="kaerebalink-powered-date" style="font-size: 8pt; margin-top: 5px; font-family: verdana; line-height: 120%;"&gt;posted with &lt;a href="http://kaereba.com" target="_blank" rel="nofollow"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="kaerebalink-detail" style="margin-bottom: 5px;"&gt;NuAns 2017-05-31&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;手元にあったスプレー二種が布よりも革に適したスプレーだったので、デニムには若干の不安を持ちつつもスプレーした。良さそうなら今度布用のスプレーを買おうかと思う。&lt;/p&gt;
&lt;div class="kaerebalink-box" style="text-align: left; padding-bottom: 20px; font-size: small; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-image" style="float: left; margin: 0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002P95IN8/mczh-22/" target="_blank"&gt;&lt;img style="border: none;" src="https://images-fe.ssl-images-amazon.com/images/I/417x8ssYWKL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="kaerebalink-info" style="line-height: 120%; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-name" style="margin-bottom: 10px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002P95IN8/mczh-22/" target="_blank"&gt;3M スコッチガード はっ水・防汚スプレー 衣類・布製品用 345ml SG-P345i&lt;/a&gt;
&lt;div class="kaerebalink-powered-date" style="font-size: 8pt; margin-top: 5px; font-family: verdana; line-height: 120%;"&gt;posted with &lt;a href="http://kaereba.com" target="_blank" rel="nofollow"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="kaerebalink-detail" style="margin-bottom: 5px;"&gt;3M(スリーエム) 2012-05-24&lt;/div&gt;
&lt;div class="kaerebalink-link1" style="margin-top: 10px;"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="kaerebalink-box" style="text-align: left; padding-bottom: 20px; font-size: small; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-image" style="float: left; margin: 0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0169JWM88/mczh-22/" target="_blank"&gt;&lt;img style="border: none;" src="https://images-fe.ssl-images-amazon.com/images/I/31LSUodgg9L._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="kaerebalink-info" style="line-height: 120%; /zoom: 1; overflow: hidden;"&gt;
&lt;div class="kaerebalink-name" style="margin-bottom: 10px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0169JWM88/mczh-22/" target="_blank"&gt;[コロニル] Collonil 防水スプレー ウォーターストップ 400ml CN044021 (Colorless400ml)&lt;/a&gt;
&lt;div class="kaerebalink-powered-date" style="font-size: 8pt; margin-top: 5px; font-family: verdana; line-height: 120%;"&gt;posted with &lt;a href="http://kaereba.com" target="_blank" rel="nofollow"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="kaerebalink-detail" style="margin-bottom: 5px;"&gt;Collonil(コロニル)&lt;/div&gt;
&lt;div class="kaerebalink-link1" style="margin-top: 10px;"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;スプレーしてみよう&lt;/h4&gt;
&lt;p&gt;濡れるぐらいスプレーして、乾かして、ためしに水滴を落としてみる。&lt;/p&gt;
&lt;p&gt;&lt;img class="hatena-fotolife" title="f:id:mczh:20170624171237j:image" src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170624/20170624171237.jpg" alt="f:id:mczh:20170624171237j:image" /&gt; 良い感じに染み込まずに水滴になって弾いている。&lt;/p&gt;
&lt;p&gt;スエードは元からコーヒーをこぼしても大丈夫！という売り文句を見た気がするのでスプレーはしてみたが水滴は試していない。&lt;/p&gt;
&lt;p&gt;汚れることを気にするなら布カバーを使わずにプレスチック製のカバーにすれば良いとも思うが、せっかく珍しい素材のカバーがあるので、 それを使いつつ汚れにくくする方法として、しばらく様子を見てみよう。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;iframe class="embed-card embed-blogcard" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" title="おサイフケータイ対応SIMフリー携帯 NuAns NEO [Reloaded] の使い心地と小ネタ(update:20170624) #NuAnsNEOReloaded - ちぎっては投げるブログ" src="https://hatenablog-parts.com/embed?url=http%3A%2F%2Fdenpa-shinbun.com%2Fentry%2Fnuansneoreloaded" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/nuansneoreloaded"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;</content>        
        <category label="Review" term="Review"/>
        
        <category label="Android" term="Android"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/ea77cc4845efdcd7443acf9468b77830cbb57fa8/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170624%2F20170624171237.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>おサイフケータイ対応SIMフリー携帯 NuAns NEO [Reloaded] の使い心地と小ネタ(update:20170624) #NuAnsNEOReloaded</title>
        <link href="https://denpa-shinbun.com/entry/nuansneoreloaded"/>
        <id>hatenablog://entry/13355765958054525373</id>
        <published>2017-06-12T22:21:58+09:00</published>
        <updated>2017-06-12T22:21:58+09:00</updated>        <summary type="html">以前から使っていたGalaxy S5のバッテリーがだいぶ持たなくなってきたので、機種を変更する先を探した結果、TrinityのNuAns NEO Reloadedにしたのでレビューを書く。 購入のポイントは、 おサイフケータイ対応 au 3G通話以外の国内通信網にほぼ対応 薄さ重視ではなく、あえて電池重視でちょっと厚め 指紋センサー対応 Android7対応 あたりが気に入った。 カバーはデニムとスエードにした。木と石にしようか迷ったが、まずは布系を試すことにした。 石は発熱時に熱くないだろうか？という疑問がある。 SIMはnanoではなくmicroだが、nano=&gt;microのSIM下駄がつ…</summary>
        <content type="html">&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170611/20170611204024.jpg" alt="f:id:mczh:20170611204024j" title="f:id:mczh:20170611204024j" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;以前から使っていたGalaxy S5のバッテリーがだいぶ持たなくなってきたので、機種を変更する先を探した結果、TrinityのNuAns NEO Reloadedにしたのでレビューを書く。&lt;/p&gt;

&lt;p&gt;購入のポイントは、&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;おサイフケータイ対応&lt;/li&gt;
&lt;li&gt;au 3G通話以外の国内通信網にほぼ対応&lt;/li&gt;
&lt;li&gt;薄さ重視ではなく、あえて電池重視でちょっと厚め&lt;/li&gt;
&lt;li&gt;指紋センサー対応&lt;/li&gt;
&lt;li&gt;Android7対応&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;あたりが気に入った。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170611/20170611204053.jpg" alt="f:id:mczh:20170611204053j" title="f:id:mczh:20170611204053j" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;
カバーはデニムとスエードにした。木と石にしようか迷ったが、まずは布系を試すことにした。
石は発熱時に熱くないだろうか？という疑問がある。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170611/20170611204038.jpg" alt="f:id:mczh:20170611204038j" title="f:id:mczh:20170611204038j" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;
SIMはnanoではなくmicroだが、nano=&gt;microのSIM下駄がついてくる。&lt;/p&gt;

&lt;h3&gt;一日使ってみて気になった点&lt;/h3&gt;

&lt;p&gt;スペックシートだけはわからない点というのがやはりある。
ポイントについて順に見ていく。&lt;/p&gt;

&lt;h4&gt;おサイフケータイ対応&lt;/h4&gt;

&lt;p&gt;モバイルSuicaを移行して試したが、特に問題なく改札を通ることができた。
期待通りで、特に言うことはない。&lt;/p&gt;

&lt;h4&gt;国内通信網にほぼ対応&lt;/h4&gt;

&lt;p&gt;すごいと思ったのは、国内のほぼすべてのAPNがプリセットで用意されていた。
調べて設定するのは地味に面倒なので、こういった気配りは助かるし、他のメーカーも見習って欲しいと思う。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170612/20170612221847.jpg" alt="f:id:mczh:20170612221847j:plain" title="f:id:mczh:20170612221847j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h4&gt;電池持ちは？&lt;/h4&gt;

&lt;p&gt;電池持ちは良い。が、思ったほどではない。
今までのGalaxy S5は、仕事に出かけて帰るころには特に大して使っていなくても20%ぐらいだった。
NuAns NEO [Reloaded]は、55％ぐらいだった。
十分長持ちになったが、電池容量的にもう少し残るかと思ったが……。
&lt;s&gt;Bluetoothが電池を消費しているのでは？という噂があり、たしかにスマートウォッチ（Moto360 Gen2）を使用しているので、それが原因かもしれない。&lt;/s&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170612/20170612221901.jpg" alt="f:id:mczh:20170612221901j:plain" title="f:id:mczh:20170612221901j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;s&gt;そもそも、電池消費リストBluetoothしか載っていないのがおかしいような…？&lt;/s&gt;&lt;/p&gt;

&lt;h4&gt;20170624追記&lt;/h4&gt;

&lt;p&gt;アップデートにより、電池消費リストにBluetoothが異常な値で表示される不具合は直った。
こんなに早くアップデートが降ってくるとは思っていなかったので嬉しい。&lt;/p&gt;

&lt;p&gt;しばらく使ってみたが、電池持ちはやはり良い。ずっと起動させていなかったポケモンGOをひさびさに起動させても一日帰るまで持っている。&lt;/p&gt;

&lt;p&gt;QuickCharge3.0の充電器 &amp;amp; USB TypeCで充電出来るバッテリーを持っていないので、追加で買おうかと思っている。
QuickCharge2.0よりも更に早いらしい。&lt;/p&gt;

&lt;h4&gt;指紋センサー対応&lt;/h4&gt;

&lt;p&gt;購入前に気になっていたのが、iPhoneのように指を載せるだけで良いのか、電源ボタンで復帰させる前でも認識するのか？という点だった。
というのも、これまて使っていたGalaxyS5は、指紋認証をするためには画面をオンにして指をセンサー上でスライドさせるという面倒な操作が必要だった。iPhoneの指紋認証はスマートで、あれは良いなと思っていた。&lt;/p&gt;

&lt;p&gt;さて、NuAns NEO [Reloaded]は、指を載せるだけでOKタイプだった。これは嬉しい。だが、指の置き方に慣れていないのか、2,3回失敗してから開くことが多い。
これは人間側の問題な感触がある。そのうち慣れるだろう。&lt;/p&gt;

&lt;h4&gt;20170624追記&lt;/h4&gt;

&lt;p&gt;慣れてはきたが、ポケットから出したときに指紋センサーに触れてしまい、取り出したときにはすでに入力回数試行制限に引っかかってしまっているときがある。&lt;/p&gt;

&lt;h4&gt;Android7対応&lt;/h4&gt;

&lt;p&gt;Android N対応自体が良いというより、おサイフケータイ以外は素に近くて余計なキャリアアプリが入っていないAndroidだ、とい点が気に入った。
実際、余計なものは入っていなかったので満足している。OSアップデートにも期待できる。&lt;/p&gt;

&lt;h4&gt;20170624追記&lt;/h4&gt;

&lt;p&gt;購入してからすでに2回アップデートが配信されている。
アップデートに失敗しやすいという問題はあったが、3回ほどのリトライで成功した。
このペースでアップデートが行われ、ソフトウェアが改善がされていくと非常にありがたい。&lt;/p&gt;

&lt;h3&gt;小ネタ集&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bluetoothの音声通信規格であるaptxだけでなく、より高音質なaptx-HDに対応している&lt;br/&gt;
でも対応しているイヤホンが現状少ない…。&lt;/li&gt;
&lt;li&gt;指紋センサーはハードボタン兼用ではない&lt;br/&gt;
でも設定からホームキーに割り当てることが出来る&lt;/li&gt;
&lt;li&gt;下の左右の空間はソフトボタンではない&lt;br/&gt;
ここが戻るキーとかになっていると思っていた…。&lt;/li&gt;
&lt;li&gt;指紋センサーの登録をするときに、ホームボタンを間違えて触ってしまい登録しにくい&lt;/li&gt;
&lt;li&gt;[おすすめ！] &lt;b&gt;指紋を縦向きではなく、普段携帯を持ったときの向き（斜めとか横とか）で登録する&lt;/b&gt;と解除しやすくて捗る&lt;/li&gt;
&lt;li&gt;機種名と会社名の由来は、映画マトリックスから。&lt;/li&gt;
&lt;li&gt;防滴仕様（防水ではない）&lt;/li&gt;
&lt;li&gt;ストラップホール付き（最近では珍しい）&lt;/li&gt;
&lt;li&gt;隠し設定で電池のパーセント表示が出来る（上部のバーの歯車を長押ししてみよう）&lt;/li&gt;
&lt;li&gt;通知LEDがない＆バイブが弱い&lt;br/&gt;
通知系が弱いので、&lt;a href="http://amzn.to/2ruLYwU"&gt;Moto 360 2nd Gen&lt;/a&gt;などのスマートウォッチを使うと快適。
ちなみに、moto360はリンクの安いベルトモデルを購入して、自分で&lt;a href="http://amzn.to/2t5qunx"&gt;金属のベルト&lt;/a&gt;に変更すると安い。
付け替え器具は100均などでも売ってるかも。&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;20170624追記&lt;/h4&gt;

&lt;p&gt;現在、AmazonにてFossilのスマートウォッチ（AndroidWear）が30%OFF+10%ポイント還元の40%OFFキャンペーンをしているので狙い目。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01LWI81QY/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/41Cyyau1i1L._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01LWI81QY/mczh-22/" target="_blank" &gt;[フォッシル]FOSSIL 腕時計 Q MARSHAL スマートウォッチ FTW2106 メンズ 【正規輸入品】&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; FOSSIL(フォッシル)     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&lt;a href="http://amzn.to/2tE9jd0"&gt;Amazon.co.jp: FOSSIL (フォッシル): 腕時計&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;いろいろ書いたが、今のところ満足度は非常に高い。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B06WRS81D3/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/41ZEwPXI%2B8L._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B06WRS81D3/mczh-22/" target="_blank" &gt;NuAns NEO [Reloaded]CORE SIMフリースマートフォン 防滴/おサイフケータイ対応 Android7.1 NA-CORE2-JP&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; NuAns 2017-06-09    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;

</content>        
        <category label="雑記" term="雑記"/>
        
        <category label="Android" term="Android"/>
        
        <category label="Review" term="Review"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/a60bc1e304b5ec0e76c0b3a3175b9cb0eb67dcc0/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170611%2F20170611204024.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ひさしぶりにGitHubトレンド、機械学習で屋内位置測位やDeepMindが使っている深層学習ライブラリなど[TIL]</title>
        <link href="https://denpa-shinbun.com/entry/github-trend-machinelearning"/>
        <id>hatenablog://entry/10328749687236122419</id>
        <published>2017-04-10T23:35:47+09:00</published>
        <updated>2017-04-10T23:35:47+09:00</updated>        <summary type="html">かなり久しぶりにGitHubのトレンドをざっくり眺めた記事を書いてみる。 機械学習で屋内位置測位 github.com おおざっぱな位置測位としてよくあるWiFiの電波強度での位置測位。 だいたい2-10メートルぐらいの精度が出る。 学習にはsklearn’s RandomForestを使うらしいが、私はその詳細は知らない。 認識させたいそれぞれの箇所で、任意サンプル数で学習させるようだ。 Pythonで書かれているが、スマホで動くようならスマートホーム周りで使いみちがありそうに思う。 屋内位置測位の別の方法としては、BLEビーコンを置きまくるという方法もあるが、お金がかかるので、可能であるな…</summary>
        <content type="html">&lt;p&gt;かなり久しぶりにGitHubのトレンドをざっくり眺めた記事を書いてみる。&lt;/p&gt;

&lt;h3&gt;機械学習で屋内位置測位&lt;/h3&gt;

&lt;p&gt;&lt;iframe src="//hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fkootenpv%2Fwhereami" title="kootenpv/whereami" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://github.com/kootenpv/whereami"&gt;github.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;おおざっぱな位置測位としてよくあるWiFiの電波強度での位置測位。&lt;/p&gt;

&lt;p&gt;だいたい2-10メートルぐらいの精度が出る。&lt;/p&gt;

&lt;p&gt;学習にはsklearn&amp;rsquo;s RandomForestを使うらしいが、私はその詳細は知らない。&lt;/p&gt;

&lt;p&gt;認識させたいそれぞれの箇所で、任意サンプル数で学習させるようだ。&lt;/p&gt;

&lt;p&gt;Pythonで書かれているが、スマホで動くようならスマートホーム周りで使いみちがありそうに思う。&lt;/p&gt;

&lt;p&gt;屋内位置測位の別の方法としては、BLEビーコンを置きまくるという方法もあるが、お金がかかるので、可能であるならどこのご家庭にもあるWiFiルータで位置測位が出来ると嬉しい。&lt;/p&gt;

&lt;p&gt;ただ、10メートルもずれると一般的な住宅では使い物にならないか。&lt;/p&gt;

&lt;h3&gt;Bashの操作ガイド&lt;/h3&gt;

&lt;p&gt;&lt;iframe src="//hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2FIdnan%2Fbash-guide" title="Idnan/bash-guide" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://github.com/Idnan/bash-guide"&gt;github.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;基本的なコマンド、シェルスクリプト、デバッグ手法が載っている。&lt;/p&gt;

&lt;p&gt;ざっくり眺めてみたが、まあだいたいは知っているかなっていう感じ。&lt;/p&gt;

&lt;p&gt;なにも知らない初心者だと、何のコマンドが重要でよく使うのかすらわからないと思うので、そのような人向けか。ガイドって書いてあるし。&lt;/p&gt;

&lt;h3&gt;GoogleのDeepMindが使っている深層学習ライブラリ Sonnet&lt;/h3&gt;

&lt;p&gt;&lt;iframe src="//hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fdeepmind%2Fsonnet" title="deepmind/sonnet" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="https://github.com/deepmind/sonnet"&gt;github.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;TensorFlowのライブラリか何か？公開されたばかりでトレンド入りしているようだ。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Fqiita.com%2Fjinbeizame007%2Fitems%2F3661e067c8185bb9e87f" title="DeepMindのSonnetを触ったので、TensorFlowやKerasと比較しながら解説してみた - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://qiita.com/jinbeizame007/items/3661e067c8185bb9e87f"&gt;qiita.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;機械学習周りは相変わらず活発な印象で、もうひとつぐらいトレンドに入っていたように見えた。&lt;/p&gt;
</content>        
        <category label="TIL" term="TIL"/>
        
        <category label="GitHub" term="GitHub"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="Linux" term="Linux"/>
        
        <category label="shell" term="shell"/>
        
        <link href="https://ogimage.blog.st-hatena.com/6653586347154552133/10328749687236122419/1491834947" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>Kindleで読書期間限定ではない0円漫画が何冊か販売中／ビブリア古書堂の事件手帖ほか (2017/03/28)</title>
        <link href="https://denpa-shinbun.com/entry/kindle0yen"/>
        <id>hatenablog://entry/10328749687231685343</id>
        <published>2017-03-28T19:12:38+09:00</published>
        <updated>2017-03-28T19:12:38+09:00</updated>        <summary type="html">Amazon Kindleでは、たまに「お試しで一ヶ月無料で読める！」系の宣伝をしているが、さらに稀に、「0円でいつまでも読める」タイプのセールのときがある、それが今だ。 とりあえず購入しておけば、暇すぎて困るときの暇つぶしになるのでポチっておく。 ただ、なかなか読む機会は来ていない。 ちなみに、今回のセールの本だと、零崎軋識の人間ノックは普通に買って読んだことがある。西尾維新原作なので途中まで買っていたが、いつからか読んでいない。果たして何巻まで読んだのか……。 零崎軋識の人間ノック（１） (アフタヌーンコミックス)posted with カエレバ西尾維新,チョモラン 講談社 2015-01…</summary>
        <content type="html">&lt;p&gt;Amazon Kindleでは、たまに「お試しで一ヶ月無料で読める！」系の宣伝をしているが、さらに稀に、「0円でいつまでも読める」タイプのセールのときがある、それが今だ。&lt;/p&gt;

&lt;p&gt;とりあえず購入しておけば、暇すぎて困るときの暇つぶしになるのでポチっておく。
ただ、なかなか読む機会は来ていない。&lt;/p&gt;

&lt;p&gt;ちなみに、今回のセールの本だと、零崎軋識の人間ノックは普通に買って読んだことがある。西尾維新原作なので途中まで買っていたが、いつからか読んでいない。果たして何巻まで読んだのか……。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00S8XYI40/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51dd-8ouvJL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00S8XYI40/mczh-22/" target="_blank" &gt;零崎軋識の人間ノック（１） (アフタヌーンコミックス)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;西尾維新,チョモラン 講談社 2015-01-23    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;PとJKとかは映画化するらしいから、それ狙いのマーケティングかな。他のチョイスはよくわからない。&lt;/p&gt;

&lt;hr/&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00ARBWGPE/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51Ai42A4BrL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00ARBWGPE/mczh-22/" target="_blank" &gt;ビブリア古書堂の事件手帖（１） (アフタヌーンコミックス)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;三上延,交田稜 講談社 2013-01-11    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00YBPOV5A/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51eUQQ7E0eL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00YBPOV5A/mczh-22/" target="_blank" &gt;ぢごぷり（１） (アフタヌーンコミックス)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;木尾士目 講談社 2015-06-19    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00PI1BDS4/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51Ym4SB%2BBhL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00PI1BDS4/mczh-22/" target="_blank" &gt;フラジャイル　病理医岸京一郎の所見（１） (アフタヌーンコミックス)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;草水敏,恵三朗 講談社 2014-11-21    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00DI4FN16/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51pqHfNcGtL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00DI4FN16/mczh-22/" target="_blank" &gt;ＰとＪＫ（１） (別冊フレンドコミックス)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;三次マキ 講談社 2013-07-05    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B009KWTIFM/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/617BnEUVtBL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B009KWTIFM/mczh-22/" target="_blank" &gt;ＧＩＡＮＴ　ＫＩＬＬＩＮＧ（１） (モーニングコミックス)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;ツジトモ,綱本将也 講談社 2012-09-28    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;hr/&gt;

</content>        
        <category label="特価" term="特価"/>
        
        <category label="Book" term="Book"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/f5e8ffca47375cbc51f37d751f4b74680d4690a9/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F51Ai42A4BrL._SL160_.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ログファイルを見るのはtail -f でなくて、less +Fを使うのが今風らしい</title>
        <link href="https://denpa-shinbun.com/entry/tail-less"/>
        <id>hatenablog://entry/10328749687219355094</id>
        <published>2017-02-21T22:00:00+09:00</published>
        <updated>2017-02-21T22:00:08+09:00</updated>        <summary type="html">tail -f 垂れ流しているログファイルを確認するのには、tailコマンドに-fのオプションを付けると良い、と昔に聞いたことがあり、ずっとそれで見てきた。 tail -f tailコマンドは、そのファイルを後ろから開くコマンドで、-fオプションをつけると更新された部分もどんどん読み込んでくれる。 しかし、いったんそこで読み込みを止めたい、再開したい、というのができない。（できないよね？） Photo by dadriaen | Pixabay / CC BY 0 less +F そこで、lessコマンドを使う。 lessコマンドはファイル閲覧のコマンドで、これまではエディタを立ち上げるまでも…</summary>
        <content type="html">&lt;h3&gt;tail -f&lt;/h3&gt;

&lt;p&gt;垂れ流しているログファイルを確認するのには、tailコマンドに-fのオプションを付けると良い、と昔に聞いたことがあり、ずっとそれで見てきた。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;tail -f&lt;/pre&gt;


&lt;p&gt;tailコマンドは、そのファイルを後ろから開くコマンドで、-fオプションをつけると更新された部分もどんどん読み込んでくれる。&lt;/p&gt;

&lt;p&gt;しかし、いったんそこで読み込みを止めたい、再開したい、というのができない。（できないよね？）&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170220/20170220230523.png" alt="f:id:mczh:20170220230523p:plain" title="f:id:mczh:20170220230523p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;
&lt;span style="font-size: 50%"&gt;Photo by &lt;a href="https://pixabay.com/ja/users/dadriaen-3033141/"&gt;dadriaen | Pixabay&lt;/a&gt; / CC BY 0 &lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;less +F&lt;/h3&gt;

&lt;p&gt;そこで、lessコマンドを使う。&lt;/p&gt;

&lt;p&gt;lessコマンドはファイル閲覧のコマンドで、これまではエディタを立ち上げるまでもなく、さっと中身を確認したいときに使っていた。&lt;/p&gt;

&lt;p&gt;ただ見るだけでなく、ファイルを開いているときに/PATTERNや?PATTERNで検索できるので、利便性が高い。&lt;/p&gt;

&lt;p&gt;このlessコマンドは、実は+Fを引数に渡すと、tail -fと同じようなモードになる。画面下には、以下の文字が表示される。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;Waiting for data... (interrupt to abort)
&lt;/pre&gt;


&lt;p&gt;この状態でinterrupt、つまりCtrl+cをしてみると、lessコマンドで開いたままの状態になる。
そこからまたShift+fを入力すると、tail -fと同じモードになる。&lt;/p&gt;

&lt;p&gt;ちなみに、lessで読み込んでからShift+fでも更新読み込みモードになる。&lt;/p&gt;

&lt;p&gt;という具合で、ほぼtail -fの上位互換的にless +Fが使えることがわかったので、今後はless +Fを使おうと思う。&lt;/p&gt;

&lt;p&gt;+とわざわざ打つのが少しめんどくさいが。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797321946/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51gWeaXVBFL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797321946/mczh-22/" target="_blank" &gt;入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;ブルース・ブリン,Bruce Blinn ソフトバンククリエイティブ 2003-02    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;

</content>        
        <category label="TIL" term="TIL"/>
        
        <category label="shell" term="shell"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/fcb9048f0c4f59b8aad62e387056ce0c2e1a3e98/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170220%2F20170220230523.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>自分が帰宅しているかをRaspberryPiで検知する簡単な方法</title>
        <link href="https://denpa-shinbun.com/entry/ping-phone"/>
        <id>hatenablog://entry/10328749687219335506</id>
        <published>2017-02-20T22:16:57+09:00</published>
        <updated>2017-02-20T22:16:57+09:00</updated>        <summary type="html">I’m home いつかのブログにも書いたかもしれないが、RaspberryPiで色々センサーをいじれるように遊んでいると、「自分が家にいるときだけ」という処理をしたくなる。 しかし、近接センサーは近くしか見ないし、照度センサーは窓の近くだと結構変わるし、わざわざそのためにBLEを使うのも……。 という場合に、簡単な方法として、自分のスマホのIPへpingを打って返り値を確認するという方法がある。 家に無線LANの環境があり、スマホだけ自宅にあるという状態がないのが前提である。 せっかくRaspberryPiなのにセンサー使わないのかよ！というのはあるが、手段よりも目的重視で……。 Photo…</summary>
        <content type="html">&lt;h3&gt;I&amp;rsquo;m home&lt;/h3&gt;

&lt;p&gt;いつかのブログにも書いたかもしれないが、RaspberryPiで色々センサーをいじれるように遊んでいると、「自分が家にいるときだけ」という処理をしたくなる。&lt;/p&gt;

&lt;p&gt;しかし、近接センサーは近くしか見ないし、照度センサーは窓の近くだと結構変わるし、わざわざそのためにBLEを使うのも……。&lt;/p&gt;

&lt;p&gt;という場合に、簡単な方法として、自分のスマホのIPへpingを打って返り値を確認するという方法がある。&lt;/p&gt;

&lt;p&gt;家に無線LANの環境があり、スマホだけ自宅にあるという状態がないのが前提である。&lt;/p&gt;

&lt;p&gt;せっかくRaspberryPiなのにセンサー使わないのかよ！というのはあるが、手段よりも目的重視で……。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170220/20170220221353.png" alt="f:id:mczh:20170220221353p:plain" title="f:id:mczh:20170220221353p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;
&lt;span style="font-size: 50%"&gt;Photo by &lt;a href="https://pixabay.com/ja/users/geralt-9301/"&gt;geralt | Pixabay&lt;/a&gt; / CC BY 0 &lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;スマホの準備&lt;/h3&gt;

&lt;p&gt;まず、自分のスマホを固定IPにしておく。DHCPで他のマシンに取られないように、ちょっと外れた番号にしておくと良い。たとえば192.168.1.20など。&lt;/p&gt;

&lt;h3&gt;Linuxのpingは止めるまで打ち続ける仕様&lt;/h3&gt;

&lt;p&gt;Windowsのコマンドプロンプトから打つと数回で勝手に止まるが、Linuxから打つと無限に打ち続けるようだ。いつも無意識に止めていたから気が付かなかった。&lt;/p&gt;

&lt;p&gt;しかし、無限に打ち続けられてしまうと返り値が取得できない。&lt;/p&gt;

&lt;p&gt;どうせなら失敗したら返ってくるとか、成功するまでは打ち続けるとか、そのようなオプションがあれば楽だったが、見当たらない。&lt;/p&gt;

&lt;p&gt;しかたがないので、指定した回数だけpingを打って、一旦その結果を取得して、その結果によって更にループさせたりbreakさせたりする必要がある。&lt;/p&gt;

&lt;h4&gt;指定した回数だけpingを飛ばす&lt;/h4&gt;

&lt;p&gt;指定した回数だけ実行させるには、-cのオプションをつける。&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;ping &lt;span class="synSpecial"&gt;-c&lt;/span&gt; 回数 192.168.1.20
&lt;/pre&gt;


&lt;p&gt;今回の目的では、1回pingを実行してスリープさせて、またpingを実行して、のループがいいだろう。&lt;/p&gt;

&lt;h3&gt;サンプルコード&lt;/h3&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;
&lt;span class="synComment"&gt;#!/bin/sh&lt;/span&gt;
&lt;span class="synIdentifier"&gt;PING_TARGET&lt;/span&gt;=&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;192.168.1.20&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;

&lt;span class="synIdentifier"&gt;MAX_SECOND&lt;/span&gt;=&lt;span class="synConstant"&gt;108000&lt;/span&gt;
&lt;span class="synIdentifier"&gt;SLEEP_SEC&lt;/span&gt;=&lt;span class="synConstant"&gt;5&lt;/span&gt;

&lt;span class="synComment"&gt;#loop until ping success&lt;/span&gt;
&lt;span class="synIdentifier"&gt;count&lt;/span&gt;=&lt;span class="synPreProc"&gt;$MAX_SECOND&lt;/span&gt;
&lt;span class="synIdentifier"&gt;success_count&lt;/span&gt;=&lt;span class="synConstant"&gt;0&lt;/span&gt;
&lt;span class="synIdentifier"&gt;THRESHOLD&lt;/span&gt;=&lt;span class="synConstant"&gt;5&lt;/span&gt;
&lt;span class="synStatement"&gt;while [&lt;/span&gt; &lt;span class="synPreProc"&gt;$count&lt;/span&gt; &lt;span class="synStatement"&gt;-ge&lt;/span&gt; &lt;span class="synConstant"&gt;0&lt;/span&gt; &lt;span class="synStatement"&gt;] ; do&lt;/span&gt;
    ping &lt;span class="synPreProc"&gt;${PING_TARGET}&lt;/span&gt; &lt;span class="synStatement"&gt;-c&lt;/span&gt; &lt;span class="synConstant"&gt;1&lt;/span&gt; &lt;span class="synStatement"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /dev/null
    &lt;span class="synIdentifier"&gt;rc&lt;/span&gt;=&lt;span class="synPreProc"&gt;$?&lt;/span&gt;
    &lt;span class="synStatement"&gt;if [&lt;/span&gt; &lt;span class="synPreProc"&gt;$rc&lt;/span&gt; &lt;span class="synStatement"&gt;-eq&lt;/span&gt; &lt;span class="synConstant"&gt;0&lt;/span&gt; &lt;span class="synStatement"&gt;]&lt;/span&gt; ; &lt;span class="synStatement"&gt;then&lt;/span&gt;
        &lt;span class="synStatement"&gt;if [&lt;/span&gt; &lt;span class="synPreProc"&gt;$success_count&lt;/span&gt; &lt;span class="synStatement"&gt;-eq&lt;/span&gt; &lt;span class="synPreProc"&gt;$THRESHOLD&lt;/span&gt; &lt;span class="synStatement"&gt;]&lt;/span&gt; ; &lt;span class="synStatement"&gt;then&lt;/span&gt;
            &lt;span class="synStatement"&gt;break&lt;/span&gt;
        &lt;span class="synStatement"&gt;fi&lt;/span&gt;
        &lt;span class="synIdentifier"&gt;success_count&lt;/span&gt;=&lt;span class="synSpecial"&gt;`&lt;/span&gt;&lt;span class="synStatement"&gt;expr&lt;/span&gt;&lt;span class="synSpecial"&gt; &lt;/span&gt;&lt;span class="synPreProc"&gt;$success_count&lt;/span&gt;&lt;span class="synSpecial"&gt; + &lt;/span&gt;&lt;span class="synConstant"&gt;1&lt;/span&gt;&lt;span class="synSpecial"&gt;`&lt;/span&gt;
    &lt;span class="synStatement"&gt;else&lt;/span&gt;
        &lt;span class="synIdentifier"&gt;success_count&lt;/span&gt;=&lt;span class="synConstant"&gt;0&lt;/span&gt; &lt;span class="synComment"&gt;#reset&lt;/span&gt;
    &lt;span class="synStatement"&gt;fi&lt;/span&gt;
    &lt;span class="synStatement"&gt;sleep&lt;/span&gt; &lt;span class="synPreProc"&gt;$SLEEP_SEC&lt;/span&gt;
    &lt;span class="synIdentifier"&gt;count&lt;/span&gt;=&lt;span class="synSpecial"&gt;`&lt;/span&gt;&lt;span class="synStatement"&gt;expr&lt;/span&gt;&lt;span class="synSpecial"&gt; &lt;/span&gt;&lt;span class="synPreProc"&gt;$count&lt;/span&gt;&lt;span class="synSpecial"&gt; - &lt;/span&gt;&lt;span class="synPreProc"&gt;$SLEEP_SEC&lt;/span&gt;&lt;span class="synSpecial"&gt;`&lt;/span&gt;
&lt;span class="synStatement"&gt;done&lt;/span&gt;

&lt;span class="synStatement"&gt;if [&lt;/span&gt; &lt;span class="synPreProc"&gt;$rc&lt;/span&gt; &lt;span class="synStatement"&gt;-eq&lt;/span&gt; &lt;span class="synConstant"&gt;0&lt;/span&gt; &lt;span class="synStatement"&gt;]&lt;/span&gt; ; &lt;span class="synStatement"&gt;then&lt;/span&gt;
   &lt;span class="synComment"&gt;# 処理&lt;/span&gt;
&lt;span class="synStatement"&gt;fi&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;変数は適当に変える。
このサンプルは、5秒に一度pingを打ち、5回連続で成功すればbreakして、処理を実行する。
最大待ち時間は、約108000秒（6時間）にしてある。&lt;/p&gt;

&lt;p&gt;このコードは、自宅に帰ったら勝手に照明をつけるためにRaspberryPiに仕込んでいるコードの抜粋である。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00AXVH1P8/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51YxJAqJ6hL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00AXVH1P8/mczh-22/" target="_blank" &gt;USB接続 赤外線リモコン キット&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; Bit Trade One     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;このスクリプトを、仕事の定時にcrontabで自動実行するようにしている。
すると、定時～6時間以内に家に着けば、勝手に電気がついてくれる。&lt;/p&gt;

&lt;p&gt;ちなみに、シェルスクリプトのデバッグで困ったときは、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;&lt;span class="synComment"&gt;#!/bin/sh&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;の部分を、&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;#!/bin/sh -x&lt;/pre&gt;


&lt;p&gt;に変更すると、行ごとの処理をすべて表示してくれるのでわかりやすい。&lt;/p&gt;

&lt;h4&gt;問題点&lt;/h4&gt;

&lt;p&gt;問題点は、自宅にいながらスマホの電源が切れたりwifiが切れたりした場合である。&lt;/p&gt;

&lt;p&gt;そのあたりは反応性の良さとのトレードオフなので、しきい値やチェック間隔を調整していい感じにしよう。&lt;/p&gt;
</content>        
        <category label="Android" term="Android"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="TIL" term="TIL"/>
        
        <category label="shell" term="shell"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/853fbb997c62df2ed91aba36d4672a9ae95afc3d/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170220%2F20170220221353.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
    <entry>
        <title>翔泳社とは別に、プログラミング・IT技術書フェアで50%OFFセール中（2/23まで）</title>
        <link href="https://denpa-shinbun.com/entry/kindle-it-sale"/>
        <id>hatenablog://entry/10328749687219015158</id>
        <published>2017-02-20T00:06:50+09:00</published>
        <updated>2017-02-20T00:06:50+09:00</updated>        <summary type="html">amzn.to 先日のセール、 denpa-shinbun.com に引き続き、技術書が半額セール中。 今回はなんだかマイナー本や、個人出版に近そうなタイトルが多い印象。 機械学習のDeepLearning周りの本がいくつかある、TensorFlowの本もあるが、内容は薄そうに見えなくもない。 気になる本 1日で読めてわかるTCP/IPのエッセンス (NextPublishing)posted with カエレバ榊 正憲 インプレスR&amp;D 2014-03-14 Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズposted …</summary>
        <content type="html">&lt;p&gt;&lt;iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Famzn.to%2F2lyWyiJ" title="Amazon.co.jp: 【全タイトル50%OFF】プログラミング・IT技術書フェア（2/23まで）: Kindleストア" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://amzn.to/2lyWyiJ"&gt;amzn.to&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;先日のセール、&lt;/p&gt;

&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/kindle-sale" title="翔泳社の技術書半額セール中、おすすめを何冊か - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/kindle-sale"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;に引き続き、技術書が半額セール中。&lt;/p&gt;

&lt;p&gt;今回はなんだかマイナー本や、個人出版に近そうなタイトルが多い印象。&lt;/p&gt;

&lt;p&gt;機械学習のDeepLearning周りの本がいくつかある、TensorFlowの本もあるが、内容は薄そうに見えなくもない。&lt;/p&gt;

&lt;h3&gt;気になる本&lt;/h3&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00IZ76TGE/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/412305I9gRL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00IZ76TGE/mczh-22/" target="_blank" &gt;1日で読めてわかるTCP/IPのエッセンス (NextPublishing)&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;榊 正憲 インプレスR&amp;D 2014-03-14    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01HGIPIAK/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/611cFWZK1-L._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01HGIPIAK/mczh-22/" target="_blank" &gt;Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;Sebastian Raschka,株式会社クイープ,福島 真太朗 インプレス 2016-06-30    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B015R0M8W0/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51b16u3rFJL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B015R0M8W0/mczh-22/" target="_blank" &gt;Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;Robert Nystrom インプレス 2015-09-24    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;

</content>        
        <category label="Book" term="Book"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="特価" term="特価"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/b7c653b9bd97fddbdc4fa4106dc063a1f6cbae96/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F611cFWZK1-L._SL160_.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>翔泳社の技術書半額セール中、おすすめを何冊か</title>
        <link href="https://denpa-shinbun.com/entry/kindle-sale"/>
        <id>hatenablog://entry/10328749687217973493</id>
        <published>2017-02-16T20:58:44+09:00</published>
        <updated>2017-02-16T20:58:44+09:00</updated>        <summary type="html">翔泳社の技術書が電子書籍で半額セールをしている。ITエンジニア向け。 電子書籍が世に出てきてから、なかなか値下げされず中古市場にも出回らなかった技術書が安く手に入るので嬉しい。 ただ、個人的には、積んである本がたくさんあるので、今回はよほど良さげな本がない限り見逃そうかと思う。 でも、AWS関連の本が一冊ぐらい欲しい。 Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門posted with カエレバWINGSプロジェクト阿佐志保 翔泳社 2016-06-21 だと簡単すぎるだろうか？ amzn.to おすすめタイトル 有名どころで世間的にも名著とされているの…</summary>
        <content type="html">&lt;p&gt;翔泳社の技術書が電子書籍で半額セールをしている。ITエンジニア向け。&lt;/p&gt;

&lt;p&gt;電子書籍が世に出てきてから、なかなか値下げされず中古市場にも出回らなかった技術書が安く手に入るので嬉しい。&lt;/p&gt;

&lt;p&gt;ただ、個人的には、積んである本がたくさんあるので、今回はよほど良さげな本がない限り見逃そうかと思う。&lt;/p&gt;

&lt;p&gt;でも、AWS関連の本が一冊ぐらい欲しい。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01HD5VVW0/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51D8Y7QlhAL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01HD5VVW0/mczh-22/" target="_blank" &gt;Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;WINGSプロジェクト阿佐志保 翔泳社 2016-06-21    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;だと簡単すぎるだろうか？&lt;/p&gt;

&lt;p&gt;&lt;iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Famzn.to%2F2kt3YEz" title="Amazon.co.jp: 【50%OFF】翔泳社祭り　対象950点以上: Kindleストア" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://amzn.to/2kt3YEz"&gt;amzn.to&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h3&gt;おすすめタイトル&lt;/h3&gt;

&lt;p&gt;有名どころで世間的にも名著とされているのを何冊かあげておく。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00GRKD6XU/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/6181Uutb1tL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00GRKD6XU/mczh-22/" target="_blank" &gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;Eric Evans 翔泳社 2013-11-20    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00EESW7K0/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/516mGHRy-iL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00EESW7K0/mczh-22/" target="_blank" &gt;HTTPの教科書&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;上野宣 翔泳社 2013-08-09    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00HQ7S5CA/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51YXH-6HUzL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00HQ7S5CA/mczh-22/" target="_blank" &gt;知識ゼロから学ぶソフトウェアテスト 【改訂版】&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;高橋寿一 翔泳社 2014-01-08    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01D2UKPFE/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51Eh9E4eC5L._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01D2UKPFE/mczh-22/" target="_blank" &gt;Android実践プログラミング 現場で生まれた設計パターン&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;TechBooster 翔泳社 2016-03-17    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;




&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00KRB9U8K/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51L6CwNG11L._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00KRB9U8K/mczh-22/" target="_blank" &gt;詳解UNIXプログラミング 第3版&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt;W. Richard Stevens,Stephen A. Rago 翔泳社 2014-06-05    &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;

</content>        
        <category label="Programming" term="Programming"/>
        
        <category label="Linux" term="Linux"/>
        
        <category label="特価" term="特価"/>
        
        <category label="Book" term="Book"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/c2f2b59c9d2d8215c29408ae0c4eecb8f955fcdf/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F51D8Y7QlhAL._SL160_.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>LINE非公式APIで通知を取得するまで</title>
        <link href="https://denpa-shinbun.com/entry/line-python-api"/>
        <id>hatenablog://entry/10328749687209608348</id>
        <published>2017-01-24T21:56:24+09:00</published>
        <updated>2017-01-24T21:56:24+09:00</updated>        <summary type="html">前回の続き。 denpa-shinbun.com 今回はLINE非公式APIをPythonから使って通知の取得を試みた。 LINE非公式APIのマニュアル LINE manual — LINE api doc 0.6.9 documentation 上記サイト参照。 Pythonで書かれていて、 pip install line でインストールし、サンプルコード（Echo bot example） from line import LineClient, LineGroup, LineContact try: client = LineClient("ID", "PASSWORD") #cli…</summary>
        <content type="html">&lt;p&gt;前回の続き。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/line-zaim-bot" title="LINE Payの出金を自動で家計簿アプリZaimに登録させる計画だったもの - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/line-zaim-bot"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;今回はLINE非公式APIをPythonから使って通知の取得を試みた。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170124/20170124215447.png" alt="f:id:mczh:20170124215447p:plain" title="f:id:mczh:20170124215447p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;LINE非公式APIのマニュアル&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://carpedm20.github.io/line/"&gt;LINE manual &amp;mdash; LINE api doc 0.6.9 documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;上記サイト参照。&lt;/p&gt;

&lt;p&gt;Pythonで書かれていて、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;pip install line
&lt;/pre&gt;


&lt;p&gt;でインストールし、サンプルコード（Echo bot example）&lt;/p&gt;

&lt;pre class="code lang-python" data-lang="python" data-unlink&gt;&lt;span class="synPreProc"&gt;from&lt;/span&gt; line &lt;span class="synPreProc"&gt;import&lt;/span&gt; LineClient, LineGroup, LineContact

&lt;span class="synStatement"&gt;try&lt;/span&gt;:
   client = LineClient(&lt;span class="synConstant"&gt;&amp;quot;ID&amp;quot;&lt;/span&gt;, &lt;span class="synConstant"&gt;&amp;quot;PASSWORD&amp;quot;&lt;/span&gt;)
   &lt;span class="synComment"&gt;#client = LineClient(authToken=&amp;quot;AUTHTOKEN&amp;quot;)&lt;/span&gt;
&lt;span class="synStatement"&gt;except&lt;/span&gt;:
   &lt;span class="synIdentifier"&gt;print&lt;/span&gt; &lt;span class="synConstant"&gt;&amp;quot;Login Failed&amp;quot;&lt;/span&gt;

&lt;span class="synStatement"&gt;while&lt;/span&gt; &lt;span class="synIdentifier"&gt;True&lt;/span&gt;:
   op_list = []

   &lt;span class="synStatement"&gt;for&lt;/span&gt; op &lt;span class="synStatement"&gt;in&lt;/span&gt; client.longPoll():
      op_list.append(op)

   &lt;span class="synStatement"&gt;for&lt;/span&gt; op &lt;span class="synStatement"&gt;in&lt;/span&gt; op_list:
      sender   = op[&lt;span class="synConstant"&gt;0&lt;/span&gt;]
      receiver = op[&lt;span class="synConstant"&gt;1&lt;/span&gt;]
      message  = op[&lt;span class="synConstant"&gt;2&lt;/span&gt;]

      msg = message.text
      receiver.sendMessage(&lt;span class="synConstant"&gt;&amp;quot;[%s] %s&amp;quot;&lt;/span&gt; % (sender.name, msg))
&lt;/pre&gt;


&lt;p&gt;のような形で使う。
ただし、これだけだとアクセストークンが取得できない。&lt;/p&gt;

&lt;h3&gt;アクセストークンの取得方法&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/iwdmb/GetLineApiAuthToken"&gt;GitHub - iwdmb/GetLineApiAuthToken: This will help you get LINE API authentication token(authToken).&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;上記のリポジトリをクローンしてきて、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;python GetLineApiAuthToken
&lt;/pre&gt;


&lt;p&gt;を実行すると、ユーザ名パスワードを聞いてくるので、LINEのメールアドレスとパスワードを入力する。
すると4桁の数字が表示されるので、これをスマホのLINEに入力する。
すると、AuthTokenが取得できる。&lt;/p&gt;

&lt;p&gt;実は最初に挙げたpip install lineでインストールされるものでもトークン取得できそうなことが書いてあるのだが、実際にやってみると取得できない。&lt;/p&gt;

&lt;h3&gt;取得したAuthTokenを使って通知を取得する。&lt;/h3&gt;

&lt;pre class="code lang-python" data-lang="python" data-unlink&gt;&lt;span class="synPreProc"&gt;from&lt;/span&gt; line &lt;span class="synPreProc"&gt;import&lt;/span&gt; LineClient, LineGroup, LineContact

&lt;span class="synStatement"&gt;try&lt;/span&gt;:
   client = LineClient(authToken=&lt;span class="synConstant"&gt;&amp;quot;AUTHTOKEN&amp;quot;&lt;/span&gt;) &lt;span class="synComment"&gt;#ここに取得したトークンをコピペ&lt;/span&gt;
&lt;span class="synStatement"&gt;except&lt;/span&gt;:
   &lt;span class="synIdentifier"&gt;print&lt;/span&gt; &lt;span class="synConstant"&gt;&amp;quot;Login Failed&amp;quot;&lt;/span&gt;

&lt;span class="synStatement"&gt;while&lt;/span&gt; &lt;span class="synIdentifier"&gt;True&lt;/span&gt;:
   op_list = []

   &lt;span class="synStatement"&gt;for&lt;/span&gt; op &lt;span class="synStatement"&gt;in&lt;/span&gt; client.longPoll():
      op_list.append(op)

   &lt;span class="synStatement"&gt;for&lt;/span&gt; op &lt;span class="synStatement"&gt;in&lt;/span&gt; op_list:
      sender   = op[&lt;span class="synConstant"&gt;0&lt;/span&gt;]
      receiver = op[&lt;span class="synConstant"&gt;1&lt;/span&gt;]
      message  = op[&lt;span class="synConstant"&gt;2&lt;/span&gt;]

      msg = message.text
      &lt;span class="synIdentifier"&gt;print&lt;/span&gt; &lt;span class="synConstant"&gt;&amp;quot;%s&amp;quot;&lt;/span&gt; % msg
&lt;/pre&gt;


&lt;h3&gt;問題点&lt;/h3&gt;

&lt;p&gt;LINEから、クライアント古いからアップデートしろよ、という通知が大量に飛んでくる。issueになっているのは見つけたが、解決法は書かれていない。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/carpedm20/LINE/issues/71"&gt;Receive message of update LINE app after login &amp;middot; Issue #71 &amp;middot; carpedm20/LINE &amp;middot; GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;また、トークンも怪しいとすぐに破棄されるように見える（非公式なのでしかたがないが）。たとえば、上のサンプルコードは、実際にはスリープを数秒間挟まないとすぐダメになった。&lt;/p&gt;

&lt;h3&gt;TypeError: 'unicode' does not have the buffer interfaceの対策&lt;/h3&gt;

&lt;p&gt;ググると、werkzeugのバグだ、古いから更新しろ、という書き込みばかり見つかるが、今回はそれではない。&lt;/p&gt;

&lt;p&gt;こちらのissueに書いてある、thriftのバージョンの問題だった。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/carpedm20/LINE/issues/88"&gt;curve is not compatible with thrift 0.10.0 &amp;middot; Issue #88 &amp;middot; carpedm20/LINE &amp;middot; GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;一時的な対処としては、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;pip install &lt;span class="synIdentifier"&gt;thrift&lt;/span&gt;=&lt;span class="synStatement"&gt;=&lt;/span&gt;0.9.3
&lt;/pre&gt;


&lt;p&gt;で直る。&lt;/p&gt;

&lt;h3&gt;結局諦めた&lt;/h3&gt;

&lt;p&gt;非公式なのでしかたがないが、安定した動作はしなかった。あるいは、GetLineApiAuthTokenのリポジトリ内にあるLINEディレクトリのメソッドを使えばあるいは…？と思い実験してみたのだが、他の端末が使用していると認識されてしまい、スマホのLINEアカウントが強制ログアウトされてしまい、会話ログも消えてしまった。&lt;/p&gt;

&lt;p&gt;これに懲りて、やはり非公式APIはやめて違う方法を検討することにする。&lt;/p&gt;
</content>        
        <category label="Linux" term="Linux"/>
        
        <category label="Programming" term="Programming"/>
        
        <category label="shell" term="shell"/>
        
        <category label="Python" term="Python"/>
        
        <category label="TIL" term="TIL"/>
        
        <category label="GitHub" term="GitHub"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/7ec611110f75fdbb804fe824c6c3cd3c664304a8/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170124%2F20170124215447.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>LINE Payの出金を自動で家計簿アプリZaimに登録させる計画だったもの</title>
        <link href="https://denpa-shinbun.com/entry/line-zaim-bot"/>
        <id>hatenablog://entry/10328749687207485291</id>
        <published>2017-01-17T21:18:54+09:00</published>
        <updated>2017-01-17T21:18:54+09:00</updated>        <summary type="html">最近、還元率2+1%(たまに4+1%)のLINE Payカードを買い物利用のメインに切り替えた。 還元率はいいのだが、家計簿アプリのZaimへの自動登録機能がないため、毎回自分で登録することになり、家計簿をつけるのがかなり面倒になってしまった。 Zaim側が対応してくれればよいが、まだ対応予定にすら載っていないので、とうぶんは期待できない。 これをなんとか解決したいと考えて、以下ならできそうじゃない？と考えた計画をメモしておく。 なお今のところうまくいっていない。 計画 LINE Payは、使用するとLINEに金額の通知が来る。 この通知から日時と金額の情報をとって、Zaimに投げれば自動化で…</summary>
        <content type="html">&lt;p&gt;最近、還元率2+1%(たまに4+1%)のLINE Payカードを買い物利用のメインに切り替えた。&lt;/p&gt;

&lt;p&gt;還元率はいいのだが、家計簿アプリのZaimへの自動登録機能がないため、毎回自分で登録することになり、家計簿をつけるのがかなり面倒になってしまった。&lt;/p&gt;

&lt;p&gt;Zaim側が対応してくれればよいが、まだ対応予定にすら載っていないので、とうぶんは期待できない。&lt;/p&gt;

&lt;p&gt;これをなんとか解決したいと考えて、以下ならできそうじゃない？と考えた計画をメモしておく。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170117/20170117211843.png" alt="f:id:mczh:20170117211843p:plain" title="f:id:mczh:20170117211843p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;なお今のところうまくいっていない。&lt;/p&gt;

&lt;h3&gt;計画&lt;/h3&gt;

&lt;p&gt;LINE Payは、使用するとLINEに金額の通知が来る。&lt;/p&gt;

&lt;p&gt;この通知から日時と金額の情報をとって、Zaimに投げれば自動化できるのではないか。&lt;/p&gt;

&lt;h4&gt;LINEメッセージをどうやって読むか？&lt;/h4&gt;

&lt;p&gt;LINE Messagging APIという、Botを作るときに用いるAPIがLINEにあるので、これを使ってBotを作る。&lt;/p&gt;

&lt;p&gt;Botを作って、そのBotをLINE Payの通知会話に登録させれば情報が拾えるのでは！？&lt;/p&gt;

&lt;p&gt;ZaimもAPIを公開しているので、そちらは心配ない。&lt;/p&gt;

&lt;h3&gt;Botを作ってみる&lt;/h3&gt;

&lt;p&gt;herokuで動かすのが楽そうだったので、herokuのアカウントを作ってとりあえず固定文字列を返すbotを作成した。&lt;/p&gt;

&lt;p&gt;特に大きくつまずく点もなく、資料もそろっていた。&lt;/p&gt;

&lt;h3&gt;落とし穴&lt;/h3&gt;

&lt;p&gt;さて、いざ出来たBotをLINE Payの会話に招待してみたところ、今まであった会話に加わるのではなく、新たなグループ会話が出来上がってしまった…。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170117/20170117231916.jpg" alt="f:id:mczh:20170117231916j:plain" title="f:id:mczh:20170117231916j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;これではLINE Payからの通知は取得できない。&lt;/p&gt;

&lt;p&gt;さっそく暗礁に乗り上げてしまい、やる気を失いつつある。&lt;/p&gt;

&lt;h3&gt;もうひとつのアイデア&lt;/h3&gt;

&lt;p&gt;Androidだと通知領域のテキストを拾う的なことができた気がする。とすれば、LINE Payの通知から金額を拾えないだろうか？
まだ調べていないが、通知されるテキストの長さによるだろうか。&lt;/p&gt;

&lt;p&gt;ただ、これだとAndroidアプリとして作らないといけないので、ちょっと面倒だなという気持ちがある…&lt;/p&gt;

&lt;p&gt;なにか良い方法はないだろうか。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://hatenablog-parts.com/embed?url=http%3A%2F%2Fdenpa-shinbun.com%2Fentry%2Fline-python-api" title="LINE非公式APIで通知を取得するまで - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/line-python-api"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
</content>        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="TIL" term="TIL"/>
        
        <category label="Ruby" term="Ruby"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/0c7105b8aa232e262e618e1ae9b69b5951e07d48/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170117%2F20170117211843.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>nanacoギフト番号の入力時間短縮のために、4文字ごとに区切る正規表現</title>
        <link href="https://denpa-shinbun.com/entry/nanaco-gift"/>
        <id>hatenablog://entry/10328749687205294862</id>
        <published>2017-01-10T20:30:00+09:00</published>
        <updated>2017-01-10T20:42:12+09:00</updated>        <summary type="html">nanacoのギフト番号の入力画面は、4文字ごとに区切ったテキストボックスに入力する方式なのだが、 メールで届いたギフト券番号が16文字の連続文字列だった。 そのままだと手で4文字ずつコピペするのがかなり面倒だったので、ギフト券の番号を4桁区切りに修正する。 具体的には、空白文字を間に挟む。これにより、文字列をダブルクリックするとその語部分のみを選択してくれるので、コピペがかなり早くなる。 変換前 xxxxxxxxxxxxxxxx 変換後 xxxx xxxx xxxx xxxx 正規表現を使った置換処理で空白を入れる。Windowsならサクラエディタなどの正規表現が使用可能なテキストエディタを…</summary>
        <content type="html">&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170110/20170110115039.png" alt="f:id:mczh:20170110115039p:plain" title="f:id:mczh:20170110115039p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;nanacoのギフト番号の入力画面は、4文字ごとに区切ったテキストボックスに入力する方式なのだが、
メールで届いたギフト券番号が16文字の連続文字列だった。&lt;/p&gt;

&lt;p&gt;そのままだと手で4文字ずつコピペするのがかなり面倒だったので、ギフト券の番号を4桁区切りに修正する。
具体的には、空白文字を間に挟む。これにより、文字列をダブルクリックするとその語部分のみを選択してくれるので、コピペがかなり早くなる。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;変換前
xxxxxxxxxxxxxxxx

変換後
xxxx xxxx xxxx xxxx&lt;/pre&gt;


&lt;p&gt;正規表現を使った置換処理で空白を入れる。Windowsならサクラエディタなどの正規表現が使用可能なテキストエディタを使用するのが早い。&lt;/p&gt;

&lt;pre class="code" data-lang="" data-unlink&gt;検索文字列: (.{4})
置換文字列: $1-
# -の部分はスペースなどに置き換える&lt;/pre&gt;

</content>        
        <category label="雑記" term="雑記"/>
        
        <category label="特価" term="特価"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/4f522e1fc142c7e6d50cf92622b81967d22af371/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170110%2F20170110115039.png" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ちょっとの手間で生活費を安くする、5つのマニアックでケチな方法</title>
        <link href="https://denpa-shinbun.com/entry/shopping-tips"/>
        <id>hatenablog://entry/10328749687204060974</id>
        <published>2017-01-06T20:18:20+09:00</published>
        <updated>2017-01-06T20:18:20+09:00</updated>        <summary type="html">私が買い物などで使っている方法をメモしておく。 もっと良い方法があったら教えて欲しい。 (c) .foto project オンライン買い物系 1.Amazon以外はハピタスを経由する これは有名なサイトでマニアックではないかもしれない。 賢い人のお得なサイト | ハピタス Yahooショッピング、楽天、LOHACO、家電量販店など、大手のショッピングサイトはだいたい網羅していて、だいたい1～5%程度還元してくれる。 じゃらんやHotPepperなど、買い物以外のサービス系サイトの利用も可能。 ただしAmazonには対応していない。 いわゆるポイントサイトは様々な方法でポイントをためることが出…</summary>
        <content type="html">&lt;p&gt;私が買い物などで使っている方法をメモしておく。
もっと良い方法があったら教えて欲しい。&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;img src="//blog.foto.ne.jp/free/images/mny0008-001_w420.jpg" /&gt;&lt;br /&gt;&lt;a href="//free.foto.ne.jp/" target="_blank"&gt;(c) .foto project&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;オンライン買い物系&lt;/h3&gt;

&lt;h4&gt;1.Amazon以外はハピタスを経由する&lt;/h4&gt;

&lt;p&gt;これは有名なサイトでマニアックではないかもしれない。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://m.hapitas.jp/register?i=10430809&amp;route=text" target="_blank"&gt;賢い人のお得なサイト | ハピタス&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yahooショッピング、楽天、LOHACO、家電量販店など、大手のショッピングサイトはだいたい網羅していて、だいたい1～5%程度還元してくれる。
じゃらんやHotPepperなど、買い物以外のサービス系サイトの利用も可能。
&lt;b&gt;ただしAmazonには対応していない。&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;いわゆるポイントサイトは様々な方法でポイントをためることが出来るが、クリック系や広告系、ミニゲームは効率が悪すぎるのでやるべきではない。
単純に買い物を経由するとか、必要なサイトに新規登録するときに経由できないか確認する程度が良い。
そのような用途だと、ハピタスはショッピングサイトの還元率と網羅率がとても高い。&lt;/p&gt;

&lt;p&gt;還元されたポイントはAmazonギフト券にすると良い場合が多いが、以下に書いたドットマネーを更に経由するのがおすすめ。&lt;/p&gt;

&lt;h4&gt;2.ハピタスのポイントはドットマネーを経由する&lt;/h4&gt;

&lt;p&gt;ハピタスからのポイント変換で数％ポイントアップキャンペーンを何度か開催している。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://d-money.jp/"&gt;&amp;#x30C9;&amp;#x30C3;&amp;#x30C8;&amp;#x30DE;&amp;#x30CD;&amp;#x30FC; - &amp;#x624B;&amp;#x6570;&amp;#x6599;&amp;#x7121;&amp;#x6599;&amp;#x3067;&amp;#x73FE;&amp;#x91D1;&amp;#x30FB;&amp;#x30AE;&amp;#x30D5;&amp;#x30C8;&amp;#x5238;&amp;#x30FB;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x306B;&amp;#x304A;&amp;#x5F97;&amp;#x306B;&amp;#x4EA4;&amp;#x63DB;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;たとえば今は3%増量キャンペーンをやっている。また、ドットマネーから先の変換についても、たとえばnanacoにすると数％アップなどのキャンペーンを定期的にやっているため、ハピタスから直接
Amazonギフト券に交換するよりお得。&lt;/p&gt;

&lt;p&gt;一時期あったdポイントへの25%（うろ覚え）増量キャンペーンは激アツだった。docomoの回線持ちだと、dポイントを電子マネーのiDで使える。iDは街中のほかに、Amazonでも使えるので、Amazonの買い物が25%アップで出来るという超お得祭りだった。私は残念ながらdocomo回線を持っていないので、通常のdポイントカードをもらってきて、通常のdポイント理容としてローソンや高島屋で使っている。dポイントをローソンお試し商品に引き替えると更にお得という方法もあるが、それは面倒なのであまりやっていない。お酒が安く飲めるので、お酒好きにはローソンお試し引換券が良いかもしれない。&lt;/p&gt;

&lt;h4&gt;3-1. AmazonはJACCSモール（もしくは似たようなクレジットカード提携サイト）を経由する&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://www.jaccsmall.com/about/"&gt;&amp;#x3054;&amp;#x5229;&amp;#x7528;&amp;#x30AC;&amp;#x30A4;&amp;#x30C9; - JACCS&amp;#x30E2;&amp;#x30FC;&amp;#x30EB;&amp;#xFF08;&amp;#x30B8;&amp;#x30E3;&amp;#x30C3;&amp;#x30AF;&amp;#x30B9;&amp;#x30E2;&amp;#x30FC;&amp;#x30EB;&amp;#xFF09;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JACCSカードを持っていないと使えないが、&lt;b&gt;Aamzonで購入時もポイントが付く&lt;/b&gt;。
Amazonギフト券での購入に対してもポイントが付くのが注目点。&lt;/p&gt;

&lt;h4&gt;3-2. ちょうど良いクレジットカード提携サイトがない場合にはJMB(JAL マイレージバンク)を経由する&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://partner.jal.co.jp/jmb/partner/feature/200186/"&gt;Amazon.co.jp &amp;#x7279;&amp;#x96C6;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Amazonでの購入でもポイントが付く&lt;/b&gt;数少ないサイト。
Amazonギフト券の購入でもポイントが付く。
Amazonにしか使わないとすると、交換可能ポイントまでがやや高めなのが難点。&lt;/p&gt;

&lt;h3&gt;生活系&lt;/h3&gt;

&lt;h4&gt;4. フレッツメンバーズクラブ&lt;/h4&gt;

&lt;p&gt;フレッツ光に入っている人は問答無用で入るべき。
毎月100ポイント貯まり、1ポイント単位でＮＴＴ東日本サービスの料金支払いに利用できる。
3年目以降は300ポイント貯まる。
つまり、年間で通信費が3600円安くなる。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://members-club.flets.com/pub/pages/about/"&gt;&amp;#x30D5;&amp;#x30EC;&amp;#x30C3;&amp;#x30C4;&amp;#x5149;&amp;#x30E1;&amp;#x30F3;&amp;#x30D0;&amp;#x30FC;&amp;#x30BA;&amp;#x30AF;&amp;#x30E9;&amp;#x30D6;&amp;#x3068;&amp;#x306F;&amp;#xFF5C;&amp;#x30D5;&amp;#x30EC;&amp;#x30C3;&amp;#x30C4;&amp;#x5149;&amp;#x30E1;&amp;#x30F3;&amp;#x30D0;&amp;#x30FC;&amp;#x30BA;&amp;#x30AF;&amp;#x30E9;&amp;#x30D6;&amp;#xFF5C;&amp;#x30D5;&amp;#x30EC;&amp;#x30C3;&amp;#x30C4;&amp;#x516C;&amp;#x5F0F;&amp;#xFF5C;NTT&amp;#x6771;&amp;#x65E5;&amp;#x672C;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;オンラインストレージサービスもなにやら書いてあるが、それはどうでもよい。&lt;/p&gt;

&lt;h4&gt;5. MASTクラブ&lt;/h4&gt;

&lt;p&gt;MSATのアパートに住んでいる人限定だが、家賃1,000円につき1ポイントがたまり、住み替えや不動産の購入に充てることが出来る。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mast-club.jp/service/point.do"&gt;MAST&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x30B5;&amp;#x30FC;&amp;#x30D3;&amp;#x30B9; | MAST&amp;#x30AF;&amp;#x30E9;&amp;#x30D6;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ほかにも色々小技はあるのだが、タイトルに5つと書いてしまったので今日はここまで。
また、ほかの方法は手間に対してメリットがあまりないものも多い。今回挙げた5つは、手間が少ないかリターンが大きいかのどちらかを載せた。&lt;/p&gt;

&lt;p&gt;買い物系ポイントサイトは手間だが、生活のほとんどをネットショップに依存する場合にはかなりの還元が期待できる。&lt;/p&gt;
</content>        
        <category label="特価" term="特価"/>
        
        <category label="雑記" term="雑記"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/f2fe1bca6de9e56ceb5bbb76b632aa4dcb70b5d9/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fblog.foto.ne.jp%2Ffree%2Fimages%2Fmny0008-001_w420.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>スマートウォッチは丸形が良い？Moto360 Gen2を数ヶ月使ったメモ</title>
        <link href="https://denpa-shinbun.com/entry/moto360"/>
        <id>hatenablog://entry/10328749687188528328</id>
        <published>2017-01-05T21:58:58+09:00</published>
        <updated>2017-01-05T21:58:58+09:00</updated>        <summary type="html">スマートウォッチのMoto360 Gen2を使い始めて、五ヶ月ほどが経過した。 購入した発端は今まで使っていた普通の腕時計を紛失したことで、次はスマートウォッチにしようと決めていた。 予想より早く購入することになってしまったが、特に不自由なく使えている。 電池持ちについて これは充電しているときの写真である。無接点充電で、時計本体にはMicroUSBケーブルを刺す穴はない。 電池持ちは悪い。だが、当初から悪いと予想していたので、思っていたよりはだいぶ長持ちする印象を持っている。 当初のイメージでは、朝に充電しても夜にはほぼギリギリ、家まで果たして持つのか！？という状況になるだろうと思っていた。…</summary>
        <content type="html">&lt;p&gt;スマートウォッチのMoto360 Gen2を使い始めて、五ヶ月ほどが経過した。&lt;/p&gt;

&lt;p&gt;購入した発端は今まで使っていた普通の腕時計を紛失したことで、次はスマートウォッチにしようと決めていた。
予想より早く購入することになってしまったが、特に不自由なく使えている。&lt;/p&gt;

&lt;h3&gt;電池持ちについて&lt;/h3&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161009/20161009120959.jpg" alt="f:id:mczh:20161009120959j:plain" title="f:id:mczh:20161009120959j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;これは充電しているときの写真である。無接点充電で、時計本体にはMicroUSBケーブルを刺す穴はない。&lt;/p&gt;

&lt;p&gt;電池持ちは悪い。だが、当初から悪いと予想していたので、思っていたよりはだいぶ長持ちする印象を持っている。&lt;/p&gt;

&lt;p&gt;当初のイメージでは、朝に充電しても夜にはほぼギリギリ、家まで果たして持つのか！？という状況になるだろうと思っていた。&lt;/p&gt;

&lt;p&gt;実際には、1.5日は持つ。朝出かけて、家に帰るまでには十分に余裕がある。&lt;/p&gt;

&lt;h3&gt;ウォッチフェイスが楽しい&lt;/h3&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161009/20161009120715.jpg" alt="f:id:mczh:20161009120715j:plain" title="f:id:mczh:20161009120715j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161009/20161009120728.jpg" alt="f:id:mczh:20161009120728j:plain" title="f:id:mczh:20161009120728j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161009/20161009120736.jpg" alt="f:id:mczh:20161009120736j:plain" title="f:id:mczh:20161009120736j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161009/20161009120749.jpg" alt="f:id:mczh:20161009120749j:plain" title="f:id:mczh:20161009120749j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;AndroidWearを選ぶ利点は、見た目が変えられて楽しいことである。実際には無難なデザインのものに落ち着くが、日によって変えたり、イベントのときにはイベントにあわせたウォッチフェイスにカスタマイズするのも楽しい。&lt;/p&gt;

&lt;p&gt;正直なところ、腕時計は時計としての機能だけならほとんど不要な代物だと思っていて、世間的に時計に求められているのはステータスだったりデザイン性だったりだと思うが、デザイン性で言えばスマートウォッチは自由自在であり、その人のセンス次第で格好良くも可愛くも出来る。&lt;/p&gt;

&lt;p&gt;ところで、痛スマートウォッチとか、推しアイドルスマートウォッチとか、担当スマートウォッチとか流行りそうなものだが、まだあまり見たことがない。&lt;/p&gt;

&lt;h4&gt;形状について&lt;/h4&gt;

&lt;p&gt;円形か四角か、というのはスマートウォッチを選ぶときのポイントだと思うが、どうせスマートウォッチでの操作などほとんどしないのである。四角の方が操作しやすいのは目に見えているが、上記のようにデザイン重視で丸形を選んだ。
実際、通知を見るぐらいで、アプリをスマートウォッチに入れて操作するなんてことはまったくしていない。&lt;/p&gt;

&lt;h3&gt;厚さ、重さ&lt;/h3&gt;

&lt;p&gt;気になるかと思っていたが、案外気にならない。もうひとつ大きいサイズの盤面もあり、そちらは電池持ちがより良いので悩んだが、今のサイズがギリギリ許容できる大きさに思えるので、小さいサイズにして良かった。&lt;/p&gt;

&lt;h3&gt;使い道&lt;/h3&gt;

&lt;p&gt;すでに書いたが、いわゆる腕時計として使うのと、あとはメールやLINE通知の確認程度である。&lt;/p&gt;

&lt;p&gt;盤面が自由なので、デジタル盤を大きめに表示すると時間がとてもわかりやすい。天気の表示や予定の表示など、情報もいろいろ表示できるが、実際には天気予報はあまり見ない。予定の表示は案外便利で、時計を見て予定を思い出すこともある。&lt;/p&gt;

&lt;p&gt;地味に便利なのが、スマートフォンの発見機能で、よく部屋の中でスマートフォンを行方不明にしてしまうので、スマートウォッチを操作してスマホのベルを鳴らすことでスマホ捜索をしている。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B014UMHGU0/mczh-22/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51DVn7C8rVL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B014UMHGU0/mczh-22/" target="_blank" &gt;【第２世代】Moto 360 2nd Gen 2015 Smart Watch スマートウォッチ 腕時計 Android Wear iPhone対応 (42mm ブラック) [並行輸入品]&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; Motorola     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;最近はウェアラブルという言葉も古くブームが来る前に過ぎてしまった感があるが、そろそろGoogleが謹製のスマートウォッチを出すという噂もある。身の回りに情報機器が増えてくると夢が広がるので、是非盛り返して欲しいと思う。&lt;/p&gt;
</content>        
        <category label="Android" term="Android"/>
        
        <category label="Review" term="Review"/>
        
        <category label="雑記" term="雑記"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/fc9c6f5813c9a227412b8ef6a3db8746ce194b03/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20161009%2F20161009120736.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>RaspberryPiでハムスター監視システムを作ろう 完成編</title>
        <link href="https://denpa-shinbun.com/entry/hamster-motion"/>
        <id>hatenablog://entry/10328749687203235558</id>
        <published>2017-01-03T19:37:58+09:00</published>
        <updated>2017-01-03T19:37:58+09:00</updated>        <summary type="html">denpa-shinbun.com 構成 なるべくインスタントな作りにしようとしたため、Dropboxを使う。 機材は、 赤外線LED 1,280円と、LED用電源ケーブル 990円と、 【光量センサー付き】赤外線補助照明 ＬＥＤ４８灯posted with カエレバ Broadwatch Broadwatch ACアダプター（DC12V/1A）[PSE対応] 外径5.5φ(内径2.1φ)、センタープラスposted with カエレバ Broadwatch 赤外線WEBカメラ 1,398円と、 ノーブランド品 赤外線対応WEBカメラposted with カエレバ いろいろハウス 元から持っ…</summary>
        <content type="html">&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-trable-rasberry-pi" title="ハムスター監視システム RaspberryPiのトラブル対処編 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-trable-rasberry-pi"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h3&gt;構成&lt;/h3&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170103/20170103192200.png" alt="f:id:mczh:20170103192200p:plain" title="f:id:mczh:20170103192200p:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;なるべくインスタントな作りにしようとしたため、Dropboxを使う。&lt;/p&gt;

&lt;p&gt;機材は、
赤外線LED 1,280円と、LED用電源ケーブル 990円と、&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00KOESDRY/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/41Bh%2BDsbU-L._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00KOESDRY/mczh-22/ref=nosim/" target="_blank" &gt;【光量センサー付き】赤外線補助照明　ＬＥＤ４８灯&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; Broadwatch     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00AJDAOMW/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/41iu7pTXyDL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00AJDAOMW/mczh-22/ref=nosim/" target="_blank" &gt;Broadwatch　ACアダプター（DC12V/1A）[PSE対応] 外径5.5φ(内径2.1φ)、センタープラス&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; Broadwatch     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;赤外線WEBカメラ 1,398円と、&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00L28TX02/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/31xMIfovYZL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00L28TX02/mczh-22/ref=nosim/" target="_blank" &gt;ノーブランド品　赤外線対応WEBカメラ&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; いろいろハウス     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;元から持っていたRaspberryPi(5,780円)である。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01CSFZ4JG/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="https://images-fe.ssl-images-amazon.com/images/I/51VjLI5XftL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01CSFZ4JG/mczh-22/ref=nosim/" target="_blank" &gt;Raspberry Pi3 Model B ボード＆ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; TechShare     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;元から持っていたRaspberry Piを除けば、4600円ぐらいで監視システムが構成できた。&lt;/p&gt;

&lt;p&gt;Raspberry Piを加えれば、おおよそ10000円ぐらい。
RaspberryPiは他にも汎用的に使えることが多々あるので便利である。たとえば温度や湿度の管理もやろうとすれば同じRaspberryPiで構築できる。&lt;/p&gt;

&lt;h4&gt;motion&lt;/h4&gt;

&lt;p&gt;ストリーミングと動画ファイルの作成にはmotionを使う。
Raspberry Piにmotionをyumでインストールし、daemonの有効化と、ストリーミング設定と、動きがあったときに動画ファイルを保存する設定を有効にする。
設定ファイルは、
/etc/motion/motion.conf
にある。&lt;/p&gt;

&lt;h4&gt;Dropboxへのアップロード&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/andreafabrizi/Dropbox-Uploader"&gt;GitHub - andreafabrizi/Dropbox-Uploader: Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox, an online file sharing, synchronization and backup service.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;のスクリプトをcloneしてくる。&lt;/p&gt;

&lt;p&gt;Dropboxのアプリケーション設定をブラウザであらかじめしておき、トークンやらなにやらを取得しておく。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://raspi.seesaa.net/article/415316808.html"&gt;Raspberry Pi&amp;#x3067;Dropbox&amp;#x306B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x305F;: Raspberry Pi&amp;#x3067;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x307F;&amp;#x305F;&lt;/a&gt;のアクティベーションを参照する。&lt;/p&gt;

&lt;p&gt;セットアップの注意点としては、motionユーザで設定する必要がある点である。
sudo -u motion ./dropbox_uploader.sh
で、motionユーザのセットアップをしておく。&lt;/p&gt;

&lt;h4&gt;motionからアップロードする&lt;/h4&gt;

&lt;p&gt;アップロード用のスクリプトを作る&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;&lt;span class="synComment"&gt;#!/bin/sh&lt;/span&gt;

&lt;span class="synIdentifier"&gt;FN&lt;/span&gt;=&lt;span class="synPreProc"&gt;$1&lt;/span&gt;
&lt;span class="synIdentifier"&gt;AVI&lt;/span&gt;=&lt;span class="synPreProc"&gt;${FN&lt;/span&gt;&lt;span class="synStatement"&gt;%&lt;/span&gt;.*&lt;span class="synPreProc"&gt;}&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;.avi&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="synIdentifier"&gt;TARGET&lt;/span&gt;=&lt;span class="synSpecial"&gt;`date &lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synConstant"&gt;+%Y%m%d-%H%M%S&lt;/span&gt;&lt;span class="synStatement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="synSpecial"&gt;`&lt;/span&gt;.avi
/home/pi/Dropbox-Uploader/dropbox_uploader.sh upload &lt;span class="synPreProc"&gt;$AVI&lt;/span&gt; &lt;span class="synPreProc"&gt;$TARGET&lt;/span&gt;
&lt;span class="synStatement"&gt;rm&lt;/span&gt; &lt;span class="synPreProc"&gt;$AVI&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;このファイルのフルパスを、motion.confのon_movie_endに指定する。&lt;/p&gt;

&lt;h3&gt;まとめ&lt;/h3&gt;

&lt;p&gt;以上で、リアルタイム監視と、ハムスターに動きがあった場合にDropboxにアップロードする仕組みが完成した。
夜中の何時に起きて何時に寝ているのか、回し車はちゃんと回しているか、など健康チェックが出来るので非常に助かっている。&lt;/p&gt;

&lt;p&gt;時間が出来たら、実際の動画ファイルをこの記事に載せておこう。&lt;/p&gt;

&lt;p&gt;これは動画ではなく、携帯で撮ったどアップな写真
&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20170103/20170103193455.jpg" alt="f:id:mczh:20170103193455j:plain" title="f:id:mczh:20170103193455j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;
</content>        
        <category label="キンクマハムスター" term="キンクマハムスター"/>
        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/fb93ef102cfcf0a3e10d06d59f45bb2e57470af8/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20170103%2F20170103193455.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>motionのstreamingが見られなくなっていたら自動で再起動させる方法</title>
        <link href="https://denpa-shinbun.com/entry/curl--healthcheck"/>
        <id>hatenablog://entry/10328749687199362333</id>
        <published>2016-12-16T20:23:38+09:00</published>
        <updated>2016-12-16T20:23:38+09:00</updated>        <summary type="html">RaspberryPiでハムスター監視カメラを常駐させているが、たまにwebページが見られなくなっている。 当初はpsコマンドで監視すれば良いと思ったのだがうまくいかなかったので、代替案としてcurlを使う。 cronで定期的にcurlを実行してwebページへアクセスし、返り値がおかしかったら再起動させる。 以下のようなコードを用意して、 # healthchecker.shとして保存する #! /bin/sh curl localhost:8081 RET=$? if [ $RET -ne 0 ] ; then sudo shutdown -r now fi sudo crontab -e …</summary>
        <content type="html">&lt;p&gt;RaspberryPiでハムスター監視カメラを常駐させているが、たまにwebページが見られなくなっている。
当初はpsコマンドで監視すれば良いと思ったのだがうまくいかなかったので、代替案としてcurlを使う。&lt;/p&gt;

&lt;p&gt;cronで定期的にcurlを実行してwebページへアクセスし、返り値がおかしかったら再起動させる。&lt;/p&gt;

&lt;p&gt;以下のようなコードを用意して、&lt;/p&gt;

&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;&lt;span class="synComment"&gt;# healthchecker.shとして保存する&lt;/span&gt;

&lt;span class="synComment"&gt;#! /bin/sh&lt;/span&gt;
curl localhost:&lt;span class="synConstant"&gt;8081&lt;/span&gt;
&lt;span class="synIdentifier"&gt;RET&lt;/span&gt;=&lt;span class="synPreProc"&gt;$?&lt;/span&gt;
&lt;span class="synStatement"&gt;if [&lt;/span&gt; &lt;span class="synPreProc"&gt;$RET&lt;/span&gt; &lt;span class="synStatement"&gt;-ne&lt;/span&gt; &lt;span class="synConstant"&gt;0&lt;/span&gt; &lt;span class="synStatement"&gt;]&lt;/span&gt; ; &lt;span class="synStatement"&gt;then&lt;/span&gt;
    sudo shutdown &lt;span class="synStatement"&gt;-r&lt;/span&gt; now
&lt;span class="synStatement"&gt;fi&lt;/span&gt;
&lt;/pre&gt;




&lt;pre class="code lang-sh" data-lang="sh" data-unlink&gt;sudo crontab &lt;span class="synSpecial"&gt;-e&lt;/span&gt;

&lt;span class="synComment"&gt;# 以下を追加する&lt;/span&gt;
*/&lt;span class="synConstant"&gt;10&lt;/span&gt; * * * * /home/pi/Dropbox-Uploader/healthchecker.sh
&lt;/pre&gt;


&lt;p&gt;これで10分おきに生存確認されて、死んでいたら再起動がかかる。&lt;/p&gt;

&lt;p&gt;以上、簡単だがTILとして投稿&lt;/p&gt;
</content>        
        <category label="TIL" term="TIL"/>
        
        <category label="shell" term="shell"/>
        
        <category label="Linux" term="Linux"/>
        
        <link href="https://ogimage.blog.st-hatena.com/6653586347154552133/10328749687199362333/1481948160" length="0" rel="enclosure" type="image/png"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ハムスター監視システム RaspberryPiのトラブル対処編</title>
        <link href="https://denpa-shinbun.com/entry/hamster-trable-rasberry-pi"/>
        <id>hatenablog://entry/10328749687196262856</id>
        <published>2016-11-27T21:31:42+09:00</published>
        <updated>2016-11-27T21:31:42+09:00</updated>        <summary type="html">denpa-shinbun.com 監視システムはとりあえず作ったのだけど、いろいろトラブって疲れたのでまとめるのは後日にする…… 体重測定の図。グラフを表示するサイトも作りたい。 RaspberryPiのトラブルメモ トラブルはメモしておくと後日役立つので、簡単に書いておく。 NASにしていたRaspberryPiの外付けUSB HDDを外すと起動しなくなった 以前にSpinDownするように書いたscriptをinit.rc（だっけ？）に記載していたのだが、エラー処理が雑だったため先に進まなくなっていた。 当初はブート画面を見ていると、mntやsambaが死んでいたのでそちらを疑っていたが…</summary>
        <content type="html">&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster--raspberrypi-plan" title="RaspberryPiでハムスター監視システムを作ろう 計画編 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster--raspberrypi-plan"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;監視システムはとりあえず作ったのだけど、いろいろトラブって疲れたのでまとめるのは後日にする……&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161127/20161127212622.jpg" alt="f:id:mczh:20161127212622j:plain" title="f:id:mczh:20161127212622j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;体重測定の図。グラフを表示するサイトも作りたい。&lt;/p&gt;

&lt;h3&gt;RaspberryPiのトラブルメモ&lt;/h3&gt;

&lt;p&gt;トラブルはメモしておくと後日役立つので、簡単に書いておく。&lt;/p&gt;

&lt;h4&gt;NASにしていたRaspberryPiの外付けUSB HDDを外すと起動しなくなった&lt;/h4&gt;

&lt;p&gt;以前にSpinDownするように書いたscriptをinit.rc（だっけ？）に記載していたのだが、エラー処理が雑だったため先に進まなくなっていた。&lt;/p&gt;

&lt;p&gt;当初はブート画面を見ていると、mntやsambaが死んでいたのでそちらを疑っていたが、そちらはタイムアウトに時間がかかっていただけで、処理は進んでいた。&lt;/p&gt;

&lt;p&gt;ちなみに、マウント処理は/etc/fstabに書いていた。OSが起動しないとマウントしないように編集するのもできないので、microsdを取り外して別のLinuxマシンでマウントして編集する必要がある。今回は仮想マシンVMWareで編集した。
マウントは、dmesgで場所（/dev/sdd2など）を確認して、mountコマンドでマウントし、umountコマンドでアンマウントする。unmountじゃなくてumount。&lt;/p&gt;

&lt;h4&gt;RaspberryPi3のWiFiが繋がらない&lt;/h4&gt;

&lt;p&gt;3から標準搭載になった無線LANだが、古いバージョンを使っていると、無線LANのチャンネル11（？）までしか対応していないらしい。バージョンをあげると13chまで使える。ちなみに5GHz帯は未対応。また、raspi-configでWiFiの設定をアメリカなどにしていると、電波法か何かの関係で使えないチャンネルがあるので、ちゃんと日本設定にしておく。&lt;/p&gt;

&lt;h4&gt;固定IPにならない&lt;/h4&gt;

&lt;p&gt;新しいOSバージョンでは、固定IPの設定を書く場所が/etc/network/interfacesではなくなった。/etc/dhcpcd.confに記載する。とても迷惑な話である。&lt;/p&gt;

&lt;p&gt;なんだかわからずにOSをいれなおしたりして散々だった。&lt;/p&gt;

&lt;p&gt;次もはまりそうなので、設定ファイルや設定手順はだいたいscript化してGitで管理していたものに色々追加しておいた。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-motion" title="RaspberryPiでハムスター監視システムを作ろう 完成編 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-motion"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
</content>        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="キンクマハムスター" term="キンクマハムスター"/>
        
        <category label="TIL" term="TIL"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/c90090dfeb00ac93bc63cbc4b0e11c69284ab656/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20161127%2F20161127212622.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>RaspberryPiでハムスター監視システムを作ろう 計画編</title>
        <link href="https://denpa-shinbun.com/entry/hamster--raspberrypi-plan"/>
        <id>hatenablog://entry/10328749687195683509</id>
        <published>2016-11-24T20:47:13+09:00</published>
        <updated>2016-11-24T20:47:13+09:00</updated>        <summary type="html">うちに来て2週間強のキンクマハムスターさんだが、夜中にどれぐらい動いているのか気になる。 また、いつか旅行に行くときにちゃんと活動しているかを観察できるようにしておきたい。 というわけで、夜に暗い中で動いているハムスターを監視できるシステムを作っておきたい。 デュナマルティ（ケージ）の掃除中に別の砂場ケージに待避してもらったキンクマハムスターの図 やりたいこと 外部から非公開のライブストリーミングで見られること 動きがあったら録画できること 録画ファイルはオンラインストレージにアップロードできること 暗所での撮影ができること 電気代が多くかからないこと 一度作ったことのある、Raspberry…</summary>
        <content type="html">&lt;p&gt;うちに来て2週間強のキンクマハムスターさんだが、夜中にどれぐらい動いているのか気になる。
また、いつか旅行に行くときにちゃんと活動しているかを観察できるようにしておきたい。&lt;/p&gt;

&lt;p&gt;というわけで、夜に暗い中で動いているハムスターを監視できるシステムを作っておきたい。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161124/20161124204401.jpg" alt="f:id:mczh:20161124204401j:plain" title="f:id:mczh:20161124204401j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;
デュナマルティ（ケージ）の掃除中に別の砂場ケージに待避してもらったキンクマハムスターの図&lt;/p&gt;

&lt;h3&gt;やりたいこと&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;外部から非公開のライブストリーミングで見られること&lt;/li&gt;
&lt;li&gt;動きがあったら録画できること&lt;/li&gt;
&lt;li&gt;録画ファイルはオンラインストレージにアップロードできること&lt;/li&gt;
&lt;li&gt;暗所での撮影ができること&lt;/li&gt;
&lt;li&gt;電気代が多くかからないこと&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;一度作ったことのある、RaspberryPiと赤外線カメラとmotionアプリを使った方法で実現するのが良さそうだ。
あるいは、ちゃんとOpenCVで作るかも考えたが、そっち方面はもう勉強しても使うことがあまりなさそうなので、実用性重視でmotionでさっと作ってしまおう。&lt;/p&gt;

&lt;h3&gt;だいたいこんな感じにしよう&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;RaspberryPiに安い赤外線カメラをつなげる。&lt;/li&gt;
&lt;li&gt;赤外線カメラをハムスターケージの上に設置する。&lt;/li&gt;
&lt;li&gt;motionアプリでstreaming配信＆録画をする。&lt;/li&gt;
&lt;li&gt;motionアプリから呼ぶスクリプトで録画ファイルをDropboxにアップロードする。&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;懸念点&lt;/h3&gt;

&lt;h4&gt;赤外線はハムスターに有害ではないか？&lt;/h4&gt;

&lt;p&gt;ハムスターは赤外線を見ることが出来ないらしいので、少なくとも眩しいと感じることはない。問題ないはず。&lt;/p&gt;

&lt;h4&gt;外部に公開してセキュリティは大丈夫か？&lt;/h4&gt;

&lt;p&gt;まずはDropboxへのアップロードのみとする。一通りのセキュリティ対策を調査後にストリーミングを行う。&lt;/p&gt;

&lt;p&gt;運用として、ほかのデータは置かないRaspberryPiにする（NASにしているRaspberryPiとは別にする）&lt;/p&gt;

&lt;p&gt;常にストリーミングをするのではなく、自分が家にいないときだけストリーミングするようにして、ストリーミングに自分の映像が映らないようにする？&lt;/p&gt;

&lt;h3&gt;買うものリスト&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;赤外線USBカメラ&lt;/li&gt;
&lt;li&gt;RaspberryPi3&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;ひとまず、現在手元にあるものを流用し、現実的に遣い続けたいものとなった場合は追加購入する。&lt;/p&gt;

&lt;h3&gt;いつやるの？&lt;/h3&gt;

&lt;p&gt;次の土日かな……。実は勤労感謝の日にやろうとしたが、ポケモンで忙しかったので進んでいない。
環境だけでも作ろうかと思い無線LANの設定をしたら失敗したらしく、SSH出来なくなってしまったのでUSBキーボードとHDMIケーブルをひっぱりだしてくるのがめんどくさすぎて放置してしまった。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-trable-rasberry-pi" title="ハムスター監視システム RaspberryPiのトラブル対処編 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-trable-rasberry-pi"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
</content>        
        <category label="Programming" term="Programming"/>
        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="キンクマハムスター" term="キンクマハムスター"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/89d0011be5604208acab388945584e31a29c1185/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20161124%2F20161124204401.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ハムスターの体重測定とひきこもり</title>
        <link href="https://denpa-shinbun.com/entry/hamster-hikikomori"/>
        <id>hatenablog://entry/10328749687195287496</id>
        <published>2016-11-21T20:26:30+09:00</published>
        <updated>2016-11-21T20:26:30+09:00</updated>        <summary type="html">denpa-shinbun.com はじめての体重測定 おおよそ二週間ほどがたち、ぼちぼち慣れてきた印象があったため、体重測定をしてみた。タッパーを小屋に入れ、ハムスターが入ってきたところを計量器に移動した。 2016/11/20（約二ヶ月） 60.5g そろそろ成長期も終盤だと思うが軽い。 キンクマハムスターは成体で80-120gぐらいと聞くから、まだ大きくなるだろうか。成長期はタンパク質多めが良いとのことなので、タンパク質含有率が高めのペレットと、二日に一度乾燥ササミを少量あげてみている。ペット用ニボシも買ってきてみたのだが、これはぜんぜん食べてくれなかった。 あげているペレット タンパク…</summary>
        <content type="html">&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-day6" title="ハムスターを飼おう 6日目の様子 温度調整器具と暖突の導入 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-day6"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h3&gt;はじめての体重測定&lt;/h3&gt;

&lt;p&gt;おおよそ二週間ほどがたち、ぼちぼち慣れてきた印象があったため、体重測定をしてみた。タッパーを小屋に入れ、ハムスターが入ってきたところを計量器に移動した。&lt;/p&gt;

&lt;p&gt;2016/11/20（約二ヶ月） 60.5g
&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161121/20161121081004.jpg" alt="f:id:mczh:20161121081004j:plain" title="f:id:mczh:20161121081004j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;そろそろ成長期も終盤だと思うが軽い。
キンクマハムスターは成体で80-120gぐらいと聞くから、まだ大きくなるだろうか。成長期はタンパク質多めが良いとのことなので、タンパク質含有率が高めのペレットと、二日に一度乾燥ササミを少量あげてみている。ペット用ニボシも買ってきてみたのだが、これはぜんぜん食べてくれなかった。&lt;/p&gt;

&lt;h3&gt;あげているペレット&lt;/h3&gt;

&lt;h4&gt;タンパク質が多めのペレット&lt;/h4&gt;

&lt;p&gt;ニッパイのハムスターフード、通称デカペレ。とても大きい。これは頬袋に入らないらしく、口に加えて小屋に持って行っているのを見かけた。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B003KFC3A2/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="http://ecx.images-amazon.com/images/I/41Oanlb2tpL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B003KFC3A2/mczh-22/ref=nosim/" target="_blank" &gt;フィード・ワン ハムスターフード ハードタイプ 1kg&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; フィード・ワン     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;そのほかに量の調整がしやすいので小さいペレットも与えている。
イースターのハムスターセレクション、通称ハムセレ。
こちらはタンパク質も含まれているが、デカペレよりは含有率が低い。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002DQ8E1G/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="http://ecx.images-amazon.com/images/I/51tvL1N95ML._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002DQ8E1G/mczh-22/ref=nosim/" target="_blank" &gt;イースター ハムスターセレクション 400g&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; イースター     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;h3&gt;トイレ掃除&lt;/h3&gt;

&lt;p&gt;トイレもそろそろ洗いたかったので、水洗い（というかお湯）で洗った。砂を新しくし、その後に臭い付けのために前のトイレ砂を少しだけ戻した。&lt;/p&gt;

&lt;h3&gt;光を遮る&lt;/h3&gt;

&lt;p&gt;深夜はひたすら回し車を回し続けているが、なんだかどんどん起きる時間が遅くなっている。
昼間は人がいないが電気をつけて、夜には消すようにしているが、布があったほうが明るさ制御がしやすい。
今まで上にかぶせていた布が小さく半面ほどしか囲えていなかったので、ユザワヤで安い布を買ってきて、夜の電気が入らないように、でも空気は流れるように隙間を少し空けて被せておいた。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161123/20161123231330.jpg" alt="f:id:mczh:20161123231330j:plain" title="f:id:mczh:20161123231330j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;わかりにくいが、茶色いのが被せている布で、その下にハムスターケージが隠れている。
この写真では隙間を空けず、布を全面にかぶせている。&lt;/p&gt;

&lt;h3&gt;ひきこもりに……&lt;/h3&gt;

&lt;p&gt;これらをいっぺんにしてしまったのが良くなかったのか、餌をすべてほお袋に詰め込み、小屋に引きこもってしまった……。一度に大量の環境変化をさせてはいけなかったと反省する。&lt;/p&gt;

&lt;p&gt;朝に見たところ、少なくとも補充した餌がなくなっており、トイレも使った形跡があるので、小屋でトイレをしているわけではなさそう。でも、回し車を回していたかはちょっと怪しい。&lt;/p&gt;

&lt;p&gt;今夜は出てきてくれると良いけど……&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161121/20161121202456.jpg" alt="f:id:mczh:20161121202456j:plain" title="f:id:mczh:20161121202456j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;追記:今夜は出てきた&lt;/h3&gt;

&lt;p&gt;今のとこ餌もその場で食べていて、すべてお持ち帰りはしていない。回し車も回してはいる。だが、最初期の爆走に比べるとゆっくりに見える。&lt;/p&gt;
</content>        
        <category label="キンクマハムスター" term="キンクマハムスター"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/209b8dab75f406d3a7fb3e9211cf2d928cb884ad/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20161121%2F20161121202456.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ハムスターを飼おう 6日目の様子 温度調整器具と暖突の導入</title>
        <link href="https://denpa-shinbun.com/entry/hamster-day6"/>
        <id>hatenablog://entry/10328749687194213137</id>
        <published>2016-11-13T18:39:25+09:00</published>
        <updated>2016-11-13T18:39:25+09:00</updated>        <summary type="html">denpa-shinbun.com 軽く指を噛まれる エサを手からあげていたら指に興味を持ったようで、そのままカプリとやられた。 あんまり痛くはなかったが、そのまま強められても困るのでゆっくりと離れさせた。 焦らず慣らしていかないとダメなようだ。 六日目の動画 眠そうにエサを食べるキンクマハムスター 土日で見ていたが、昼間もたまに起きてトイレに行ったり、餌を食べに出てきたりする。 昼間の眠そうな様子をYouTubeにあげてみた。BGMがでかいかも……。 暖房器具の追加 寒さ対策にと注文していた商品がようやく入荷されたようで、暖突Mサイズとサーモスタットが届いた。 暖突は上から暖めるタイプのヒー…</summary>
        <content type="html">&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-day4-5" title="ハムスターを飼おう 4-5日目の様子 ハムスターとプログラミング - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-day4-5"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h3&gt;軽く指を噛まれる&lt;/h3&gt;

&lt;p&gt;エサを手からあげていたら指に興味を持ったようで、そのままカプリとやられた。&lt;/p&gt;

&lt;p&gt;あんまり痛くはなかったが、そのまま強められても困るのでゆっくりと離れさせた。&lt;/p&gt;

&lt;p&gt;焦らず慣らしていかないとダメなようだ。&lt;/p&gt;

&lt;h3&gt;六日目の動画&lt;/h3&gt;

&lt;iframe width="420" height="315" frameborder="0" allowfullscreen="" src="//www.youtube.com/embed/T7_RJ3053RU"&gt;&lt;/iframe&gt;


&lt;p&gt;&lt;br&gt;&lt;a href="https://youtube.com/watch?v=T7_RJ3053RU"&gt;眠そうにエサを食べるキンクマハムスター&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;土日で見ていたが、昼間もたまに起きてトイレに行ったり、餌を食べに出てきたりする。
昼間の眠そうな様子をYouTubeにあげてみた。BGMがでかいかも……。&lt;/p&gt;

&lt;h3&gt;暖房器具の追加&lt;/h3&gt;

&lt;p&gt;寒さ対策にと注文していた商品がようやく入荷されたようで、暖突Mサイズとサーモスタットが届いた。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182032.jpg" alt="f:id:mczh:20161113182032j:plain" title="f:id:mczh:20161113182032j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;暖突は上から暖めるタイプのヒーター。通常は暖かい空気は上に向かって行ってしまうが、特殊な構造か何かで下に温度を伝えられるらしい。ハムスターは風を嫌うので、温風を送る仕組みじゃないのは嬉しい。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B005J939HI/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="http://ecx.images-amazon.com/images/I/414pNVOQkqL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B005J939HI/mczh-22/ref=nosim/" target="_blank" &gt;みどり商会 暖突 M&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; みどり商会     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;だが、暖突は暖める機能のみで、温度調整まではしてくれない。&lt;/p&gt;

&lt;p&gt;そこで、温度を測って調整する器具を追加する。それがサーモスタットだ。今回は、小動物用と書いてあったミニマルサーモを購入した。Amazonのタイトルは鳥用となっているが説明は小動物も含まれる。&lt;/p&gt;

&lt;p&gt;温度を測って、指定した温度を超えている場合には電源供給を止める仕組みだ。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01489P2XS/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="http://ecx.images-amazon.com/images/I/51fwewXGWPL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B01489P2XS/mczh-22/ref=nosim/" target="_blank" &gt;マルカン ミニマルサーモ 鳥用 HD-1&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; マルカン     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;h4&gt;外観&lt;/h4&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182142.jpg" alt="f:id:mczh:20161113182142j:plain" title="f:id:mczh:20161113182142j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182111.jpg" alt="f:id:mczh:20161113182111j:plain" title="f:id:mczh:20161113182111j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;スケール感は上記の写真のように、デュナマルティ（ケージの商品名）の上部金網のだいたい半分をカバーする。&lt;/p&gt;

&lt;p&gt;ただし、この撮影後に気がついたのだが、この向きだと蓋が閉められない。ダントツは横向きにつける必要がある。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182041.jpg" alt="f:id:mczh:20161113182041j:plain" title="f:id:mczh:20161113182041j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;ミニマルサーモの温度を測る部分はこのように吸盤になっている。ハムスターの手が届かない高さにつけよう。&lt;/p&gt;

&lt;h4&gt;ケージへの取り付け&lt;/h4&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182124.jpg" alt="f:id:mczh:20161113182124j:plain" title="f:id:mczh:20161113182124j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;横につけると良い感じのサイズ感だ。&lt;/p&gt;

&lt;p&gt;この写真は仮止めしたときなので、二カ所しかビス留めしていないが、このあとに四カ所ちゃんと固定した。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182059.jpg" alt="f:id:mczh:20161113182059j:plain" title="f:id:mczh:20161113182059j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;サーモスタットもこのように。ちょっと吸盤が剥がれそうで怖い。&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182152.jpg" alt="f:id:mczh:20161113182152j:plain" title="f:id:mczh:20161113182152j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;デュナマルティだと、ちょうどよくケーブルが通るだけの隙間があるため、ケージに穴を開ける必要はなかった。素晴らしい。&lt;/p&gt;

&lt;p&gt;良いケースだ、デュナマルティ。&lt;/p&gt;

&lt;div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B007VAPP9S/mczh-22/ref=nosim/" target="_blank" &gt;&lt;img src="http://ecx.images-amazon.com/images/I/31Ie%2BCl7KbL._SL160_.jpg" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="kaerebalink-info" style="line-height:120%;/zoom: 1;overflow: hidden;"&gt;&lt;div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B007VAPP9S/mczh-22/ref=nosim/" target="_blank" &gt;イタリアferplast社製　モルモット・うさぎ用ケージ 　デュナマルティ&lt;/a&gt;&lt;div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;posted with &lt;a href="http://kaereba.com" rel="nofollow" target="_blank"&gt;カエレバ&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="kaerebalink-detail" style="margin-bottom:5px;"&gt; イタリアferplast     &lt;/div&gt;&lt;div class="kaerebalink-link1" style="margin-top:10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="booklink-footer" style="clear: left"&gt;&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161113/20161113182135.jpg" alt="f:id:mczh:20161113182135j:plain" title="f:id:mczh:20161113182135j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;最後に電源を繋ぎ、サーモスタットの温度調整を確認する。&lt;/p&gt;

&lt;p&gt;20-25℃くらいが良いだろうと思うが、サーモスタットの設置位置が高め＆そこまで温度計測が厳密ではないので、何度にしておこうか悩む。とりあえず22℃付近にしておいた。&lt;/p&gt;

&lt;p&gt;これで冬対策は完了。真冬を乗り越えよう。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-hikikomori" title="ハムスターの体重測定とひきこもり - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-hikikomori"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
</content>        
        <category label="キンクマハムスター" term="キンクマハムスター"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/daca3a292bfef73af5c276556d921772ca626762/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20161113%2F20161113182059.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
    
    
    <entry>
        <title>ハムスターを飼おう 4-5日目の様子 ハムスターとプログラミング</title>
        <link href="https://denpa-shinbun.com/entry/hamster-day4-5"/>
        <id>hatenablog://entry/10328749687193982293</id>
        <published>2016-11-12T10:59:15+09:00</published>
        <updated>2016-11-12T10:59:15+09:00</updated>        <summary type="html">denpa-shinbun.com TECHブログ目指してるの忘れてない？ とりあえずハムスター連続更新は長くて一週間の様子までの予定。 ハムスター関連で、プログラミング周りでいくつかやってみたいこともある。 旅行に行くときに備えて、自動餌やり機とか水の殺菌とかをArduinoかRaspberryPiを使ってやる 監視システムの構築 Railsで体重管理サイトを作る 温度管理 ハムスターの健康に気を使いつつ、勉強も出来て一石二鳥感あるが、感電などの事故を起こさないように気をつけることになりそうだ。 三日目の様子 餌をあげよう さらに比率を変えてみて、ペレット8g、ミックスフード2g。ペレットは…</summary>
        <content type="html">&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-day3" title="ハムスターを飼おう 3日目の様子 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-day3"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;

&lt;h3&gt;TECHブログ目指してるの忘れてない？&lt;/h3&gt;

&lt;p&gt;とりあえずハムスター連続更新は長くて一週間の様子までの予定。&lt;/p&gt;

&lt;p&gt;ハムスター関連で、プログラミング周りでいくつかやってみたいこともある。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;旅行に行くときに備えて、自動餌やり機とか水の殺菌とかをArduinoかRaspberryPiを使ってやる&lt;/li&gt;
&lt;li&gt;監視システムの構築&lt;/li&gt;
&lt;li&gt;Railsで体重管理サイトを作る&lt;/li&gt;
&lt;li&gt;温度管理&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;ハムスターの健康に気を使いつつ、勉強も出来て一石二鳥感あるが、感電などの事故を起こさないように気をつけることになりそうだ。&lt;/p&gt;

&lt;h3&gt;三日目の様子&lt;/h3&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161111/20161111231459.jpg" alt="f:id:mczh:20161111231459j:plain" title="f:id:mczh:20161111231459j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="https://cdn-ak.f.st-hatena.com/images/fotolife/m/mczh/20161111/20161111231510.jpg" alt="f:id:mczh:20161111231510j:plain" title="f:id:mczh:20161111231510j:plain" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;餌をあげよう&lt;/h3&gt;

&lt;p&gt;さらに比率を変えてみて、ペレット8g、ミックスフード2g。ペレットは残しているが、食べてはいるみたい。&lt;/p&gt;

&lt;p&gt;四日目は怖がらなければ手から餌を与えてみても良いとされているので、手にひまわりの種、ニンジン、ミックスフードなどを置いて試してみた。しばらく待つと、ひまわりの種とミックスフードは回収しにきた。人参は近寄って来ず。&lt;/p&gt;

&lt;p&gt;餌入れのニンジンもなかなか捌けないので、あまり好きじゃないのかも。&lt;/p&gt;

&lt;p&gt;それ以外は3日目と特に変わらず。&lt;/p&gt;

&lt;p&gt;今日は初の土曜日で人が部屋にいる状態だが、どうやら8時くらいに寝始めるらしいことがわかった。&lt;/p&gt;

&lt;h3&gt;砂浴び&lt;/h3&gt;

&lt;p&gt;寝起きはトイレを掘っていることが多い気がする。ケージは広いし、固まらない焼き砂で砂浴び場を作ってあげてもいいのかも。ひとまずは今の環境に慣らしのが優先で、一週目以降に検討しよう。&lt;/p&gt;

&lt;p&gt;&lt;iframe src="http://denpa-shinbun.com/embed/hamster-day6" title="ハムスターを飼おう 6日目の様子 温度調整器具と暖突の導入 - ちぎっては投げるブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"&gt;&lt;/iframe&gt;&lt;cite class="hatena-citation"&gt;&lt;a href="http://denpa-shinbun.com/entry/hamster-day6"&gt;denpa-shinbun.com&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
</content>        
        <category label="RaspberryPi" term="RaspberryPi"/>
        
        <category label="キンクマハムスター" term="キンクマハムスター"/>
        
        <link href="https://cdn.image.st-hatena.com/image/scale/72a27a8424496a757dc9e724df4863cffbae9fd0/backend=imagemagick;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmczh%2F20161111%2F20161111231510.jpg" length="0" rel="enclosure" type="image/jpeg"/>

        <author>
            <name>mczh</name>
        </author>
    </entry>
    
  
</feed>