見出し画像

個人開発6日目 2度目の方針転換

生成AIをフル活用した個人開発を始めて、1週間近く経とうとしております。

何度も何度も生成AIを活用しながらコードを作り、エラーと戦いながら進めていくうちに、

「思ってたんと違うなぁ。」

と思うことが何度かあり、2度方針転換をする事になりました。


1度目の方針転換 FastAPI -> NestJs

具体的に言うと、Web 開発の場合は、『フロントエンド』と『バックエンド』 という2か所について開発をする必要があります。

『フロントエンド』というのが、お客さんが見る方の画面になります。画面周り全般ですね。

こちらはWeb界隈のばあ、最近は『Next.JS』というのが主流になっているので、今回も『Next.jS』で進めています。

問題は『バックエンド』。

生成AIも活用するために、初めは『Python』の『FastAPI』というフレームワークを使うつもりで進めていました。

ですが実際に進めていると、フロントとバックエンドでプログラム言語が全く違うというところで頭のスイッチの切り替えがなかなかうまくいかず・・・

エラーも大量に出るし、その対応方法もそれぞれ異なります。

果たして本当に『Python』で書く必要があるのかというのを再考することになりました。

生成AIを使う箇所はあるのですが、それ以外の箇所についてはフロントエンドと同じプログラム言語でやった方が効率がいいんではないかという気持ちに至り、1回目の方針転換をすることになりました。

2度目の方針転換 NextJs -> Express


バックエンドもフロントと合わせて『TypeScript(JavaScript)』で書くことにしました。

フロントもバックエンドもどちらも同じ言語で書けるというのは、C#など他の言語でも可能ではあるのですが、Web業界出身ということもあり、今回は『TypeScript』で進めることに。

ただ『TypeScript』で進めるにせよ、一から全部書くとなると大変なので、バックエンド専用のフレームワークを使った方が効率がいいなと。

フレームワークも種類がいくつかあるので、生成AIと相談しつつ、始めは 『NestJs』というフレームワークを選ぶことにしました。

大規模開発になることを想定して、機能てんこ盛りのフレームワークを選んでいたという状態です。

実際に1日やってみたんですけれど、いざやってみるといまいちピンとこず・・・

あまり自分と合わないなということがよくありました。

『NestJs』独自の書き方や機能がたくさんあるし、データベースの接続部分も冗長な内容が多く。

今回は『TypeORM』というのを使っていたんですけれど、こちらも個人的にはあまりピンと来ませんでした。という事で2度目の方針転換をすることになりました。

ようやく方針が固まる


2度目の方針転換後ということで、

  • フロントエンドは NextJs 変わらず

  • バックエンドはExpress

  • データベースの接続部分はPrisma

という構成で進める事に決めました。

Expressに関しては昔からある有名なフレームワークで、どちらかというと 軽量なものになります。

独自に覚える内容が少ない分、フロントとバックエンドを同じTypeScriptで
書けるし、使い回しもしやすいということで、今回はエクスプレスで固めることにしました。

またデータベース周りも『Prisma』というモダンな仕組みを使うことにして、実際に試してみたところこちらの方がシンプルにかけるので個人的にも相性がいいなということで『Prisma』で進めることにしました。

開発環境としては、『Docker』というコンテナ環境を使っていて、

  • フロントエンド

  • バックエンド

  • LLM AIエージェント

の3つですね。(他にデータベースなどもありはします。)

LLM AIエージェントに関しては『FastAPI (Python)』を使うんですけれど、それ以外はフロントもバックも同じくTypeScriptで進めるというところで、効率性やわかりやすさを重視して決めた結果になります。

手軽にお試しできる環境

個人開発を進めながらたくさんのことを学習していってスキルアップをしていく過程で、どうしてもちょっと思ってたのと違うなあと方針転換をしたいなということがままあります。

これまで学び直しというのはなかなかにハードルが高かったのですけれど、生成AIを使うことで、触れたことがない技術であってもいろんな問い合わせをすることであっという間にレベルアップすることができます。

レベル1からレベル20や30まではあっという間にスピードアップできると思っています。

プロジェクトの立ち上げ期など、どの技術がいいかというのを試す際にも、生成AIはとても便利な技術だなというのを改めて感じたところです。

最後に

東京出張に行くために3日ほど開発を止めることになるのですが、その間もググったり生成AIと相談しながら少しずつ知識を深めていきます。

生成AIを生かした個人開発を、どうやればもっと早く効率的にできるかというのを日々考えつつつ、noteでも発信して、どんどんとクオリティを高めていきたいなと思っています。


個人開発のマガジン

有料マガジン (difyもあります)



Udemy講座 生成AIもいくつかあります(Dify, 画像生成AI, ChatGPTなど)

udemy講師紹介ページ

udemy講座のクーポン一覧



最後まで記事をお読みいただきありがとうございます❗

さらなる良記事を執筆するためのモチベーションアップのため、

よろしければスキ & フォローもお願いいたします😊

フォローバック100%させていただきます💯

いいなと思ったら応援しよう!

世界のアオキ@生成AI探究者 | 個人開発withAI
よろしくお願いします。いただいたサポート費用はクリエイターとして、レベルアップするための活動に役立てるようにいたします。ありがとうございます🥰