知ってる人には当たり前だとは思うんですが、AWS サービス活用資料集に各種プレゼン資料があって、だいぶ便利。 各サービスの概要を知るにはかなり良いと思いまする。
今まで、調べ物するときに各サービスのドキュメントをいきなり見て、イマイチ全体像が分からないなって思うことが多かったので、 これからはまずこっちを見るようにしようかな。
知ってる人には当たり前だとは思うんですが、AWS サービス活用資料集に各種プレゼン資料があって、だいぶ便利。 各サービスの概要を知るにはかなり良いと思いまする。
今まで、調べ物するときに各サービスのドキュメントをいきなり見て、イマイチ全体像が分からないなって思うことが多かったので、 これからはまずこっちを見るようにしようかな。
例えば、以下のコード、直感的には$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;
そんな感じ。 演算子の優先度はちゃんと意識しないとね。
演算子の優先順位 むつかしい
— masasuzu 🍶🐫 (@masasuz) 2018年7月27日
return $aaa or $bbb; って$aaaが偽なら$bbbが返ってくると思うじゃないですか。
— masasuzu 🍶🐫 (@masasuz) 2018年7月27日
ところが常に$aaaが返ってくるんですよ。5.20まで警告が出ないから気がつかなかったという話。(社内モジュールでそういうのがあった)
優先度の問題ですね。
`Possible precedence issue with control flow operator`https://t.co/NcAy0oHVZC
— masasuzu 🍶🐫 (@masasuz) July 27, 2018
なので、
— masasuzu 🍶🐫 (@masasuz) 2018年7月27日
`return $aaa || $bbb`
とするか、
`return ($aaa or $bbb)`
とするのが正しい。らしい。
へー。またperlに詳しくなってしまった。
— masasuzu 🍶🐫 (@masasuz) July 27, 2018
apt-get installってローカルにあるdebパッケージもインストールできたんだ。初めて知った。依存も入れてくれるからこっちの方が良いな。
— masasuzu 🍶🐫 (@masasuz) 2018年8月9日
dpkg -iをいつもしてた。
このページの下記の記述を見て、apt-get install
ってローカルな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)
これはテスト記事です。
ちょっといろいろあってAWSを最近触っている。
しかしながら、基礎的な部分をあまり理解していないので、ほんのちょっとしたところにいちいちつまずいてけっこう時間を取られていたりする。なので基礎からまとまってる本が欲しいなあって思って本を取ってみた。
なんだかんだで試験本は要点がまとまってるので最初に読むには良いかなあと思って読んでる。 ホントにあっさりしか書いてないが、概要をさっとさらうにはちょうど良い本だった。
合格対策 AWS認定ソリューションアーキテクト - アソシエイト
あ、もちろん業務で使うには全然内容足りないよ。
ひょんなことからgolang書いてます。
もともとpythonでスクリプト書いていたんですが、モジュールをいちいち入れなければいけないってのがネックでどうしたものかなあと考えていたところ、goで書いてバイナリを置いておけば、お手軽で良いじゃんってことで書き始めた。
せっかく新しい言語なので、今までのvimじゃなくて、なんとなくVisual Studio Codeで書いている。今のところ良さそう。
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じゃなかったっけ? ってはてと思ったのでした。
ちょっと複雑で口頭で相談したいことがらってありますよね。
でも、その前に、何について相談したいので概要レベルで事前に教えて欲しいよねって思うこと多い。 事前にまとめておいてくれると、口頭で話すときにすぐ適切な答えを出せるし、お互いの時間を有効活用出来て良いと思うんですよね。って最近よく思ってます。