OpenShift mongodb ちょっと覚書(MongoDBカートリッジとか)
OpenShiftにNodeJSとMongoDBを入れて動かしている。で、直接DBにデータをつっこみたいけどうまく行かない。puttyで繋いでmongoと打っているけど、それで見えるdbとNodeJSから見えるdbが違うっぽい。
OpenshiftでMongoDBへの接続を行う場合はこういう宣言でOK。
mongo_url = process.env.OPENSHIFT_MONGODB_DB_URL;
Mongoは検索条件の指定とかもJSONだから、とったデータをそのまま検索条件にも出来る。SQLの組み立てがいらないのはなんか楽。
取得件数はこうやって数える。
Model.find().exec(function (err, results) {
var count = results.length
});
OpenShiftで1つのログだけ見たいときはこのコマンド。
rhc tail -f app-root/logs/nodejs.log -a myAppName
Mongoose全般についてはこのサイトで勉強しました。
WebHookの穴のふさぎ方。
日本に戻ったらどうしよう。 読書メモ。
日本に戻ってからの生活をどうするか妻と話をした。子どもが2人いて、私の収入が多くないので共働き、妻と子供は妻の実家に暮らして、単身赴任という形もやむなし、と考えていた。なんか追い詰められているような気持ちになりながら本を読んでいたら、考えるきっかけになる文章があったので、これを糧になんとか新しい生活を構想していきたい。
ニーズとは、欠乏やという意味からきている。私の現在の状態を、こうあってほしい状態に対する不足ととらえて、そうではない新しい現実をつくりだそうとする構想力を持ったときに、はじめて自分のニーズとは何かがわかり、人は当事者になる。ニーズはあるのではなく、つくられる。ニーズをつくるというのは、もうひとつの社会を構想することである。
僕が思う「哲学」というものは、この隅田公園と隅田川河川敷が実は違う管轄で、それによって警察の動き方や行政の動き方が変わることを理解し、自分のくらす場所を獲得するという行為そのものである。彼は匿名していた「土地」を名のある大地として再認識した。つまり、レイヤー間をジャンプし、サバイブすることに成功したのだ。
その「考える」行為。匿名化した社会システムレイヤーの裂け目、空間のほつれを認識し、そこにたそうなレイヤーが存在していることを知覚し、ジャンプし、独自のレイヤーを作成する行為。
これが 「生きる」である。
なんか本を読んでて繋がった気がしたのでメモ。
テロリストと人権活動家の共通点
先日ちょっと縁があって、人権活動のNGOについての話を聞かせてもらった。するとテロリストと似ているところがあるなと思ったのでその顛末を書く。
最近IS関連のニュースで取り上げられるのはその通信手段。以前は世界の各地から中東のIS支配地域に渡航し、トレーニングを受けて、各国に戻る。そして、テロを実行する。それが最近は、それぞれの国にいたままIS構成員の指導を受けて、テロを実行するとか。その際にIS構成員とのやり取りは盗聴されないようにしているとか。
一方で人権活動家は各国政府から監視されることが多く、盗聴などの対策を取っている。2段階認証のメールを使ったり、もろもろ対策を講じるとのこと。
と考えると、通信の面ではテロリストと人権活動家は似ていると言える。それもそのはず、どちらも反体制という意味では一緒だからだ。そう考えるとテロリストの手口に人権活動の進め方や他の活動の進め方のヒントが得られるかもしれない。
例えば、遠隔でトレーニングを施すとか、NGOや国際協力でももっと活用出来るはず。インターネットはどんどん普及しているので、各国語で学ぶ環境、英語を学ぶ環境を整えれば変化を生み出せるかも。
Messenger botでメニューを作る。
Android Studio のUSBドライバインストール。メモ。
アンドロイドデベロッパーのサイトに分かりやすいサイトがあったのでメモ。
OpenShift でLineBotを作る。(PHP)
OpenShiftで、Lineボットを作った。
つかったのは、TinySDKの方のEchoBotサンプル。
通常版のSDKのEchoBotのサンプルはSlimを使っていて、
OpenShift上でポートのListenがうまく行かなかったので断念。
まずは、サーバーソフトのnginxとは、最近メジャーなwebサーバーで、Apacheより多くのリクエストをさばくことができるらしい。ただ、Apacheよりも元の機能は少ないらしい。PHPについていうと、別のプロセスで実行されているものをソケットで呼び出すという形で呼び出すことになるそうだ。
このカートリッジからnginxをインストール。
LineBotSDKではPHP5.6以上が必要らしいので、 同じ人のPHPカートリッジを追加する。あ、でもTinySDKなら普通のPHPカートリッジで良いかも。
そのあと、上記のLineBotSDKに載っているEchoBotのサンプルを展開する、とオウム返ししてくれる。
ちょっと勉強になったので、もろもろリンク集を載せておく。
以下は、通常版のSDKに一緒に載っているEchoBotを構築する際の試行錯誤のメモ。構成としては、nginx+PHP+Slimフレームワークで、きれいな気がする。
OpenShiftでデプロイしたファイルはこんな感じで展開される。ディレクトリをたぐって、composerを実行して、依存性を解決する?
いや、多分↑はやり方を間違えている。OpenShiftはComposerを利用する場合にMarkerと言われるファイルを作成すると利用出来るようになるらしい。ただ、まだうまく行っていない、、、。
ComposerはOpenShiftで使えるはずだが、うまく構成出来ていないとログに、autoload.phpが読み込めないというエラーが出る。
Slimフレームワークについての説明はこちらのサイトが詳しい。
OpenShift上でnginxサーバーでPHPのSlimで動かすようにしたいが、設定が終わったと思って動かしたら、ゲートウェイエラーが返ってきた。
OpenShiftカートリッジで、上手くエントリポイントの設定が出来ていない。サンプルでは最後にこんなコマンドを実行して、待ち受けを開始する。
php -S 0.0.0.0:8080 -t public
が、OpenShiftでは権限エラーとなるので、別の方法で開始する必要がある。