@kotyのブログ

PythonとかAWSとか勉強会のこととかを、田舎者SEがつづります。記事のライセンスは"CC BY"でお願いします。

OS稼働中に/tmpの内容が消える現象への対処

追記:消されて困るものをそんな所に置くなというご意見はおっしゃる通り。今回は、~/var/run ディレクトリを作ってそこに移して対応した。

追記終わり

CentOS7およびAmazon Linux2 での話。ubuntu server でどうかは知らん。

OS再起動時に/tmpがクリアされる認識はあったが、OS稼働中に/tmpの内容が消える事象が発生した。

直接の事象は supervisord.confで

[unix_http_server]
file=/tmp/supervisor.sock   ; (the path to the socket file)

と設定しているときに、supervisorctl コマンド実行時に supervisor.sock が見つからずに失敗するというもの。 supervisord をrestartすれば済んでいたのでしばらく放置していた。

よくよく調べると、 systemd-tmpfiles-clean.timer なるsystemdのデーモンがあり、こいつが消している模様。

$ cat /usr/lib/tmpfiles.d/tmp.conf
#  This file is part of systemd.
・・・中略・・・
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

10日過ぎたら消されるようだ。

というわけで、このtimerをdisableにするか、消されたら困るファイルは別の場所に移す対応が必要。systemdにtimerなんて機能があることを初めて知ったのだった。*1

参考:

rskmt.hateblo.jp

qiita.com

*1:常識だろと言われないかビクビクしながら書いているが、みなさんこれくらいのことは把握して使っているんだろうか

長野市ごみ収集カレンダーを新年度版データに入れ替えた

play.google.com

現在10人もの方々にお使いいただいているこのアプリのデータを2018年度版に入れ替えました。お待たせしました。待ってませんかそうですか。

一年ぶりにアプリをビルドしようとしたらビルドできず、いろいろ試行錯誤して最終的にこれで直ったっぽい。

c# - Error executing task XamlCTask- Xamarin - Stack Overflow

分かるわけない。Xamarinのつらみを感じる、というかフロント界隈は片手間ではできないことを再確認したのでありました。

残課題として、

  • 前日の夜にも通知を送ってほしいと要望をいただいている
  • 月末になると通知を消してもすぐに通知が出てきてしまう

というものがあります。後者は謎で、以下のコードなんだけど

f:id:kkotyy:20180413090707p:plain

謎です。気が向いたら調べる。

あと、Google Assistantアプリの方も対応しないと。。

第一回「Linuxのしくみ」読書会参加記録

nseg.connpass.com

読書会の新シーズンが始まりました。いつもはネタ本を決めるのにアンケートを取るのですが、今回は仲間内で決めてしまいました。これまでとうって変わって低レイヤの話です。

いつもどおり@さんに加えて、@さんも有識者として大いにウンチクを語ってもらいました。

  • strace コマンド使ったことなかった。。。実際の障害調査では処理系固有のものだったりもっと高レイヤのツールを使うことがほとんどでしょうけど、こういった手段も覚えておくと良いですね。
  • 参加者は11名でした。すごい。このまま減ることなく続けられると良いのですが。
  • おひと方は関西からの参加でした。リモートでもROMなら問題なさそう。むこうの音声が聞き取りづらかったので読んでもらうのはちょっと厳しいかも
  • 次回からは参加する方は仮想マシンか何かでLinuxを動かせる環境を用意しておいた方が良い。「Linuxのしくみ」を学ぶんだし。。

昨シーズンは後半仕事が忙しくて全然出られませんでした。今回は皆勤したいです。

nseg.connpass.com

CloudFront+ALB+nginxで静的ファイルをserve という構成におけるtrailing slashのリダイレクト問題

メモ書き。

構成としてはタイトルの通り、CloudFront + ALB + EC2 + nginx。そしてnginxで静的ファイルをクライアントに返す、という構成。

このとき、 /hoge というリクエストに対し、 /hoge/index.html を返したい場合、 nginx はいったん 301 を返して、 クライアントを/hoge/ にリダイレクトさせる。このときCloudFrontを使っていない場合は、

www.example.com/hoge → www.example.com/hoge/

というリダイレクトになる。

ところが、CloudFrontを使っていると、

www.example.com/hoge → www-example-com-xxxxxxx.ap-northeast-1.elb.amazonaws.com/hoge/

のように、ALBのURLにリダイレクトがかかる。nginx視点で見た場合、 ALBのURLで動いているように見えるためと思われる。

仕方がないので、明示的にリダイレクトを書いた。

    if ($request_uri ~ ^([^.]*[^/])$) {
        return 301 https://www.example.com$request_uri/;
    }

もっと良い方法があるように思うが。。。

追記:HostヘッダをCloudFrontで通すようにすれば良さそう。

書籍「SQLアンチパターン」読書会スペシャル を開催しました

こちらでもレポートしているので、ご覧ください。

www.wantedly.com

参加者は12名と、講師の豪華さを考えるともう少し集客したかったところです。私の宣伝が足りませんでした。。一方で、発表前後で講師も含め雑談が多く出来たのは少人数ならではだと思います。

@t_wadaさんは日本におけるテスト駆動開発の第一人者でもあります。昨秋に書籍が出たことで約10年ぶりにTDDの盛り上がりを見せています。同じ盛り上がりでも10年前との違いを聞いてみましたところ、テストコードを書く組織、書かない組織に二分されている。テストコードを書いている組織はテストコードの負債化が悩みになっている。ということでした。

和田さんはTDDのイベントも乗り気だったので、今年どこかでぜひ開催したいです。

SQLアンチパターン

SQLアンチパターン

テスト駆動開発

テスト駆動開発

謹賀新年2018

あけました。

昨年の振り返り

私については年末に風邪を引いてしまったものの、一年を通して見ると おかげさまで家族みんなが大きな病気もせず、一年を過ごせました。それだけで他に言うこともないのですが、強いて振り返ります。

子供中心の毎日

相変わらず子供中心の日々です。日々家事や育児の一端を担えてとても充実しています。長時間勤務が常態化した職場だとこうはいきません。

息子はだいぶ言葉を覚えて、会話が楽しいです。たぶん今が一番かわいいんだろうと思います。

転職三年目だった

引き続きPython, Django, AWS の案件が主でしたが、曲がりなりにも管理職を拝命し手を動かす時間はこれまでよりも減ってしまいました。その分、メンバーにいかに成果を挙げてもらうかを考えるようになりました。

担当案件は、後輩君とペアで彼にスキトラする感じで進めました。乾いたスポンジのように吸収してくれるので一緒に仕事をしていて楽しいです。

秋以降は、ちょっとだけかじったことのあるだけのvue.jsの案件に*1突っ込まれて、泣きそうになりながら圧倒的成長を遂げることができました。

何かしらのSPAフレームワークを使えるようになりたいとずっと思っていましたが、良い機会になりました。

input/output

相変わらず本はほとんど読みませんでした。4,5冊くらいだろうか。。。読書会があったのは良かったです。

ブログ記事は、発信を強化するという会社の方針にも推されて、前年までよりは割と書きました。

ポートフォリオは増えました!

長野市unofficialごみカレンダー

xamarin製のアプリです。ゴミ出し担当なので、自分用に便利に使っています。これを公開して満足して、xamarin熱は冷めてしまった。。。

長野市ゴミカレンダー

↑のアプリでも使っているデータを使った、google assistantアプリです。google home は勢いで買いました。これのhackはもう少しやりたいです。

そのた

それとvue.jsでりんごの伝票印刷アプリも作り始めたけど、進捗5% くらいで全然。。。

しかしこういったプライベートでの素振りが非常に大事だなと痛感します。いつ打席に立てと言われるか分からない。

今年の抱負

引き続き、家庭優先になる予定。。

input/output

トレンドを追うのは辛いですが、歯を食いしばって追う所存。

k8sとデータ分析の勉強に力を入れたいです。(ぼんやり)

英語もがんばります。当面はTOEIC700点が目標。

水泳関係

昨年は旅行も兼ねて佐渡のOWSに出ました。衰えは感じますが環境の良いジムに移って良い練習ができているので、何かしらの大会には出たい。今年は南の方に行きたいな~。

ことしもよろしくお願いします

健康第一で。

*1:経験者扱いで

セパレートキーボードを使い始めて8ヶ月くらい経った

同僚がキーボードを探しているらしいので、あからさまなアフィ記事を書いてみました。すんません。

amazonの購入履歴を見ると今年の4月に買っていました。

私は以下の記事を見て、買うことにしました。

kykomi.hatenablog.com

もともとHHKBを使っていたので、functionキーやカーソルキー、テンキーが無いことに違和感はありません。

胸元が開いて快適に使っています。

キーレイアウトは、スペースの横にcmdを来るようにしたのと、backspaceと\キーを入れ替えるという2点のカスタマイズをしています。

ctrl-Y(emacsの貼り付け)が片手で出来ないのが悩みです。

現場からは以上です。