GAE+独自ドメインにSSLを設定

GAE+独自ドメインSSLを設定するのにGoogle Appsが必要だったが
最近は違うようなので試してみました。

qiita.com


CSRを作るときにコマンドが必要だけど
サーバーに証明書を転送したり、設定ファイルを変更したりは必要なくて楽でした。


SSLを強制するのもapp.yamlを変更するだけでした。

- url: /.*
  script: _go_app
  secure: always

フレッツでIPv6使えるようになってた

住んでるマンションは「Bフレッツ マンションタイプ」だと思っていたら
いつの間にか「フレッツ 光ネクスト」になっていたらしい


「フレッツ 光ネクスト」が始まったころに切り替えるの大変ですみたいにNTTの人言ってたのに...


Bフレッツ ハイパーファミリータイプ」、および「Bフレッツ マンションタイプ」の「フレッツ 光ネクスト」へのサービス移行について|フレッツ公式|NTT東日本
https://flets.com/news_release/service-migration.html


ということで「IPv6アドレスを用いたインターネット接続」が使えるみたいです。


公式サイト見てもよくわからないです
サービス概要 | OCN 「フレッツ光」対応 IPv6インターネット接続
http://service.ocn.ne.jp/ipv6/access/


接続機器とか買わなくてもYAMAHAルーターIPv6 PPPoEに対応しているので、
Web設定からIPv6 PPPoEを選んでIPv6用の接続情報を入れると、ルーティングしてくれます。
ただIPv4DNS使うとAAAAレコードがフィルタされるようなので、
ルーターDNSの問い合わせ先をIPv6優先にしておくと対応サイトはIPv6で接続してくれます。


ブラウザにインジケーター入れておくとIPv6対応サイトが分かって面白いです。
googleはだいたいIPv6でつながるのかな

Intel Galileoで集めたセンサーデータをFluentd + GrowthForecastでグラフ化する

Android Bazaar and Conference 2014 Spring http://www.android-group.jp/conference/abc2014s/に参加してきました
Androidに関係のないGalileoを使った物を展示してました(^^;)


まずセンサーデータはXBeeのメッシュネットワークを使用してGalileoに送ります。
・温度センサー(LM60BIZ)は、XBeeのA/D変換を使って周期的に計測
・温度,湿度センサー(AM2321)、気圧センサー(LPS331)は、LPC812にI2Cで接続して周期的に計測
 LPC812のところをLPC810で出来ると良いなぁ



GalileoではXBeeからのデータをまとめて、JSONにしてサーバー(ConoHa VPS)に送る。
データの処理にはFluentdを使います。
1. GalileoからFluentdのhttp Input PluginにPOSTします。
2. FluentdのOutput PluginでGrowthForecastとMongoDBに送ります。


Fluentd: Open Source Log Management http://fluentd.org/
GrowthForecast - Lightning fast Graphing / Visualization http://kazeburo.github.io/GrowthForecast/


あとはGrowthForecastがいい感じにグラフにしてくれます。


BitbucketのprivateリポジトリをwerckerでさくらのVPSにデプロイ

サイトをいままでWinSCPでぽちぽち更新していたのですが、やっぱりgitにpushしたら更新されると良いですよね
なんか今風のWebサービスがあったのでhttp://wercker.com/を設定してみた

  • 今のところは無料みたい
  • Boxって環境を切り替えて、ビルドやテストもできるみたい
  • Androidアプリもビルドできる??
  • 設定を共有できる??
  • dockerがつかえる??


画面


今回の流れ
git push -> Bitbucket - git -> wercker - capistrano -> さくらのVPS(反映と再起動)


werckerの設定

boxはruby
buildでテストとか実行するらしいが今回は無しで
SSHの接続のためのkeyを作っています

box: wercker/ruby
services:
  - wercker/mysql
build:
  steps:
    - bundle-install
    - bundle-package
deploy:
  steps:
    - script:
        name: make .ssh directory
        code: mkdir -p "$HOME/.ssh"
    - create-file:
        name: write ssh key
        filename: $HOME/.ssh/id_rsa
        overwrite: true
        hide-from-log: true
        content: $WERCKER_CAP_PRIVATE_KEY_PRIVATE
    - script:
        name: set permissions for ssh key
        code: chmod 0400 $HOME/.ssh/id_rsa
    - bundle-install
    - cap

Key managementが変わったようでwebからkeyを作ることができるようになって、private keyが見れない感じに

Capistrano

Capistranoを一度も使ってなくて調べながらなんとかSSHで接続してファイルが反映されるところまではできた。
Capistrano2と3が違いすぎて辛い
rubyのサーバを再起動したいのだけど調べ中

そろそろTwitter API 1.1に対応するかーと思ったが

723.to


このページをそろそろTwitter API 1.1に対応しようと、1.1のAPIを呼んでみたらRate Limitが180とかでるのです。
今までホワイトリストに登録してもらっていたので20000とかだったのに、これだとデータの取得が全然できない。


使ってる人もいないだろうからやめてしまおうかな

キーワードの集計にMongoDBを使ってみた

PSP用に検索キーワードの共有サイトをデータベースはMySQLをつかって公開してました。
ソフトウェアキーボードで入力するよりも簡単に検索できるように
よく使われるキーワードを共有してしまうサイトです。

ウェブ検索共有サイト - PSP,PS Vita


NoSQLが流行みたいなので勉強も兼ねてMongoDBに変えて見ました。
もともとキーワードと検索種別と時間ぐらいしかデータはないのでデータ構造は簡単だけど
クエリーがPHPだと配列に詰め込む感じでちょっと始めは戸惑った

PHPからMongoDB ネイティブドライバでアクセスして
キーワードごとの集計はMapReduceをつかいました
とりあえずサーバ1台です
レプリカセットとか使ったほうがいいのかな


MongoDB
PHP: Mongo - Manual


ソニーストア 送料無料