java

javaで2分木探索(binarySearch)

binarySearchという、collectionsライブラリにあるメソッドを使ってjavaで2分木探索を行う方法を紹介します。 listに重複があるかどうかで実装方法が変わってきます。 Listに重複がない場合 この場合はCollections.binarySearchを使えば簡単に求まります。 …

JavaでRestTemplateを使ってAPI通信をする方法

javaのspringで、resttemplateを使ってRest通信を行う方法を紹介します。 RestTemplateは、REST API(Web API)を呼び出すためのメソッドを提供するクラスで、Spring Frameworkが提供するHTTPクライアントです。 DTOからJson形式のリクエストに変換する処理や…

java springでCorsFilterを使ったCORS設定

java springBootで、CORSの設定方法を紹介します。 javaでは主に3つほどやり方があります。 @CrossOriginを使ってメソッドごとに設定する方法 WebMvcConfigurerAdapterを継承したconfigクラスで設定する方法 CorsFilterを用いて、設定する方法 があります。 …

JavaでS3に読み書きする方法

javaのspring bootでs3にファイルをアップロード、ダウンロードする方法を紹介します。 書き出したい文字列をファイルにアップロードするのと、s3にあるファイルを文字列として読み込む方法です。 ローカルにあるファイルをアップロードしたり、ファイル形…

Java(Spring)でクライアントのIPアドレスを取得する方法

javaでクライアントのIPアドレスを取得する方法を紹介します。 クライアントで、サーバーの方ではないので注意してください。 サーバーにリクエストを送ったユーザーのIPアドレスを取得する方法です。 プロキシサーバーやELBを用いてる場合は、そうでない場…

JavaでRate Limitをする方法(bucket4j)

Rate Limitとは、一定時間あたりにアクセスできる回数(クライアントがリクエストする回数)に制限をかけることです。 過剰にアクセスしようとする悪意のあるユーザーに制限をかけることで、DOS対策になります。 ここでは、javaのspring bootを使っている時にr…