その他
2025.08.14
Firebase+Nextjsでチャットアプリをつくってみる
はじめにConvexでチャットアプリをつくるのは手軽だったが、GoogleのFirebaseも同じようなツールであるため、同じようなアプリをつくって、比較することにします。「Building a Real-Time Chat App with Firebase and Next.js」という記事を見つけたので、こちらを参考に進めてみます。詳細は、元ネタの方を参照してください。また、記事で紹介しているソースはこちら開発以下のツールを使いますNext.js:ReactフレームワークFirebase Firestore:リアルタイムデータベースTailwind CSS:スタイリング用shadcn/ui:事前構築済みのUIコンポーネントZod:メッセージの実行時バリデーションFirebaseコンソールからプロジェクトを作成するプロジェクトにFirestoreを追加するテストモードで開始するプロジェクトの設定を開き、マイアプリを表示する</>をクリッ
その他
2025.08.13
Convex – チュートリアル:外部サービス連携
はじめにこちらのドキュメントにしたがって、チュートリアルを実行します。前回作成したアプリに機能を追加します。 データベースのトランザクションとリアルタイム性を維持するため、Convexのquery関数とmutation関数は、外部へのfetch(データ取得)呼び出しができません。しかし、実際のアプリケーションでは外部サービスと通信する必要があるため、Convexはaction関数を提供しています。action関数を使うと、同期エンジンが外部世界にアクセスできるようになり、その結果をミューテーション関数を通じてデータベースに書き戻すことができます。 本チュートリアルでは、このaction関数を使って、チャットアプリからWikipedia APIを呼び出し、トピックの要約を取得する機能を実装します。実装アクション関数 getWikipediaSummaryこの関数を公開APIとしないようにするため、internalActionを使用。この関数は、指定されたトピックでWikipediaのAPIに単純なfetchを行う。ctx.sch
その他
2025.08.12
Convex.dev とは?- フルスタックBaaSの紹介
はじめにConvex.devは、モダンなアプリケーション開発者向けに設計されたフルスタックのバックエンド・アズ・ア・サービス(BaaS)です。特に、リアルタイム性とTypeScriptによる型安全な開発を重視している点が大きな特徴です。Convexの主な特徴リアルタイムデータベース: Convexは、データベースの変更をすべての接続中のクライアント(フロントエンド)に自動でリアルタイムに同期します。これにより、リアルタイムなチャットアプリやコラボレーションツールを、WebSocketなどを自分で管理することなく簡単に構築できます。TypeScriptによるフルスタック開発: データベースのスキーマ、クエリ、バックエンドのロジック(サーバーレスファンクション)をすべてTypeScriptで記述できます。これにより、フロントエンドからバックエンドまで一貫して型安全な開発が可能になります。サーバーレスファンクション: バックエンドのロジックはサーバーレスファンクションとして実行され、データベースに直接アクセスできます。cronジョブや、外部サービス
その他
2025.08.12
turborepoとは? – monorepoのためのビルドシステムの紹介
モノレポ(monorepo)とは複数のプロジェクトやアプリケーションのコードを、一つのGitリポジトリで管理する開発手法のことです。これは「マルチレポ(multirepo)」という、プロジェクトごとに個別のリポジトリを持つ手法とは対照的なアプローチです。モノレポの具体的な構成例モノレポの構成は、親となるリポジトリの中に、複数の独立したプロジェクトが子ディレクトリとして配置されているのが一般的です。/my-monorepo <-- 親リポジトリ├── /packages <-- プロジェクトをまとめるディレクトリ│ ├── /web-app <-- 子プロジェクト1:ウェブアプリケーション│ ├── /api-server <-- 子プロジェクト2:APIサーバー│ ├── /ui-library <-- 子プロジェクト3:共通UIコンポーネント│ └── /shared-utils <-- 子プロジェクト4:共通関数└── package
その他
はじめにFAST APIは、Pythonの型ヒントに基づいたモダンで高速なAPI構築用Webフレームワークです。主な特徴は以下の通りです:高速:Node.jsやGo並みに高パフォーマンス(StarletteとPydanticによる)。開発が速い:開発速度が2〜3倍に。バグが少ない:人為的エラーを約40%削減。直感的:エディタ補完が充実し、デバッグ時間も短縮。簡単:学習コストが低く、ドキュメントを読む時間も短縮。簡潔:コード重複が少なく、宣言から複数の機能を得られる。堅牢:本番環境にすぐ使える。自動の対話型ドキュメント付き。標準準拠:OpenAPIやJSON Schemaと完全互換。ここで、Pythonの型ヒント(Type hint)とは、変数や関数の引数・戻り値に「どんな型を使うか」を明示するための記法です。仮想環境の作成cd myapp1python -m venv .venvsource .venv/bin/activateecho "*" > .v
その他
2024.08.15
PostgreSQLの使い方メモ
search_pathsearch_path設定current_db=> SET search_path=users,orders,catalogs;SETsearch_path確認current_db=> show search_path; search_path ------------------------- users, orders, catalogsユーザーユーザー作成current_db=> create user {username};ユーザー更新current_db=> ALTER USER {username} WITH PASSWORD '{password}';ユーザー一覧current_db=> \du
その他
2024.06.14
クラウドファンディング調査(2024)
クラウドファンディングの形態クラウドファンディングには複数の形態があり、リワード型以外にも異なる目的やニーズに応じた形式が存在します。以下は、クラウドファンディングの主なタイプです:エクイティ型(Equity-based)このタイプのクラウドファンディングでは、投資者は資金を提供することで、プロジェクトやスタートアップ企業の株式や権利を取得します。成功すると、企業の利益や成長に応じてリターンを得ることができます。エクイティ型は、投資家にとっては高リスク・高リターンな投資機会を提供します。寄付型(Donation-based)寄付型クラウドファンディングは、特定の原因やプロジェクトへの資金を集めることが目的です。このタイプでは、支援者はプロジェクトを金銭的に支援しますが、金銭的なリターンは期待しません。多くの社会的、慈善的プロジェクトがこの形式を用います。貸付型(Lending-based)貸付型クラウドファンディング、またはクラウドレンディングとも呼ばれるこの形式では、支援者が資金を貸し出し、将来的にその金額に利息を上乗せして返
その他
2024.06.13
マイナンバーカードの個人証明書で法人の署名ができた話
弊社は2024年に、社名と本店所在地の変更をおこないました。 法務局、銀行、社会保険事務所、日本政策金融公庫など関係各所にて、かなり面倒な変更の手続きがようやく終わったと思ってましたが、6月になり、労働保険料・一般拠出金申告書が届いたときに、労働保険の変更が必要だということが判明しました。 変更の申請方法を調べてみると、電子申請か管轄の労働基準監督署へいくかの2択で、ダウンロードできる書式はなく、つまり郵送には対応してないことがわかりました。当然、e-Govから「労働保険の名称、所在地変更」の電子申請を行うことにしました。 e-Gov上のフォームに変更前後の情報を入力したところ、「指定されていない文字が指定されています」というエラーがでるのですが、どの項目のどの文字がなぜエラーなのかを指摘してくれないので、勘で修正するしかないという、これを作ったシステム開発業者とこの仕様を通した行政の担当者を呪いたくなる、かなりフラストレーションがたまる状態に陥りました。 もうすこしで、電子申請を断念しそうでしたが、ハイフン、全角・半角英字、半角スペース、改行などをトライアル&エラーし、な
その他
2024.06.12
マッチングビジネス調査 (2024)
マッチングビジネスの主な種類まず、ビジネスマッチングのカテゴリをもっと広範囲に網羅的に紹介します。以下は、B2BおよびB2Cで見られるさまざまなマッチングビジネスのカテゴリです。B2Bマッチングビジネスのカテゴリソーシャルリクルーティングプロフェッショナルの採用を目的としたSNSプラットフォーム。LinkedInの求人広告は、単なるターゲット広告にとどまらず、応募フォーム、応募者管理、スケジューリング、面接、評価など、求人から採用までのプロセス全体をサポートする多くの機能を提供しています。これにより、企業は効率的かつ効果的に適切な候補者を見つけ、採用プロセスをスムーズに進めることができます。LinkedInは、リクルーティングプロセス全体を一元管理できる包括的なプラットフォームとして利用されています。サプライチェーンマッチング製造業者とサプライヤー、または卸売業者をつなぐプラットフォーム。AlibabaのB2Bマーケットプレイスは、単なるECサイトとは異なり、価格交渉、カスタマイズ対応、大量購入などのB2B取引に特化した機
その他
2024.06.8
Alexa Skills Kitの調査
Alexaってどういうサービス?Amazon Alexaは、Amazonが開発した音声アシスタントサービスで、音声認識技術と自然言語処理を駆使して、ユーザーの音声コマンドに応答し、さまざまなタスクを実行します。Alexaは、主にAmazon Echoシリーズなどのスマートスピーカーや、他のAlexa対応デバイスで利用されます。以下に、Alexaの主な機能と利用例を紹介します。主な機能音声認識と自然言語処理Alexaは高度な音声認識技術を使ってユーザーの音声コマンドを解析し、自然言語処理(NLP)を通じてその意図を理解します。これにより、ユーザーは自然な会話を通じてAlexaに指示を出すことができます。情報提供Alexaは、ニュース、天気予報、スポーツの結果、交通情報など、さまざまな情報を提供します。ユーザーは簡単な音声コマンドで必要な情報を得ることができます。例: 「Alexa, 今日の天気は?」「Alexa, 今朝のニュースを教えて」エンターテインメントAlexaは音楽の再生、オーディオブックの読み上げ、ポッドキャストの再生、クイ