AWS小ネタ - 裏技!?AWS CloudShellで操作ユーザーの資格情報を簡単にゲット!
はじめに # AWS CloudShellは、インフラ作業用の踏み台サーバーとして活用できる機能を取り揃えており、お手軽で便利です。さらに便利な裏技として操作ユーザーの資格情報を簡単に取得できますのでご紹介します。 CloudShellの裏技 # すごく簡単です。CloudShellで以下の通りにコマンドを実行するだけです...
記事を読むJavaエンジニアが始めるTypeScript入門(第8回:オブジェクト)
はじめに # 今回はオブジェクト指向プログラミングで馴染みのあるインターフェイスやクラスについて説明します...
記事を読むTerraformコードのリファクタリング
はじめに # Terraform のコードに対してリネームやリソースのモジュール間で移動すると、 terraform applyした際にリネームしたリソースの削除/再生成が行われてしまいます。 そこで、実際のインフラに影響を与えずにリソース名の変更およびリソースのモジュール間の移動するための手順を紹介します...
記事を読むJJUG CCC 2024 Fallにいってきました
昨日(10/27)にベルサール新宿グランドで新宿行われたJJUG CCC 2024 Fallにいってきました。筆者はかなりの出不精なのでオフラインイベントはあまり参加しないのですが、今回はどうしても聞きたいセッションがあったので朝一から参加しました。今回のその中から興味深かったセッションをいくつか紹介したいと思います。 なお、内容はレポートというよりホボ筆者の感想文です。その点はあらかじめご承知のほどを。現時点で登壇資料が見つけられたものはそのリンクもつけておきます...
記事を読むSpringの小話 - RestClientのテストもRANDOM_PORTでやりたい!
今回の小話はRestClientを使ったテストについてです。TestRestTemplateだったら何も悩むことはなかったのにRestClientではどうすればいいの?という方は是非読んでいただければと思います。 --> Informationこの記事はSpring Boot 3.3.5で動作を確認しています。記事で説明したコードはGitHubのこちらに一式アップしています...
記事を読むCodeBuild + ECR + AWS BatchでAWS Lambda Pythonレイヤー作成
背景 # AWS Lambdaの対応言語の中でもPythonはコード実行までの手間と学習コスト的にもお手軽で利用率が高いようです。私の主要言語はJavaなのですが、手っ取り早くLambdaを使いたいときは不慣れであってもお手軽なPythonを使いたくなります。 そして、Lambdaで外部ライブラリの力を借りたくなった時はレイヤーというものを用意する必要があります。AWSが予め用意してくれているレイヤーで事足りればよいのですが、そうではない場合は自前でレイヤーを用意しなければなりません...
記事を読むWarpStream - Confluent が獲得した Kafka 互換のデータストリーミングプラットフォーム
はじめに # WarpStream は Apache Kafka 互換のデータストリーミングプラットフォームです。 S3 などのオブジェクトストレージとシングルバイナリのエージェントだけで構成され、AZ(availability zone) 間のネットワーキングコストなし、ディスク管理不要、高いスケーラビリティを特徴とします...
記事を読むGradle Wrapper が利用できない時の VS Code Gradle 拡張設定
はじめに # Gradle Wrapper や Maven Wrapper はシステムに Gradle や Maven がインストールされていなくても必要なバージョンのバイナリ本体をダウンロードしてくれるので便利です。 Gradle のバイナリ本体は service.gradle.org/distributions/gradle-8.xx.x-bin.zip のような URL で配布されており、社内などアクセス制限がある環境では、ダウンロードに失敗してビルドエラーになります...
記事を読むSpringの小話 - Spring Bootを3.3系にBumpしたらLogback-accessが動かなくなった
個人的に育てているアプリのSpring Bootのバージョンが3.2系のままだったので、直近の最新の3.3.4にしたら Logback-access が動かなくなりました。一周遅れのバージョンアップなので、ググればすぐ解決方法は出てくるだろうなと思っていたらネットに情報はなく、そこそこ苦労したので、今回はこのネタを共有したいと思います...
記事を読むOpenAI の Realtime API を使ってAIと音声会話するWebアプリを実装してみる
今までOpenAIのRealtime APIを使ってCLIベースの音声会話スクリプトを作成しました。 /blogs/2024/10/07/openai-realtime-api-intro/ /blogs/2024/10/09/openai-realtime-api-function-calling/ このスクリプトは音声変換ツールのSoX(Sound eXchange)のおかげで簡単に実装できましたが、やっぱりWebアプリも作ってみたいですね...
記事を読むSpringの小話 - ConfigurationPropertiesにrecordクラスを使ってみた
Java16でrecordクラスが正式化されてからそれなりに時間が経ち、今ではすっかり普通に使われるようになりました。筆者はデータクラスの実装にLombokを使っていますが、そろそろ若干の後ろめたさを感じてきました。そんなこともあり重い腰をやっと上げ、Spring Bootの@ConfigurationPropertiesのバインドクラスをLombokからrecordクラスにまずは変えてみました。今回はそこで得たrecordクラスの利用法や使用感を紹介したいと思います...
記事を読む【devcontainer完全ガイド】DockerとWSLで最強のイマドキ開発環境を手に入れよう!
--> この記事で紹介すること devcontainerをローカルで構築します devcontainerをリポジトリに組み込めば、誰でも同じように環境再現できるようになります devcontainerとWSLとGitの連携 Dockerの勉強の一環にもなります その他devcontainerのノウハウ はじめに # みなさんDocker活用してますか CI/CDでDocker Imageを使うのはもちろんですが、やはりコンテナの有用性は...
記事を読むJavaエンジニアが始めるTypeScript入門(第7回:関数)
はじめに # 今回は関数について説明します。 関数の基本構文 # 関数の構文と定義例は下記の通りです。 構文 /** * _関数名_ : 関数の名称 * _引数_ :(任意)引数が必要な関数の場合設定します。複数指定する場合は`,`で区切って指定します。 * _戻り値型_:(任意)戻り値の型を明示したい場合に設定します。 */ //関数式 function _関数名_(_引数_)[: _戻り値型_] {/** 任意の処理...
記事を読むOpenAI の Realtime API で音声を使って任意の関数を実行する(Function calling編)
つい先日OpenAIのRealtime APIを利用した以下の記事を書きました。 新登場の OpenAI の Realtime API でAIと音声会話する ここではCLIベースの超簡単会話ツールを作成しました。 Realtime APIはChat Completion API同様にFunction callingにも対応しています。これを利用すると音声でも任意のAPIを実行できるようになります。 今回はこれを試してみます...
記事を読む新登場の OpenAI の Realtime API でAIと音声会話する
先日OpenAI から Realtime API という注目機能がリリースされました。 OpenAI Blog - Introducing the Realtime API Realtime APIは今秋から段階的にロールアウトしたChatGPTのアドバンスドボイスモードに相当するAPIです。 以前も類似のことはできましたが、音声をテキストに変換、プロンプトとしてLLMにインプット、レスポンスのテキストを音声に変換という長いステップを踏む必要がありました...
記事を読むGitHub Issues で Sub-issues が作れるようになりました(ベータ)
はじめに # GitHub Issues に Sub-issues 機能が追加されました。現在パブリックプレビュー段階です。 Evolving GitHub Issues (Public Preview) · GitHub Changelog さっそく Waitlist に参加しました。 すぐに、Sub-issues を含むベータ版が有効化された通知メールが来ました。 筆者はメールを見落としており、3日ぐらい気付いてませんでした...
記事を読むGitHub オーガニゼーションのメンバーを把握するための(手抜き)サイトを作る
はじめに # 筆者は会社の GitHub オーガニゼーション管理者の一人です。最近はオーガニゼーションのメンバーも増えてきて、誰が使っているか把握するのが難しくなってきました。具体的には以下のような情報を把握したくなりました。 オーガニゼーションメンバーと、社員情報(氏名、所属)の紐付け 誰が管理者権限を持っているのか 管理者権限は、必要に応じて一時的に付与することもあるので、誰が持っているのかを把握することも必要になります[1]...
記事を読むJavaエンジニアが始めるTypeScript入門(第6回:特殊な型)
はじめに # 今回は、変数、引数、戻り値などに使用する特殊な型について説明します...
記事を読むSpringの小話 - @RestControllerをJavaConfigでBean登録したい!
皆さん@RestControllerをJavaConfigでBean登録したいと思ったことはありませんか?私は共通コンポーネント的なものを作ることが多いため、これはよく思ったりします。今回のSpringの小話はそんなお悩みに対するTipsの紹介となります...
記事を読む豆蔵デベロッパーサイト 2024年7-9月のサマリー
酷暑の夏が終わりやっと涼しくなってまいりました。2024年度第2四半期のサマリーをお届けします。 記事数・執筆者数 # この3ヶ月で41本の記事が投稿され、記事数は631になりました。新たに2名が執筆デビューし、累計58名になりました。 夏のリレー連載2024 # 7月末から8月中旬にかけて、夏のリレー連載2024を開催しました。昨年に続き2回目となります。バラエティに富んだ全12記事が公開され、多くのアクセスがありました。全記事のリンクを掲載します...
記事を読む