OpenAIのChat APIに追加されたFunction callingを使ってみる
2023-06-13にOpenAIからGPT-3.5-turboとGPT-4のアップデートに加えて、Function callingという機能をAPIに追加したと発表しました...
記事を読むGitHub Actions でハイスペックな Larger runners を試す
Larger runners # GitHub Actions では GitHub-hosted runners と呼ばれるGitHub がホストする VM でワークフローを実行します。これまで Runner のスペックが足りない場合は、セルフホストランナーでハイスペックマシンを使うしかありませんでした。今後は、通常の Runner よりお高くなりますが CPU コアやメモリを多く搭載したハイスペックな Larger runners が利用可能になります...
記事を読むPodman Desktopがv1.0になったのでwindows版を試してみたところ、気付いたらv1.1に上がるくらいに機能豊富だった話
少し前にRedHatからPodman Desktopのv1.0がリリースされました。Podmanは当Developer Siteでも紹介されていますが、デーモンレスに動作する[1]という特色を持つコンテナの開発/実行/管理ツールです。 より身近な関心毎として、Podman Desktopはオープンソースであり、2022年に有償化されてしまったDocker Desktopの代替[2]として活用できる可能性があります...
記事を読むChatGPTプラグイン開発でGitHub OAuthを使った認証を試す
少し前にAWS上でChatGPTプラグインを構築する記事を書きました。 AWS LambdaでChatGPTプラグイン開発を試してみる - ローカル開発編 AWS LambdaでChatGPTプラグイン開発を試してみる - AWSデプロイ編 ここでは認証なし(auth: none)の実装としていました。 とはいえ、ユーザー固有のリソースを使う場合等、認証が必要なケースも多くあるかと思います。 現時点では、ChatGPTプラグインは以下3タイプの認証方式を提供しています...
記事を読むStale Repos Action を使って GitHub オーガニゼーションの古いリポジトリをリストする
Stale Repos Action とは # Stale Repos Action は、GitHub オーガニゼーション内で一定期間更新のないリポジトリを検出するための Action です。ワークフローに組み込んで定期実行することで、古くなったリポジトリをリストアップし棚卸しできます。GitHub 公式の Action で v1.0 のリリースアナウンスがありました...
記事を読むオンプレミスのサーバでIAMロールを使用する
こんにちは、庄司です。 EC2 に配置したアプリケーションで S3 や DynamoDB 等のサービスを利用する場合、永続的クレデンシャル (アクセスキーやシークレット) を使用せずインスタンスプロファイルによる IAM ロールの利用がベストプラクティスとなっています...
記事を読む1日50円で使えるマイクロサービスなアプリを動かすAWS環境を作ってみた
今回は「MicroProfileのサンプルリニューアル – 今度はほんとにMSA」の番外編として記事で紹介したMSAなサンプルアプリを動作させるために構築した1日50円で運用可能なケチケチAWS環境を紹介したいと思います。実業務の本番環境としてはハッキリ言って使い物にならない部分も多いですが、ケチってもこのくらい出来るのネ程度に生暖かく読んでもらえればと嬉しいです。なお、今回はわけあってAWSの個人アカウントを使って環境を構築しています(理由は記事の最後に)...
記事を読むAWS LambdaでChatGPTプラグイン開発を試してみる - AWSデプロイ編
以下記事の続編です。 AWS LambdaでChatGPTプラグイン開発を試してみる - ローカル開発編 前回はAWS LambdaでChatGPTプラグインを動かすことを前提として、ローカル環境(SAM CLI)で起動したプラグインAPIとChatGPTを連携して感覚を掴みました。 今回は、実際にAWS環境へデプロイしてみたいと思います。 最終的な構成を再掲します。 このサンプルプラグインのソースコードは以下GitHubレポジトリで公開しています...
記事を読むelectron-vite で Electron アプリ開発の生産性を上げる
electron-vite は Electron アプリ開発用に構成された次世代の開発環境を謳っています。名前の通り JavaScript のデファクトビルドツールになりつつある Vite を採用しています。 概要 # electron-vite の Git リポジトリです。記事執筆時点のバージョンは v1.0.22、スター数は922でした。個人開発のプロジェクトです...
記事を読むAWS LambdaでChatGPTプラグイン開発を試してみる - ローカル開発編
世界中を席巻しているChatGPTですが、プラグイン機能はリアルタイム情報取得、外部API連携等、ChatGPTの可能性を無限に広げます。 そんなプラグイン機能が、Webブラウジングとともに2023-05-15週から順次ChatGPT Plusユーザーに解放されました...
記事を読むDeno KV を Deno Deploy で使う
先日の記事「Deno のビルトイン key-value データベース Deno KV が登場」ではローカルで試しただけでした。 クローズドベータが使えるようになったら Deno Deploy で試してみたいと思います。 と書いた通り Deno KV クローズドベータの waiting list に登録していました。1週間ぐらいでインビテーションがきて筆者の Deno Deploy アカウントで利用できるようになりました...
記事を読むGitHub Actions Runner Controller (ARC) - セルフホストなランナーを Kubernetes でオンデマンド実行する
先日 GitHub Actions の Runner Controller (ARC) のパブリックベータがアナウンスされました。 GitHub Actions - Actions Runner Controller Public Beta | GitHub Changelog ARC 導入の利点 # これまで GitHub Actions のセルフホストランナーは、ローカルの PC や VM に構築するものでした...
記事を読むテストのフレイキーさを簡単に確認するためにレポートツールAllureを利用する
フレイキーなテスト(flaky test[1])とは、ソースコードに変更を加えていないにも関わらず成功と失敗の両方の結果を出すテストです。ソフトウェアテストのシンポジウムJaSSTでのGoogleのJohn Micco氏の講演[2]などが有名ですね。 「フレイキーさ」はテストを自動化していくとついてまわる問題であり、放置してしまうといわゆるオオカミ少年効果[3]により順調なデプロイを妨げる一因になり得ます...
記事を読むDeno のビルトイン key-value データベース Deno KV が登場
4月末の Deno 1.33 のリリースで、ビルトインの key-value データベースである Deno KV が 導入されました。 Deno 1.33: Deno 2 is coming 5月に入って Deno KV の正式なアナウンスがありました。 Announcing Deno KV 公式サイトもローンチしています...
記事を読む品質保証者の憂鬱「鉄釘から始まる人間論」
4月、5月はプライベートがかなり忙しく、前回の投稿から1か月ほど期間があいてしまいました。 今回は少し軽いお話(テーマは重い)をしたいと思います。 デスマーチでリタイヤ者続出 # 私は長くソフトウェア開発の仕事をしてきましたが、製品・サービスを納期通りにリリースできたプロジェクトの数は片手で数えても余ります。 納期通りに製品・サービスをリリースできなかった原因は様々です。 そもそも見積もりが甘い。 技術要素を詰めきれていない。 人材が足りない。 そもそもスキルがない...
記事を読むAmazon VPC Latticeを使ってコンテナ(EKS)とLambda関数で相互通信する
2023-03-31にAmazon VPC Lattice(以下Lattice)というマネージドサービスがプライベートプレビューからGAとなりました...
記事を読む今さら聞けないMaven – 実行オプションの固定化
Mavenでは多数の条件をmvnコマンドのオプションで指定することが多いですが、指定するオプションにはプロジェクトや環境が同じであればに常に同じとなるオプションがあるため、オプションを固定化したい場合があったりします。また 「ローカルリポジトリの分割」で紹介したような長いオプションを都度指定するのが面倒だったりもします...
記事を読むGatling - DSL で API の負荷テストを書いて実行する
Gatling は JMeter と同様な Web サービスの負荷テストツールです。 Gatling - Professional Load Testing Tool エンタープライズ向けの有償サービス(オンプレ/クラウド)もありますが、バイナリをダウンロードして利用することも可能です。 JMeter より後発なのでモダンになっています...
記事を読むKafkaJS で Kafka Consumer / Producer を書く
Apache Kafka ではクライアントライブラリが様々な言語で開発されています。Confluent 公式では、Java / C++ / Go / .NET / Python がサポートされています。 Kafka クライアント | Confluent Documentation Node.js では KafkaJS が利用できます。個人開発のプロジェクトですが、記事執筆時点でスター3.2k、コントリビューター117人、採用プロジェクト10k以上とかなりメジャーなライブラリです...
記事を読むAWS Lambdaのレスポンスストリーミングを使ってChatGPTっぽいUIにする
2023-04-07にAWS Lambdaのレスポンスストリーミングのサポートが発表されました。 Introducing AWS Lambda response streaming (邦訳)AWS Lambda レスポンスストリーミングの紹介 AWS Lambdaでは、同期型のHTTP通信はリクエスト・レスポンスモデルのみで、Lambdaの実行時間に比例してユーザーへの応答時間も長くなります...
記事を読む