2015-02-14(土) [長年日記]
■ 湘南T-SITEに行ってきた
かみさんの希望で、最近よく話題になってる湘南T-SITEへ行ってきた。うちからだと車で1時間くらい。蔦屋書店を中心とした商業施設で、モールというよりセレクトショップの集合体っぽい感じ? 代官山にあるヤツの藤沢版か。
着いたのが午後なかばで、話題になってるから混んでるかなと身構えていたけど待たずにすぐ入れた。Panasonicの工場跡地みたいで、隣接する新しい住宅街がみんな太陽電池を屋根に載せたパナホーム製で笑ってしまった。雰囲気が画一的で、アメリカの郊外住宅地みたい(ただし家の間隔はギチギチで庭はない)。
まずはなにか食べようということで、カフェに入った。店はずいぶんオシャレなつくりだけど、ティータイムセットのセットドリンクの種類は少ないし、コーヒーについてきたミルクがスジャータだったりして、顧客体験としては安っぽい感じになってる。パンケーキと、かみさんが頼んだ鯖のサンドイッチは美味かったけど。
肝心の本屋は、テーマに沿った本とその関連商品を並べて売るというスタイル。やたらと食べ物に関するコーナーが広くて、日本人どんだけ食にこだわってんだと思った。それこそ以前楽天で間違い購入が続出したという石垣島のラー油とその本を並べて売ればいいのにと思ったけどみあたらなかった。
そんな感じなのでラインナップはライフスタイル系に偏っていて、逆にフィクションがほとんどない。かみさんと「そういえばマンガがない」と会話した直後にすれ違った親子が「パパ、マンガないの?」って話してて悲しくなったり*1。並んでいるのは写真多めで単価の高いビジュアルブックばかりという印象。マンガもラノベもない本屋なんてなぁ。まぁ、スタバとAppleが入ってることからして、そういうのを良しとする層がターゲットなのは明らかだけど。
あっ、菜の花がある!! これは+1。小田原に勤務してたときはしょっちゅう土産にしていたひいきの菓子屋だけど、最近はずいぶんごぶさただ。(たぶん)ここでしか買えない「焼きモンブラン」を買って帰った。うまい。
あたりまえだけど、あらゆる店舗で「Tカード持ってるか」と聞かれる(笑)。残念だがもう解約したもんね。こんなライフスタイルを晒すような施設でTカード使いまくったら何を吸いだされるかわかったもんじゃないよなー、怖い怖い。
というわけで、本は一冊も買わずに出てきたのだった(パンと洗剤を買った←なに)。
そういえば、新しい場所なので車載ナビは頼りにならないと思い、スマホでGoogle Mapsに案内させて往復したけど、新しい道が(藤沢周辺だけでなく)かなりあって、びっくりした。そういえばもう10年も前の地図なんだよな、これ。このありさまだと、ナビを頼りに運転するとかなり損することになる。ナビを買い換えるか、地図を新しくするか。もう、スマホ前提のカーオーディオでいいんだけどなー。ラジオとBluetoothだけついてて、あとはいい感じのスマホホルダ(+充電用USB端子)があるような製品、ないかね。
*1 マンガコーナーがないだけで、テーマに沿った単品ではポツポツある。が、このマンガ大国の標準からすれば極端に少ない。
2015-02-10(火) [長年日記]
■ オリンパスのOPCがぜんぜんオープンじゃなくてがっくり
数日前に「アプリで楽しむ一眼画質、オープンプラットフォームカメラ「OLYMPUS AIR A01」を発売」というオリンパスのニュースリリースを読んで、マイクロフォーサーズのユーザとしては待ちに待った製品の登場だ! と色めきたった。思えば昨年のRubyKaigi 2014でSONYのデジカメにはAPIがあってネットワーク越しに操作できるという話を聞いて、かなり羨ましかったからだ。同じことがオリンパスのカメラでできるなら願ったりだ。しかも手持ちの交換レンズが使えるわけだし!
で、さっそくOPCプロジェクトのサイトからSDKをダウンロードして、マニュアルを読んで愕然としてしまった。iOSとAndroid用のバイナリとリファレンスしか入ってないの。FAQにも書いてあったけど、PCから制御するためのSDKは提供しておりませんだって。えー!?
これみよがしに「オープンプラットフォーム」なんて書いてあるから、当然RESTfulな Web APIがあるもんだと思ってたよ。先行するSONYのAPIが、いちいちそんなこと書いてなくてもちゃんとJSON-RPCなリファレンスマニュアルを公開しているのと比べて、なにこの腰の引け具合。おまけにSDKをダウンロードするだけなのにメールアドレスまで聞いてくるし(SONYは【もちろん】聞いてこない)。
リバースエンジニアリングを禁止してるから、事実上スマホからブラックボックスなAPI経由で操作するしかないわけで、こんなレベルで堂々と「Hack」とか書かないで欲しいわ。あー、心底がっかりした。いっそカメラもSONYに乗り換えちゃおうかしら。
2015-02-07(土) [長年日記]
■ Heroku上のtDiaryを運用する
さて、インストールができてデータ移行もできたら、次は運用である。運用つっても多岐にわたるけど、とりあえずはシステムのアップデートとバックアップができればいいだろう。
tDiaryのアップデート
追記: 本記事を書いたときはHeroku専用ブランチである「herokuブランチ」を利用してたが、最新版では「masterブランチ」を使えるようになっているので書き換えた。スクリーンショットは「heroku」のままなので読み替えてほしい。
Herokuボタンでできるのは初期インストールまでで、その後のアップデートまではサポートしてくれない。HerokuにはGitHub連携機能があって、指定したGitHubリポジトリの更新をフックして自動的にデプロイしてくれるんだけど、これ自分のリポジトリじゃないとダメなので、tDiaryの公式リポジトリを監視しておくわけにはいかない。
というわけで、うまいことやるためにちょっとひと工夫することにした。少し内部に踏み込んで説明するとこんな感じ:
- 公式リポジトリのforkを自分のリポジトリに作る
- そのリポジトリでGitHub連携を有効にする
- 任意のタイミングで公式リポジトリの差分を自分のリポジトリへのPull Request (PR)にする
- そのPRをマージするとGitHub連携が動いてシステムが更新される
3と4が実際のアップデート手順になるんだけど、やってみるとけっこう面倒な上に間違えそうなので、この部分をtDiaryのプラグインにして、設定画面でポチっとやるだけで済むようにした。
ではその手順。まずはtDiaryの公式リポジトリへアクセスして、右上にある「Fork」ボタンをクリック。これで自分のアカウントにコピーができる。
続いて、この「自分のID/tdiary-core」という名前のリポジトリをHerokuに監視してもらう。Herokuにアクセスして、Herokuボタンで作ったtDiaryアプリの設定へ。「Deploy」タブをクリックすると「Heroku Git」「GitHub」「Dropbox」が並んでいるので、中央の「GitHub」をクリック:
一番下に「Connect to GitHub」ボタンが出るのでクリックすると、GitHubのIDとリポジトリを選択する場面になるので、自分のIDと「tdiary-core」を選んで認証する。と、Automatic deploysとManual deployという項目が現れる:
Automatic deploysの方の設定を先にしておく。ドロップボックスからmasterブランチを選択してから「Enable Automatic Deploys」ボタンを押せば設定完了。
これだけでは何も起こらないので、続いてまずは手動でアップデートする。Manual deployの横にあるブランチの選択を「master」にしてから「Deploy Branch」ボタンをクリック。あとはデプロイが進んでいくのを眺めていればよい。
これでtDiaryが最新版になったので、tDiaryの設定に移り、プラグイン選択へ。新たに「system_update.rb」が増えているはずなので、これを有効にすると「基本」の中に「システム更新」が増えている。これをクリック:
GitHub access tokenとGitHub user nameの2つを入力する。access tokenはGitHub SettingsのApplicationsで生成できる。「Personal access tokens」から「Genrate new token」で40文字の英数字列ができるのでそれをコピーすればOK。
ようやく各種設定が終わったぞ、ぜえぜえ。あとは「システムを更新」のチェックボックスを入れてから「OK」を押すと、さきほど書いた手順が裏で走って、forkした自分のリポジトリが公式リポジトリに同期する。……とはいえさっき最新にしたばかりなので、いまは何も起こらない。tDiaryの最新版がリリースされたタイミングで実行してみて欲しい。
テストで何度かやってみたけどさ、なんつーか、ボタン押すだけでシステムが最新になるの、まるでWindows Updateならぬ「tDiary Update」て感じで、自分で作って自分で感動してしまったよ(笑)。すごいのはHerokuとGitHubなんだけど。
バックアップ
最後はバックアップ。Herokuで動作しているtDiaryは、残しておくべきデータをすべてMongoDBに入れているので、これをダンプすればバックアップになる。
Herokuのアプリ管理画面からResourceに入り、MongoLabをクリックするとDB管理ページになる:
「Backup」という文字が見えるのでクリックすると、バックアップの方法を選べる説明が出てくる(が、これは有料。でもone-timeは安いのでこれ使うのもいいと思う)。自力でバックアップを取りたいひとは「Tools」をクリックするとコマンドラインからMongoDBのバックアップ/リストアをする方法が読めるのでそれを使いましょう。ちなみにtDiary.Netではデイリーで過去3日分のバックアップをとってる。
というわけで、日記を運用するにはこれで十分かな。Enjoy!
◆ aroma [>PCから制御するためのSDKは提供しておりませんだって。えー!? えーと、この件についてですがね・・・ h..]
◆ ただただし [まぁ、そりゃそうですよねw 期待薄目で待ってます~。情報ありがとうございました!]