【失敗談】MyBatisでNOLOCKと同じことをやりたかった

はじめに エキサイト株式会社 バックエンドエンジニアの山縣です。 現在は、既存サービスのリビルド(PHP / BEAR.Saturday → Java / SpringBoot)を担当しています。 SpringBootでDBアクセスをするにあたってMyBatisを利用していますが、MyBatisのMapperでは…

GoのcobraでCLIを作った

はじめに エキサイト株式会社 バックエンドエンジニアの山縣です。 既存サービスのリビルドを進めていく上で、Redisのキャッシュ操作を行うためのツールが欲しいという要望がでました。 そこで、Goのcobraを使ってキャッシュ操作を行うCLIを作成しました。 …

LT会【年忘れ!しくじり先生!】を開催しました 🎉

エキサイト株式会社 バックエンドエンジニアの山縣です。 本記事はアドベントカレンダー24日目の記事です。 qiita.com 12月17日に社内でLT会を開催しました!今回は40名近くの方に参加してしただき、多くの方に聞いていただくことができました。 LT会では、…

Spring BootでCacheableが効かなかった

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 エキサイトホールディングス Advent Calendar 2021の9日目の記事です! qiita.com タイトルのとおりですが、Spring BootでCacheableが効かなかったことがありました。 これについて調…

リモートワークを快適に行うためにデスクまわりを整備した

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 普段は既存サービスのリビルド(PHP / BEAR.Sunday → Java / SpringBoot)を担当しています。 エキサイトホールディングス Advent Calendar 2021の3日目の記事です! qiita.com 現在エ…

JacksonでXMLをJavaオブジェクトに変換する

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 既存サービスのリビルドするにあたり、外部APIを呼び出してXMLを取得してJavaオブジェトに変換する処理を書きました。 Jacksonを使用したXML→Javaオブジェクト変換についての記事は少…

Javaで1日の始まりと終わりの時刻を簡単に取得する

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 既存サービスのリビルドをするにあたり、日付まわりの処理を記述することが多くなってきました。 日付まわりの処理を誤ると、未公開のデータを取得できてしまうこともあるため慎重にコ…

JavaとPythonとGoのHTTPステータスコードの実装を調査した

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 Spring Boot / Javaで既存システムのリビルドを進めてHTTPステータスコードの実装を調べている途中に、ふと他の言語の実装が気になり、普段趣味で使用しているPythonとGoのソースコー…

Spring Bootでクエリパラメータの順序が異なるURIを比較する

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 UriComponentsのreplaceQueryParam()を使用してクエリパラメータの値を書き換えたときに、書き換える前と書き換えた後とでクエリパラメータの順序が異なってしまい、 単体テストで落ち…

Spring Bootでコンポーネント名が重複してエラーになったときの解決策

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 Spring Bootでコンポーネント名が重複したときに、ConflictingBeanDefinitionExceptionが発生してエラーとなってしまいました。 その原因と解決策についてまとめました。 別のパッケー…

GitHub上でVisual Studio Codeを起動してコードレビューをする

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 少し前にGitHub上でVisual Studio Codeを起動してコードレビューをすることができるようになりました。 実際に試してみたので共有します! Visual Studio Codeを起動する プルリクエス…

GrafanaとPostgreSQLをDocker Composeで動かしたときに接続先の設定でハマった

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 連休中にGrafana + PostgreSQLをDocker Composeで動かしたときになかなか連携できずにハマってしまいました。 そのときに起きた問題点と解決策を共有します! 導入 今回使用したdocker…

Java9から導入されたMatcherのreplaceAllを使って文字列を置換する

はじめに エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 PHPで書かれたAPIからSpringBoot / Javaでリビルドを進めていく上で、 独自のイメージタグからHTMLのimgタグに置換する処理をJavaで実装することになりました。 シンプルでスッキリと…

MyBatis + FreeMarkerを使用した環境でレコード追加時にAuto IncrementされたIDを取得する

エキサイト株式会社 21卒 バックエンドエンジニアの山縣です。 MyBatisとFreeMarkerを使用した環境において、INSERT文を実行したときにAuto IncrementされたIDが取得できない問題とその解決策についてまとめました。 MyBatisとFreeMarkerを使用した環境 現在…

エキサイトに新卒入社するまでの6ヶ月間のインターンで学んだこと

はじめに エキサイト株式会社 21年度新卒 山縣と申します。 新卒入社まで、これまで6ヶ月ほど長期インターンをしてきました。 これまでに、学んできたことや、感じてきたことなどをまとめていきます。 21卒のデザイナーが作成した素敵なロゴ インターン前の…