読者です 読者をやめる 読者になる 読者になる

Web系開発メモ

Java, SpringBoot, JavaScript, CSS, HTML などの記事を書いています。

Java

Java:左トリム(前方トリム)

Java の文字列(String)で、左(前方)の空白を削除したいことがありました。これからそのコード例を書いてみます。 コード例 public static String ltrim(String s) { int len=s.length(), i=0; char[] c = s.toCharArray(); while ((i < len) && (c[i] <=…

Struts2の脆弱性調査(参考文献など)

ちょっと前に、Struts 2 の脆弱性がニュースになったりしてました。その際、色んなニュース・記事・ブログなどを見させて頂きました。今回は、その中でも特に参考になったリンクなどをまとめてみました。 概要や事象など Apache Struts 2における脆弱性 (S2-…

Java:ラムダの中の例外

Java のラムダの中で、Exception をスローするとコンパイルエラーになることがありました。そこで、うまくラムダ内でも検査例外をスローできないか調べてみました。 エラーになるコード例 次のようなコードだと、main メソッドで throws 宣言していますが、…

Java:どのテンプレートエンジンを使うか?

Web アプリ開発(サーバサイド Java)で、どのテンプレートエンジンを使うか考えてみました。あくまで私個人の考えなので、広い心で見て頂けると嬉しいです。 現時点(2017.03.30) 今は、jmustache (Mustache の Java実装)を使いたいと思っています。 理…

Java:コンパクト・プロファイル

Java8 で導入されたコンパクト・プロファイルについて、調べたことを書いていこうと思います。 コンパクト・プロファイルとは? Java SE の API のサブセット(グループみたいなもの)で、compact1, compact2, compact3 の3つがあります。compact1 が一番小…

JavaFX:SceneBuilderのインストール

JavaFX の GUI 周りを開発するために、SceneBuilder をインストールしてみました。これからその手順を書いてみようと思います。 補足. インストーラについて SceneBuilder のインストーラは、GLUON が配布しているものを使いました。詳細は、記事「JavaFX:S…

JavaFX:SceneBuilderの入手方法

Java SE 8u40 から、オラクルは JavaFX の SceneBuilder(バイナリ)の配布をやめてしまったようです。 Starting with Oracle Java SE 8u40, Oracle does not provide a separate set of accompanying JavaFX Scene Builder binaries. from: JavaFX Scene Bu…

Java:ラムダは遅い?

Java 8 のラムダを使ってみたら、数十ミリ秒単位で処理が遅くなることがありました。そこで、ちょっとパフォーマンスを計測してみることにしました。 環境 CPU: Intel Core i5-2430M 2.40GHz メモリ: 8GB OS: Win 7 Java: SE 1.8.0_71 計測プログラム ラムダ…

Java:JVMの稼働時間を取得

java.lang.ManagementFactory を使って、JVM の稼働時間(起動後の経過時間)を取得する方法を書いてみます。 Javaコード long uptime = ManagementFactory.getRuntimeMXBean().getUptime(); 補足 uptime は、日本語だと「連続稼働時間」とか「起動時間」と…

Java:Google Http Client で HTTP通信

Google の Http Client を使って、Java で HTTP通信をする方法を書いていこうと思います。 HTTP接続ライブラリの選択 Google Http Client では、HTTP接続ライブラリを次の3種類から選択できるようです。 NetHttpTransport(JDK の HttpURLConnection がベー…

Guava:ファイルを再帰的に取得する

Java を使ってディレクトリ内のファイルを再帰的に取得したいことがありました。そのとき Google Guava を使ったら、簡単に取得することができました。 今回はそのときのメモを書いていこうと思います。 1. Guava のインストール Maven や Gradle の依存性追…

Java:MP3のタグを編集

MP3ファイルのタグ情報には、タイトル・アーティスト・アルバム・ジャンル・・・、などがあります。このタグ情報を一括で編集したくて、Javaでやってみることにしました。今回は、そのときのメモを書いていきます。 ID3タグについて MP3のタグ情報は、ID3タ…

Java:Lombok の @Data でコード量削減

Lombok は Java のライブラリで、getter/setter やコンストラクタなどのコードを自動的に生成してくれます。今回は、Lombok のアノテーション @Data を使って、コード量を削減する方法を書いてみます。 手順1. ビルドシステムの設定 Lombok への依存性を追加…

Java:ログ出力(SLF4J, Logback)

最近は、Java のログ出力に SLF4J と Logback を使うことが多いようです。そこで、SLF4J と Logback の概要・利用手順をまとめてみました。 概要 SLF4J:ログファサードライブラリ Logback:ログ出力ライブラリ SLF4J が Commons Logging、Logback が Log4j …