Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。
From 93b5e574a4f0ea961e7348421ed27f2d675b4888 Mon Sep 17 00:00:00 2001
From: akkinoc Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 社内 LT で発表したスライドです。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 ラムダ式の交差型キャストというものを初めて知りました。 キャストだけでインターフェイスを実装したことになるのが面白くて、 ラムダ式を Serializable や Cloneable にして軽く遊んでみました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 java.util.function の関数型インターフェイスたちを自分の整理用に落書きしました。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 最近は Perl スクリプトが割と使われている環境に居ます。 どちらかと言うと Rubyist だったけど、折角なので Perl な世界にも飛び込んでみました。 …で早速はまったのでメモメモ。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 ブログを始めてみようと思う。 社内 LT で発表したスライドです。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 社内 LT で発表したスライドです。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 ラムダ式の交差型キャストというものを初めて知りました。 キャストだけでインターフェイスを実装したことになるのが面白くて、 ラムダ式を Serializable や Cloneable にして軽く遊んでみました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 java.util.function の関数型インターフェイスたちを自分の整理用に落書きしました。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 最近は Perl スクリプトが割と使われている環境に居ます。 どちらかと言うと Rubyist だったけど、折角なので Perl な世界にも飛び込んでみました。 …で早速はまったのでメモメモ。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 ブログを始めてみようと思う。 社内 LT で発表したスライドです。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 社内 LT で発表したスライドです。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 ラムダ式の交差型キャストというものを初めて知りました。 キャストだけでインターフェイスを実装したことになるのが面白くて、 ラムダ式を Serializable や Cloneable にして軽く遊んでみました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 java.util.function の関数型インターフェイスたちを自分の整理用に落書きしました。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 最近は Perl スクリプトが割と使われている環境に居ます。 どちらかと言うと Rubyist だったけど、折角なので Perl な世界にも飛び込んでみました。 …で早速はまったのでメモメモ。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 ブログを始めてみようと思う。 社内 LT で発表したスライドです。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 社内 LT で発表したスライドです。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 ラムダ式の交差型キャストというものを初めて知りました。 キャストだけでインターフェイスを実装したことになるのが面白くて、 ラムダ式を Serializable や Cloneable にして軽く遊んでみました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 java.util.function の関数型インターフェイスたちを自分の整理用に落書きしました。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 最近は Perl スクリプトが割と使われている環境に居ます。 どちらかと言うと Rubyist だったけど、折角なので Perl な世界にも飛び込んでみました。 …で早速はまったのでメモメモ。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 ブログを始めてみようと思う。 社内 LT で発表したスライドです。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 ラムダ式の交差型キャストというものを初めて知りました。 キャストだけでインターフェイスを実装したことになるのが面白くて、 ラムダ式を Serializable や Cloneable にして軽く遊んでみました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 java.util.function の関数型インターフェイスたちを自分の整理用に落書きしました。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 社内 LT で発表したスライドです。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 社内 LT で発表したスライドです。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev ブログを始めてみようと思う。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev ブログを始めてみようと思う。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 社内 LT で発表したスライドです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 最近は Perl スクリプトが割と使われている環境に居ます。 どちらかと言うと Rubyist だったけど、折角なので Perl な世界にも飛び込んでみました。 …で早速はまったのでメモメモ。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 社内 LT で発表したスライドです。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 社内 LT で発表したスライドです。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 社内 LT で発表したスライドです。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 ラムダ式の交差型キャストというものを初めて知りました。 キャストだけでインターフェイスを実装したことになるのが面白くて、 ラムダ式を Serializable や Cloneable にして軽く遊んでみました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 java.util.function の関数型インターフェイスたちを自分の整理用に落書きしました。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 社内 LT で発表したスライドです。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 社内 LT で発表したスライドです。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Maven Central Repository への公開方法を知っておきたくて、 適当なモジュールを作成/公開してみました。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 Spring Boot アプリケーションでログの出力先やフォーマットを 環境によって切り替えたいことがよくあります。 自分の場合は、 ローカル開発時は標準出力にテキスト出力 本番実行時は標準出力に JSON フォーマットで出力 とすることが多いです。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 Maven Central Repository への公開をアカウント登録とリポジトリ登録申請からやり直しました。 公開までの手順や設定が前とは少しだけ変わっていたので、改めてメモとして残しておきます。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 Kotlin というと Android 開発で使われることが多いと思いますが、 僕はサーバサイドで Spring Boot と組み合わせて使うことが多いです。 この数年ほど、サーバサイドで何度か Java → Kotlin へ書き換えてきたので、 僕の感じたメリット/デメリットをまとめてみました。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 標準コマンドにありそうでなかったので作った。 色んなコマンドで使いたかったので、ちょい汎用的なファンクションにしました。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... あるプログラムを Linux でサービス起動させたくて、 /etc/init.d にあるスクリプトを参考にしようと眺めてたら。 引用符の前にドル記号が付いてる echo が 沢山出てきて何だこれはってなったので調べてみた。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev ブログを始めてみようと思う。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev ブログを始めてみようと思う。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 ちょっとした make 的なことをしたくて rake を使ってみました。 そこから java を呼び出そうとしたときに java コマンドがないという罠にはまったのでメモ。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 複数のフォーマット (XML とか JSON とか) で返せる REST-API を作る場合、 JAX-RS では Accept リクエストヘッダで コンテンツタイプを指定して切り替える仕組みになってる。 けどリクエストヘッダを付けるより、 URL 末尾に “.xml” とか “.json” とか付ける方が楽だ... 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 Spring Boot が熱そうなので試してみた。 それっぽいところまでは動いたのでメモ。 前回の記事の続き。 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築) この記事では REST っぽく GET/POST するところまでまとめた。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 社内 LT で発表したスライドです。 Spring Boot アプリケーションから、 Amazon S3 上のファイルを読み書きしたメモです。 Amazon 公式の AWS SDK は直接は使わず、 Spring Framework の Resource インターフェイスを使いました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Spring Boot 3 へのアップデートに必要だった変更をまとめました。 今回の変更は殆ど Pull Request でいただきました。感謝です。 リリース直後には初めて GitHub Sponsor までいただけました。 とても嬉しいし励みになります。ありがとうございます。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 Logback-access を Spring Boot の組込み Tomcat or Jetty で 使いやすくする自動設定ライブラリを作りました。 Maven Central Repository に公開もしてみました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 先日の記事に続き、ずっと放置してしまっていた logback-access-spring-boot-starter もアップデートしました (v3.0.0)。 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 最近は Perl スクリプトが割と使われている環境に居ます。 どちらかと言うと Rubyist だったけど、折角なので Perl な世界にも飛び込んでみました。 …で早速はまったのでメモメモ。 jQuery の delegate/live というものを今更ながら知った。 以前の記事で書いたスクリプトに適用出来そうだったので直してみた。 外部リンクは軒並み target="_blank" にして別窓で開きたいことがある。 そんなとき、 HTML が修正出来ないページ (このはてなブログも) では JavaScript で対応することになるのだけど、 よくある方法では不十分だったので自前で実装してみた。 CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 JavaScript でヒアドキュメントするページで見つけた、 正規表現 [^] の意味が分からなかったので調べてみた。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 参考になる記事や書籍が少ないなーと思いつつ、 GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみたのでメモ。 この記事では環境のインストールと設定までをまとめてみた。 毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。 Oracle JDK のダウンロードはライセンス同意のチェックが厄介。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Java で Getter/Setter 等の冗長コードがすっきり書ける lombok。 最新版 (1.14.4) を Eclipse に導入したら、コンテンツアシストが超絶遅くなってしまった。 複数の PC で Sublime Text 3 を同じように使いたくて、 プラグインと設定を Git で共有するようにしたった。 参考リンク含めてメモ。 Java のプロパティファイルは、マルチバイト文字が Unicode 表記 (¥uXXXX) になってる。 git diff が見にくいので、自動的に native2ascii で変換するようにした。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... CheckStyle で改行コードが LF で統一されてることをチェックしたい。 ざっと探してみると NewlineAtEndOfFile ってのがあったけど、 これがイマイチなので自前でもチェックすることにした。 設定ファイル関係を書くなら、 個人的には properties や XML や JSON より YAML が好きです。 ここでは Log4j2 の設定ファイルを YAML で書いてみました。 Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 社内 LT で発表したスライドです。 CircleCI に MySQL 5.6.23 をインストールする方法をまとめました。 現 Amazon RDS の最新版と同じバージョンです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 この Blog (Jekyll) を久々にビルドしたところ、 依存ライブラリ classifier-reborn (gsl), jekyll-last-modified-at (posix-spawn) の インストールに失敗したので解消しました。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev AWS Batch ジョブを GAS (Google Apps Script) から直接投入するためのメモ。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 社内 LT で発表したスライドです。 自分好みの Chrome 拡張をさくっと作れたら便利そうだなぁ… ということでお試しで挑戦してみた。 *この記事は Qiita から移行した内容です。 DBI (DBD::Oracle) で取得したデータに utf8 フラグが付いてくる。 取得したデータは全て utf8 フラグなしで扱いたい。 全ての箇所に utf8 フラグ落とす処理を書くのは面倒。 というケースに使った。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 *この記事は Qiita から移行した内容です。 roo でスプレッドシートを扱うときに使った。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 サーバを手軽に立てたいなー。 でもセキュリティ考えるの面倒だなー。 そんな思いから Amazon VPC を立てて VPN 接続してみた。 Markdown で表を組むとき、 大きな表になってくると列幅が揃ってないと見にくいし編集しにくい。 かと言って全ての列幅を揃えるのも面倒だったりする。 Java 8 のシンタックス (ラムダとか!) を使ってるコードに CheckStyle したら、 Eclipse (Pleiades) でも Maven でもエラーになった。 どっちも CheckStyle 本体のバージョンが古いのが原因だった。 Java 8 対応のバージョンになるのも時間の問題だろうけど、... Spring Boot (1.1.9) のデフォルトのログ出力実装には Logback が使われてる。 自分は Log4j の設定方法に慣れてるので、 Log4j2 に切り替えてみる。 CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... CUI でコマンドを叩いてると、終了コードが気になることが多いんだけど。 毎回 echo $? を叩いて確認するのは面倒だし、 確認し忘れて別のコマンドを叩いてしまうと、 2つ前の終了コードを失ってしまってうあああってなる。 それを防ぐべく、 PS1 をほげほげして常に直前の終了コードを プロンプトで表示する... こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 こちらのイベントに参加してきました。 Spring Boot, OpenCV, JMS, STOMP, WebSocket, WebRTC を使って画像変換アプリを作りました。 アプリ名は “kusokora” でした。すごい名前です。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 バックエンドに Redis を置いた、 Spring Boot アプリケーションを作りました。 そのときに調べた実装方法のメモです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 これは Java Advent Calendar 2015 4日目の記事です。 昨日は @susumuis さんでした。明日は @megascus さんです。 CircleCI に入ってる MySQLは 5.5 です。古いです。 この記事では、 CircleCI の Docker を使って、 MySQL 5.6, 5.7 を動かしてみました。 読取り専用だけど、自分のパスワードやアクセスキー, MFA (二段階認証) の設定だけはユーザ自身で出来る。 そんな IAM ユーザの作り方のメモです。 請求情報も参照できるポリシーも書きました。 Spring Boot & Spring Security ベースの Web アプリケーションを https://mydomain (SSL) で動かしたら、 http://sub.mydomain (サブドメインで非 SSL) にアクセスできなくなったときのメモ。 社内 LT で発表したスライドです。 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 今まではてなブログで記事を書いてましたが、 Jekyll でビルド + GitHub Pages でホストする形へ移転しました。 あと、ドメイン名も変えました。 rakugakibox.net → akkinoc.dev 普段、バッチ処理の実行には AWS Batch を使ってます。 先日 AWS Batch の実行環境を EC2 → Fargate へ切り替えてみたので、 僕の感じたメリット/デメリットをまとめてみました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 だいぶ前に個人開発したライブラリたちをずっと放置してしまっていたのですが、 また少しずつでもアップデートしていきたいと思い、 まずは軽めの yaml-resource-bundle から始めてみました。 折角の機会なので、僕の好きな Kotlin で全て書き直しました。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 社内 LT で発表したスライドです。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 こちらの先月の記事に続き、 放置してしまっていた orika-spring-boot-starter もアップデートしました。 yaml-resource-bundle を Kotlin で書き直した 今回も Kotlin で全て書き直しました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 CloudFront のアクセスログを Athena で集計できる環境を作ったので、やり方を残しておきます。 アクセスログが溜まってもスキャンするデータ量を抑えるよう、パーティション分割もしました。 パーティション分割には、昨年追加された機能 “Partition Projection” を使ってみました。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 AWS SDK は GAS (Google Apps Script) 向けには提供されていません。 AWS SDK for JavaScript も実行環境が異なるため使えません。 そんななか、割と簡単に AWS API を GAS (Google Apps Script) から 直接呼び出す方法を見つけました。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 大量にあるテキストからお手軽に単語を抽出したい、という要件が発生しまして。 結論、 Google スプレッドシートに入力したテキストから、 Amazon Comprehend でキーフレーズを抽出する仕組みを作った。 Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、 Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 Posts by Category
tech
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
yaml-resource-bundle を Kotlin で書き直した
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
はてなブログから GitHub Pages + Jekyll に引越した
LT - AWS Lambda 使ってみた
LT - Let’s Encrypt
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
CircleCI - Docker で MySQL の好きなバージョンを動かす
Java - 交差型キャストでラムダ式を Serializable, Cloneable にして遊んだ!
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
shell - コマンドが成功するまで何度かリトライする
Java 8 - “java.util.function” 俺俺チートシート
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
ターミナルで直前の終了コードを常に確認する (顔文字も)
Java - Spring Boot のログ出力実装に Log4j2 を使う
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
Sublime Text 3 のプラグインと設定を Git で共有してみた
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
外部リンクを別窓で開く JavaScript を改善した
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
正規表現 “[^]” の意味, 改行にもマッチする正規表現
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
Perl に挑戦したらエラー発生しないのに catch ブロックまで動いてはまった
rake から system32 直下の java が呼び出せなくてはまった
Blog はじめてみた
LT - ぼくのモデリング
Posts by Category
tech
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
yaml-resource-bundle を Kotlin で書き直した
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
はてなブログから GitHub Pages + Jekyll に引越した
LT - AWS Lambda 使ってみた
LT - Let’s Encrypt
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
CircleCI - Docker で MySQL の好きなバージョンを動かす
Java - 交差型キャストでラムダ式を Serializable, Cloneable にして遊んだ!
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
shell - コマンドが成功するまで何度かリトライする
Java 8 - “java.util.function” 俺俺チートシート
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
ターミナルで直前の終了コードを常に確認する (顔文字も)
Java - Spring Boot のログ出力実装に Log4j2 を使う
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
Sublime Text 3 のプラグインと設定を Git で共有してみた
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
外部リンクを別窓で開く JavaScript を改善した
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
正規表現 “[^]” の意味, 改行にもマッチする正規表現
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
Perl に挑戦したらエラー発生しないのに catch ブロックまで動いてはまった
rake から system32 直下の java が呼び出せなくてはまった
Blog はじめてみた
LT - ぼくのモデリング
Posts by Year
2024
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
2023
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
2022
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
2021
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
yaml-resource-bundle を Kotlin で書き直した
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
はてなブログから GitHub Pages + Jekyll に引越した
2016
LT - AWS Lambda 使ってみた
LT - Let’s Encrypt
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
CircleCI - Docker で MySQL の好きなバージョンを動かす
Java - 交差型キャストでラムダ式を Serializable, Cloneable にして遊んだ!
2015
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
shell - コマンドが成功するまで何度かリトライする
Java 8 - “java.util.function” 俺俺チートシート
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
ターミナルで直前の終了コードを常に確認する (顔文字も)
2014
Java - Spring Boot のログ出力実装に Log4j2 を使う
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
Sublime Text 3 のプラグインと設定を Git で共有してみた
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
外部リンクを別窓で開く JavaScript を改善した
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
正規表現 “[^]” の意味, 改行にもマッチする正規表現
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
Perl に挑戦したらエラー発生しないのに catch ブロックまで動いてはまった
rake から system32 直下の java が呼び出せなくてはまった
Blog はじめてみた
2010
LT - ぼくのモデリング
Posts by Year
2024
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
2023
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
2022
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
2021
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
yaml-resource-bundle を Kotlin で書き直した
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
はてなブログから GitHub Pages + Jekyll に引越した
2016
LT - AWS Lambda 使ってみた
LT - Let’s Encrypt
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
CircleCI - Docker で MySQL の好きなバージョンを動かす
Java - 交差型キャストでラムダ式を Serializable, Cloneable にして遊んだ!
2015
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
shell - コマンドが成功するまで何度かリトライする
Java 8 - “java.util.function” 俺俺チートシート
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
ターミナルで直前の終了コードを常に確認する (顔文字も)
2014
Java - Spring Boot のログ出力実装に Log4j2 を使う
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
Sublime Text 3 のプラグインと設定を Git で共有してみた
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
外部リンクを別窓で開く JavaScript を改善した
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
正規表現 “[^]” の意味, 改行にもマッチする正規表現
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
Perl に挑戦したらエラー発生しないのに catch ブロックまで動いてはまった
rake から system32 直下の java が呼び出せなくてはまった
Blog はじめてみた
2010
LT - ぼくのモデリング
Posts by Tag
java
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
yaml-resource-bundle を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
Java - 交差型キャストでラムダ式を Serializable, Cloneable にして遊んだ!
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
Java 8 - “java.util.function” 俺俺チートシート
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
Java - Spring Boot のログ出力実装に Log4j2 を使う
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
rake から system32 直下の java が呼び出せなくてはまった
spring-boot
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
Java - Spring Boot のログ出力実装に Log4j2 を使う
Java - Spring Boot で REST なアプリを作ってみる
spring-framework
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
Java - Spring Boot のログ出力実装に Log4j2 を使う
Java - Spring Boot で REST なアプリを作ってみる
aws
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
LT - AWS Lambda 使ってみた
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
maven
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
yaml-resource-bundle を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
logback
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
logback-access-spring-boot-starter を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Java - Spring Boot のログ出力実装に Log4j2 を使う
kotlin
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
yaml-resource-bundle を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
slide
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
LT - AWS Lambda 使ってみた
LT - Let’s Encrypt
LT - ぼくのモデリング
javascript
外部リンクを別窓で開く JavaScript を改善した
正規表現 “[^]” の意味, 改行にもマッチする正規表現
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
shell
shell - コマンドが成功するまで何度かリトライする
ターミナルで直前の終了コードを常に確認する (顔文字も)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
bash
shell - コマンドが成功するまで何度かリトライする
ターミナルで直前の終了コードを常に確認する (顔文字も)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
blog
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
はてなブログから GitHub Pages + Jekyll に引越した
Blog はじめてみた
website
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
はてなブログから GitHub Pages + Jekyll に引越した
Blog はじめてみた
ruby
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
rake から system32 直下の java が呼び出せなくてはまった
lombok
Java - Spring Boot で REST なアプリを作ってみる
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
glassfish
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
jax-rs
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
jersey
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
rest
Java - Spring Boot で REST なアプリを作ってみる
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
amazon-s3
AWS API を GAS (Google Apps Script) から直接呼び出す
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
Java - Spring Boot で Amazon S3 にアクセスする!
logback-access-spring-boot-starter
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
logback-access-spring-boot-starter を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
logback-access
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
logback-access-spring-boot-starter を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
aws-cloudformation
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
kotest
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
yaml-resource-bundle を Kotlin で書き直した
github-actions
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
yaml-resource-bundle を Kotlin で書き直した
google
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
google-apps-script
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
perl
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
Perl に挑戦したらエラー発生しないのに catch ブロックまで動いてはまった
jquery
外部リンクを別窓で開く JavaScript を改善した
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
regex
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
正規表現 “[^]” の意味, 改行にもマッチする正規表現
sublime-text
Sublime Text 3 のプラグインと設定を Git で共有してみた
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
centos
ターミナルで直前の終了コードを常に確認する (顔文字も)
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
chef
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
eclipse
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
git
Sublime Text 3 のプラグインと設定を Git で共有してみた
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
checkstyle
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
log4j
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Java - Spring Boot のログ出力実装に Log4j2 を使う
circleci
CircleCI - Docker で MySQL の好きなバージョンを動かす
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
mysql
CircleCI - Docker で MySQL の好きなバージョンを動かす
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
amazon-rds
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
aws-lambda
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
LT - AWS Lambda 使ってみた
jekyll
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
はてなブログから GitHub Pages + Jekyll に引越した
aws-batch
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
aws-fargate
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
amazon-ec2
AWS API を GAS (Google Apps Script) から直接呼び出す
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
amazon-ecs
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
google-sheets
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
architecture
LT - ぼくのモデリング
chrome
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
oracle
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
excel
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
roo
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
amazon-vpc
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
yamaha
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
rtx1200
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
ipsec
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
markdown
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
pleiades
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
slf4j
Java - Spring Boot のログ出力実装に Log4j2 を使う
terminal
ターミナルで直前の終了コードを常に確認する (顔文字も)
putty
ターミナルで直前の終了コードを常に確認する (顔文字も)
opencv
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
jms
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
stomp
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
web-socket
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
web-rtc
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
jjug
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
redis
Java - Spring Boot で Redis を使う!
amazon-elasticache
Java - Spring Boot で Redis を使う!
jackson
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
jaxb
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
jpa
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
thymeleaf
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
docker
CircleCI - Docker で MySQL の好きなバージョンを動かす
aws-iam
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
hsts
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
lets-encrypt
LT - Let’s Encrypt
github-pages
はてなブログから GitHub Pages + Jekyll に引越した
hugo
はてなブログから GitHub Pages + Jekyll に引越した
hatena-blog
はてなブログから GitHub Pages + Jekyll に引越した
amazon-eventbridge
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
yaml-resource-bundle
yaml-resource-bundle を Kotlin で書き直した
yaml
yaml-resource-bundle を Kotlin で書き直した
ad
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
rpa
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
biztex-cobit
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
orika-spring-boot-starter
orika-spring-boot-starter を Kotlin で書き直した
orika
orika-spring-boot-starter を Kotlin で書き直した
amazon-cloudfront
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
amazon-athena
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
aws-glue
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
amazon-dynamodb
AWS API を GAS (Google Apps Script) から直接呼び出す
amazon-redshift
AWS API を GAS (Google Apps Script) から直接呼び出す
amazon-comprehend
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
nlp
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
mecab
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
buildpack
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Posts by Tag
java
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
yaml-resource-bundle を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
Java - 交差型キャストでラムダ式を Serializable, Cloneable にして遊んだ!
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
Java 8 - “java.util.function” 俺俺チートシート
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
Java - Spring Boot のログ出力実装に Log4j2 を使う
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
rake から system32 直下の java が呼び出せなくてはまった
spring-boot
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
Java - Spring Boot のログ出力実装に Log4j2 を使う
Java - Spring Boot で REST なアプリを作ってみる
spring-framework
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
Java - Spring Boot のログ出力実装に Log4j2 を使う
Java - Spring Boot で REST なアプリを作ってみる
aws
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
LT - AWS Lambda 使ってみた
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
Java - Spring Boot で Amazon S3 にアクセスする!
Java - Spring Boot で Redis を使う!
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
maven
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
yaml-resource-bundle を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Maven Central Repository 公開メモ
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - Spring Boot で REST なアプリを作ってみる
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
logback
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
Spring Boot ログの出力先とフォーマットを環境によって切り替える
logback-access-spring-boot-starter を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
Java - Spring Boot のログ出力実装に Log4j2 を使う
kotlin
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
Maven Central Repository 公開手順 (2021, Maven, Java/Kotlin)
yaml-resource-bundle を Kotlin で書き直した
サーバサイドで Java → Kotlin に書き換えて感じたメリット/デメリット
slide
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
LT - AWS Lambda 使ってみた
LT - Let’s Encrypt
LT - ぼくのモデリング
javascript
外部リンクを別窓で開く JavaScript を改善した
正規表現 “[^]” の意味, 改行にもマッチする正規表現
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
shell
shell - コマンドが成功するまで何度かリトライする
ターミナルで直前の終了コードを常に確認する (顔文字も)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
bash
shell - コマンドが成功するまで何度かリトライする
ターミナルで直前の終了コードを常に確認する (顔文字も)
echo $”hoge” と echo $’fuga’ みたいな引用符直前のドル記号の意味
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
blog
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
はてなブログから GitHub Pages + Jekyll に引越した
Blog はじめてみた
website
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
はてなブログから GitHub Pages + Jekyll に引越した
Blog はじめてみた
ruby
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
rake から system32 直下の java が呼び出せなくてはまった
lombok
Java - Spring Boot で REST なアプリを作ってみる
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
glassfish
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
jax-rs
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
jersey
JAX-RS (Jersey) - URL の拡張子でレスポンスのコンテンツタイプを切り替える
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
rest
Java - Spring Boot で REST なアプリを作ってみる
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (Java)
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
amazon-s3
AWS API を GAS (Google Apps Script) から直接呼び出す
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
Java - Spring Boot で Amazon S3 にアクセスする!
logback-access-spring-boot-starter
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
logback-access-spring-boot-starter を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
logback-access
logback-access-spring-boot-starter - Spring Boot 3 をサポートしました
logback-access-spring-boot-starter を Kotlin で書き直した
Spring Boot - Logback-access が使いやすくなる自動設定を作って公開した
aws-cloudformation
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
kotest
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
yaml-resource-bundle を Kotlin で書き直した
github-actions
logback-access-spring-boot-starter を Kotlin で書き直した
orika-spring-boot-starter を Kotlin で書き直した
yaml-resource-bundle を Kotlin で書き直した
google
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
google-apps-script
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
perl
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
Perl に挑戦したらエラー発生しないのに catch ブロックまで動いてはまった
jquery
外部リンクを別窓で開く JavaScript を改善した
外部リンクを別窓で開く JavaScript, 動的追加されるリンクにも対応させてみた (jQuery使用)
regex
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
正規表現 “[^]” の意味, 改行にもマッチする正規表現
sublime-text
Sublime Text 3 のプラグインと設定を Git で共有してみた
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
centos
ターミナルで直前の終了コードを常に確認する (顔文字も)
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
chef
GlassFish + JAX-RS (Jersey) で REST なアプリを作ってみる (環境構築)
CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
eclipse
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Eclipse に lombok 1.14.4 を導入したらコンテンツアシストが超絶遅くなった
git
Sublime Text 3 のプラグインと設定を Git で共有してみた
Java のプロパティファイルを git diff するときは自動的に native2ascii で変換
checkstyle
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
Java - CheckStyle で改行コードのチェックが弱いので自前で何とかした
log4j
Log4j2 の設定を YAML で書く, Spring Boot でも使ってみる
Java - Spring Boot のログ出力実装に Log4j2 を使う
circleci
CircleCI - Docker で MySQL の好きなバージョンを動かす
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
mysql
CircleCI - Docker で MySQL の好きなバージョンを動かす
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
amazon-rds
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
CircleCI で MySQL 5.6.23 を使う (現 Amazon RDS の最新版と同じバージョン)
aws-lambda
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
LT - AWS Lambda 使ってみた
jekyll
Blog (Jekyll) を久々にビルドしたら classifier-reborn, jekyll-last-modified-at がエラーになったので解消した
はてなブログから GitHub Pages + Jekyll に引越した
aws-batch
AWS Batch ジョブを GAS (Google Apps Script) から直接投入する
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
aws-fargate
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
amazon-ec2
AWS API を GAS (Google Apps Script) から直接呼び出す
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
amazon-ecs
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
google-sheets
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
AWS API を GAS (Google Apps Script) から直接呼び出す
architecture
LT - ぼくのモデリング
chrome
Web ブラウジングが草不可避になる Chrome 拡張を作ってみた
oracle
DBI (DBD::Oracle) で取得したデータの utf8 フラグをまとめて落とす
excel
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
roo
Excel セル位置を文字列 (“A1”) ⇔ 数値 ([R,C]) 変換するワンライナー
amazon-vpc
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
yamaha
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
rtx1200
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
ipsec
YAMAHA ルータ RTX1200 で Amazon VPC に VPN 接続した
markdown
Sublime Text の Table Editor で Markdown の表を書くのが楽ちんになった
pleiades
Eclipse (Pleiades) or Maven で Java 8 対応の CheckStyle を使う
slf4j
Java - Spring Boot のログ出力実装に Log4j2 を使う
terminal
ターミナルで直前の終了コードを常に確認する (顔文字も)
putty
ターミナルで直前の終了コードを常に確認する (顔文字も)
opencv
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
jms
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
stomp
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
web-socket
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
web-rtc
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
jjug
Spring Boot キャンプで duke とねこび~んの kusokora してきた!
redis
Java - Spring Boot で Redis を使う!
amazon-elasticache
Java - Spring Boot で Redis を使う!
jackson
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
jaxb
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
jpa
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
thymeleaf
Spring Boot + 周辺ライブラリで Java 8 日時 API を使う! (Java Advent Calendar 2015 4日目)
docker
CircleCI - Docker で MySQL の好きなバージョンを動かす
aws-iam
AWS - リードオンリーな IAM ユーザの作り方 (自分のユーザ情報だけは変更可)
hsts
Spring Boot - HTTPS で Web アプリを起動したらサブドメインの HTTP が開けなくなった
lets-encrypt
LT - Let’s Encrypt
github-pages
はてなブログから GitHub Pages + Jekyll に引越した
hugo
はてなブログから GitHub Pages + Jekyll に引越した
hatena-blog
はてなブログから GitHub Pages + Jekyll に引越した
amazon-eventbridge
AWS Batch の実行環境を EC2 → Fargate へ移行して感じたメリット/デメリット
yaml-resource-bundle
yaml-resource-bundle を Kotlin で書き直した
yaml
yaml-resource-bundle を Kotlin で書き直した
ad
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
rpa
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
biztex-cobit
LT - 広告配信データの自動集積に RPA (BizteX cobit) を活用した話
orika-spring-boot-starter
orika-spring-boot-starter を Kotlin で書き直した
orika
orika-spring-boot-starter を Kotlin で書き直した
amazon-cloudfront
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
amazon-athena
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
aws-glue
AWS - CloudFront アクセスログを Athena + Partition Projection で解析
amazon-dynamodb
AWS API を GAS (Google Apps Script) から直接呼び出す
amazon-redshift
AWS API を GAS (Google Apps Script) から直接呼び出す
amazon-comprehend
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
nlp
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
mecab
Google スプレッドシートのテキストから Amazon Comprehend でキーフレーズを抽出
buildpack
Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす
Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。
gradle bootBuildImage
でビルドJava Buildpack Memory Calculator は、 Java アプリケーションのメモリ配分について、
実行環境のキャパシティ等から最適な値を自動計算し割当ててくれるそうです。
Spring Boot の Maven / Gradle プラグインでイメージビルドすると組み込まれました。
計算式は次のように算出されるようです。
Heap = Total Container Memory - Non-Heap - Headroom
Non-Heap = Direct Memory + Metaspace + Reserved Code Cache + (Thread Stack * Thread Count)
ECS タスク定義のメモリ (Task size > memory) は 1GB で設定していたのですが、
コンテナ起動時に流れていたログは次のような内容でした。
(見やすいように適当に改行を入れてます。)
Calculated JVM Memory Configuration:
+Jekyll 2024-11-01T19:41:34+09:00 https://akkinoc.dev/feed.xml akkinoc.dev akkinoc's personal website. Akihiro Kondo Java Buildpack Memory Calculator を Amazon ECS + AWS Fargate で動かす 2024-05-20T00:00:00+09:00 2024-05-20T00:57:13+09:00 https://akkinoc.dev/posts/2024/05/20/java-buildpack-memory-calculator-on-aws-ecs-fargate Spring Boot アプリケーションを Amazon ECS + AWS Fargate で動かした際、
Java Buildpack Memory Calculator が正しく機能していないことに気付き、調査しました。 前提
- 環境
- Java 17
- Gradle 8.7
- Spring Boot 3.2
- Docker イメージ ビルド方法
- Spring Boot Gradle Plugin の
gradle bootBuildImage
でビルド
- Docker イメージ 実行環境
- Amazon ECS + AWS Fargate
- (僕はコンテナ技術に明るくありません)
Java Buildpack Memory Calculator とは
Java Buildpack Memory Calculator は、 Java アプリケーションのメモリ配分について、
実行環境のキャパシティ等から最適な値を自動計算し割当ててくれるそうです。
Spring Boot の Maven / Gradle プラグインでイメージビルドすると組み込まれました。
計算式は次のように算出されるようです。
Heap = Total Container Memory - Non-Heap - Headroom
Non-Heap = Direct Memory + Metaspace + Reserved Code Cache + (Thread Stack * Thread Count)
起きていたこと
ECS タスク定義のメモリ (Task size > memory) は 1GB で設定していたのですが、
コンテナ起動時に流れていたログは次のような内容でした。
(見やすいように適当に改行を入れてます。)
Calculated JVM Memory Configuration:
-XX:MaxDirectMemorySize=10M
-Xmx7128493K
-XX:MaxMetaspaceSize=138570K
diff --git a/works/libraries/index.html b/works/libraries/index.html
index e5aea659..32655f9b 100644
--- a/works/libraries/index.html
+++ b/works/libraries/index.html
@@ -1 +1 @@
- Programing Libraries - akkinoc.dev Programing Libraries
個人開発しているプログラミングライブラリです。
logback-access-spring-boot-starter
Java フレームワーク Spring Boot の拡張ライブラリです。
Logback-access (Java サーブレットの HTTP アクセスロギングライブラリ) を自動で組み込み、使いやすくします。
Spring Boot アプリケーションプロパティや、 Logback-access 設定ファイルで、動作を設定できます。
orika-spring-boot-starter
Java フレームワーク Spring Boot の拡張ライブラリです。
Orika (Java Bean マッピングライブラリ) を自動で組み込み、使いやすくします。
Spring Boot アプリケーションプロパティや、ユーザ実装の設定クラスで、動作を設定できます。
yaml-resource-bundle
Java ResourceBundle の拡張ライブラリです。
YAML フォーマットのリソースを ResourceBundle として扱えるようにします。
\ No newline at end of file
+ Programing Libraries - akkinoc.dev Programing Libraries
個人開発しているプログラミングライブラリです。
logback-access-spring-boot-starter
Java フレームワーク Spring Boot の拡張ライブラリです。
Logback-access (Java サーブレットの HTTP アクセスロギングライブラリ) を自動で組み込み、使いやすくします。
Spring Boot アプリケーションプロパティや、 Logback-access 設定ファイルで、動作を設定できます。
orika-spring-boot-starter
Java フレームワーク Spring Boot の拡張ライブラリです。
Orika (Java Bean マッピングライブラリ) を自動で組み込み、使いやすくします。
Spring Boot アプリケーションプロパティや、ユーザ実装の設定クラスで、動作を設定できます。
yaml-resource-bundle
Java ResourceBundle の拡張ライブラリです。
YAML フォーマットのリソースを ResourceBundle として扱えるようにします。
\ No newline at end of file
diff --git a/works/slides/index.html b/works/slides/index.html
index cbd800eb..58e8c11b 100644
--- a/works/slides/index.html
+++ b/works/slides/index.html
@@ -1 +1 @@
- Presentation Slides - akkinoc.dev Presentation Slides
LT などで発表したスライドです。
\ No newline at end of file
+ Presentation Slides - akkinoc.dev Presentation Slides
LT などで発表したスライドです。
\ No newline at end of file