2025年3月10日
Next.js の App Router で API を作る時にはレスポンスを `NextResponse.json()` などで返すと思いますが、これを共通化したりする時にシングルトンにしてはいけない、という話です。 ## 何がダメなのか 同時にリクエストすると、レスポンスのボディを取得できなくなります。 ## 検証環境 * next 15.2.1 * react 19.0.0 * next-test-api-route-handler 4.0.15 ## コード ``` app/api ├
2025年3月9日
Azure OpenAI Assistants API と Azure AI Agent Service を比較してみました。2025年3月時点での情報であり、両サービスともプレビュー版のため仕様が変更になることがあります。 ## 機能の比較 ### 共通していること * ステートフルな API を提供するので API 利用者はメッセージ履歴の保存をする必要がない * Code interpreter が使える * AI がコードを生成して API 側のサンドボックス環境で実行してくれる機能 *
2025年2月3日
ちょっとした思いつきで、ブラウザだけでファイルを暗号化して保管できるアプリを作れるのではないかと思い作ってみました。使い道はよくわからないですが、何かの役に立つこともあるかもしれません。 アプリ: https://sogo.dev/local-file-locker/ ソースコード: https://github.com/SogoKato/local-file-locker ファイルを選んで encrypt ボタンを押すと…… !local_file_locker_1 ファイルが暗号化されて保
2025年1月22日
表題の通り、配列の JSON から指定した数だけの要素をランダムで取り出すシェルスクリプトを jq のラッパーとして作ってみました。プルリクエストやマージリクエストのレビュワーをランダムで指名するときに、API で権限のあるメンバーリストを取得してその JSON から抽選できたらいいなーと妄想してます。 ## 前提条件 * Bash * jq ## 成果物 ```bash:jrand.sh #!/bin/bash input=$(jq . ${@:2}) length=$(echo $input
2024年12月21日
システムの仕様上、稀によくめちゃめちゃ長いログが発生することがありますね(?)。そういう時、そのまま出してしまうとログを収集したり集約したりするどこかの上限に引っかかってしまうことが考えられます。もしくは、閾値を超えたときに分割される場合もありますが、JSON のような構造化ログを送るようなケースでは分割されるとデータが破損してしまいます。そのような背景から、長いログの場合にはアプリ側で分割して構造化ログを吐き出せるようにした方がいいと考えて、作ってみました。 ## 成果物 ```python:pys
2024年12月12日
この記事は Fujitsu Advent Calendar 2024 の12日目の記事です。 昨日は @Syuparn さんの バックエンドの動作確認に使用できるワンライナーAPIサーバーの紹介 でした。私も動かしてみましたが、本当に動いていてすごいと思いました。 --- 優秀な弊弟が scikit-learn で、いぬの画像分類をするモデルを作ったのでそれを API として提供できるようにしてみました。下記はその奮闘記です。 ## 環境 * Python 3.12.2 * numpy 2.1.
2024年10月24日
前回 ファイル保存なしでWhisper APIにLINE Messaging APIから音声を渡す という記事を書きましたが、OpenAI の API を使うと決める前はラズパイ上で Whisper を動かすことを企んでいました。今回はその記事になります。今回もファイル保存せずにやります。 作った API を Raspberry Pi 5 で動かしてみたのですが、数秒の medium モデルで音声を文字起こしするのに1〜2分はかかるので使い物にならなくてやめました。 ## 環境 * Python 3
2024年10月17日
LINE Messaging API でユーザーから送られてきた音声を OpenAI の Whisper API に渡す方法はググるとたくさん出てきますが、私が見た範囲ではどれもサーバー内に一時ファイルを保存しているものだったので、ファイル保存なしでメモリ上でなんとかする方法を探してみました。 ## 想定読者 * LINE Messaging API の使い方を知っている人 * LINE ボットの作り方の解説は省きます * 一時ファイルの保存はしたくないというこだわりがある人 ## 環境 *
2024年10月11日
Azure DevOps の Azure Pipelines のパイプライン YAML に入門してみます。 ## 想定読者 * GitHub Actions や GitLab CI/CD には馴染みがあるけど Azure Pipelines はよく分からん人 * Azure Pipelines の YAML の書き方の雰囲気をつかみたい人 ## 公式ドキュメント まずはここを見ましょう。 Azure Pipelines の YAML スキーマ リファレンス ## 簡単な例 ```yaml t
2024年9月30日
Ansible で postfix をインストールして、各種設定ファイルを流し込む role の例です。 `tasks/main.yml` ```yaml - name: Update apt package list ansible.builtin.apt: update_cache: yes when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' - name: Ensure postf