ふり返る暇なんて無いね

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

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)

職務経歴書はGitHubにある

github.com

職務経歴書GitHubに置いてあってずっと放置してるので、そろそろちゃんと更新しないとなあって思ってる。

毎月会社で目標振り返りをしてるので、そのタイミングで更新できるのがベターなので、がんばる。

あんまり宣伝してないってのもあるけど、これ見てオファーをいただいたことは一度もなかったり。

AWSを最近触ってる

ちょっといろいろあってAWSを最近触っている。

しかしながら、基礎的な部分をあまり理解していないので、ほんのちょっとしたところにいちいちつまずいてけっこう時間を取られていたりする。なので基礎からまとまってる本が欲しいなあって思って本を取ってみた。

なんだかんだで試験本は要点がまとまってるので最初に読むには良いかなあと思って読んでる。 ホントにあっさりしか書いてないが、概要をさっとさらうにはちょうど良い本だった。

合格対策 AWS認定ソリューションアーキテクト - アソシエイト

合格対策 AWS認定ソリューションアーキテクト - アソシエイト

あ、もちろん業務で使うには全然内容足りないよ。

golangはじめました

ひょんなことからgolang書いてます。

もともとpythonスクリプト書いていたんですが、モジュールをいちいち入れなければいけないってのがネックでどうしたものかなあと考えていたところ、goで書いてバイナリを置いておけば、お手軽で良いじゃんってことで書き始めた。

せっかく新しい言語なので、今までのvimじゃなくて、なんとなくVisual Studio Codeで書いている。今のところ良さそう。

頭痛外来行ってきた

普段頭痛とかほとんどしない人なのに、4日前から後頭部右側が断続的に痛く直らないので、コレはおかしいと思い頭痛外来に行ってきた。

所見としては経過観察。 めまいとかがないので、出血系の心配は今のところ無いとのこと。

考えられる原因としては、

  • 寝不足
  • 肩こり

あたりらしい。

とりあえず、規則正しい生活を心がけてみたい。

gearmanのデフォルトポートが変わってた

Protocol [Gearman Job Server]

The Gearman protocol operates over TCP, port 4730 by default. It previously operated on port 7003, but this conflicted with the AFS port range and the new port (4730) was assigned by IANA

とのこと。 最近gearmanを新しくインストールする機会があり、aptで入れたらポート4730で立ち上がってて、gearmanのポートって7003じゃなかったっけ? ってはてと思ったのでした。

ちょっと相談があるんです。。。。いや、その前に。。

ちょっと複雑で口頭で相談したいことがらってありますよね。

でも、その前に、何について相談したいので概要レベルで事前に教えて欲しいよねって思うこと多い。 事前にまとめておいてくれると、口頭で話すときにすぐ適切な答えを出せるし、お互いの時間を有効活用出来て良いと思うんですよね。って最近よく思ってます。