ModelMapperの使い方

はじめに こんにちは、新卒2年目の岡崎です。今回は、ModelMapperの使い方について紹介します。 はじめに 環境 ModelMapperについて 準備 実装 補足 最後に 環境 Spring boot . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| …

Thymeleafでハイパーリンクを実装する

はじめに こんにちは、新卒2年目の岡崎です。今回は、Thymeleafでハイパーリンクを実装する方法を紹介します。 環境 Thymeleaf 3.3.0 前提 以下のようなオブジェクトが存在することを仮定します。 @Data public class Test { private Long id; private Strin…

JavaでURIを作る方法

はじめに こんにちは、新卒2年目の岡崎です。今回は、JavaでURIを作る方法について紹介します。 前提 Java openjdk version "21.0.2" 2024-01-16 LTS OpenJDK Runtime Environment Corretto-21.0.2.13.1 (build 21.0.2+13-LTS) OpenJDK 64-Bit Server VM Cor…

GitHub Actionsでプルリクエストがマージされた時、自動的にGitタグをつける

はじめに こんにちは。新卒2年目の岡崎です。今回は、GitHub Actionsでプルリクエストがマージされた時、自動的にGitタグをつける方法を紹介します。 また、この記事はGitHub Actionsのことがあまり分からない初心者向けの記事になっております。 はじめに …

Spring Bootでヘルスチェックを行う方法

はじめに こんにちは、新卒1年目の岡崎です。ヘルスチェックは、サービスの処理が正常に実行できるかどうかの確認ができます。 今回は、Spring Bootでヘルスチェックを行う方法を紹介します。 はじめに 環境 Spring Bootでヘルスチェックを行う ローカルでの…

[Java]バーチャルスレッドを導入する方法 [SpringBoot]

はじめに こんにちは、新卒1年目の岡崎です。Java19でプレビュー機能として提供されていたバーチャルスレッドが、Java21で正式機能として提供されました。今回は、このバーチャルスレッドをSpringBootに導入する方法を紹介します。 バーチャルスレッドについ…

[Java] どこで実装をするかで可読性が異なった話

はじめに こんにちは、新卒1年目の岡崎です。エキサイトホールディングス Advent Calendar 2023の25日目を担当します。 最近、記事に対する画像URLの変換処理を実装しました。この実装をどこでするかで可読性が異なったので、備忘録として記事に残します。 …

JavaでのEnumの実装の仕方と、よく使用するメソッド

はじめに こんにちは。新卒1年目の岡崎です。エキサイトホールディングス Advent Calendar 2023の21日目を担当します。 よろしければ他の記事もどうぞ! qiita.com 最近の業務ではEnumを使って実装をしました。なので、今日は改めてJavaのEnumについて紹介し…

Spring Bootでのキャッシュのアノテーションの使い方

はじめに こんにちは、新卒1年目の岡崎です。エキサイトホールディングス Advent Calendar 2023の14日目を担当します。 今回は、Spring Bootで使うことができるキャッシュのアノテーションの機能を紹介していきたいと思います。 はじめに 環境 設定 どのよう…

Javaで正規表現で指定したパターンに、対象の文字列がマッチするかどうかを判定する方法

はじめに こんにちは、新卒1年目の岡崎です。エキサイトホールディングス Advent Calendar 2023の7日目を担当します。 今回はJavaにおいて、正規表現で指定したパターンに、対象の文字列がマッチするかどうかを判定する方法を紹介します。 はじめに Stringク…

GitHub Actionsでデプロイした時に、自動的にCSSファイルをS3にアップロードする

はじめに こんにちは、新卒1年目の岡崎です。エキサイトホールディングス Advent Calendar 2023の4日目を担当します。 今回はGitHub Actionsを使って、Amazon ECSにアプリケーションをデプロイした時に、自動的にCSSファイルをS3にアップロードする実装を行…

BEAR.Saturdayで画面を作るために必要な三つのコンポーネントの概要

はじめに こんにちは。新卒1年目の岡崎です。エキサイトホールディングス 2023 advent calendar 1日目を担当させていただきます。 qiita.com BEAR.Saturdayでの開発で苦戦しました。 今回の備忘録では、BEAR.Saturdayで画面を作るために必要な三つのコンポー…

新しく環境を作るために必要なざっくりとしたAWSの知識

はじめに こんにちは。新卒1年目の岡崎です。 今回、初めて内部用のAPIのための環境を作成しました。その時に必要だった知識も分からずに始めたので、その備忘録として記事にまとめます。初めてAWSで環境を作るよ!という人や、まず何から初めて見ればいいの…

MermaidでER図を書く

はじめに こんにちは。新卒1年目の岡崎です。 今回はテーブル定義をする時に、使うと便利かもしれないMermaidの紹介をしていきます。 はじめに Mermaidとは 使い方 VSCode IntelliJ IDEA Notion GitHub Mermaidの記法 テーブル定義 リレーション定義 最後に …

MySQLで複合indexのexplainを見る時、key_lenも確認する必要があった話

はじめに こんにちは。新卒1年目の岡崎です。 MySQLで複合indexを貼るか、単体のindexを貼るのか業務で検討しました。この時は普段確認していること以外に、key_lenも確認する必要があったので、その備忘録として紹介します。また、今回の記事は、初学者向け…

JavaでISO 8601の計算を考える

はじめに エキサイトで内定者インターンをしている岡崎です。 今日はISO 8601の日付の計算を考えたときにハマったので、その時に学んだことについてまとめていきます。 ISO 8601とは ISO 8601とは、日付と時刻についてのISO(スイスのジェネーブに本部をおく…

MySQLの全文検索において1文字でも検索できるようにする方法

はじめに エキサイトで内定者インターンをしている岡崎です。 前回、MySQLで全文検索をする方法を紹介しました。しかし、そこでは1文字で指定すると、全文検索することができない問題がありました。 よって、MySQLの全文検索で1文字でも検索できるようにす…

MySQLで全文検索を試してみた話

はじめに エキサイトで内定者インターンをしている岡崎です。 今回は業務で全文検索を試してみたので、そこで学んだ話をさせていただきます。 経緯 今回やりたかったことは、部分一致で取得することでした。 例を下記に記します。 テーブル定義の例として、…

Javaの文字列結合について学んだ話

初めに エキサイト株式会社でエンジニアをしている岡崎です。 今回は、Javaで文字列結合の話をしていきます。 文字列結合 文字列結合を行う場合、今まではこのようにやっていました。 public static void main(String[] args) { Integer hour = 12; Integer …

JacksonのObjectMapperがかなり優秀だった話

はじめに はじめまして。エキサイトでインターンをさせていただいている岡﨑です。 アドベントカレンダーの22日目を担当させていただいています。 今日はJacksonのObjectMapperがとてもとても便利だった話をさせていただきます。 Object Mapperとは それでは…

もうキャッシュの実装は怖くない!

はじめに こんにちは。エキサイト株式会社で長期インターンをさせていただいている岡崎です。 今回は私が学んだキャッシュについての記事を書かせていただきます。 「もう分かっているんだが?」というエンジニアの皆さん向けではなく、Spring Bootでキャッ…