サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
kakakakakku.hatenablog.com
AWS Step Functions でタスクがエラーになったときに統一的なエラーハンドリング(エラー処理・リカバリ処理・通知処理など)が必要になることがある💡エラーハンドリングを実現する構成例をいくつか考えてみた👍 もちろん最終的には要件次第ではあって絶対にコレ❗️という答えはないと思う \( 'ω')/ 案1: タスクごとに Catch する まず最初に思い付くのはタスクごとに Catch する案だと思う.例えば以下のように AWS Lambda 関数(特に意味はなく Yay! という名前にした✌)を順番に3回呼び出す場合にタスクごとに Catch を実装して,エラーハンドリング用の処理 CustomErrorHandler を実行するイメージ👌 案1: ワークフロー例 実行すると期待通りになる❗️タスクごとに異なるエラーハンドリングを実装できて自由度は高いけど,統一的なエラーハ
GitHub Actions の実践的なノウハウが凝縮されている一冊「GitHub CI/CD 実践ガイド」を読んだ📕 本書ではソフトウェア開発ライフサイクルから GitHub Actions 基礎トピック・GitHub Actions 実践トピックが紹介されていて,さらに GitHub Actions を活用して実現するリリース自動化・パッケージ管理・セキュリティのシフトレフトまでもカバーされている❗️素晴らしい👏 GitHub Actions をなんとなーく使っていたり,いつも既存のワークフローをコピーしていたりする人は必読かなと \( 'ω')/ また著者の経験に基づくベストプラクティス(こうすると良いよ〜的な)が散りばめられているのも現場目線で読めて良かった❗️ GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用 エ
2024年7月14日に出版された新著「エンジニアリングマネジャー入門」を読んだ📕 本書は「人と向かい合う」ことにフォーカスしていて,エンジニアリングマネジャーがどんなことを日々考えて,どんなことに日々対処しているのかという実践的なノウハウがまとまっていた.著者が Google をはじめとした多くの組織で実践してきた体験談がベースになっているからこその説得力も感じられる一冊だった💡 エンジニアリングが好きな私たちのための エンジニアリングマネジャー入門 作者:サラ・ドラスナー日本能率協会マネジメントセンターAmazon 本書は翻訳を担当された @iwashi86 さんに送っていただいた❗️活動量の多さと影響力の広さに驚きです🎉 出版おめでとうございます〜 \( 'ω')/ 7月14日に出版される「エンジニアリングマネジャー入門」を翻訳された iwashi-san に送っていただきました
2024年から Habitify を使って個人的な習慣化管理を楽しんでいる❗️ 2024年前半(1-6月)の習慣化を振り返ろうと思う \( 'ω')/ www.habitify.me 朝活🌅 2023年2月から1年半ほど「朝活」を続けていて,Google Sheets に記録していた朝活メモを2024年から Habitify に移行した.2023年の朝活に関しては以下の記事にまとめてある☕ kakakakakku.hatenablog.com 2024年前半(1-6月)で朝活を「176日」継続できたー👏 以下の Habitify ログは 7/9 に取得したため,9日間は差し引いてある. 朝活メトリクス ちなみに朝活を skip して OK という条件として「飲み会の翌朝」と「体調不良の日」の2つを決めていて,半年間で6日は skip した.言い換えると「今日は朝活したくないな〜」という
Python ライブラリ treelib を使うと簡単にツリー構造を表現できる.今まで使ったことがなくて,ドキュメントを見ながら基本的な操作を試してみた🌴 treelib.readthedocs.io github.com ちなみに treelib は「AWS コンピュータービジョン開発の教科書」を読んでいたら,Amazon Rekognition のラベル検出結果をツリー構造で表示するために使われていて,本のトピックと直接は関係ないけど「こんなのあるんだ〜💡」と気になってしまった \( 'ω')/ kakakakakku.hatenablog.com サンプル 今回はサンプルとして以下のようなツリー構造を treelib で作って,気になった操作を試してみる❗️サポートされてる全ての操作はドキュメント参照📝 root ├── A01 │ └── A11 ├── B01 │ ├──
GitHub Actions ではデフォルトの挙動として同じワークフローの複数のジョブを同時実行できる.無駄に待つ必要がないという意味ではメリットがあるけど,ワークフローによっては同時実行したくないこともあると思う. GitHub Actions でワークフローが複数トリガーされてしまって慌てて止めたという経験もあったりする😅例えばワークフローの実行時間が長く,完了する前に次のコミットをプッシュしてしまったり,ワークフローの実行が完了する前にプルリクエストをマージしてしまったり💨 concurrency 設定 GitHub Actions ではコンカレンシー (concurrency) という設定があって,ワークフローの同時実行を制御できる.今回はワークフローレベルで試すけど,ジョブレベルで細かく制御することもできる❗️個人的にはとりあえず設定しておいても良さそうかなと思う. docs
Testcontainers を使うと,テストコードを実行するときに必要になるデータベース・キャッシュ・キューなどの依存関係をコード上で管理できて,実行後にはコンテナを自動的に消してくれるという使い捨て可能な仕組みを簡単に作れる❗️Testcontainers のサイトに載っている「Test dependencies as code」という表現はピッタリだと思う👌 testcontainers.com Testcontainers は Java / Go / .NET / Rust など多くの言語をサポートしているけど,今回は Python 用の testcontainers-python を試してみた.検証に使ったコードを紹介しつつ,簡単にまとめておく✍ また Testcontainers Cloud もあったりする🌩 testcontainers.com 前提 今回は以下の前提で試
「現場のプロがわかりやすく教える位置情報エンジニア養成講座」を読んだ📕 今まで GIS: Geographic Information System など位置情報を取り扱うための技術的な知識や経験がなく,地図アプリケーションを使うと「便利だな〜w」という感想しか出てこないようなレベルだった💨 本書を読んで,そして本書の後半では実際にアプリケーションを写経しながら実装したことによって,位置情報を取り扱うための最低限の知識と開発の流れを把握できるようになった❗️本書の冒頭には「これから位置情報を扱うエンジニア」が読者層だと書いてあったけど,まさにその通りだと思った.位置情報や地図を仕事で使う前のキャッチアップに最適な一冊だった🗾 現場のプロがわかりやすく教える位置情報エンジニア養成講座 作者:井口奏大秀和システムAmazon さらに OpenStreetMap / 国土数値情報 / 地理
2023年2月から「朝活」を習慣化できるように取り組んでいて,2023年の年末まで10ヶ月半ほど続けられたので簡単に振り返っておく🌅 本当に朝活をはじめて良かったと思うし,2023年のインプット・アウトプットは朝活に支えられていたと言えるほどでもある❗️朝活に興味がある人の参考になれば〜 背景 もともと僕自身は夜型で,朝は全然起きれないけど夜はいくらでも起きてられるという感じだった.とは言え「朝活への憧れ」は昔からあって,今まで何度も朝活に挑戦したけど続かずに挫折を繰り返していた.それでも日々忙しく,時間の捻出ができないことを言い訳にしたくなく「誰にも邪魔されない時間」を確保するべくまた朝活に挑戦することにした💪もっと詳しく書くと,ちょうど2023年2月から退職前の有給消化をしていて,心にゆとりがあったので始めやすい時期でもあった. 朝活とは 僕自身が取り組んでいた朝活を雑に定義すると
2023年7月に YouTube チャンネル「カックマイクラ実況」を作って,仕事と並行して「6ヶ月間」ほぼ毎週動画を1つ企画・収録・編集・公開してみた❗️毎週テックブログも書きながら動画も公開して,我ながら楽しく頑張れたと思う.簡単に振り返っておく.ぜひチャンネル登録で応援をお願いします〜✌ www.youtube.com 背景 👾 もともと「動画編集に入門したい」と思っていて,2022年の目標にしていたけど取り組むことができず(2022年の振り返りと2023年の抱負 - kakakakakku blog),2023年の目標に持ち越していた経緯がある.2023年の上半期は忙しく取り組めなかったけど,下半期に本格的に始めることができた👌 別に YouTuber になりたいという夢があるわけではなく,今後テックブログ以外に動画でもアウトプットをしたいと思っていて,そのためには動画編集の経験
最近 Hasura に入門していて,その前に GraphQL 自体を学べる Hasura のチュートリアル「GraphQL Tutorial」を実施してみた❗️ Hasura の話はほとんど出てこなくて,GraphQL と REST / gRPC の比較・GraphQL オペレーションの解説などを基礎から学べる.また実際に GraphiQL で GraphQL クエリを実行しながら体験もできるので「GraphQL ってたまに聞くけどわからんぞー🔥」という GraphQL 未経験者におすすめできる入門コンテンツだった \( 'ω')/ hasura.io ちなみに日本語もあるけど最新ではなく(例えば GraphQL vs gRPC がなかったり)英語を翻訳して実施するのが良いと思う. hasura.io ちなみに僕自身は GraphQL の基本的なことは理解できているはずだけど(例えば過去
AWS セキュリティ専門の認定資格 AWS Certified Security - Specialty (SCS-C02) を2023年12月10日に受験して合格した❗️試験問題に関係する内容はガイドラインを厳守するため書かず,今回は個人的な振り返りも兼ねて勉強方法などをまとめておこうと思う👌 aws.amazon.com 🔐 なぜ受験したのか 2023年11月頃から仕事で AWS でのセキュリティ対策全般の設計と構築にゼロベースで取り組んでいる❗️1ヶ月ほど調査・検証・リリースを繰り返しながら実践的な理解を獲得できた気がするので,知識確認も兼ねて AWS Certified Security - Specialty を受験してみようと思った.仕事は課題軸で「トップダウン」に学べて,資格取得は知識軸で「ボトムアップ」に学べるので,上からと下からを同時に攻めようという思いもあった🔥
AWS が公開しているサイト「CI/CD Litmus Test」を使うと簡単に「CI/CD スコア」と「CI/CD レベル」を測定できる❗️開発チームで実施しながらレベルを上げるにはどうしたら良いかをディスカッションすると効果的に使えそう \( 'ω')/ litmus.devops.aws.dev 流れとしては CI/CD の設計に関する「計20種類」の質問(Yes or No)にポチポチと答えていくと以下の結果が出る📊 CI/CD score CI/CD level 9.5 or above Fully CI/CD 8–9 Mostly CI/CD 5–7 Neutral Below 5 Not CI/CD GET STARTED を押す 質問に Yes or No で答える 今取り組んでる CI/CD をイメージしながら答えたら Mostly CI/CD だった! 質問一覧 最終
2023年11月21日(明日📅)に出版される新著「詳解 Terraform 第3版」を読んだ📕 本書では Terraform の基本的な仕組みを学べるだけではなく,Terraform を実践的に使うときに必要になるステート管理・モジュール・シークレット管理・テストなど幅広いトピックまでまとまった一冊になっていて素晴らしかった❗️また Terraform の日本語書籍は今まであまりなく,この内容を日本語で読めることも素晴らしいと思う. 詳解 Terraform 第3版 ―Infrastructure as Codeを実現する 作者:Yevgeniy Brikmanオーム社Amazon 本書は翻訳を担当された松浦隼人さん,そしてオライリー・ジャパン様に送っていただきました.出版情報を知ったときから絶対に買おうと思っていたほど気になってました.ありがとうございます❗️ そして出版おめでとうご
「AWS ではじめるクラウドセキュリティ」を読んだ❗️とても良かった \( 'ω')/ 本書ではもちろん AWS のセキュリティサービスの機能など「サービスカットな観点」も学べるけど,それ以上に「セキュリティポリシーとは何か」や「どんなリスク分析フレームワークがあるのか」や「どういうセキュリティ管理策を検討するべきか」など,セキュリティ全般の知識を「ソリューションカットな観点」で底上げできる素晴らしい一冊だった📕 まさに本書の はじめに に載っている通りの内容だった💡 本書は、AWS のセキュリティを学ぶということ以上に、AWS を通じてセキュリティを学ぶということを主眼に執筆されました。 ちょうど最近仕事で AWS でのセキュリティ対策全般の設計と構築にゼロベースで取り組んでいて,僕自身の知識アップデートをするだけではなく,開発メンバーにも読んでもらえる本を探していて,まさにこれだ❗
「システム運用アンチパターン」を読んだ❗️ サブタイトルに「エンジニアが DevOps で解決する組織・自動化・コミュニケーション」と書いてある通り,迅速に改善を積み重ねつつサービスの価値をユーザーに提供するときに,どういう組織の振る舞いが「悪くて」どういう組織の振る舞いが「良いか」というアプローチを DevOps 視点で学べる良い一冊だった📕 システム運用アンチパターン ―エンジニアがDevOpsで解決する組織・自動化・コミュニケーション 作者:Jeffery D. SmithオライリージャパンAmazon 個人的に本書が特に刺さりそうだなーと思った読者層は,比較的レガシーな開発組織にいて「何かうまくいってない」や「何となく今のままではダメそう」とは思うけど,具体的にどう改善したら良いかというアイデアは浮かんでこないような開発責任者や肩書に関係なくもっと良い組織にしたいと感じているエン
2023年10月18日に出版される新著「ChatGPT/LangChain によるチャットシステム構築[実践]入門」を読んだ & 写経した📕 読者層的には「ChatGPT って最近よく聞くしたまーに使うこともあるけど LangChain って何なのー?」という人や「LLM (Large Language Model) をアプリケーションに組み込むなんて考えたこともなかったけどできるのー?」と感じるような人に特におすすめできるかなーと💡本書を読みながら写経すると,難しいことは考えずに ChatGPT のように LLM を組み込んだアプリケーションをあっという間に構築できてしまって,とにかくワクワクして楽しめる一冊だった❗️ ChatGPT/LangChainによるチャットシステム構築[実践]入門 作者:吉田 真吾,大嶋 勇樹技術評論社Amazon 著者の一人 id:yoshidashin
Trivy の「Misconfiguration Scanning」を使うと Dockerfile の設定ミス(セキュリティ課題やベストプラクティス乖離など)を検出できる❗️今回は Trivy を活用した Dockerfile のスキャンを試した作業ログをまとめる📝 aquasecurity.github.io ちなみに Trivy の Misconfiguration Scanning は Terraform, AWS CloudFormation など複数のスキャンをサポートしている.Trivy x Terraform を試した記事は前に公開してあって,Trivy の設定や GitHub Actions ワークフローなどはほぼ同じで OK👌 kakakakakku.hatenablog.com どんなルールがあるのか 以下の Vulnerability Database で確認でき
負荷テストを実行したいけど,ラップトップや Amazon EC2 インスタンス1台から実行すると負荷テストを実行する側がボトルネックになってしまって,期待した負荷テストにならないという悩みはよくあると思う🔥 そこで負荷テスト専用の SaaS などを活用して負荷テストを実現する案もあるけど,AWS では「AWS ソリューションライブラリ(サービスではない)」として負荷テストを実行・管理する「Distributed Load Testing on AWS (DLT)」が提供されている❗️ aws.amazon.com 僕自身は2年ほど前に Distributed Load Testing on AWS (DLT) を検証したことがあるけど,最近 Distributed Load Testing on AWS (DLT) を体験するワークショップ(日本語🇯🇵)が公開されたらしく,復習も兼ね
歴史的経緯 (?) によって構成ドリフト状態(Infrastructure as Code 本参照)になっている Amazon EC2 インスタンスが複数台あって,まずはサーバーの期待値を宣言して自動テストもしくは自動検証をする仕組みを作りたいなぁーと考えていた💡 今までの経験としては,2014-2016年頃によく使っていて,過去にブログ記事を書いていたりもする Serverspec を思い出しつつ,Ruby に依存せず実行ファイルをポンッと置いたらすぐに使えるようなツールがあったら良いなぁーと思って探していたところ,Go で実装されていて,サーバーの期待値を YAML で宣言できる「Goss」を発見した👀 実際に試してみたらとても便利で最高だったので,検証ログをまとめて公開することにした❗️ github.com 検証環境 今回は別の検証環境として使っていた Amazon EC2 イ
2023年9月5日に AWS SAM CLI の Terraform サポート機能が GA (正式リリース)になった👏 Amazon API Gateway や AWS Lambda 関数などサーバーレス関連のコンポーネントは Terraform で統一的に管理しつつも,AWS SAM CLI の開発支援機能(sam local invoke コマンドや sam local start-api コマンドでローカルデバッグ)は使いたい❗️という場面はあって非常に便利な組み合わせだと思う. aws.amazon.com 実際にどういう開発体験なのかを確認するために AWS ブログに載っていたサンプルを試してみる \( 'ω')/ aws.amazon.com 検証環境 今回は macOS 上で SAM CLI 1.97.0(最新)と Terraform 1.5.7(最新)を使う. $ sam
Trivy の「Misconfiguration Scanning」は Terraform をサポートしていて(AWS CloudFormation もサポートしている👏),Terraform コードのセキュリティ課題や設定ミスを検出できる❗️Trivy を活用した Terraform のスキャンを試した作業ログをまとめる📝 aquasecurity.github.io tfsec から Trivy へ 🔜 tfsec は現在も使えるけど,今後は Trivy に移行する流れとなっている💡 GitHub Discussions に今年2月頃 tfsec is joining the Trivy family というアナウンスが投稿されている❗️ github.com さらに GitHub の tfsec リポジトリ(master ブランチ)に今年5月頃 Migrating from
Terraform を使うときに記法やお作法を共通化してベストプラクティスに近付けるために TFLint を導入すると便利❗️ 最近 TFLint を導入する機会があったので作業ログをまとめる📝 github.com TFLint をセットアップする TFLint のセットアップは macOS だと Homebrew を使えば簡単〜 今回は TFLint v0.47.0 を前提にする. $ brew install tflint $ tflint --version TFLint version 0.47.0 + ruleset.terraform (0.4.0-bundled) TFLint を実行する 基本的には tflint コマンドを実行すれば OK👌 該当する Warning があるとだーっと表示される. $ tflint 10 issue(s) found: もしモジュール
Terraform で Amazon ECR リポジトリのライフサイクルポリシーを設定するときに aws_ecr_lifecycle_policy リソースのドキュメントを読むとヒアドキュメントを使った例が載っている📝 個人的にはヒアドキュメントを使いたくなく,他の実装案を考えながら試してみた❗️ aws_ecr_repository | Resources | hashicorp/aws | Terraform Registry aws_ecr_lifecycle_policy | Resources | hashicorp/aws | Terraform Registry 1. ヒアドキュメントで直接書く まずはドキュメントに載っているヒアドキュメントの例を試す.今回はサンプルとして Policy on tagged image のライフサイクルポリシーを使っている.ヒアドキュメント
The GitHub Blog の記事 Enabling branch deployments through IssueOps with GitHub Actions を読んで「branch deployments(ブランチデプロイ)」というデプロイ戦略を知った💡 プルリクエストを main ブランチにマージしてから本番環境にデプロイするのではなく,プルリクエストを直接本番環境にデプロイして,動作確認の結果問題なしと判断できてからプルリクエストを main ブランチにマージするという流れが特徴的❗️そして,デプロイに異常があってロールバックする場合は main ブランチをデプロイして復旧する💡 記事に載ってるブランチ画像(Merge Deploy Model と Branch Deploy Model)は非常にわかりやすく見てみてもらえればと〜 github.blog IssueOp
今まで GitHub Actions から AWS を OIDC (OpenID Connect) で連携する場合にサムプリントを取得して ID プロバイダを作る必要があった💡しかし,2023年6月27日に GitHub Changelog でサムプリントを2種類設定するという記事が公開されて対応することになったけど,2023年7月6日から AWS 側で自動的に証明書の検証をしてくれるようになって,特に気にする必要がなくなった.結果的に適当なサムプリントを指定しておけば良く楽になった👀 動作確認をする機会があったので簡単にまとめておこうと思う. github.blog ちなみに「2023年7月6日」という日付は AWS から送られてきたメールに載っていた📩 [NOTIFICATION] OpenIDConnect (OIDC) errors when using GitHub OID
Terraform の理解を証明できる HashiCorp 公式の認定試験「HashiCorp Certified: Terraform Associate (003)」に合格した❗️やったー👏 試験問題に関係する内容は NDA を厳守するため書かず,今回は「試験紹介(普及のため!)」と「勉強方法」をまとめたいと思う.この記事を読んで興味を持って受験する人が増えたら良いなぁ〜と \( 'ω')/ 🟣 試験概要と出題範囲 試験概要は以下の通り💡 試験名: HashiCorp Certified: Terraform Associate (003) 受験開始日: 2023年5月19日 試験形態: オンライン(監視あり) 言語: 英語 問題形式: 二択・単一選択・複数選択・テキスト一致 試験時間: 1時間 問題数: 非公開 合格点: 非公開 有効期限: 2年 受験料: $70.50 USD
もっと Go を学びたくて学習コンテンツを探しているぞー👀という人におすすめできる「Gophercises」を紹介する❗️計20種類あるエクササイズ(どれも楽しい🌸)をほぼ全て動画を観ながら写経して,とにかく楽しかったのでまとめることにした💡 動画を観ながらコードを写経できる エクササイズは計20種類もある どのエクササイズもすぐに使えそうなテーマで楽しい 無料で学べる A Tour of Go の次に取り組むのも良いし,構文を学ぶより実践的なテーマで実装しながら学びたいけどネタが思い付かないときに取り組むのも良いと思う👌 \( 'ω')/ Gophercises! Gophercises! gophercises.com エクササイズ一覧 Gophercises には「計20種類」のエクササイズがある❗️参考までに日本語概要も載せておく. CLI 実装・API 実装・PDF 生成
Amazon ECS で FireLens (Fluent Bit) を使ってログをルーティングするときに Fluent Bit の「設定ファイル」を書いて挙動をカスタマイズしたくなる場面は多くある.そして FireLens は設定ファイルタイプ config-file-type として s3 と file をサポートしているけど,ECS タスクを AWS Fargate で動かす場合は file を使う必要がある💨 AWS Fargate でホストされるタスクは、file 設定ファイルタイプのみをサポートします。 FireLens 設定を使用するタスク定義の作成 - Amazon ECS 1. 独自コンテナイメージを作る file config-file-type で file を使う場合,FireLens のコンテナイメージをベースに extra.conf など Fluent Bit
次のページ
このページを最初にブックマークしてみませんか?
『kakakakakku blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く