<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Tech on kohski&#39;s blog</title>
    <link>https://kohski.dev/tech/</link>
    <description>Recent content in Tech on kohski&#39;s blog</description>
    <image>
      <title>kohski&#39;s blog</title>
      <url>https://kohski.dev/logos/favicon-48.png</url>
      <link>https://kohski.dev/logos/favicon-48.png</link>
    </image>
    <generator>Hugo -- 0.118.2</generator>
    <language>en</language>
    <lastBuildDate>Wed, 16 Jul 2025 15:03:22 +0900</lastBuildDate>
    <atom:link href="https://kohski.dev/tech/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>『クラウドFinOps』を読んで、FinOpsについて概要を理解した</title>
      <link>https://kohski.dev/tech/cloud-finops-book-review/</link>
      <pubDate>Wed, 16 Jul 2025 15:03:22 +0900</pubDate>
      <guid>https://kohski.dev/tech/cloud-finops-book-review/</guid>
      <description>クラウドFinOps 第2版を読んで、FinOpsの概要や考え方、実践に必要なスキルについて学んだ内容をまとめました。エンジニアとしてのキャリアや今後の学びの指針にも触れています。</description>
    </item>
    <item>
      <title>『GitHub CI/CD実践ガイド』を読んで、</title>
      <link>https://kohski.dev/tech/github-cicd-guide-book/</link>
      <pubDate>Thu, 19 Jun 2025 15:20:31 +0900</pubDate>
      <guid>https://kohski.dev/tech/github-cicd-guide-book/</guid>
      <description>はじめに 私は普段、業務でGitHub Actionsを利用していますが、ワークフローに手続きをそのまま書き連ねるだけで、機能追加の際も適当にpushトリガーを設定して試行錯誤することが多く、「本当にうまく使えているのだろうか？」という疑問を持っていました。そんな中で、GitHub Actionsのベストプラクティスや設計・運用について体系的に学びたいと思い、『GitHub CI/CD実践ガイド』を手に取りました。
本書は、単なるGitHub Actionsの解説本という枠を超え、現代的なソフトウェア開発の手法をGitHubのサービスを軸に解説しており、非常に満足度の高い内容でした。小さなハンズオンを通じて実践的に学べる構成や、ベストプラクティスの紹介、参考書籍の選定からも著者の見識の深さが伝わってきます。
書籍情報 内容 書籍名 GitHub CI/CD実践ガイド ―⁠―持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用 著者名 野村友規 出版年 2024.5.29 ISBN 978-4-297-10409-2 書籍ページ https://gihyo.jp/book/2024/978-4-297-14173-8 GitHub https://github.com/tmknom/example-github-cicd 全体を通して、GitHub Actionsの使い方だけでなく、持続可能なソフトウェア開発を支えるための設計や運用の考え方まで幅広くカバーされており、期待以上の学びが得られました。
印象に残ったこと 全体的な構成と学び 本書は、GitHub Actionsの基本的な使い方にとどまらず、現代的な開発手法や運用のベストプラクティスまで幅広く解説しています。特に、ymlファイルをただ書くだけでなく、実際の現場で役立つ設計や運用の工夫についても多くの示唆がありました。小さなハンズオンを通じて、実際に手を動かしながら学べる点も印象的でした。
ECSへのデプロイ AWSのECSへのデプロイについては、これまでCodeシリーズを使ったCI/CDの例が多かった印象ですが、本書ではGitHub Actionsを活用した実践的な例が紹介されていました。EnvironmentsやSecrets、Variablesを活用した構成情報やシークレット管理の方法は非常に参考になりました。また、段階的に構成を本格化させていくハンズオンの流れも理解しやすかったです。細かいアクションの説明は省略されている部分もあるため、必要に応じて追加学習が必要だと感じました。環境分離についても自分で理解し実装する必要がある点が強調されていました。
セキュリティ GitHubにおけるセキュリティの考え方についても詳しく解説されています。特に、リポジトリがセキュリティ境界の主軸であることや、トークンの種類ごとに使うべきもの・避けるべきものが明確にガイドラインとして示されていました。
推奨されるトークン：GIITHUB_TOKEN、デプロイキー、GitHub Appsトークン 避けるべきトークン：Fine-grainedパーソナルアクセストークン、個人のSSHキー、パーソナルアクセストークン また、dependabotによる依存関係の管理やセキュリティアップデート、OIDC Providerの活用など、実践的なセキュリティ対策についても触れられています。
GitHubを用いた開発プラクティス 本書では、GitHubを活用した開発プラクティスが体系的に言語化されている点も印象的でした。例えば、ブランチ保護やオーナーシップの明確化、クレデンシャル検知、READMEやLICENSE、コミュニティヘルスファイルによるドキュメンテーション、リリースやパッケージ管理（ghcrの活用）など、実際の現場で役立つノウハウが詰まっています。
ワークフローの設計 ワークフローを単にベタ書きするのではなく、actionsやreusable workflow、GitHub Appsを活用して再利用性や保守性を高める方法についても解説されています。これにより、より効率的で持続可能な開発体制を構築できると感じました。
最後に AI時代においては、一つの技術や概念を深く知ることも大切ですが、それ以上に「その存在を知っている」という幅広い知識（いっちょかみ力）が重要だと感じています。本書は、GitHubを活用した開発プラクティスを広範にカバーしており、実践的な知識を得ることができました。
また、AIがコードを書く時代において、人間が担うべき役割の一つはガードレールや開発環境の整備だと考えています。その意味でも、本書は多くの引き出しを与えてくれる一冊でした。GitHub Actionsの解説書という期待を良い意味で裏切る、非常に満足度の高い書籍でした。</description>
    </item>
    <item>
      <title>『マスタリングAWS CDK』を読んで、運用も見据えたCDKの知見を獲得した</title>
      <link>https://kohski.dev/tech/mastering-aws-cdk/</link>
      <pubDate>Thu, 12 Jun 2025 15:37:39 +0900</pubDate>
      <guid>https://kohski.dev/tech/mastering-aws-cdk/</guid>
      <description>AWS CDKの実践的な使い方と運用の知見を学んだ書籍レビュー。Lambda、ECS、パラメータ管理、コンストラクト設計など、実務で役立つ内容が充実。</description>
    </item>
    <item>
      <title>AuroraでData APIを試してみた</title>
      <link>https://kohski.dev/tech/20250607-data-api/</link>
      <pubDate>Sat, 07 Jun 2025 05:10:52 +0900</pubDate>
      <guid>https://kohski.dev/tech/20250607-data-api/</guid>
      <description>AWS AuroraのData APIを使用して、VPC外からデータベースにアクセスする方法を解説します。実際のコード例と注意点を含め、実践的な実装方法を紹介します。</description>
    </item>
    <item>
      <title>AuroraでIAM認証を試してみた</title>
      <link>https://kohski.dev/tech/iam-auth-on-aurora/</link>
      <pubDate>Fri, 06 Jun 2025 13:38:11 +0900</pubDate>
      <guid>https://kohski.dev/tech/iam-auth-on-aurora/</guid>
      <description>サーバーレスエンジニアだけどAuroraに入門する。IAM認証を試してみた。</description>
    </item>
    <item>
      <title>Aurora Serverless V2(PostgreSQL)にローカルから接続してみる</title>
      <link>https://kohski.dev/tech/prisma-migration-to-aurora/</link>
      <pubDate>Fri, 06 Jun 2025 04:55:43 +0900</pubDate>
      <guid>https://kohski.dev/tech/prisma-migration-to-aurora/</guid>
      <description>サーバーレスエンジニアだけど、そろそろVPCから逃げられない。まずはAurora Serverless V2への接続方法を試してみます。</description>
    </item>
    <item>
      <title>『失敗から学ぶ RDBの正しい歩き方』を読んで、あらゆるアンチパターンとその対策を学んだ</title>
      <link>https://kohski.dev/tech/how-to-learn-rdb-by-failure/</link>
      <pubDate>Tue, 03 Jun 2025 04:59:46 +0900</pubDate>
      <guid>https://kohski.dev/tech/how-to-learn-rdb-by-failure/</guid>
      <description>RDBの設計と運用におけるアンチパターンとその対策について学んだ書籍のレビューです。論理設計から運用、キャッシュ戦略まで、実践的な知見が得られる一冊でした。</description>
    </item>
    <item>
      <title>『Grokking Relational Database Design』を読んで論理設計の理解を深めた</title>
      <link>https://kohski.dev/tech/grokking-relational-database-design/</link>
      <pubDate>Thu, 29 May 2025 13:17:06 +0900</pubDate>
      <guid>https://kohski.dev/tech/grokking-relational-database-design/</guid>
      <description>『Grokking Relational Database Design』を読んで論理設計の理解を深めた。</description>
    </item>
    <item>
      <title>『達人に学SQL徹底指南書 第2版』を読んで、SQLを上達していくための道筋を認識した</title>
      <link>https://kohski.dev/tech/sql-from-master/</link>
      <pubDate>Fri, 23 May 2025 09:30:32 +0900</pubDate>
      <guid>https://kohski.dev/tech/sql-from-master/</guid>
      <description>『達人に学SQL徹底指南書 第2版 初級者で終わりたくないあなたへ』を読んで、SQLを上達していくための道筋を認識した。</description>
    </item>
    <item>
      <title>『SQL緊急救命室 ─⁠─非効率なコードを改善せよ！』を読んだ</title>
      <link>https://kohski.dev/tech/sql-emergency-room/</link>
      <pubDate>Sun, 18 May 2025 12:08:01 +0900</pubDate>
      <guid>https://kohski.dev/tech/sql-emergency-room/</guid>
      <description>『SQL緊急救命室 ─⁠─非効率なコードを改善せよ！』を読んで、CASE文やウィンドウ関数といったモダンSQLに慣れることができた</description>
    </item>
    <item>
      <title>『SQL 第2版 ゼロからはじめるデータベース操作』を読んだ感想と学び</title>
      <link>https://kohski.dev/tech/sql-zero-to-hero-book-review/</link>
      <pubDate>Tue, 13 May 2025 11:05:34 +0900</pubDate>
      <guid>https://kohski.dev/tech/sql-zero-to-hero-book-review/</guid>
      <description>ミックさん著『SQL 第2版 ゼロからはじめるデータベース操作』を読んでSQLの基礎知識を学んだ</description>
    </item>
    <item>
      <title>『達人に学ぶDB設計徹底指南書 第2版』から学んだRDB設計の要点</title>
      <link>https://kohski.dev/tech/db-design-instruction-from-expert/</link>
      <pubDate>Sat, 10 May 2025 12:53:22 +0900</pubDate>
      <guid>https://kohski.dev/tech/db-design-instruction-from-expert/</guid>
      <description>『達人に学ぶDB設計徹底指南書 第2版』を読み、RDBの3層スキーマ、正規化、パフォーマンス改善、アンチパターンについて学んだ内容をまとめました。</description>
    </item>
    <item>
      <title>『おうちで学べるデータベースのきほん』第2版のコマンドをDockerで行うメモ</title>
      <link>https://kohski.dev/tech/db-entry-from-home-on-docker/</link>
      <pubDate>Thu, 08 May 2025 10:13:40 +0900</pubDate>
      <guid>https://kohski.dev/tech/db-entry-from-home-on-docker/</guid>
      <description>『おうちで学べるデータベースのきほん』第2版のコマンドをDockerで行うためのメモです。</description>
    </item>
    <item>
      <title>『おうちで学べるデータベースのきほん 第2版』を読んだ</title>
      <link>https://kohski.dev/tech/db-entry-from-home/</link>
      <pubDate>Mon, 05 May 2025 05:14:58 +0900</pubDate>
      <guid>https://kohski.dev/tech/db-entry-from-home/</guid>
      <description>『おうちで学べるデータベースのきほん』第2版を読んだ。RDBを中心としてデータベースに関する広範な概念に入門することができた。</description>
    </item>
    <item>
      <title>フルリゾルバーの気持ちでCDNを前段においたドメインの名前解決をたどる</title>
      <link>https://kohski.dev/tech/dns-full-resolver/</link>
      <pubDate>Wed, 30 Apr 2025 10:08:55 +0900</pubDate>
      <guid>https://kohski.dev/tech/dns-full-resolver/</guid>
      <description>フルリゾルバーになり切ってCDN配置されたドメインの名前解決プロセスを追跡した記録</description>
    </item>
    <item>
      <title>『DNSがよくわかる教科書』を読んだ</title>
      <link>https://kohski.dev/tech/dns-textbook/</link>
      <pubDate>Tue, 29 Apr 2025 14:09:22 +0900</pubDate>
      <guid>https://kohski.dev/tech/dns-textbook/</guid>
      <description>『DNSがよくわかる教科書』を読んで、DNSの仕組みと動作原理がよく理解できました</description>
    </item>
    <item>
      <title>ネットワーク入門におすすめの2冊を読んで学んだこと</title>
      <link>https://kohski.dev/tech/network-entry-book/</link>
      <pubDate>Thu, 24 Apr 2025 10:12:12 +0900</pubDate>
      <guid>https://kohski.dev/tech/network-entry-book/</guid>
      <description>『図解入門TCP/IP 第2版』と『体験しながら学ぶ ネットワーク技術入門』を読んでネットワークの基礎から実践までを学んだ記録</description>
    </item>
    <item>
      <title>GitHub Copilotのドキュメントをざっと読んでみたのでメモ</title>
      <link>https://kohski.dev/tech/github-copilot-documents/</link>
      <pubDate>Wed, 22 Jan 2025 05:23:56 +0900</pubDate>
      <guid>https://kohski.dev/tech/github-copilot-documents/</guid>
      <description>はじめに 筆者はSIを生業とする企業で働いています。 お客様は比較的大きくて古い体質の企業様が多いです。 生成AI隆盛の現在ですが、予期せぬ学習されてしまうことを懸念して、あまり生成AIツールの導入に積極的ではありません。
そんな中でもGitHub CopilotはGitHub社の出しているサービスなので社内稟議も通りやすいらしく、使用が許可されています。 実際には他にも試してみたいツールはありますが、まずは職場で使えるツールに習熟しようということで、GitHub Copilotのドキュメントをローラーすることにしました。
今回の対象 GitHub Copilotのドキュメント GitHub Copilot全体の説明 使い方だけでなく、管理者としての設定もある Visual Studio Codeのドキュメント 主に使用者としてのドキュメント 筆者のOrgでは許可されていない機能も多いため、以下の主要な機能に絞って書いていきます。
対象 Chat Inline Chat Edits Completion 目線 開発者としてGitHub Copilotを使うこと 管理者の目線ではない 知らなかったこと Completionの使い方 私の普段の使い方としては以下の2つでした
コードの書き出しを書いて、提案がいい感じだったらTabを押す コメントに要件を書いて、提案がいい感じだったらTabを押す 公式ドキュメントを読むともう少し奥深い使い方がありました。
⌘ + -&amp;gt;で単語レベルの適用ができる Completion Panelを開くことで複数案の列挙ができる（画像の右側のペイン） モデルの話 公式ドキュメントによると、現在の既定のモデルはGPT 4oとのことでした。
また、以下のモデルへの変更も可能です
Claude 3.5 Sonnet o1 o1-mini CursorやらClineやらが色んなモデルを選択できるのに比べてやや見取りする感じもしますが、セキュリティを気にするエンタープライズな企業に対しては安心感のあるチョイスになっている気もします。
また、o1モデルについては推論時間が長くなることも注意書きされています。 Copilotのベストプラクティスにもありますが、あくまでCopilotはコーディングの補助ツールなので、ライトなタスクをバッタバッタと倒していくことが想定されています。
そういう意味でも、回答の精度と生成時間を考慮して、4oが既定のモデルになっているのかなーと想像しました。
コンテキストの話 全般的なコンテキストの話 LLMのモデルに対して回答の要求をする場合、Promptを通して適切なコンテキストを提供することが大切です。 余計なことを教えるとそれに回答が引っ張られるし、情報が足りないと明後日の方向に回答が飛んでしまいます。
「Copilotを役立つ出力の導く」の項目を見ると、Copilotのコンテキストは以下のように決まるようです。
Completionの場合 開いているファイル Chat, Inline Chatの場合 開いているファイル 同一の会話の過去のやりとり コンテキスト変数(#file, @workspaceなど) そのため以下のようなことが推奨されています
関係ないファイルは閉じる Chat, Inline Chatは関係ない話題ならリレフッシュする コンテキスト変数で明示的にファイル等を指定する @workspaceの深掘り 「チャット参加者」という概念があるようです。和訳で変になっちゃってるパターンですね。 元々はエージェントという機能名だったようですが、昨今話題の自立型のエージェントと名前被りするのでこっちを変えたのかなと想像。</description>
    </item>
    <item>
      <title>Prompt Engineering Guideを読んだ</title>
      <link>https://kohski.dev/tech/read-prompt-engineering-guide/</link>
      <pubDate>Wed, 15 Jan 2025 05:58:22 +0900</pubDate>
      <guid>https://kohski.dev/tech/read-prompt-engineering-guide/</guid>
      <description>Prompt Engineering Guideを読んだ。やっと入門できたかもしれない。</description>
    </item>
    <item>
      <title>『コード×AIーソフトウェア開発者のための生成AI実践入門』を読んだ</title>
      <link>https://kohski.dev/tech/code-by-generative-ai/</link>
      <pubDate>Mon, 13 Jan 2025 13:46:02 +0900</pubDate>
      <guid>https://kohski.dev/tech/code-by-generative-ai/</guid>
      <description>はじめに 『コード×AIーソフトウェア開発者のための生成AI実践入門』を拝読しました。
GPT-3あたりから、一般にも生成AIの認知が広がり、日々進歩が進んでいます。 多くの生成AIを搭載したツールが雨後の筍のごとく生まれ、そのどれもが非常に魅力的なデモで多く人々を魅了しています。 昨今では、「今後はエンジニアは不要になる」「SaaS is die」などと物騒なことも喧伝されるようにもなりました。
エンジニアの端くれとしてご飯を食べている自分としては、エンジニアという仕事がなくなってしまうと非常に困ります。 また、今年は育休を取ろうとしているのですが、エンジニアという職業が風前の灯火なのであれば、おちおち休んでいる暇ではありません。 一時的に妻の不興を買ってでもさっさと業界を逃げ出す準備が必要です。
そんな恐怖に駆られ手に取ったのが本書でした。
基本データ 書籍名 コード×AIーソフトウェア開発者のための生成AI実践入門 著者名 服部佑樹 出版年 2024/9/19 ISBN 978-4-297-14484-5 書籍リンク https://gihyo.jp/book/2024/978-4-297-14484-5 開始日 2025/1/6 読了日 2025/1/13 全体的な概要 GitHubでアーキテクトを務める著者（GitHub Copilotにも携わってる？）が、非常に現実的な目線で昨今のプログラミング周辺を取り巻く生成AIの実情について語っています。
書籍の冒頭から力強く、以下のように宣言してくれます。
結論から言えば、エンジニアの仕事がAIに完全に奪われることはないでしょう。むしろ、AIとの共存は私たちの仕事をより創造的で価値あるものに変えていく可能性を秘めています。 服部 佑樹. コード×AIーソフトウェア開発者のための生成AI実践入門 (p.27). 株式会社技術評論社. Kindle 版.
その後は、
生成AIとコーディングを取り巻く現状 プロンプトエンジニアリングの基礎や実践 生成AIツールのタイプごとの活用戦略 生成AIと協働するためのコーディングスキル 組織として取り組むべきこと 細かなTips集 など多岐にわたる内容が触れられていました。
今までやってきたことをしっかり継続すべきと思えることもあれば、生成AI時代に大きく行動や意識を変えないといけないと思わされるポイントもあります。 いずれにせよ、生成AIの特徴を踏まえて、今後個人や組織がどのようなことをしていくべきかの羅針盤になる書籍と感じました。
個人的に気になったポイント 以下で個人的に気になったポイントをまとめていきます。 これは筆者の問題意識や現状とマッチしたものを取り上げているので、書籍の中で取り扱われ方と必ずしも比例するものではないのでご了承ください。
エンジニアが読みやすいコードはAIも読みやすいコード 全編通して、言葉を変えて「エンジニアが読みやすいコードはAIも読みやすいコード」という趣旨のことが何度も触れられていました。 いかに生成AIが処理できるコンテキストが増えようとも、ある程度巨大なコードベース全てをコンテキストに含めることは現実的ではありません。 仮にコンテキストに含めることができても、生成AIの原理上、推論に扱われる情報は確率的なものになるはずです。
また、多くの生成AIツールは検索と生成を組み合わせています。 検索に引っかかるコードを書くこともまた重要です。
そのため、
ファイル クラスや関数 各ブロック など各レベルで単一責任原則を意識したコードを整理しておくことが重要であることがわかりました。 これは生成AI以前から言われていますが、また新しい視点で考えさせられますね。
AIと協働しやすいコード AIがいじってもいい部分を明確にする 既存のコードを真似して新しいコードを生成することは得意ですが、既存のコードを改変する意思決定を行うことは苦手です。 服部 佑樹. コード×AIーソフトウェア開発者のための生成AI実践入門 (p.321). 株式会社技術評論社.</description>
    </item>
    <item>
      <title>本ブログで使っている技術スタック</title>
      <link>https://kohski.dev/tech/about-this-blog/</link>
      <pubDate>Sat, 15 Jun 2024 22:07:46 +0900</pubDate>
      <guid>https://kohski.dev/tech/about-this-blog/</guid>
      <description>Hugo + Cloudflare Pagesを用いて作成しています</description>
    </item>
  </channel>
</rss>
