ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

ブルーグリーンデプロイと些細なデプロイ

アプリをDocker化してそれをもってブルーグリーンデプロイできれば良いなあって妄想している。

ただ、設定ファイルのちょっとした変更だけで全部入れ替えになるのはどうなんだろう。ファイル配って再起動で終わりにしたい気分のときもあるだろう。 そういうときどうするんだろうね。。。。?

って発想が出てくるのはビルドをしない言語を使ってるからかもしれない。ビルドを基本とする言語を使っていれば、ちょっとした変更でもビルドが必要となるから、Dockerのリビルドは気にならないのかも知れない。 そういうことですかね。。。?どうなんでしょ?

Dockerをどっかーんと入れたい

けど、どうしたものか。

てのはありつつも、開発環境の構築フローが楽になるというメリットはすごいので、なんとか諸問題クリアしたい。 というかこれではざっくりしすぎなので、もう少し深掘りしたい。

現在の問題についても深掘りしたい。

GitHubのデプロイキーの管理みんなどうしてるの?

GitHubにはデプロイキーがあって、こいつがあれば、特定のレポジトリをpullできたりcloneできたりするわけですが、こいつの管理ってみんなどうしてるんでしょうか?

例えば退職者とか、悪意がある人がいたとして、デプロイキーとレポジトリのURIさえ知っていれば、レポジトリを社外に持ち出せてしまうわけですよね?

定期的にデプロイキーを更新するという手もあるかと思います。ただ、そればベストとは思えなくてどうしたらうまく回るのかなと迷い中の今日この頃。

不満の対処

人間だもの何かしら不満があるのは仕方ない。

不満が出たときの行動はだいたい以下の三つだと思う。

  • 不満を解消する(改善)
  • 不満を受け入れる(受容)
  • 不満を遠ざける(逃避)

とりあえず、どれかの行動を取れないかまず考えてみよう。

、、、、 自身でなんとかできる不満事項なのにぐだぐだ文句を言い続けて、何もしないのを見ていて余り気分良くないなって思いながら、この記事書いてた。

エンジニアとしての停滞

1年前とか2年前はわりかしブログとかTwitterでも技術系のことを書いていたのに、ここ最近ほぼ書かなくなった。勉強会とかも参加しなくなった。

これは、別の趣味に時間とお金を取られていたのが大きなところではある。ただ、エンジニアリングに対するモチベーションが下がっていたからこそ別の趣味に力を入れていたという側面もある。

こうして、(エンジニア的には)怠惰に1年過ごしたわけだが、ここで得たものは焦燥感しかない。技術的成長がほぼなかった(実感として)、新しめやトレンドの技術をほぼキャッチアップできてないそういう状況が目に見えて分かってきたのである。

1年のビハインドどうやって取り戻すか。これから考えているところ。少なくともこれ以上停滞するとエンジニア的には死しかない。

この焦燥感をバネに動くのは今しか無い。これはそういう決意表明的なメモです。

Ubuntu16.04でtimezoneを変えたい

久しぶりにブログ書くな。

masasuzu.hatenablog.jp

上記記事、これあんまりよくなくて、Ubuntu的にはこう変えるのが良い。

UbuntuTime - Community Help Wiki

echo "Asia/Tokyo" > /etc/timezone
dpkg-reconfigure --frontend noninteractive tzdata

ただ、Ubuntu 16.04だとこれうまく変わってくれないので timedatectl を使ってあげる必要がある。

timedatectl set-timezone Asia/Tokyo

こんな感じですね。

root@lab:~# timedatectl status
      Local time: Thu 2017-02-09 14:42:40 JST
  Universal time: Thu 2017-02-09 05:42:40 UTC
        RTC time: Thu 2017-02-09 05:42:40
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
root@lab:~# timedatectl set-timezone Australia/Adelaide
root@lab:~# timedatectl status
      Local time: Thu 2017-02-09 16:12:44 ACDT
  Universal time: Thu 2017-02-09 05:42:44 UTC
        RTC time: Thu 2017-02-09 05:42:44
       Time zone: Australia/Adelaide (ACDT, +1030)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
root@lab:~# timedatectl set-timezone Asia/Tokyo
root@lab:~# timedatectl status
      Local time: Thu 2017-02-09 14:42:54 JST
  Universal time: Thu 2017-02-09 05:42:54 UTC
        RTC time: Thu 2017-02-09 05:42:54
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

MySQLクライアントでパスワードを指定するいくつかの方法

MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.1.2.1 パスワードセキュリティーのためのエンドユーザーガイドライン

ここの通りなんだけど。

コマンドラインで指定

簡単だけど、セキュアじゃないですね。コマンドラインヒストリーに残る場合もあるし。

-pの後にスペースを入れないのがポイント

mysql -u USER -pPASSWORD

プロンプトで入力

一般的な方法ですね。

mysql -u USER -p

設定ファイルから読み取る

~/.my.cnfを作っておくとそこから設定を読み取ってくれます。パスワード情報は他のユーザから読み取られないようにパーミッションを気を付けておくと良いでしょう。 (でも平文のパスワードをファイルで保存するのは良い手ではないです。

cat > ~/.my.cnf <<...
[client]
user=USER
password=PASSWORD
...

chmod 600 .my.cnf

mysql

環境変数から読み取る

この方法はpsコマンドでパスワードが他のユーザから見られてしまう可能性があるので基本的には使ってはいけません。

MYSQL_PWD=PASSWORD mysql -u USER