Un nouveau monde parfumé

香り立つ備忘録

node.js with nvm with systemd

先のこたつ記事の補足というか何というか

サラッと Hubot を常駐と書きましたが、当然そのサービスの自動起動には systemd を使いたいですね? 使いたいですね? 使いましょう。

systemd 氏は実行ユーザーなんかも指定できるわけですが、環境変数の設定までは面倒を見てくれないので、そのへんをやっていく必要があります。

nvm でインストールしたお好きなバージョンの node で Unit ファイルを書くと、おおよそ次のような感じになります。

[Unit]
Description=Hoge
Requires=network.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/path/to/application
User=<user>

Environment=ENV=production

ExecStart=/home/<user>/.nvm/versions/node/<version>/bin/node <mainfile>.js

[Install]
WantedBy=multi-user.target

kotatsubot の場合は次のようになっています。

/etc/systemd/system/kotatsubot.service

[Unit]
Description=KotatsuBot
Requires=network.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/kotatsu/kotatsubot
User=kotatsu

Restart=always
RestartSec=10

Environment=PATH=/home/kotatsu/.nvm/versions/node/v6.9.1/bin HUBOT_SLACK_TOKEN=hogehoge

ExecStart=/home/kotatsu/kotatsubot/bin/hubot --name kotatsubot -a slack -l kotatsu

[Install]
WantedBy=multi-user.target

Note that, ExecStart の1つめの実行ファイル名に記述できるのはフルパスのみです。$PATH も見てくれないし変数も展開してくれない。甘えるな。.js はフルパスじゃなくて良いの だって WorkingDirectory してるから

/usr/local/nvm なんかにシステムワイドに nvm をインストールしている場合もほぼ同じ方法が取れるはずです。

この方法だと nvm の設定によらずバージョンが固定されてしまうじゃないかという議論*1はあるのですが、僕はむしろ実行バージョンが固定されない方がヤなのでこの方法をとっています。あと ExecStart からラッパースクリプト呼ぶの好きじゃないんですよね(原理主義)。bin/hubot だってラッパーじゃないかと言われると返す言葉がありませんが。

なんなら bin/hubot に1行 . /home/user/.nvm/nvm.sh と書き足すのもいいかと思います。

以上、よき systemd ライフを。

Internet of こたつ

現代日本において必需の暖房器具とされているこたつ。皆さんのご家庭にもこたつは実装されているものと思います。

f:id:pikatenor:20161205234255p:plain (Figure.1 こたつ)

皆さんこのような経験はありませんでしょうか。

「一日中こたつのスイッチ入れっぱなしで外出してしまい電気代がマッハ」
「家に帰ったら即あったかいこたつにスライドインしたい」

今回はそのような問題の解決を目指すべく、インターネットに繋がったこたつを作りました。
猫も杓子もアイオオティーの時代です。流行りには乗っていきましょう。

遅くなりました。こちらは klis Advent Calendar 2016 6日目の記事、klis14のかみかみがお送りします。

続きを読む

ご報告

以前エントリした「ガールズ&パンツァー 劇場版」を12回観た話の記事ですが、その後

を積み増しているので本日現在までの最終的な(劇場での)視聴回数は15回になります。

以上です。

続きを読む

クリスマスまでに彼女を作る

文脈です。

というわけで、スケジューリングをしました。

クリスマスを納品日と考えて、今日からプロジェクト開始です。やっていきましょう。

f:id:pikatenor:20160920011208p:plain

作っておいてなんなんですが、彼女づくりには不確定要素が多く、スケジューリングはあくまで目安として実際の開発ではアジャイルに柔軟に対応していくと双方にとり良い結果が生み出せると思います。

頑張って下さい。

「ガールズ&パンツァー 劇場版」を12回観た話

こんばんは。「ガールズ&パンツァー 劇場版」、観てますか。僕は観てます。

この記事を読んでくださっている皆さんはガルパンについてはよくご存知だと思うので詳細な説明は省きますが、ともあれ公開27週目にしてめでたく全国153館での再上映が決定し、いよいよ明日から*1上映が始まります。

僕はといえば、今年の頭にTVシリーズを一気見して劇場に吶喊して以降ドハマりしてしまい、また音響に力を入れていることで知られる立川にあるシネマシティの「極上爆音上映」に行って以降、劇場ごとの音響の違いを楽しむことの良さに気付き、あちこちの劇場を回り、気づけば10回以上も観る羽目になってしまいました。 それでも観るたびに劇場ごとの個性に感動し、新たな発見をし、「今回が最高だった」という気持ちになるのがガルパンです。

今回は自分なりにメモっていた感想を公開したいと思います。全ての劇場が再上映対象という訳ではありませんが、劇場選びの一助になれば幸いです。 ネタバレはありませんが、ちょくちょく劇中の用語を出すので視聴前提の文章ではあります。

★は完全に気分なので、目安程度にしてください。

おしながき

  1. MOVIXつくば
  2. シネマ・ツー b studio
  3. シネマ・ツー a studio
  4. シネプレックス水戸
  5. USシネマつくば
  6. 塚口サンサン劇場
  7. シネマサンシャイン平和島 imm sound シアター
  8. シネマサンシャイン平和島 4DXシアター
  9. イオンシネマ幕張新都心 ULTIRA上映
  10. シネマサンシャイン平和島 imm sound(2回目)
  11. USシネマパルナ稲敷
  12. シネマ・ツー a studio (新)

*1:書いているうちに今日になってしまった

続きを読む

新年の抱負

2016年が始まってから40時間ちょっと経った気がします。新年あけましておめでとうございます。

今年は見逃し三振を無くそうと思います。よろしくお願いします。

見逃し三振 【みのがし-さんしん】

必須課題未提出やテストに出席せず単位を落とすこと