こんにちは。 エキサイト株式会社の三浦です。 Spring Bootには Scheduled というアノテーションがあり、これを使うと定期実行をしてくれるようになります。 今回は、コンテナでこの Scheduled を使うのであれば initialDelay を設定するのが適切だと思った…
こんにちは。 エキサイト株式会社の三浦です。 Amazon Route 53は、AWS上でドメインを簡単に扱うことが出来るサービスです。 使用にはもちろん料金が掛かります。 掛かる対象にはいくつか種類があるのですが、その中の一つであるDNSクエリには、このように記…
こんにちは。 エキサイト株式会社の三浦です。 コンテナでの開発をする際、できるだけサイズを減らすため、Alpine Linux(以降Alpine)を使っている方も多いと思います。 ですがAlpineは、サイズを減らすためにデフォルトでは curl コマンドが入っていません…
こんにちは。 エキサイト株式会社の三浦です。 フロントエンドを構築するとき、皆さんはどんな構成にするでしょうか。 手段の一つとして、「Nginx + Next.js」のように、アプリケーション本体である「Next.js」と、そのアプリケーションとクライアント(例:…
こんにちは。 エキサイト株式会社の三浦です。 去る4月21日、第4回目となる「テクデザBeer Bash」を開催しましたので、そのレポートを書いていきます! なお第3回のレポートは以下になりますので、ぜひ合わせてお読みください。 tech.excite.co.jp テクデザB…
こんにちは。 エキサイト株式会社の三浦です。 Spring BootでWebページ等を作るとき、ちょっとしたJavaScriptのライブラリを入れたいときがあると思います。 ですが、「ちょっとしたライブラリのためだけに npm install 等をできるようにするのは面倒…」と思…
こんにちは。 エキサイト株式会社の三浦です。 今回は、表題のとおりですが、とりあえずIntelliJで不具合があったときはキャッシュを消して再起動してみると直るかもしれない、という話になります。 順を追って話していきます。 何が起きたか 結論 何が起き…
こんにちは。 エキサイト株式会社の三浦です。 JavaScriptやTypeScriptでプロジェクトを作る上で、 npm は必須なツールの一つと言えるでしょう。 PCにグローバルにダウンロードして使うことも出来ますが、場合によっては特定のローカルなディレクトリにダウ…
こんにちは。 エキサイト株式会社の三浦です。 みなさんはFlywayを知っているでしょうか? FlywayはJavaでデータベースのマイグレーションを行ってくれるアプリケーションで、データベースを扱うのであればぜひ入れておきたいものの一つです。 このFlywayは…
こんにちは。 エキサイト株式会社の三浦です。 Spring BootにはExceptionControllerというものがあり、それを使うことでControllerが投げる例外の種類によってリクエスト元に返すステータスコードやレスポンスを制御することが出来ます。 このExceptionContr…
こんにちは。 エキサイト株式会社の三浦です。 Web開発をしていると、URL周りを触ることが多々あります。 URLには特殊文字と呼ばれる「URL内で使う場合に特別な意味を持つ文字」がいくつか存在し、それらをあくまで普通の文字として使いたい場合はURLエンコ…
こんにちは。 エキサイト株式会社の三浦です。 2/17(金)、エキサイトで第二回TechConが開催されました! tech.excite.co.jp 今回は、「急激なDB書き込みが行われるサービスをリビルドした話」というタイトルで発表させていただきました。 DB書き込みが急激…
こんにちは。 エキサイト株式会社の三浦です。 皆さんは、Checkstyleを使っていますか? checkstyle.org Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking …
こんにちは。 エキサイト株式会社の三浦です。 Slackではテキストだけのメッセージを送信することもできますが、Blockというものを使うことでよりリッチなメッセージを送ることもできます。 今回は、Javaを使ってSlackにBlockを使ったメッセージを送る方法を…
こんにちは。 エキサイト株式会社の三浦です。 仕事やプライベートでSlackを使っている方も多いと思いますが、使っていく中で、「一定の条件下で自動的にメッセージを送信してほしい」と考えることもあるのではないでしょうか。 幸いSlackには、それを実現す…
こんにちは。 エキサイト株式会社の三浦です。 コードを書く上で、例外が起きたときに任意のエラーログを出力したい場面は多々出てきます。 今回は、Spring Bootで詳細な例外情報をエラーログにて出す方法を紹介します。 文字列だけのエラーログを出す方法 …
こんにちは。 エキサイト株式会社の三浦です。 REST APIにおけるHTTPメソッドには、GETやPOST、PUTやDELETEなどが存在し、APIの各エンドポイントの役割に応じて使うようになっています。 ですが、実際に開発を行っていく上では、必ずしもHTTPメソッドを使い…
こんにちは。 エキサイト株式会社の三浦です。 最近WebPush周りを触っていたのですが、その中で「バグが起きた!?」と思ったら仕様だった、ということがありましたので、せっかくなので紹介したいと思います。 WebPushとは WebPushが謎のドメインから配信さ…
こんにちは。 エキサイト株式会社の三浦です。 MySQLで日時データを扱う際、datetime型を使うことが多いでしょう。 便利な型ですが、小数点以下の秒数を入れる際に少し注意点があることを発見したので、今回はそれについて説明します。 MySQLとdatetime型 My…
こんにちは。 エキサイト株式会社の三浦です。 ブラウザに特別な方法でJavaScriptのコードを読み込ませると、そのコードを使ってバックグラウンドなどで様々な処理を行わせることが出来ます。 その機能は「Service Worker」と呼ばれるのですが、今回はそのSe…
こんにちは。 エキサイト株式会社の三浦です。 Spring Bootには「Scheduled」というアノテーションがあり、これを使うことでアプリケーションコード内でバッチ等の定期実行をさせることが出来ます。 今回は、このScheduledを使う際の、スレッド数に関する注…
こんにちは。 エキサイト株式会社の三浦です。 今回は、私が実際に体験した、「存在するはずのAPIなのに、ブラウザからアクセスできなかった話」をしていきます。 作ったはずのAPIにアクセスできない…!? アクセス失敗の原因 Preflight requestとは Preflig…
こんにちは。 エキサイト株式会社の三浦です。 AWSには、「Amazon Timestream」というサービスがあります。 時系列データを扱うのに非常に役立つサービスであり、Javaからも簡単に使えるようSDKが用意されています。 今回は、この「Amazon Timestream」をJav…
こんにちは。 エキサイト株式会社の三浦です。 以前、Spring BootではScheduledを使うことで定期実行ができることを説明しましたが、今回は更に便利に使う方法について紹介します。 Spring BootのScheduled ScheduledとTimeUnit 最後に Spring BootのSchedul…
こんにちは。 エキサイト株式会社の三浦です。 突然ですが、バッチを定期実行させたい時、皆さんはどうしますか? 有名なところではサーバの cron 機能だと思いますが、実はSpring Bootでは、アプリケーションコード単体で定期実行させることが出来ます。 今…
こんにちは。 エキサイト株式会社の三浦です。 今まで何回か、ParallelStreamを使ったJavaの並列処理に関する記事を上げてきました。 今回は、ParallelStreamとDBのTransactionを一緒に使う際の注意点を説明します。 JavaのParallelStream DBのTransaction P…
こんにちは。 エキサイト株式会社の三浦です。 以前、Javaで並列処理を行う方法として ParallelStream を紹介しました。 tech.excite.co.jp 今回は、 ParallelStream で並列処理をする際に、最大並列数を変更する方法を紹介します。 ParallelStreamと並列数 …
こんにちは。 エキサイト株式会社の三浦です。 アプリケーションを書くとき、日時データを扱うことはよくあります。 その際、「常に日本時間しか扱わない」などの状況であればいいですが、場合によっては「世界標準時と日本時間を相互に変換する」など、複数…
こんにちは。 エキサイト株式会社の三浦です。 Javaでコードを書く場合、基本的に処理は逐次的に行われます。 ただ、逐次処理でやっていると時間がかかりすぎてしまうため、並列で処理を行いたい場合もあります。 今回は、ParallelStreamを使った並列処理の…
こんにちは。 エキサイト株式会社の三浦です。 アプリにプッシュ通知があるように、ブラウザに対してもプッシュ通知を送ることができます。 これは「ウェブプッシュ」と呼ばれる仕組みで、ユーザにリーチするための手段の1つとなり得るものです。 今回は、Ja…