dotfilesをアップデートしました(zsh導入/ 複数シェル対応/ raspbian対応)
インフラの冪等性に少しこだわりがあるので、開発環境はdotfilesで管理しています。
この度Raspberry Piで作業するのと、あとCatalinaになって標準シェルをzshに切り替えた関係で、dotfilesを大幅に改良しました。
アドバイスなどいただければ嬉しいです。
zsh対応
~/.bash_profile
と ~/.zshrc
で ~/.profile
を読み込むことでパスの設定を共有しています。
ファイル名は ~/.common_profile
とかでも良かったんだけど、shで利用されている ~/.profile
にしておけばシンタックスハイライトが効いて都合がいい。
raspbian対応
ラズパイ用の設定をしています。パッケージ一覧を packages
ファイルに書き込み、cat→grep→apt install で導入するのがお気に入り。
macと共通なのはvimとVSCodeの設定くらい。シェル設定も共有しようかと思ったけど、共通点より違いが大きい(そもそもインストールしてるソフトウェアが違うし)でパス。
LinuxBrew(HomeBrew)に対応するかは検討中。aptで事足りなくなったら使うくらいでいいと思う。Linuxは(特に普段使いとしては)初心者なので!
#1人目のデザイナー = やりきり力
スタートアップで未経験から1人目のデザイナーになった方々のパネルディスカッションがあり、デザイナーさんが普段何をしているのか気になったので参加してみました。 beuidesigner.peatix.com
TL;DR
- スタートアップの1人目デザイナーはやりきり力が大事
- 自走できて、自分からフィードバックをもらいに行ける人
- 半年〜1年後にフルスタックデザイナーとして活躍していそうな人を採用したい
(フルスタックデザイナーって言葉があるか知りませんが、グラフィック・CI・ロゴ・Web・UI/UX全部、ってことです)
イベントの様子
CocodaとTomoshibiが主催している初学者デザイナー向けのイベントで、会場はだいたい50人くらい参加者がいました。6割くらいが女性で、ITエンジニア向けのイベントとは雰囲気が違いました。
イベントは前半と後半に分かれており、前半では未経験から(みんな初めは未経験だと思いますが...)スタートアップの1人目デザイナーになった人たちのパネルでした。いくつか気になったこと。
- 自走力だけでなく、フィードバックをもらう力も大事。DailyCocodaのフィードバックを自分からもらう人は、就職しても周囲(ときには社外)の人に意見を求められる。
- @623px さんが「実際に仕事を請けるのが一番勉強になる」(要約)とおっしゃっていたが、これはITエンジニアでも同じだと思う。
- @maima_1107 さんはDailyCocoda経由で初めてのオファーをもらい、それから転職活動に踏み切ったそう。採用側としては、DailyCocodaやDailyUIをウォッチしない手はないと思う。
それから後半の懇親会では、Cocodaの @greatest_hiroki さんとお話し。「メッセージもらえれば、いつでもデザインのフィードバックしますよ!褒めて、気になるところがあれば言って、最後は褒めで締めます」(要約)とおっしゃっていたのが印象的でした。 Cocodaの方々はコミュニティへの意識が強いのかな?素敵だなぁ...!
その他
イベントに触発されてサムネイルをGIMPで作ってみたんですが、パスで絵を書くのを諦めてフリー素材のアイコンを使いました。
本業じゃなくても、こういうちょっとしたところでデザインができるといいよね!
【読書RTA】 #技術書典 7で購入した31冊レビュー 【自己最速】
日曜日の #技術書典 7の熱が冷めないうちに、購入させて頂いた31冊をレビューします!
(実は35冊購入しています。理由は最後に書きますが、いくつかRTA対象から除外しました。)
31冊読み切っての感想はこんな感じです。
本、1000から2000円でその道の最前線の人類の叡智に触れることができるので実質無料では…
— 山本一成⛅️Ponanza (@issei_y) September 23, 2019
本は実質無料!!!!!
※まずは脳内でインデックスを作るのが大事!という考えから、チュートリアルや詳細等を読んでいない本もあります。ご了承ください。
茶々○ - Amplify と AppSyncで作るサーバレス開発入門
AppSyncと言わずGraphQL入門書として素晴らしいと感じました。私がAWS慣れているのはあるかもですが。
GraphQLサーバーを構成する要素の図解が良かったです。俯瞰があるとその後の知識の吸収が楽!
Amplifyちょっとキャッチアップできたのも良かったです。Cognito本を出していながらAmplify経験がほぼなかったのですが、なるほどUserPoolもCLIで作ってくれるのか、というのが勉強になりました。
yamacraft - Androidアプリで始める Firebase Authentication 導入ガイド
Firebase Authentication めっちゃ手厚くないですか? Cognitoはどうなのだろう(Amplifyキャッチアップしないと!)、時になってしまいました。個人開発アプリ、頑張ってください!
佐々木拓郎 - AWS IAMのマニアックな話
今回の #技術書典 で一番楽しみだった本です。マニアックな話、というよりはIAM入門、という感じだったので、チームメンバーにも広くオススメできると思いました。(もちろんマニアックな話もあります!)
個人的にはIAMグループの切り方のパターンが学びでした。他のプロジェクトではどうしているか、もっと知りたいですね!
いくつか気になったポイントがあったので、ぜひ佐々木さんとお話したいです。
- アプリケーション開発で、AWS-SDKを利用する機能を開発するならローカルにIAMのクレデンシャルがないと厳しいような。セキュリティ的には心配なので、環境のVDI化(Workspace)などと組み合わせた対策が要りますかね?
- ユーザー認証をOktaやG Suitesなどで行い、そこからスイッチロールするパターンに注目しています。特に言及がなかったですが、いかがでしょうか?
- IAMユーザーをCloudFormationで作成するのは、たしかに更新時のことを考えるとメリットが薄いですね...で、CDKどう思いますか?(新メンバー追加時に、テンプレートをコピペせずにユーザーを追加できるのでは、と思ってます)
@t-funaki - AWS IoTでつくるお手軽スマートホーム
AWSのマネージドMQTTはAWS IoT、ってことが分かったので満足です。他のリソースとの連携も手厚いですね。
ところで、センサー→ラズパイ→サーバー、のように、データの保存を中継するだけのコンポーネント(ラズパイ)がある場合、データ受信と送信を別プロセスにするデザインは興味深いと思いました!いろいろ応用が効きそうですね。
かろてん - AWSなのに、エモい。
まえがきに「読後感が映画を見終わった後のよう」って書いてあって、「いやそんな訳ないでしょ」と思って読んだらマジでした。
minamo - CodePipeline でお手軽ブログ運用
CodeStar と CodePiplineはじめCode兄弟の関係性を図で整理してくださったのが超良かったです!
Cookpad Inc. EngineersCookpad Tech Book
AWSのセキュリティについて整理してもらえたのが嬉しかったです!自分の中でGardDutyとSecurity Hubがごっちゃになっていたのを自覚しました。定番CloudFormationテンプレートみたいなのを作って、新アカウント作成時に速攻で監視体制をばらまけるようにしたい所存です。
graneed - curlコマンド 完全に理解する
curlでできることってこんなに多かったんですか?と驚きました。メール送ったりとか...。
出力やURLにいろんなオプションがあることを把握しておくと、今後テストエビデンス取るのが楽になったりするかも、と思いました。
それから、dockerエンジンってRest APIがあるのを初めて知りました。知っていると応用が効きそう。
yoshihir - Datadogで始めるモニタリング基盤
チームのスケールごとにデータ監視基盤がSaaSから内製に移っていくんだ、というのは納得です。
ところで、合同誌じゃなくて一冊ごとになっているのはお目当てのトピックが探しやすくて助かりました!(書くのは大変だったと思いますが...!)
ゆるふぁい - Delphiで作るスマホアプリ
Object Pascalって言語を初めて知りました。シンプルに書けていいですね。
Windowsでクロスプラットフォームアプリを作ろうとするとこんな選択肢があるのか、と勉強になりました。
服バカ - GoとAWS CDKで作る本格SlackBot入門
技術書典7で唯一のCDK本ですよね?利用者の広がりを感じています。
CDK利用部分はTypeScriptで記述されてましたが(正直想定外でした)、今後はGoに統一したいですよね!やっぱり!
ひかる黄金わかめ帝国 - GraphQLスキーマ設計ガイド
GraphQL触ってないのに勢いで購入しちゃいました。主張が明確で良かったです。今後触る時に思い出します。
@kazuph - IoTの本 なぜからはじめるプロトタイピング
BLEデバイスで遊ぶことに興味があったんですが、素直にラズパイ使えば開発できることが分かって敷居が下がりました。
リアクティブプログラミングについて初めて調べました。普段のプログラミングと考え方が違って面白かったです。
Minami Kobayashi - Java to Kotlin to Better Kotlin Handbook
Kotlinにより親しみを持てたのでとっても感謝しています。チームでKotlinを利用しているのですが、インフラばかり触っているせいでなんだか苦手意識がついてしまって...よい復習の機会になりました。
Kotlinの機能それぞれに対して、Javaとの比較を、現場目線で解説した本、って、実は初めて読んだかもです。すぅっと入ってきました。
あと表紙可愛いですね!!!自分で書きたくなるの超わかる。
パステルレインボー - Ktor によるREST API の開発
Springとの比較で書かれていたので、Ktorの嬉しいところが理解できて良かったです。
LINE API Export - LINE API HANDBOOK
LIFFとLINE THING関連の章を読みました。vConsoleを初めて知って感心しました。異なるプラットフォームの開発・デバッグの工夫の話って面白いですよね。
前述のIoTの本と合わせて、BLEで遊ぶならラズパイかLINE THING、という考えを持てたのが良かったです。
himanago - Microsoft AzureでつくるクロスプラットフォームAIアシスタントスキル
クロスプラットフォームAIアシスタントスキルってなんだろう?と思ったんですけど、なるほどWebサーバーとAPIサーバーを分けるんですね。Azure Logic Appsを初めて見ましたが、高機能だと思いました。
あとちょまどさんのイラストは家宝にします。
まねふぉ執筆部 - Money Forward Tech Book #1 マネーフォワードを支える技術
OpenAPI Generatorの知見が気になって買いました。Railsはサポートのライブラリがたくさんあっていいなぁ...
YAML書くのしんどくないですか?というのはぜひ著者さんと話したいです。弊社はRestLetってサービスを使ってますが、もうすぐクローズするんですよね...。
あ、ECS入門は一冊にしても買う人いたと思いますよ!次回はぜひ!!!
@pco2699 - Nuxt.jsとFirebase でつくるアルゴリズムミニアプリ1
アルゴリズムとっつきづらいな〜。普段そこまで関係ないからな〜。と思っていたので前半からめっちゃ頷いて読んでました。
フロントエンド普段触らないのですが、この本スイスイ進めますね。チュートリアル半分終わっちゃいました。
細かいんですが、 jest
は npm -g install jest
している人じゃないとコマンドラインからたたけないと思うので、記述を npm test
に差し替えるとベターだと思います。
@_sakaryu - Oculus QuestではじめるVP創造主
UnityだけでOculus Quest環境が作れるんですか!やるしかない!!!!!
ik-fib - SSH Handbook
LinuxへのSSHにMFAが利用できる設定を知らず、勉強になりました。PAM認証についてキャッチアップせねば...!
メンチコロッケカレー - Starting Istio
macでさくっとチュートリアルを進められそうなのが嬉しかったです。手を動かす時にもう一度読みますね!
電気羊 - YubikeyとOpenSSLで作る電子認証局
認証局を自分で作るとインターネットの仕組みがよく分かりそうだな、という感想を得ました(つまり私はこの本の対象読者ではない...!)
Yubikieyにこだわらずオレオレ認証局を作ってみようと思います。
竹原 涼 - くいっく プロトコル解説シリーズ HTTP/3編
魔法と妖精でOAuthを解説しようかなと思ってたら先人がいてびっくりしました。
ゆー - 楔形文字とユニコードの出会いにまつわるエトセトラ
楔形文字がユニコードに収録されるまでの過程が歴史書みたいに書かれていて、むしろ著者が何者か気になりました。
日本PlayCanvasユーザ会 - 実践PlayCanvas
ブラウザだけで3DのWebアプリが作れちゃうんですね。すごい!
ギーつくの友利奈緒 - ゼロから作るBLEデバイス
タイトル通りデバイスをゼロから作っている本です。私はラズパイから始めようと思いました。
DJ SHARPNEL - なれる!バーチャルDJ
著者紹介が面白かったです。完全に勢いで買ったんですが、バーチャルDJいいな、VRChatのクラブ空間行くぞ、と思いました。
seiyab - 破門 Java
Nullチェックを久しぶりに見て、Null非許容言語っていいものなんだな、と認識を改めました。
関満徳 - プロダクトオーナーになる前に読む本1 & プロダクトオーナーになる前に読む本2
プロダクトオーナーのための参考文献があったのがよかったです。
OKRが出てきたのは意外でした。それって経営者のカバー範囲で、プロダクトオーナーが設計するところではない、って先入観があったので。
ωうさぎ - 綿を育てて布を作る【栽培編】
簡易ハウス栽培セット自作してみた、って感じの本でした。
昔インドネシアからコーヒーの苗をもらってきたことがあったんですが、こうすれば枯らさず育てられたのかな、と思いました。
RTA対象外の本について
じっくり読まないと分からんな...というものはRTA対象外にしました。じっくり読みます!
- kuberneko - DeNA Kubernetes わいわい会の本
- @yuki476 - 大事なセキュリテイの話をしよう
- Secure旅団 - 時計じかけのセキュリティ
- @hamano - マイナンバーカードと電子署名の本
データで振り返る、Cognito屋さんとしてサークル初参加した #技術書典 7
2019-09-22、 #技術書典 7にCognito屋さんとしてサークル参加しました。
初めて技術同人誌を執筆・販売し、嬉しかったことから反省していることまで様々な思いがあるので、まとめます。
なお、「Cognito UserPool 実践入門」はBOOTHで頒布中です!
hiroga.booth.pm
振り返って
サークルとして #技術書典 に参加したのは楽しかったですが、本気で実用書を届けたかった。それには中途半端に終わったのが残念でした。
もともとAuth屋さんのススメもあり、ふらっと応募したところから始まった #技術書典 。Cognitoについて語れる方がたくさんいて、とっても嬉しかったです。
一方で、「Cognito UserPool 実践入門」は、UserPoolのユーザーグループやMFAまでカバーして、UserPoolに困っている人の実用書でありたかったな、という思いがあります。私にとって実用書とは、「困っている時に、すぐに逆引きできる本」です。
実はもともと1,000円で頒布予定だったのを、前日に500円に値下げした経緯があります。本当にUserPoolの入門と言えるのか不安になったので...かっこ悪いですね。とはいえ、ユースケースがハマれば役に立つ本なのは間違いないと思っています。
決められるところでしっかり決める人として認知されていこう(本のクオリティでも、仕事でもなんでも)と思いました。
Cognito UserPool 実践入門について
- ページ数: 27ページ
- 図版数: 6点
- 執筆開始(リポジトリ作成日): 2019-07-14
- 体験版の頒布開始: 2019-09-14
- 執筆終了(技術書典7以前の最終編集日時): 2019-09-21
- 総執期間: 70日
- 執筆時間(Wakatimeで算出)(表紙・図版等作成時間を除く): 28時間48分
- 販売価格: 500円
頒布について
経費
- DLカード印刷数: 300枚
- DLカード印刷費用: 5,054円
- その他経費(見本印刷、ポップ印刷、ホワイトボード、売り子謝礼): 約8,500円
※ 物理本は初めからスコープ外でした。
売上
- 非チェック数: 120名
- 技術書典7購入数: 108冊
- 技術書典7 現金購入: 43冊
- 技術書典7 かんたん後払い購入: 65冊
- BOOTH購入数(2019-09-23まで): 18冊
- 総売上: 63,000円
利益
- かんたん後払い手数料: 650円
- 利益:約48,850円
フィードバック
来場者の方の声
- Cognitoにこれから触る方(学習)、Cognitoへの乗り換えを検討している方(業務)、すでに触っていて知識の整理がしたい方、で 2: 1: 2、くらいでしょうか。実際にユーザー移行を検討している方の手元に届いたのは嬉しかったです。
- カスタム認証について知りたい、という方が2人いました。カバー外で申し訳ないです。
- ユーザーグループとアクセストークンの権限について知りたい、という方が2人いました。カバー外で申し訳ないです。
読者の方の感想
買いました ^^
— すぎむら46 (@sugitk) September 22, 2019
ざっと読んでみましたが、実際に触ってみないとちょっとわからないなぁという感じでした。またわかってきたら読み直そうと思います。500円とは安すぎです。
Cognito UserPool ユーザー移行入門 | hiroga https://t.co/ZPqPNq8jVI #booth_pm
ぶっちゃけ私の本だけで入門はできないよなぁ...とは薄々感じていました。(ごめんなさい。でも一読の価値はあるはずです)
全範囲をカバーしてしまうと公式ドキュメントの再発明になるので、副読本アピールをしたかったです。そういえば中学校の教科書って、図版がメインの副読本ありましたよね。理科とか社会とか。
反省
- 販売に必要なグッズの購入をサボってたので当日の朝ドンキで頑張って探したのですが、事前にAmazonでポチっておけばスムーズだった
- 感想ツイートどんどんしてほしいですね。おまけ本をプレゼントするとかの代わりに。
- 書くのが大変ではないところだけ書いて体験版としてリリースしちゃうのが良さそう。
その他嬉しかったこと
- Cognito利用されている方とお話できたことですね!
- ちょまどさんのサインを再びいただけたこと!今後もっと自分が強くなって、ちょまどさんはこんな強い人からも支持されているんだ!と言われるようにしたいですね!!!!!
Cognito UserPool 実践入門 では書けなかった闇をブログに記す #技術書典
#技術書典 で "Cognito UserPool実践入門" という本を販売します。
BOOTHでも取り扱っています。 hiroga.booth.pm
これ、元々プロジェクトで経験したUserPool移行の苦労話を書こうと思って始めたのですが、いつの間にか入門書を書いていました。
なので苦労話の方はお蔵入りにしたのですが、もったいないのでここに記します。
Cognito UserPool 実践ユーザー移行 UserPool to UserPool with Federated Identity編
悲劇の始まり
Cognito初心者が絶対つまづく(と私が思っている)設定として、エイリアス属性(IDの代わりにログインに利用できる属性)があとから変更できないことがあります。
デフォルト設定だとメールアドレス・電話番号でのログインは不可能ですが、この設定は後から変更不可能です。
私が関わっているプロジェクトもUserPoolを利用していたのですが、エイリアス属性に設定されていたのはメールアドレスだけでした。
そこにきて、「電話番号でログインできるようにしたい」という要件が登場したわけです。
初めはちゃちゃっと対応できると思ってましたが...Federated Identityを併用していたことで話が大変になります。
堅牢なFederated Identity
正直言ってUserPoolからUserPoolにデータを移行するだけなら話は簡単でした。
恐ろしいのは Federated Identityとの連携を維持しなければいけないことです。
UserPoolとFederated Identityを連携している場合、バックエンドのアプリケーションで利用するユーザー識別子には Federated IdentityのIdentity IDを利用しなくてはいけません(じゃないと、OpenID Provider → Federaed Identityでも利用している場合に困りますよね?)
ところが!Federated IdentityのIdentity IDに対して、管理者権限で任意のログイン情報を紐付けることは不可能なのです。
(それ自体はセキュリティの観点からあるべき姿だと思いますが...。)
これを解決するための、たった一つだけ許されたやり方...それは、管理者がユーザーの代わりにログインすることです。
それならユーザー移行Lambdaトリガーで余裕じゃん!と思われるかもしれませんが、余裕ではありませんでした。
たったひとつの冴えないやり方
結論から言えば、ユーザー移行Lambdaトリガーを以下のように実装すれば対応可能です。
- クライアントは新UserPoolにログインを試行
- 新UserPoolはユーザーが見つからないのでユーザー移行Lambdaトリガーを起動
- Lambdaはユーザーの代わりに旧UserPoolにログイン。この際にIdToken(旧)を受け取る。
- Lambdaは新UserPoolに対して AdminCreateUser アクションを実行し、ユーザー移行Lambdaトリガー内でユーザーを作成 ※1
- Lambdaは新UserPoolに作成したユーザーとしてログイン。IdToken(新)を受け取る。
- 新旧のIdTokenを使って、 Federated IdentityにgetOpenIdToken アクションを実行。結果、旧のユーザーで取得したIdentity IDが新のユーザーに紐付く
- LambdaはエラーをThrow(自爆)(そうしないと、UserPoolが後続処理でユーザーを作成しようとし、そのユーザーはStep2で作成済みでエラーになるため)
- UserPoolはクライアントにエラーを返す ※2
※1 ユーザー移行Lambdaトリガーは、その返り値でUserPoolにユーザー作成のための情報を渡すLambda。これはバッドハックです。
※2 クライアント側もエラーを握りつぶすように修正しました。
なお、これに加えてパスワードリセット時は旧のUserPoolのパスワードをリセットするように設定する必要があります。
参考までに、通常のユーザー移行Lambdaトリガーのフローも載せておきます。
シンプル!!!!!
しんどさ
検証のためにUserPoolになんどもユーザーを作成するのが一番大変でした。
その結果生まれたのが cognito-cli です。
github.com 注意: ちょっとバグってます。後で直す。
CLIでUserPoolの非管理者用APIを立たけるようになったことで生産性が爆上がりました。
それからデプロイもしんどかったです。Cognito UserPool 実践入門 でも書きましたが、ユーザー移行Lambdaトリガーは 2019-09-21時点でCloudFormation非対応なので...。
たぶん世の中的にCognitoをCloudFormationで管理している人が稀なのですが(だってそんなに更新しないでしょ?)
でもやってよかった
同じ問題にぶち当たる人は二度と現れてほしくないですが(だから執筆したんです!)、私個人はとても勉強になりました。
- OpenID ConnectのIdTokenの中身を見たり...
- Cognitoの仕様にちょっとだけ詳しくなったり...
- 初の技術書典サークル参加につながったり...
人間必要になったときが一番勉強するんで、認証認可について学びを深められたのは良かったです。
最後に...
色々書きましたが、認証・認可をマネージドに済ませてアプリに集中するには、Cognitoはとてもいいサービスだと思っています。
もしCognito検討する人がいたら、公式ドキュメントに加えて私の本もチラッと見ていただければ幸いです!!!!!
hiroga.booth.pm
「あとで読む」を読む - DNSの勉強法、Istio、jlink、Bluetooth
夏休みで時間ができたので、日々のPocketの積ん読を消化していきました。
Auth0 Ebooks
Identity Resources - Webinars, eBooks, Case Studies - Auth0
Auth0の資料が認証認可の基本の理解のためにかなり良さそう、という話。
Etheriumについての解説まであるんだね。Auth0とEtherium...?
情報セキュリティ白書 2019
情報セキュリティ白書2019:IPA 独立行政法人 情報処理推進機構
無料なのでどんなものかと思って読んでみた。実装レベルの話ではなく、国内外のセキュリティ動向を概観したいときに読む本だ。
DNS Study
DNSの仕組み、どこかでちゃんと抑えなきゃ...と思ってた。
ふわっと本を読もうと思っていたら「本に書いてあることはだいたい間違っています」と来た...そうなのかもしれないけどさ、その言い方って怪しい健康食品と変わらないよね...
マイクロサービスアーキテクチャ向けにサービスメッシュを提供する「Istio」の概要と環境構築、トラフィックルーティング設定
マイクロサービスアーキテクチャ向けにサービスメッシュを提供する「Istio」の概要と環境構築、トラフィックルーティング設定 | さくらのナレッジ
サービスメッシュについて頭の中が整理されてきた。
マイクロサービスの場合には通信先のサービスのIPアドレスを事前に知ることができない、という制約でどうするか。
AWSのCloudMapやKubernetesのServiceのようにサービスディスカバリを用いることもできるし、各コンテナにサイドカーとしてのプロキシサーバー(データプレーン)を置く、という選択もできる。後者のほうが多機能なものが多い、ということのようだ。
アプリケーション配布用に小さなJREを作る
JRE入のコンテナイメージが重い!って問題に対処できるらしい。
全然分かってなかったんだけど、つまり、
・JREはJVMとJavaの標準ライブラリから成る
・Javaの標準ライブラリにはたくさん機能があるが、そこまで使わないことのほうが多い
・だからカスタムJRE(=自分が使うライブラリとJVMだけのJRE)を作ってしまおう!
ということらしい。
Bluetoothで山手線の乗降パターンを追跡してみた
高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた , ユビキタス社会の歩き方(6) Bluetoothの「デバイスの公開」「検出可能にする」..
面白い!これを追いかけるだけで、例えば店頭で「あなたは何回目の来訪です」というのが言えちゃうわけか。
(あなた、が誰かはわからないとしても)
NASA Books
NASAの無料公開している電子書籍。システム開発に関する本があったのでダウンロードしました。
Amazon EventBridge
Amazon EventBridge入門 PagerDuty連携を試してみた | DevelopersIO
AWS版のZapierってことかな?