hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

専門知は、もういらないのか

世界は今、反知性の時代!!!と思ったので読んでみた。

事実より感情が優先されている、というのはたしかに、と思っていて、感情を盾にするとどんな要求でも通すことができてしまう。批判的思考を徹底しましょう、とか言っても、批判的思考ってなんですか、となったり。
SNSなど見ていても、気に入らない意見はミュートできてしまう。危険なストーカーをブロックするのと、意見が違う人をブロックする、というのは意味合いが全然違うので気をつけたほうがよさそう。見たくないから見ない、としていると、見たいものだけに囲まれてしまう。全人類が正しい情報の取捨選択をするのはけっこう難しそうなわりにSNSは永久に見てられるので危険だな、と思う。

本とか読んでいても、反知性の時代だな〜と思ってこういう本を選んでいるけど、意見が違う人からすると、トランプ大統領の登場によって真の民主主義が訪れた、という主張の本を選んでいそう。

専門知は、もういらないのか

専門知は、もういらないのか

読みながら、地球平面説を信じる人たちのドキュメンタリーのことを思いだした。この人たちはがんばっていて、地球が平面であることを実験によって確認しようとしている。
www.netflix.com

週末ごろから、洗濯機が必ず排水できないようになって、ビショビショの洗濯物を風呂場に投げ込み、あとのことはもう知らない…となっていた。
修理の人に来てもらったら修理は10分位で終わっていて、ドラムの隙間煮物が入り込むとホースが詰まってしまうとのことだった。今後は小物はネットに入れるようにしたい。
洗濯物がたまっていくのはまあ耐えられる(ミニマリストなら2日くらいで耐えられなさそう)けど、洗濯機を使えないという事実や、ミーティングの最中に洗濯機の修理がやってくる、というハチャメチャ感によって参ってしまっていた。

ボールにいっぱいのシャインマスカットが食いてえ

メルカリで売上残高がそこそこあるのと、500円もらえるクーポンの期限が切れそうだったので、なんか買ってみたい、しかし欲しい物も特にない、というところで、生産された果物を直接買えればよさそうと思ったのでシャインマスカットを買ってみた。宅急便コンパクトの薄っぺらい箱にぎっしり詰まって届いておもしろかった。
近所のスーパーで買うより安くておいしく満足した。ボウルにいっぱいのシャインマスカットを食べるという夢がついにかなった。
しかし八百屋が事前に選んでくれたりブランドのバッジが付いていたりしないので、信頼できそうなアカウントを探して直接やりとりすることになる、とか買う前に現物を見れない、など難易度は高いと思う。

Terraform歴4時間くらいのメモ

今週の初めくらいからちょっとずつTerraformを触っていて、といっても1日30分とか1時間くらいで手探り状態だけど、今のところの理解のメモ。

  • AWS CDKとなにがちがうか
    • CDKはCloudFormationのYAMLを生成するためのもので、TypeScript, Pythonに対応していて、TypeScriptならTypeScriptの補完が使える
    • TerraformはHCL(HashiCorp Configuration Language)という言語であって、補完はHCL用に開発されたものが動く
      • VSCode拡張が乱立していて、HashiCorp製の拡張はインストール数は多く評価は低い、という謎な状況
    • AWS CDKはAWSだけど、Terraformは汎用的なものなので、GitHubのorgの管理とかもできる
  • CloudFormationとの違い
    • 既存のプログラミング言語のなかで自由に書けるわけではない、という点はCloudFormationのほうが近い
      • Terraformのループの書き方はちょっととっつきにくさを感じる(慣れてないだけだと思う)
  • stateファイル
    • CloudFormationでは状態の管理や差分検出をAWS側でやってくれているけど、Terraformの適用先はAWSに限らないので状態をファイルに書き込んで管理している
      • 毎回APIを取りに行って差分を見るのは非効率なので、Terraformで管理するなら、一度取得した状態を保持しておいても困ることはない
      • CloudFormationにはドリフトの検出機能があった。Terraformではrefreshしてplanを見る
      • Detecting and Managing Drift with Terraform
    • applyしなければ安全というわけではなくて、importするとstateにリソースが追加される。手元で試しているだけでもstateファイルに書き込んでしまうと他人の環境に影響が出る
      • stateがどこにあるか注意すること
      • 一時的に手元でimportを交えた練習なんかをしたいときに、backend s3をbackend localに書き換えて試していてちょっと格好悪い。なんかいい方法ないのかな…
    • lockを取って作業することができる
      • CloudFormationのスタックも、いまUPDATE_IN_PROGRESSで止まってるね、とかみんなで観測したりしていたので、それがS3に置かれる1ファイルになったと考えるとそんなに違和感ない

今見返すとどこを見ればよさそうかわかるものでも、本当に前提知識がないときには、どこが自分と関係あるか判別しにくい。
公式サイトにはintroがあったりtutorialがあったりして、どこから見ていけばいいかわからないな、となったので本を読んでみたら、AWSにあれこれ構築するとか、モジュールを作るとか、環境の管理とか、ステートファイル間のリソースの移動とか教えてもらえてよかった。

追記

ブコメで教えていただいた、ありがとうございます

Terraformのlanguage server公式のlanguage serverが後発なので云々 詳しくは https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp

https://b.hatena.ne.jp/michael26/20201019#bookmark-4692956382982889602

追記(2)

Spaceliftの方からメールが来て、このチュートリアルが読者にも役立つと思うよ!とのことだったので貼っておきます。
spacelift.io

SpaceliftはTerraformを実行してくれるCIサービスみたいなもののようです。
我々も手元からはplan, applyしてないので、こういうCI/CDツールがあると便利そう。