こんにちは、エキサイト株式会社の平石です。 エキサイトホールディングス Advent Calendar 2024のシリーズ2, 19日目を担当いたします。 今回はAWS上のECSコンテナとBedrockの間のPrivateLinkを確立する方法をご紹介します。 AWSリソースの作成にはTerraform…
こんにちは、エキサイト株式会社の平石です。 エキサイトホールディングス Advent Calendar 2024のシリーズ2, 16日目を担当いたします。 今回は、Spring AIを利用してECS環境からAmazon Bedrockに接続する方法をご紹介します。 はじめに Spring AIとは Sprin…
こんにちは、エキサイト株式会社の平石です。 エキサイトホールディングス Advent Calendar 2024の10日目を担当いたします。 Springdocライブラリを利用することで、簡単にOpenAPI仕様に則ったAPIドキュメントを自動生成することができます。 しかし、このラ…
こんにちは、エキサイト株式会社の平石です。 今回は、HTMXでheadタグ内の要素を扱う方法をご紹介します。 はじめに 環境 標準のHTMXではheadタグを扱えない headタグを扱いたいとき merge re-eval hx-preserve append 終わりに 参考文献 はじめに ソースコ…
こんにちは、エキサイト株式会社の平石です。 今回は、Spring Securityでログイン後に任意の処理を行なってからログイン前にアクセスしたページにリダイレクトする方法をご紹介します。 はじめに 環境 実現方法 終わりに はじめに Spring SecurityはSpringで…
こんにちは、エキサイト株式会社の平石です。 2024年6月20日(木)、21日(金)の二日間に渡り開催された AWS Summit Japan の2日目に参加しました。 会場 セッション 基調講演 AWS NoSQL コスト削減大全 生成 AI の発展的な活用 展示 おまけ 終わりに 会場 …
こんにちは、エキサイト株式会社の平石です。 今回は、OpenAPI Generatorで自動生成したAPIクライアントをコンパイルせずに利用する方法をご紹介します。 はじめに 環境 手順 1. これまでの方法で一旦生成する 2. 生成したファイルを実行するために必要な依…
こんにちは、エキサイト株式会社の平石です。 今回は、Gradleでマルチプロジェクトを構成している状態で、MavenのLocalRepositoryを指定する際にハマった内容を紹介します。 デフォルト以外のLocalRepository 今回は、repositoriesの設定で独自のRepository…
こんにちは、エキサイト株式会社の平石です。 今回は、HTMXでhx-getやhx-postを使ってリクエストを実行した後に任意のJavaScriptコードを実行する方法をご紹介します。 はじめに HTMXでは、hx-getやhx-postを利用して、リクエストを実行することができます。…
こんにちは、エキサイト株式会社の平石です。 私の担当するサービスでは、Spring Boot (Java)を利用していますが、ローカルではFlyway + MyBatis GeneratorでDB環境および、JavaからDBへの接続環境を構築しています。 その際、複数のデータベースに接続しよ…
こんにちは、エキサイト株式会社の平石です。 今回はMyBatis Generatorを利用して、ModelやMapperを自動生成する方法をご紹介します。 はじめに 導入 環境 実際にやってみる Javaプログラムから実行する方法 依存関係 設定ファイル PostgreSQLを使う際の補足…
こんにちは、エキサイト株式会社の平石です。 今回は、OpenAPI Generatorを利用して自動生成したJavaのAPIクライアントを独自のローカルリポジトリに保存する方法をご紹介します。 なお、今回の方法は例として「OpenAPI Generatorを利用して自動生成したJava…
こんにちは、エキサイト株式会社の平石です。 今回は、初歩的な内容でありながら、SQLでLEFT JOINを利用した際にハマったことを記事にしたいと思います。 なお、本ブログのSQLはMySQL 8.2で動作確認をしています。 例 以下のような3つのテーブルがあるとしま…
こんにちは、エキサイト株式会社の平石です。 今回は、Spring Bootで一度作成したキャッシュをTTLが過ぎる前に明示的に削除する方法をご紹介します。 キャッシュを削除したいとき キャッシュという仕組みでは、DBなどの情報源にアクセスした結果を高速にアク…
こんにちは、エキサイト株式会社の平石です。 今回は、SpringdocでAPIのリクエストに対して、付与するアノテーションをご紹介します。 なお、今回のソースコードは以下の環境で動作確認をしています。 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2…
こんにちは、エキサイト株式会社の平石です。 今回は、SpotBugsで可変でないオブジェクトが可変であると判定されてしまう問題に対処する方法をご紹介します。 はじめに SpotBugsは、Javaのプログラムの中のバグや脆弱性(につながると考えられるもの)を検知…
こんにちは、エキサイト株式会社の平石です。 今回は、SpringBootでローカル環境からAWSサービスにアクセスする際にCredentialsを簡単に切り替える方法をご紹介します。 はじめに 準備 認証情報の設定 終わりに 参考文献 はじめに Spring Bootでローカル環境…
こんにちは、エキサイト株式会社の平石です。 今回は、OpenAPI Generatorを利用してJavaのAPIクライアントを自動生成する方法をご紹介します。 はじめに OpenAPI Generatorとは 準備 環境 使用するAPIドキュメント 依存関係の追加と設定を行う 実際に生成し…
こんにちは、エキサイト株式会社の平石です。 エキサイトホールディングス Advent Calendar 2023の22日目を担当いたします。 OpenAPI仕様に基づいてAPIの仕様を定義したYAMLファイルから、アプリ用のDartコードを自動生成する際に、タグの指定で注意すべき点…
こんにちは、エキサイト株式会社の平石です。エキサイトホールディングス Advent Calendar 2023の19日目を担当いたします。 今回は、Javaで整数型やbyte配列と16進表記の文字列との間の変換を行なう方法をご紹介します。 整数 → 16進表記 の変換 IntegerやLo…
こんにちは、エキサイト株式会社の平石です。エキサイトホールディングス Advent Calendar 2023の12日目を担当いたします。 今回は、FCMで直接トークンを指定してマルチキャストでプッシュメッセージを送信する方法をご紹介します。 はじめに プッシュメッセ…
こんにちは、エキサイト株式会社の平石です。エキサイトホールディングス Advent Calendar 2023の5日目を担当いたします。 今回はJavaのSpringBootでMyBatisを利用して、複数のデータソースに接続する方法をご紹介します。 はじめに 前提条件 問題設定 appli…
こんにちは、エキサイト株式会社の平石です。 こちらの記事で、Spring BootからOpenAPIのドキュメントを自動生成する方法について説明されています。 tech.excite.co.jp しかし、APIのレスポンスにListまたは配列の項目が存在していた場合に、アノテーション…
こんにちは。 エキサイト株式会社で内定者アルバイトをしている平石です。 今回は、AWS CDKをGradleで使用できるようにしていきたいと思います。 前の記事 tech.excite.co.jp AWS CDKとMaven & Gradle AWS CDKのコードをJavaで作成するにあたって、 cdk init…
こんにちは。 エキサイト株式会社で内定者アルバイトをしている平石です。 今回は、AWS CDKで正しくリソースが定義されているかをテストするための方法をご紹介します。 前の記事 tech.excite.co.jp 2種類のテスト AWS CDKは通常のプログラミング言語で記述…
こんにちは。 エキサイト株式会社で内定者アルバイトをしている平石です。 今回は、AWS CDKを使ってクラウドアプリケーションリソースを定義する流れを勉強しましたので、まとめてみたいと思います。 ※ この記事では全体の流れを軽く掴むことを目的としてい…
こんにちは。 エキサイト株式会社で内定者アルバイトをしている平石です。 今回はAWS CDKのv2.20.0(Release v2.20.0 · aws/aws-cdk · GitHub)でプレビューとなっているcdk importを使ってみようと思います。 前の記事 tech.excite.co.jp AWS CDKとは? AWS…
こんにちは。 エキサイト株式会社で内定者アルバイトをしている平石です。 今回は、AWS CDKの基礎を勉強しましたので、まとめてみたいと思います。 前の記事 tech.excite.co.jp AWS CDKとは? 公式ドキュメント(オープンソースの開発フレームワーク - AWS …
こんにちは。 エキサイト株式会社で内定者アルバイトをしています。 今回も、実際のリソースの作成を行いたいと思います。第9回は、CloudFrontです。 前の記事 tech.excite.co.jp CloudFrontとは? CloudFrontはコンテンツ配信のためのリソースです。コンテ…
こんにちは。 エキサイト株式会社で内定者アルバイトをしています。 今回も、実際のリソースの作成を行いたいと思います。第8回は、CloudWatchです。 前の記事 tech.excite.co.jp CloudWatchとは? CloudWatchはアプリケーションをモニタリングし、システム…