<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[hassaku63さんのフィード]]></title><description><![CDATA[Zennのhassaku63さん（@hassaku63）のRSSフィードです]]></description><link>https://zenn.dev/hassaku63</link><image><url>https://static.zenn.studio/user-upload/avatar/2a437ab3e6.jpeg</url><title>hassaku63さんのフィード</title><link>https://zenn.dev/hassaku63</link></image><generator>zenn.dev</generator><lastBuildDate>Fri, 01 May 2026 15:35:07 GMT</lastBuildDate><atom:link href="https://zenn.dev/hassaku63/feed" rel="self" type="application/rss+xml"/><language><![CDATA[ja]]></language><item><title><![CDATA[AI-Assisted SWE — 実務知見の抽出 (AI-Generated)]]></title><description><![CDATA[!
これは、主要な AI サービス提供者の情報発信から、共通する軸やパターンを見出すことを目的としてリサーチを行った結果をレポートした文書です。
下地となるサーベイをしたあと、それを AI に特定の方向性でサマリさせました。以降の文書はすべて AI によって生成されたものです。
この文書を作成した目的は、主にソフトウェア開発の仕事において、AI をどのような分野に対して、どのように利用するべきか、そのための指針となる考え方・ヒント・テクニックを抽出することです。
私自身が見て有用性があると感じたので、個人的な調査ログとしてここに残しておきます。

メタ統合レポート（28件の一次資料）から...]]></description><link>https://zenn.dev/hassaku63/articles/3f653ecadfaa0c</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/3f653ecadfaa0c</guid><pubDate>Wed, 11 Mar 2026 16:48:37 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--h7iFplQX--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:AI-Assisted%2520SWE%2520%25E2%2580%2594%2520%25E5%25AE%259F%25E5%258B%2599%25E7%259F%25A5%25E8%25A6%258B%25E3%2581%25AE%25E6%258A%25BD%25E5%2587%25BA%2520%2528AI-Generated%2529%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[aws-cdk/integ-tests-alpha を使ってみる]]></title><description><![CDATA[本記事は "AWS CDK Advent Calendar 2025" の寄稿記事です。
https://qiita.com/advent-calendar/2025/aws-cdk

掲題の通りです。CDK の中ではちょっとマイナーなモジュールですが、前々から興味があったのでお試ししてみました。
https://docs.aws.amazon.com/cdk/api/v2/docs/integ-tests-alpha-readme.html

 この記事の目的
この記事は我々一般ユーザーにとっての「実用性」をアピールするものではありません。ただただ CDK のマイナーモジュールを試して...]]></description><link>https://zenn.dev/hassaku63/articles/46204e28987d8e</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/46204e28987d8e</guid><pubDate>Mon, 15 Dec 2025 18:37:07 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--fQXXsqHq--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:aws-cdk%252Finteg-tests-alpha%2520%25E3%2582%2592%25E4%25BD%25BF%25E3%2581%25A3%25E3%2581%25A6%25E3%2581%25BF%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[社内 SE ポジションの中途面接を担当していた頃に考えていたこと]]></title><description><![CDATA[面接官として私個人はこう考えていた、というだけの話をします。自分なりに心得とか原理原則的なところとして意識していた内容を整理しました。昔書いてたメモがあったので、AI で要約しつつ、細部を整えました。
ジュニア〜ミドルクラスくらいまでのレンジであれば、ある程度汎用的に当てはまる話を言ってるんじゃないかと（自分では）思っています。ピンポイントなハックができてしまうような内容は書いてないはず。

 この記事の前提

ここに書いてるのは私個人のものさしであって、過去に所属していた会社・組織の意見ではない
少なくとも数年前の話。うろ覚えの部分も多々あるので正確な話ではない
「社内SE」のポジショ...]]></description><link>https://zenn.dev/hassaku63/articles/319023bc57c8d6</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/319023bc57c8d6</guid><pubDate>Mon, 22 Sep 2025 18:12:39 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--W_7J1t4L--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E7%25A4%25BE%25E5%2586%2585%2520SE%2520%25E3%2583%259D%25E3%2582%25B8%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%25B3%25E3%2581%25AE%25E4%25B8%25AD%25E9%2580%2594%25E9%259D%25A2%25E6%258E%25A5%25E3%2582%2592%25E6%258B%2585%25E5%25BD%2593%25E3%2581%2597%25E3%2581%25A6%25E3%2581%2584%25E3%2581%259F%25E9%25A0%2583%25E3%2581%25AB%25E8%2580%2583%25E3%2581%2588%25E3%2581%25A6%25E3%2581%2584%25E3%2581%259F%25E3%2581%2593%25E3%2581%25A8%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[JAWS-UG CDK支部 vol.17 トーク用コンテンツ]]></title><description><![CDATA[https://jawsug-cdk.connpass.com/event/331430/
アーカイブ動画
https://twitter.com/yktAWS/status/1849257946997518623

 はじめに
第17回のメインテーマである「大規模」にはそれほど関連してません（ごめんなさい）
CDK と TypeScript の初学者向け、かつ技術選定以前の話などが含まれます。あとは複数アカウントへの横展開を意識したような話が出てきますが、時間ある限りお話しできればと

 自己紹介

hassaku_63

X Space にて、CDK に関する野良トーク番組 "CDK...]]></description><link>https://zenn.dev/hassaku63/articles/a3c850256d9b3b</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/a3c850256d9b3b</guid><pubDate>Wed, 23 Oct 2024 10:00:06 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--ZLEHEGZP--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:JAWS-UG%2520CDK%25E6%2594%25AF%25E9%2583%25A8%2520vol.17%2520%25E3%2583%2588%25E3%2583%25BC%25E3%2582%25AF%25E7%2594%25A8%25E3%2582%25B3%25E3%2583%25B3%25E3%2583%2586%25E3%2583%25B3%25E3%2583%2584%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[.env ファイルの内容を JSON にサクッと展開したい]]></title><description><![CDATA[docker-compose などローカル実行用の .env ファイルの内容を、ECS Task Definition の環境変数定義のような name/value を持つ JSON オブジェクトの形式にサクッと変換したいことがよくあると思います。
これは jq コマンド一発でサクッと実現可能です。想定するファイル形式と展開先のオブジェクトキーが固定値なので、専用のショートカットを定義してあげると捗ります。
入力想定の .env ファイルは、例えば次のような形式です。key/value のペアは改行区切りで、key と value の区切り記号は = です。
# .env
FOO=xxx...]]></description><link>https://zenn.dev/hassaku63/articles/b026266e5a82b4</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/b026266e5a82b4</guid><pubDate>Wed, 25 Sep 2024 10:22:59 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--iSCRVDbr--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:.env%2520%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%25E3%2583%25AB%25E3%2581%25AE%25E5%2586%2585%25E5%25AE%25B9%25E3%2582%2592%2520JSON%2520%25E3%2581%25AB%25E3%2582%25B5%25E3%2582%25AF%25E3%2583%2583%25E3%2581%25A8%25E5%25B1%2595%25E9%2596%258B%25E3%2581%2597%25E3%2581%259F%25E3%2581%2584%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[VSCode で cmd+q をミスタイプしても悲しまないために]]></title><description><![CDATA[(En Title) Prevent closing all windows in VSCode due to an accidental press of cmd+q.
VSCode で複数個のワークスペースを立ち上げていると、間違って cmd+q をタイプしてしまうと大変悲しい気持ちになります。
cmd+q というコマンドは MacOS が認識しているショートカットですが、どうやら VSCode のショートカットを設定することで上書きできるようでしたのでご紹介します。
(En)
When working with multiple workspaces in VSCode, acci...]]></description><link>https://zenn.dev/hassaku63/articles/0ae0d7d405f998</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/0ae0d7d405f998</guid><pubDate>Fri, 06 Sep 2024 18:37:23 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--Ij4Og08h--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:VSCode%2520%25E3%2581%25A7%2520cmd%252Bq%2520%25E3%2582%2592%25E3%2583%259F%25E3%2582%25B9%25E3%2582%25BF%25E3%2582%25A4%25E3%2583%2597%25E3%2581%2597%25E3%2581%25A6%25E3%2582%2582%25E6%2582%25B2%25E3%2581%2597%25E3%2581%25BE%25E3%2581%25AA%25E3%2581%2584%25E3%2581%259F%25E3%2582%2581%25E3%2581%25AB%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[CDK を使ってデプロイ前に意図しない "Replacement" を検出したい - part2]]></title><description><![CDATA[次の記事の続編です。
https://zenn.dev/hassaku63/articles/ff5df216ba0c71
今回のテーマは
「どうして ChangeSet の作成なしにリソース更新の "replacement" がわかるのか？」
です。

 前提事項
この記事で参照する CDK のバージョンは v2.150.0 を前提とします。
https://github.com/aws/aws-cdk/tree/v2.150.0
https://github.com/aws/aws-cdk/tree/v2.150.0
$ git checkout -b v2.150.0 tags/v...]]></description><link>https://zenn.dev/hassaku63/articles/2570b9f5e6bd05</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/2570b9f5e6bd05</guid><pubDate>Sun, 04 Aug 2024 06:26:30 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--FMb-b8G2--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:CDK%2520%25E3%2582%2592%25E4%25BD%25BF%25E3%2581%25A3%25E3%2581%25A6%25E3%2583%2587%25E3%2583%2597%25E3%2583%25AD%25E3%2582%25A4%25E5%2589%258D%25E3%2581%25AB%25E6%2584%258F%25E5%259B%25B3%25E3%2581%2597%25E3%2581%25AA%25E3%2581%2584%2520%2522Replacement%2522%2520%25E3%2582%2592%25E6%25A4%259C%25E5%2587%25BA%25E3%2581%2597%25E3%2581%259F%25E3%2581%2584%2520-%2520part2%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[CDK を使ってデプロイ前に意図しない "Replacement" を検出したい - part1]]></title><description><![CDATA[最近出した CDK の誰得記事、「cdk.context.json が CDK 的にどう扱われているか調べてみた」に引き続き、また CDK のソースコード読解シリーズを出してみました。
このシリーズの主テーマは次の2点です。

cdk diff はどうして "Replacement" を検出できるのか？
デプロイ前に組み込める、Replacement を効果的に検出する方法があるか？

なお、今回は前フリ的な位置付けで、ソースコードはまだ読みません。
(追記) 2024/08/04
part2 書きました。
https://zenn.dev/hassaku63/articles/2570...]]></description><link>https://zenn.dev/hassaku63/articles/ff5df216ba0c71</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/ff5df216ba0c71</guid><pubDate>Thu, 01 Aug 2024 01:12:16 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--HfkrwKAn--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:CDK%2520%25E3%2582%2592%25E4%25BD%25BF%25E3%2581%25A3%25E3%2581%25A6%25E3%2583%2587%25E3%2583%2597%25E3%2583%25AD%25E3%2582%25A4%25E5%2589%258D%25E3%2581%25AB%25E6%2584%258F%25E5%259B%25B3%25E3%2581%2597%25E3%2581%25AA%25E3%2581%2584%2520%2522Replacement%2522%2520%25E3%2582%2592%25E6%25A4%259C%25E5%2587%25BA%25E3%2581%2597%25E3%2581%259F%25E3%2581%2584%2520-%2520part1%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[cdk.context.json が CDK 的にどう扱われているか調べてみた - part3]]></title><description><![CDATA[以下の記事の続編です。
https://zenn.dev/hassaku63/articles/ecf1ca0cf74342
https://zenn.dev/hassaku63/articles/3bf6d3a02481a8

 前提事項
ここまでのシリーズと同様に、この記事で参照する CDK のバージョンは v2.150.0 を前提とします。
https://github.com/aws/aws-cdk/tree/v2.150.0
https://github.com/aws/aws-cdk/tree/v2.150.0
$ git checkout -b v2.150.0 tags/...]]></description><link>https://zenn.dev/hassaku63/articles/f974c49881c379</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/f974c49881c379</guid><pubDate>Tue, 30 Jul 2024 11:59:51 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--S6C5LisE--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:cdk.context.json%2520%25E3%2581%258C%2520CDK%2520%25E7%259A%2584%25E3%2581%25AB%25E3%2581%25A9%25E3%2581%2586%25E6%2589%25B1%25E3%2582%258F%25E3%2582%258C%25E3%2581%25A6%25E3%2581%2584%25E3%2582%258B%25E3%2581%258B%25E8%25AA%25BF%25E3%2581%25B9%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2520-%2520part3%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[cdk.context.json が CDK 的にどう扱われているか調べてみた - part2]]></title><description><![CDATA[以下の記事の続編です。
https://zenn.dev/hassaku63/articles/ecf1ca0cf74342
タイトルは「その2」と銘打っておりますが、実際には「CDK App クラスの synth メソッドが何をしているのか」あるいは「synth が2回以上走る原因である "missing context" を生じうる construct 周辺の機能の読解」とったサブテーマがこの記事で扱う中心的な話題となります。
前編と同じように、ソースコードを読み進めるうえで私がやったことを雑に書きなぐっていきます。
得られた成果だけ見たい場合は「まとめ」のセクションまで読み飛ばして...]]></description><link>https://zenn.dev/hassaku63/articles/3bf6d3a02481a8</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/3bf6d3a02481a8</guid><pubDate>Mon, 29 Jul 2024 03:30:00 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--Hmx-7MPu--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:cdk.context.json%2520%25E3%2581%258C%2520CDK%2520%25E7%259A%2584%25E3%2581%25AB%25E3%2581%25A9%25E3%2581%2586%25E6%2589%25B1%25E3%2582%258F%25E3%2582%258C%25E3%2581%25A6%25E3%2581%2584%25E3%2582%258B%25E3%2581%258B%25E8%25AA%25BF%25E3%2581%25B9%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2520-%2520part2%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[cdk.context.json が CDK 的にどう扱われているか調べてみた - part1]]></title><description><![CDATA[発端はCDKトーーク！ という CDK のフリートーク企画です。トークテーマとなるような質問や話題を募集してみたことろ、ありがたいことに以下のような事前質問をいただきました。

運用の話なんですが、cdk.context.jsonの扱いをどうしているのか気になってます。自チームではパラメータ格納などに積極的に使っておらず、cdk deploy後に更新される厄介者という感じです。いっそignoreするかって話になってるので、その是非と他の人やお二方がどう認識しているのか伺いたいです！

私自身はというと、今やってるプロジェクトがちょうど cdk.context.json をコミットしない運...]]></description><link>https://zenn.dev/hassaku63/articles/ecf1ca0cf74342</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/ecf1ca0cf74342</guid><pubDate>Sat, 27 Jul 2024 08:30:59 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--lhmvZtHs--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:cdk.context.json%2520%25E3%2581%258C%2520CDK%2520%25E7%259A%2584%25E3%2581%25AB%25E3%2581%25A9%25E3%2581%2586%25E6%2589%25B1%25E3%2582%258F%25E3%2582%258C%25E3%2581%25A6%25E3%2581%2584%25E3%2582%258B%25E3%2581%258B%25E8%25AA%25BF%25E3%2581%25B9%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2520-%2520part1%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[AWS CDK で「デプロイ前に違反を発見しブロックする」仕組みに関する考察と、プラグインによる検証手法の提案]]></title><description><![CDATA[
 Abstract
CDK に限らず、一般的な IaC あるいはアプリケーションのデプロイにおいて「デプロイする前に気づきたい」という用事はちょいちょいあります。こと CDK においては、できれば cdk synth あるいは cdk deploy コマンドを実行した際に、やりたいバリデーションが必ず実行されるようにしておき、バリデーションが通らないならば synth, deploy コマンド自体も失敗させることで確実に「違反」をブロックしたいところです。
CDK には複数のバリデーションの手段が存在します。それらを「デプロイ実行前に確実にブロックしたい」というモチベにおいて、どう使え...]]></description><link>https://zenn.dev/hassaku63/articles/56f3ea36fc2813</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/56f3ea36fc2813</guid><pubDate>Sun, 14 Jul 2024 11:36:10 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--M4KNpv8O--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:AWS%2520CDK%2520%25E3%2581%25A7%25E3%2580%258C%25E3%2583%2587%25E3%2583%2597%25E3%2583%25AD%25E3%2582%25A4%25E5%2589%258D%25E3%2581%25AB%25E9%2581%2595%25E5%258F%258D%25E3%2582%2592%25E7%2599%25BA%25E8%25A6%258B%25E3%2581%2597%25E3%2583%2596%25E3%2583%25AD%25E3%2583%2583%25E3%2582%25AF%25E3%2581%2599%25E3%2582%258B%25E3%2580%258D%25E4%25BB%2595%25E7%25B5%2584%25E3%2581%25BF%25E3%2581%25AB%25E9%2596%25A2%25E3%2581%2599%25E3%2582%258B%25E8%2580%2583%25E5%25AF%259F%25E3%2581%25A8%25E3%2580%2581%25E3%2583%2597%25E3%2583%25A9%25E3%2582%25B0%25E3%2582%25A4%25E3%2583%25B3%25E3%2581%25AB%25E3%2582%2588%25E3%2582%258B%25E6%25A4%259C%25E8%25A8%25BC%25E6%2589%258B%25E6%25B3%2595%25E3%2581%25AE%25E6%258F%2590%25E6%25A1%2588%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[SECCON Beginners CTF 2023 で CTF デビューしたので感想を書く]]></title><description><![CDATA[ISUCON や AWS GameDay などの競技イベントについて語る趣味チャンネルが会社の　Slack にあるんですが、開催前々日に会社の同僚氏から "SECCON Beginners CTF 2023" の存在を教えてもらい、そのままノリで出てみることにしました。
https://www.seccon.jp/2023/seccon_beginners/content.html
競技用ポータル: https://score.beginners.seccon.jp/
前々から興味はあったので、予定も空いてるならやってみるかと当日の開催時間が来てから踏ん切りがついて Signup して競...]]></description><link>https://zenn.dev/hassaku63/articles/024914e51c8410</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/024914e51c8410</guid><pubDate>Sun, 04 Jun 2023 07:05:35 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--NLezHWKs--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:SECCON%2520Beginners%2520CTF%25202023%2520%25E3%2581%25A7%2520CTF%2520%25E3%2583%2587%25E3%2583%2593%25E3%2583%25A5%25E3%2583%25BC%25E3%2581%2597%25E3%2581%259F%25E3%2581%25AE%25E3%2581%25A7%25E6%2584%259F%25E6%2583%25B3%25E3%2582%2592%25E6%259B%25B8%25E3%2581%258F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[[Tips] ChatGPT に git のコミットログから簡易 Change log を生成してもらう]]></title><description><![CDATA[ただの小ネタです。
最近 ISUCON の素振りをやってまして。後から何をどう変更したのかの履歴を振り返りたい &amp; 同僚氏にも共有したいなと思いました。
変更点は git でコミットしていたので、README にコミットログの表形式が web link 付きで提示できてたらわかりやすいかな？と思ったので ChatGPT さんに頑張ってもらいました。
（自分が知らないだけでコマンドラインのみで完結しそうな用事じゃね？という気はしている）

 Output
結果はこんな感じで、意図したような markdown のテーブル表現が得られました。


 Input

git log --o...]]></description><link>https://zenn.dev/hassaku63/articles/6cce5ea30bbc58</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/6cce5ea30bbc58</guid><pubDate>Sat, 13 May 2023 03:52:18 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--DyTcV5ld--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255BTips%255D%2520ChatGPT%2520%25E3%2581%25AB%2520git%2520%25E3%2581%25AE%25E3%2582%25B3%25E3%2583%259F%25E3%2583%2583%25E3%2583%2588%25E3%2583%25AD%25E3%2582%25B0%25E3%2581%258B%25E3%2582%2589%25E7%25B0%25A1%25E6%2598%2593%2520Change%2520log%2520%25E3%2582%2592%25E7%2594%259F%25E6%2588%2590%25E3%2581%2597%25E3%2581%25A6%25E3%2582%2582%25E3%2582%2589%25E3%2581%2586%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[[AWS CDK] Step Functions の Lambda タスクを同期呼び出しする場合の ASL の書き方について紹介・比較する]]></title><description><![CDATA[Step Functions から Lambda を呼び出す場合、ASL の表現としてはいくつかのパターンがあります。
その中でも同期的な呼び出しを行う場合、以下のような2パターンが使えます。



-
Type
Resource
備考




方法(1)
"Task"
Function ARN
ステートの入出力はハンドラの入出力と一致する


方法(2)
"Task"
"arn:aws:states:::lambda:invoke"
タスクに与える入力フォーマットに決まりがある。また、ハンドラの戻り値はタスクの出力と一致しない。 "SDK service integrations" で...]]></description><link>https://zenn.dev/hassaku63/articles/aefff9ebfee49f</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/aefff9ebfee49f</guid><pubDate>Mon, 01 May 2023 04:57:01 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--AuX0wrYi--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255BAWS%2520CDK%255D%2520Step%2520Functions%2520%25E3%2581%25AE%2520Lambda%2520%25E3%2582%25BF%25E3%2582%25B9%25E3%2582%25AF%25E3%2582%2592%25E5%2590%258C%25E6%259C%259F%25E5%2591%25BC%25E3%2581%25B3%25E5%2587%25BA%25E3%2581%2597%25E3%2581%2599%25E3%2582%258B%25E5%25A0%25B4%25E5%2590%2588%25E3%2581%25AE%2520ASL%2520%25E3%2581%25AE%25E6%259B%25B8%25E3%2581%258D...%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[「Webアプリ開発で学ぶ Rust言語入門」完走した感想]]></title><description><![CDATA[Rust に興味があったので、以下の書籍で入門してみました。
https://www.shuwasystem.co.jp/book/9784798067315.html
Rust で Todo アプリの API サービスを構築しつつ、TypeScript+React を使って作った API を利用するフロントエンドも構築する、といった内容になっています。

 きっかけ
KOBA789 さんが WEB+DB Press Vol.122 に寄稿した「Rustで実装！作って学ぶRDBMSのしくみ」を拝見したのがきっかけです
https://diary.hatenablog.jp/entry/2...]]></description><link>https://zenn.dev/hassaku63/articles/c8d66b899a037a</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/c8d66b899a037a</guid><pubDate>Fri, 16 Dec 2022 03:04:48 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--qaYbvA2t--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%258CWeb%25E3%2582%25A2%25E3%2583%2597%25E3%2583%25AA%25E9%2596%258B%25E7%2599%25BA%25E3%2581%25A7%25E5%25AD%25A6%25E3%2581%25B6%2520Rust%25E8%25A8%2580%25E8%25AA%259E%25E5%2585%25A5%25E9%2596%2580%25E3%2580%258D%25E5%25AE%258C%25E8%25B5%25B0%25E3%2581%2597%25E3%2581%259F%25E6%2584%259F%25E6%2583%25B3%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[[AWS CDK tips]EventBridge (L2) で Content based filtering を記述する]]></title><description><![CDATA[EventBridge の Rule や　Archive　で使える "EventPattern" を CDK の L2 Construct で記述する方法について小ネタを紹介します。
CDK version: v2.51.0
https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
https...]]></description><link>https://zenn.dev/hassaku63/articles/2f17ffdb57ab43</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/2f17ffdb57ab43</guid><pubDate>Tue, 22 Nov 2022 15:37:59 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--RUGzCTWb--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255BAWS%2520CDK%2520tips%255DEventBridge%2520%2528L2%2529%2520%25E3%2581%25A7%2520Content%2520based%2520filtering%2520...%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[2つの pip freeze を比較するツール作った]]></title><description><![CDATA[
 おことわり
この記事と背景的なものは同じです。
https://zenn.dev/hassaku63/articles/75bc1b56b94528

引き継いで以降ずっと塩漬けしてた古いプロジェクトの依存関係を更新しよう、という仕事が発生したのですが、依存関係の定義である requirements.txt が pip freeze の出力そのままリダイレクトしたような内容になっていて少々困りました。

requirements をダイエットしたい、という用事が上記の記事と同じで、今回は実際にダイエットさせてみた requirements と元のファイルでそれぞれ何がどのバージョンで...]]></description><link>https://zenn.dev/hassaku63/articles/deb96896623639</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/deb96896623639</guid><pubDate>Mon, 14 Nov 2022 16:16:07 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--e4RKz5sr--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:2%25E3%2581%25A4%25E3%2581%25AE%2520pip%2520freeze%2520%25E3%2582%2592%25E6%25AF%2594%25E8%25BC%2583%25E3%2581%2599%25E3%2582%258B%25E3%2583%2584%25E3%2583%25BC%25E3%2583%25AB%25E4%25BD%259C%25E3%2581%25A3%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[[python] import 宣言を複数行またぐケース含めて grep 風出力で検索できるツールを作ってみた]]></title><description><![CDATA[
 おことわり
「はじめに」で書く用事を満たしたいなら find - xargs grep で十分です。ここで紹介するツールを使う必要は一切ないです。
find . -name "*.py" | xargs grep -n 'import'
ast のお勉強がてら作ってみました。

 はじめに
引き継いで以降ずっと塩漬けしてた古いプロジェクトの依存関係を更新しよう、という仕事が発生したのですが、依存関係の定義である requirements.txt が pip freeze の出力そのままリダイレクトしたような内容になっていて少々困りました。
# 依存関係は明示的に書いてほしい...
p...]]></description><link>https://zenn.dev/hassaku63/articles/75bc1b56b94528</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/75bc1b56b94528</guid><pubDate>Sat, 05 Nov 2022 09:21:56 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--NEKTv5Gy--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255Bpython%255D%2520import%2520%25E5%25AE%25A3%25E8%25A8%2580%25E3%2582%2592%25E8%25A4%2587%25E6%2595%25B0%25E8%25A1%258C%25E3%2581%25BE%25E3%2581%259F%25E3%2581%2590%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B9%25E5%2590%25AB%25E3%2582%2581%25E3%2581%25A6%2520grep%2520%25E9%25A2%25A8%25E5%2587%25BA%25E5%258A%259B%25E3%2581%25A7%25E6%25A4%259C%25E7%25B4%25A2%25E3%2581%25A7%25E3%2581%258D%25E3%2582%258B%25E3%2583%2584%25E3%2583%25BC%25E3%2583%25AB%25E3%2582%2592%25E4%25BD%259C%25E3%2581%25A3%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item><item><title><![CDATA[[python] やむを得ない事情で utf-8 の文字集合からなる日本語を sjis エンコードしなければならない場合のワークアラウンド]]></title><description><![CDATA[これは一体誰が喜んぶだという気もしますが、仕事でこのへんの検証をしたので残しておきます。
プロダクトのコードベースには commit したけど実戦投入はしたくない...

 背景
今、私は請求書関係のシステムを組んでいます。事業によっては行数が多めになる請求種別があり、csv フォーマットを付帯して顧客に提供する必要が出ました。
明細の元データとなる情報は自社の CRM に入っています。 CRM の文字コードは utf-8 であり、当然（utf-8 で表現可能な）任意の日本語文字が含まれる可能性があります。例えば取引先の社名とかですね。
一方で、提供したい csv はというと Windo...]]></description><link>https://zenn.dev/hassaku63/articles/f7ca587b86398c</link><guid isPermaLink="true">https://zenn.dev/hassaku63/articles/f7ca587b86398c</guid><pubDate>Fri, 28 May 2021 05:49:20 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--ckjg80wg--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255Bpython%255D%2520%25E3%2582%2584%25E3%2582%2580%25E3%2582%2592%25E5%25BE%2597%25E3%2581%25AA%25E3%2581%2584%25E4%25BA%258B%25E6%2583%2585%25E3%2581%25A7%2520utf-8%2520%25E3%2581%25AE%25E6%2596%2587%25E5%25AD%2597%25E9%259B%2586%25E5%2590%2588%25E3%2581%258B%25E3%2582%2589%25E3%2581%25AA%25E3%2582%258B%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E%25E3%2582%2592%2520sjis%2520%25E3%2582%25A8%25E3%2583%25B3%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589%25E3%2581%2597%25E3%2581%25AA%25E3%2581%2591%25E3%2582%258C%25E3%2581%25B0%25E3%2581%25AA%25E3%2582%2589%25E3%2581%25AA...%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:hassaku63%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzJhNDM3YWIzZTYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>hassaku63</dc:creator></item></channel></rss>