ふり返る暇なんて無いね

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

AWSを歩くためのリンク

いつもどこに何があるか迷うので備忘録

リソース

オンラインセミナー

直近のイベント

インフラって

インフラって言葉はもの自体をを指してる。でも、日々業務に追われる我々はものそのものの仕組みよりそれをどう扱うかの運用の方に興味を持ってかれている。

それ自体は優先度という観点では正しい。いくらインフラそのものを知っていてもどういうときにどうすれば良いのか分からなかったらお仕事にならない。

インフラは基礎そのもので運用はいわば応用と考えることができる。最低限の基礎とその応用だけでお仕事はなんとかこなせるだろう。だが、高いレベルの仕事をするには、深い基礎への理解が必要ではないかなと。

運用に行き詰まったとき立ち返る基礎がインフラなのかな。

って、なんとなく頭の中に浮かんだことを書き連ねた。

何も推敲してないし、なんもオチはない。下手すると何の意味もない。

perlで改行をエスケープするときに16進文字コード使う理由

何気なくつぶやいたらgfxさんに教えてもらったのでメモを残しておく。

もともとLog::Minimalのコードを見てたときにタブやLF、CRをエスケープシークエンス使わずに16進コード使ってるんだろうってふと疑問に思ったのが始まりでした。 lib/Log/Minimal.pm - metacpan.org

ということで、これからは16進コード使うようにする。

2019年の抱負

そんな大層なものはないんだけど、アウトプットの量も質も足りなすぎる2018年だったので多少でも改善していきたい。

勉強会というかコミュニティにはもう少し顔を出していきたい。

1年ていうスパンは長いのでもっと短い期間の目標をおいおい決めていきたいところ。

資産運用報告会をやった

先日、元同僚と資産運用報告会という謎の飲み会をしてた。

お金の話ってなかなかできる機会少ないので良い会であった。

自分の資産運用は基本的には毎月の積み立てでやってく感じで個別株は手を出してない。 内訳はこんな感じ

月5万円の積み立てで現金預金がないのでちょっとリスキーではあることは認識してる。 まあでも、1週間以内には出金できるし特に問題ないとは思ってる。

ここで面白いのはTHEOで、AIというかロボアドバイザーの力を試してみたくなったところある。半分遊びだけど、今のところまあまあの運用成績。

もう少し余裕が出てきたら他のロボアドバイザーも試したいし、個別銘柄株も手を出してみたいところ。

そんな感じ。

半年後また資産運用報告会したいね。

AWS サービス活用資料集が便利

aws.amazon.com

知ってる人には当たり前だとは思うんですが、AWS サービス活用資料集に各種プレゼン資料があって、だいぶ便利。 各サービスの概要を知るにはかなり良いと思いまする。

今まで、調べ物するときに各サービスのドキュメントをいきなり見て、イマイチ全体像が分からないなって思うことが多かったので、 これからはまずこっちを見るようにしようかな。

Perlで気軽にorを使うと意図通りに動かないかも

問題

例えば、以下のコード、直感的には$hogeが真なら$hogeが返り、偽の場合は$fugaが返ると思いますよね?

return $hoge or $fuga;

実際には以下のように解釈され、常に$hogeが返ることとなります。

(return $hoge) or $fuga;

この問題5.20から警告が出るようになったので、気づけるのですが、それ以前だと見逃してる可能性があります。 まあ実際5.20使ってみてから問題があるコードを見つけたのですが。

perl5200delta - perl v5.20.0 での変更点 - perldoc.jp

で、これを実際にDeparseしてみるとこんな感じですね。

% perl -MO=Deparse,-print -e 'return $hoge or $fuga'
$fuga unless return $hoge;

解決策

解決方法としては、括弧使うか、||を使ってください。

return ($hoge or $fuga);

# or

return $hoge || $fuga;
% perl -MO=Deparse,-print -e 'return $hoge || $fuga'
return $hoge || $fuga;

% perl -MO=Deparse,-print -e 'return ($hoge or $fuga)'
return $hoge || $fuga;

そんな感じ。 演算子の優先度はちゃんと意識しないとね。

ついーと

apt-get installでローカルのdebをインストール出来た

docs.aws.amazon.com

このページの下記の記述を見て、apt-get installってローカルなdebもインストールできることを初めて知りました。

sudo apt-get -y install ./build/amazon-efs-utils*deb

dpkg -iと違って、apt-get installなら依存パッケージもインストールしてくれるので、より適切かと思います。

ちなみにaptitude installだとだめっぽい。

% sudo aptitude install ./build/amazon-efs-utils*deb
Couldn't find any package whose name or description matched "./build"
Couldn't find any package whose name or description matched "./build"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 88 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

sudo aptitude install ./build/amazon-efs-utils*deb  4.08s user 1.69s system 96% cpu 5.997 total

ちなみにバージョン情報はこんな感じ。

% aptitude --version
aptitude 0.7.4 compiled at Dec  9 2015 19:30:45

% apt-get --version
apt 1.2.26 (amd64)