<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss/styles.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>富田真光 (Tomita Masamitsu) | 神戸のソフトウェアエンジニア</title><description>神戸を拠点に活動するソフトウェアエンジニア、富田真光（Tomita Masamitsu）の個人サイト・技術ブログ。プロフィール・実績・技術記事を公開しています。</description><link>https://tomy-dev.com/</link><language>ja</language><atom:link href="https://tomy-dev.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>AI時代だからこそ基礎力が大事だと思った話</title><link>https://tomy-dev.com/blog/ai-era-fundamentals/</link><guid isPermaLink="true">https://tomy-dev.com/blog/ai-era-fundamentals/</guid><description>Codexを使うと画面が一瞬で完成してしまう。それでもDB設計だけは自分の頭で考えないと詰むと感じた話。要件定義の現場で気づいた、AIに正確に委譲するために必要な自力について書きます。</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;いま入っている案件で、要件定義と基本設計をやっている。&lt;/p&gt;
&lt;p&gt;進め方としては、ユーザーに画面のモックを見せて、それをベースに話をしながら仕様を確定させていくというもの。そのためにTypeScriptとReactでフロントエンドを書いているのだが、ここで最近強く感じたことがある。&lt;/p&gt;
&lt;p&gt;AI時代だからこそ、結局は基礎力が何よりも大事だということ。&lt;/p&gt;
&lt;h2 id=&quot;codexを使うと画面が一瞬で完成してしまう&quot;&gt;Codexを使うと画面が一瞬で完成してしまう&lt;/h2&gt;
&lt;p&gt;まず、実装が本当に速い。&lt;/p&gt;
&lt;p&gt;Codexを使うと、画面が一瞬でできあがってしまう。モックデータについても、MSW（Mock Service Worker）を使えばリアルなデータをそのまま注入できる。ユーザーから見れば、ほぼ本番と変わらない画面で議論ができる状態だ。&lt;/p&gt;
&lt;p&gt;正直、実装のスピードという意味では、もう人間が手を動かす理由はほとんどないということを心の底から実感している。&lt;/p&gt;
&lt;h2 id=&quot;それでもdb設計は自分の頭で考えないと詰む&quot;&gt;それでもDB設計は自分の頭で考えないと詰む&lt;/h2&gt;
&lt;p&gt;一方で、これはAIに丸投げできないと痛感したのがDB設計だった。&lt;/p&gt;
&lt;p&gt;ユーザーと話していると、こんな場面がよくある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;このテーブルのスキーマ、どうなってたっけ？&lt;/li&gt;
&lt;li&gt;ユーザーが言っているこの要望、受け入れてしまっていいのか？&lt;/li&gt;
&lt;li&gt;受け入れたとして、全体で破綻しないか？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここで自分が設計を理解していないと、かなりきつい。何が分かっていないのかも分からない状態になるので、AIに聞いてると遅いし、回答を待っている暇もない。
もちろんやるやらないは持ち帰って検討するにしても、技術的にできるかできないかくらいは伝える必要がある。&lt;/p&gt;
&lt;p&gt;画面は後から作り直せる。でもデータ構造の破綻は、後になるほど効いてくる。だからここだけは自分の頭で考えて、理解した状態で設計しておく必要がある。&lt;/p&gt;
&lt;h2 id=&quot;基礎があるからこそaiに正確に委譲できる&quot;&gt;基礎があるからこそ、AIに正確に委譲できる&lt;/h2&gt;
&lt;p&gt;基礎があるから応用ができる。そして基礎があるからこそ、自分の仕事を正確にAIに委譲できる。&lt;/p&gt;
&lt;p&gt;AIに全部考えてもらうのではなく、自分で考えた上でAIを使う。この違いは大きくて、前者だと出てきたものが正しいかどうかを判断できないが、後者なら意図した通りに実装させて、違っていたら指摘することができる。&lt;/p&gt;
&lt;p&gt;そもそもの順番として、業務が先でAIは後。ここは変わらないと思っている。&lt;/p&gt;
&lt;p&gt;そして結局は、AIを使いこなす自分のレベルが低いままだと、いいアウトプットもアウトカムも出せない。委譲するには、委譲する内容を自分が分かっている必要があるし、AIが賢くなればなるほどこの前提が効いてくる。&lt;/p&gt;
&lt;p&gt;結局は基礎力だし、自力は必要ということ。&lt;/p&gt;
&lt;h2 id=&quot;徹底的に基礎を理解して詳細をaiに委譲する&quot;&gt;徹底的に基礎を理解して、詳細をAIに委譲する&lt;/h2&gt;
&lt;p&gt;というわけで、いまは &lt;a href=&quot;https://www.amazon.co.jp/dp/4798186627&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABe0lEQVRYhe2XMW7CMBSGP5uKibkXaKUwcAfoBQhzWaouVByAFVh7AESlVmIpM3AB0jswwNADlDkTEkmHl9AkEFFKwB34JCtxbOf/37MT6Ski+E9cs6IJ1IASkCMb1sAMGJGnp/oswwG1EX/gHs0LUMhINA0Xj4YaMNwYCMTfTywcx6OuBgxVkPZPTh95Epc8NzrY83OLAxRY0dTIgTNFTSOn3RQlTXaf2l/IaYPiAFwMXAzEDdid7BXsDrSm8OZLS2hsZ2DHpKOYOzDuwvMdLByotmPDV7HeOBCOTgqfHYPdFhOLD2mpBnaZqLZh0pX7uSNR7MOqiKhVkf6kK+taU8lEBOU/4qe+pFjZStmGhSPRWOX4muSccSAebmsio+kGotiddCNp5kLhPfzOQEgYYTG4WmXJwtz5ET6QwwycgH/2I7oYMGRgbVB/rZGKxRQzDYwMGhiZLUw0t1r1WeLROLM4eDTUK18aQA0Y4lEH3DNIu2FdCJHqGMyU599+1oDHJ9NWzAAAAABJRU5ErkJggg==&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; width=&quot;16&quot; height=&quot;16&quot; class=&quot;link-favicon&quot;&gt;達人に学ぶDB設計徹底指南書&lt;/a&gt; を読んでいる。
徹底的に基礎を理解して、詳細をAIに委譲する。どこまで行っても基礎が大事！&lt;/p&gt;
</content:encoded><category>AI</category><category>Database</category><category>TypeScript</category><category>React</category></item><item><title>WordPressをやめて、AstroとCloudflareでサイトをリニューアルしました。</title><link>https://tomy-dev.com/blog/renewed-with-astro/</link><guid isPermaLink="true">https://tomy-dev.com/blog/renewed-with-astro/</guid><description>WordPressで運用していたポートフォリオサイトを、Astro + Cloudflareの構成で作り直しました。移行の理由と新しい構成について書きます。</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;このサイトは、もともとWordPressのオリジナルテーマで作ったポートフォリオサイトでした。今回それをやめて、Astroで作り直しました。この記事はそのリニューアル後の1本目です。&lt;/p&gt;
&lt;h2 id=&quot;なぜwordpressをやめたのか&quot;&gt;なぜWordPressをやめたのか&lt;/h2&gt;
&lt;p&gt;理由はシンプルで、&lt;strong&gt;運用のシンプル化と爆速化&lt;/strong&gt;です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本体・プラグインの脆弱性対応に追われる&lt;/li&gt;
&lt;li&gt;サーバーやDBの管理が必要&lt;/li&gt;
&lt;li&gt;サイトの表示速度を上げるにも限界がある&lt;/li&gt;
&lt;li&gt;そもそもWordPressである必要がない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;個人のサイトに管理画面もDBも必要ないと気づき、静的サイトに全振りすることにしました。
当初はNext.jsも検討していたのですが、軽量さと手軽さからAstroにしました。&lt;/p&gt;
&lt;h2 id=&quot;新しい構成&quot;&gt;新しい構成&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;フレームワーク&lt;/strong&gt;: &lt;a href=&quot;https://astro.build/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAA3lBMVEX///8AAADS0tLh4eFtbW3r6+uYmJilpaV9fX1bW1vn5+fx8fHPz8/Z2dnLy8v8/PyysrJEREQSEhJBQUEpKSk0NDS+vr4aGhqenp6RkZEtLS2IiIheXl4MDAy5ubnxtdj1yuP53vfuocfiCZLoabH43Oz78fjzsuPrWtHoNdDuqsThK4XjM47jKpHjJJXjIZrlIabnLrPpVcT0ztneIW7gMHrkOpnlO6TlLKXvntDbIVrleJX22ODpj6zhOILfN3DjWZDaKE/dNV3sprfaQ1LZIT7rrLPooqLUAADZSUnwKWruAAABH0lEQVQ4jX2T60KCQBCFZxXlshpqSiWVWUkXqTTFzEq72eX9XyhxFnYXJs6vmXM+hmEBACleK6HqQIulqpH5jgQMEjAkwFwid5WcNQigoQJNAmiqAKvk8oqWs2oOqGJgiWdp5YBWMnoXi1Imr6PdBjDFqAxgpbdOlskAwi1vyg6WnpZ7aO7F9T7WtgbYaB7EtSOmcSXnwsP33MbGVABTW0wcSVcBumj52JWVjRWnY1iJ41uHR5LfHoKf+4b4sS2PwsumKMfR+95JWvbJC07PznuDwA0GF5dXJHA9DG9u7+aj0Xh8TwKTaRQNw3A2e5g/0kstnp5fouVyw9A5TGJotZq+Bv8Asd7eFx8FMcDn+qswh+8f6qdS9Vu0wFZcb/8AGq4R6TkbzaMAAAAASUVORK5CYII=&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; width=&quot;16&quot; height=&quot;16&quot; class=&quot;link-favicon&quot;&gt;Astro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CSS&lt;/strong&gt;: Tailwind CSS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ホスティング&lt;/strong&gt;: Cloudflare&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コンテンツ管理&lt;/strong&gt;: Markdown（Gitで管理）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Astroはデフォルトで&lt;strong&gt;JavaScriptをほぼ配信しない&lt;/strong&gt;フレームワークです。このサイトで動いているJSは、ダークモード切替の数行だけに厳選しました。
あとはビルド時に生成された静的なHTMLとCSSだけで動いているので表示速度が爆速です。&lt;/p&gt;
&lt;p&gt;あとは記事の管理の作成・管理をマークダウンでしたかったというのも大きいです。
CMSを別で用意することなく、VS Codeで記事を書いて、mainにマージされれば自動的に配信されるという快適さも得ることができました。&lt;/p&gt;
&lt;p&gt;また、ホスティングに&lt;strong&gt;Cloudflare Pages&lt;/strong&gt;を選んだのは、&lt;strong&gt;世界中のエッジサーバーから高速に配信でき、Githubと連携したCI/CDまで無料で完結する&lt;/strong&gt;ためです。
今の構成でかかってくるコストはドメイン代だけになりました。&lt;/p&gt;
&lt;p&gt;シンプルにプロダクトとしてCloudflareが好きだからというのもあります。&lt;/p&gt;
&lt;h2 id=&quot;こだわったところ&quot;&gt;こだわったところ&lt;/h2&gt;
&lt;h3 id=&quot;とにかく速く&quot;&gt;とにかく速く&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Webフォントを使わず、OS標準フォントで表示&lt;/li&gt;
&lt;li&gt;画像はビルド時に最適化&lt;/li&gt;
&lt;li&gt;静的ファイルをCloudflareのエッジから配信&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;これからのこと&quot;&gt;これからのこと&lt;/h2&gt;
&lt;p&gt;このブログでは、技術のこと・作ったもの・気になっていること・日々の活動について書いていく予定です。よろしくお願いします。&lt;/p&gt;
</content:encoded><category>Astro</category><category>Tailwind CSS</category><category>Cloudflare</category></item></channel></rss>