<?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>Gemini on ITフリーランスの備忘的なにか</title>
    <link>https://zac-lab.com/tags/gemini/</link>
    <description>Recent content in Gemini on ITフリーランスの備忘的なにか</description>
    <generator>Hugo -- 0.143.0</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 31 Mar 2025 13:32:25 +0900</lastBuildDate>
    <atom:link href="https://zac-lab.com/tags/gemini/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>タロットアプリを公開しました。</title>
      <link>https://zac-lab.com/posts/20250331/</link>
      <pubDate>Mon, 31 Mar 2025 13:32:25 +0900</pubDate>
      <guid>https://zac-lab.com/posts/20250331/</guid>
      <description>Next.jsとCloudflare Pagesで開発したタロット占いアプリの制作過程を紹介。CursorエディタとGemini2.0 Flash Liteを活用した開発体験と、生成AIの実装について解説します。</description>
      <content:encoded><![CDATA[<h2 id="タロット占いアプリ">タロット占いアプリ</h2>
<p><img alt="タロット占いアプリのホーム画面" loading="lazy" src="/posts/20250331/screen.png"></p>
<p>🔗 <a href="https://tarotfortune.zac-lab.com/" target="_blank">アプリへのリンク</a>
</p>
<p>かねてより興味があったタロット占いのアプリを作ってみました。
1枚でサクッと占ったり、10枚でじっくり占うこともできます。</p>
<p>このアプリを作った経緯としましては、最近うちの子供がタロット占いにハマっておりまして、カードの意味を覚えたり、カードを組み合わせてどのように解釈するか、といったところの練習になるといいなと思い開発しました！</p>
<p>アドバイスの部分は、生成AIを使って自然な文章で提案してくれるようにしました。</p>
<h2 id="技術的なこと">技術的なこと</h2>
<p>以前公開した<a href="https://typing.zac-lab.com/" target="_blank">タイピング練習用のアプリ</a>
の基本構成と同じ、Next.js＆Cloudflare Pagesを採用しています。
ほどんと同じなので、異なる部分のみ記載したいと思います。</p>
<p>ちなみにこちらは現時点（2025年3月末時点）のものであり、まだまだ改善点がありますので変わる可能性ありです。</p>
<h3 id="nextjsのapiルート">Next.jsのAPIルート</h3>
<p><a href="https://typing.zac-lab.com/" target="_blank">タイピング練習用アプリ</a>
においては、フロントエンドのみの構成でした。
今回のアプリでは、生成AIのエンドポイントをたたく必要があったため、セキュリティのためにAPIルートを使用しました。
Cloudflare Pagesにデプロイすると、自動的にCloudflare Functionsとして動作させることができました。</p>
<p>ただ途中、ビルドがうまく通らなかったので、Next.jsのバージョンを15→14に落としました。</p>
<h3 id="cursoraiコードエディタ">Cursor（AIコードエディタ）</h3>
<p>月$20の課金をして、Cursorを導入してみました。
ものすごい速さで画面を作り上げてくれて、驚愕です。。
結構メンタルやられるレベルで速いですねww</p>
<p>バージョンは0.47.8を利用。
直近アップデートがあり、これまではComposerとChatが分かれていたところのUIが、統合されたようです。
チャットでのやり取りの中で、適宜Agent（自動でコーディングしてくれるモード）とAsk（質問モード）を使い分けられるようになっています。コンテキストが分断されることなく使い分けられるのがとてもいいですね。</p>
<h3 id="生成aigemini20-flash-lite">生成AI（Gemini2.0 Flash Lite）</h3>
<p>初めて自作アプリの中に生成AIを組み込んでみました。
今のところは無料枠で全く問題ないです。</p>
<p>使ってみた感想としては、ドメイン制限やレートリミット、入力文字のサニタイジングなど、結構考えることが多かったです。
普段の業務では、組織内で使うアプリに組み込む程度で、悪意を持ったプロンプトへの対応を想定していないことが多いため、勉強になりました。</p>
<h2 id="まとめ">まとめ</h2>
<ul>
<li><a href="https://tarotfortune.zac-lab.com/" target="_blank">タロット占いアプリ</a>
を公開しました。</li>
<li>Cursorを使った開発の速度は爆上がり！！</li>
<li>アプリに生成AIを積極的に組み込んでいきたいです。</li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
