Google Apps ScriptからAWSにアクセスするための署名の実装
こんにちは、庄司です。 Google Forms や Google Sheets 等の Google アプリケーションを活用していて、例えば Google Sheets に入力された特定の範囲のデータを AWS の S3 にアップロードしたいと思いました。 単純に考えると AWS SDK for JavaScript の利用が真っ先に思い浮かびますが、残念ながらこれは使用できません。Google Apps Script の実行環境は Node.js とは異なる独自のものだからです...
記事を読むActions permissions に GitHub Actions ワークフローに必要な最小限のパーミッションを教えてもらう
Actions Permissions # GitHub Actions のセキュリティのためのツール actions-permissions が public beta として公開されました...
記事を読むFresh 1.2 へアップグレード - island の新機能など
Fresh 1.2 リリース # Deno の Web フレームワーク Fresh 1.2 がリリースされました。 Fresh 1.2 – welcoming a full-time maintainer, sharing state between islands, limited npm support, and more Preact のメンテナの人がフルタイムの Fresh メンテナとして Deno にジョインしたことで開発スピードが上がることが期待されています...
記事を読むGitHub CodespacesによるJavaのチーム開発環境の作り方
GitHub CodespacesでJavaのチーム開発環境を整備してみたところ、想像の斜め上を行く便利さでした。このデベロッパーサイトでもCodespacesを何回か紹介してきましたが、今回は複数人で使う開発環境としてCodespacesを使うとどのような点がよいのか、そしてそれをどうセットアップするかなど、個人でなく複数人で使う場合の側面からCodespacesを紹介したいと思います...
記事を読む品質保証者の憂鬱「計測できないものは制御できないは本当か?」
前回の投稿から1か月以上も期間があいてしまいました。 少し時間が取れるようになってきたので、今回もソフトウェア品質について少し語っていきたいと思います。 「計測できないものは制御できない」 # ソフトウェア開発業界に限らず、何らかの開発作業に従事している人であれば次の言葉を聞いたことがあるのではないでしょうか。 計測できないものは制御できない この言葉は1982年にトム・デマルコ氏によって語られました...
記事を読むVS Code でユーザー定義スニペットを作って使う
VS Code のスニペット # VS Code ではプログラミング言語毎にビルトインのスニペットが利用できます。例えば、JavaScript を書いていて foreach と入力するとforeach を使う構文のテンプレートが挿入され、array や element のようなプレースホルダをタブキーで移動しながら書き換えることで素早くコードを書くことができます。(この例では GitHub Copilot のサジェストも出てしまっていますが...
記事を読むOrbStack - macOS 専用の高速軽量なコンテナ & Linux VM 環境
OrbStack とは # OrbStack は macOS 専用の高速で軽量なコンテナ環境と Linux VM 環境です。 OrbStack · Fast, light, simple Docker & Linux on macOS 以下のような特徴が謳われています。 超高速: 2秒で起動し、最適化されたネットワークとディスク、Rosetta による x86 エミュレーション 超軽量: CPU とディスク使用率が低く、少ないメモリで動作...
記事を読むTresJS - Three.js を Vue components として利用する
TresJS とは # TresJS は Vue.js のアプリで Three.js を用いたシーンのレンダリングを行うためのライブラリです。Vue の構文で宣言的にシーンを記述できます。 TresJS | The solution for 3D on VueJS Three.js は ブラウザで手軽に 3D グラフィックスを扱える優れたライブラリです。シーンのオブジェクトグラフを構築しそのオブジェクトグラフをレンダラーに渡して描画するという命令型のプログラミングスタイルです...
記事を読む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 に構築するものでした...
記事を読む