その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

java

Servlet コンテナによって HttpServletRequest#getPart(String name) の挙動が違う

Part gotPart = httpServletRequest.getPart("hoge"); みたいなコードがあった時,送られてきた multipart リクエスト (httpServletRequest) に1つも part が含まれていない場合の挙動が Servlet コンテナによって変わってきます.送るリクエストはこんな感…

Servlet 3.0 から導入された multipart 関連の処理を Tomcat で有効にする術について

servlet 3.0 の multipart 関連処理を有効にする方法 - blog.64p.org これの関連なんですが.こういう設定をしておかないと,HttpServletRequest#getPart() や HttpServletRequest#getParts() が null を返してきてマジ意味わからん!!!! みたいな感じの…

Java で新しくプロジェクトを始めるときに何を使ってセットアップすべきか

Java で新しいプロジェクトを立ち上げる時, Maven Archetype を使う 独自のセットアップスクリプト (LL とかで書かれたやつ) を使う という2つの方法が考えられると思います (他にもあるかも知れない). さてどちらが良いのか. Maven Archetype を使う 利…

Maven Archetype で文字列を置換したりする

Maven Archetype で archetype を作るとき,文字列を置換したくなることがあります. 例えば $artifactId に foo-bar と入っている時にこれを foo_bar という風に s/-/_/g したくなる事などがあるでしょう.世の中色々あるのです.そういう時は以下のように…

Maven Archetype で ## がコメントとして扱われるのでなんとかする

Maven Archetype で archetype を作る時,archetype に含めるファイルの中に ## が入っていると行のそれ以降がコメントとして扱われる為,内容が抜け落ちてしまうというような事があります. 例えば Markdown 形式のファイルなんかを archetype 内に含めてい…

capture-output-stream というのを書いた

こちらも温泉で出したやつです.Maven Central にもアップしました.moznion/capture-output-stream http://search.maven.org/#artifactdetails|net.moznion|capture-output-stream|1.0.0|jar 標準出力や標準エラー出力をキャプチャする君です.キャプチャし…

javadocio-badges というのをつくった

先週の3連休で温泉シバソンというイベントを有馬温泉でやってきて,そこで書いたアプリケーションがまあまあ使えるレベルに達したので公開しました. シバソンについての詳細は以下のブログを見ていただけると良いと思います *1.僕はこのハッカソンで MacBo…

java-mysql-diff が出た

java-mysql-diff が出ました.Maven Central にもリリースしています.moznion/java-mysql-diffhttp://search.maven.org/#artifactdetails|net.moznion|mysql-diff|1.0.0| 本パッケージは id:onishi さん作の mysqldiff の Java 8 移植版です. 最近 Java の…

java-mysql-namelocker が出ていた

そういえば java-mysql-namelocker が出ていました.Maven Central にもリリースされています.moznion/java-mysql-namelockerhttp://search.maven.org/#artifactdetails%7Cnet.moznion%7Cmysql-namelocker%7C1.0.0%7Cjar Perlには Mysql::NameLocker という…

Javaで空いているポート番号を取ってきたい

Javaで空いてるポート番号取ってきたかったんで,以下のように書いたらポート番号取れて便利でした. int port; try (Socket socket = new Socket()) { socket.bind(null); port = socket.getLocalPort(); } ドキュメントによると,Socket#bind()の引数にnul…

Maven でFindBugs のレポートを出力させる方法

またもやMaven の話です。 FindBugs FindBugs という大変素晴らしい静的解析ツールが存在している事は皆さんご存知の事でしょう。 FindBugs はソースコード中に潜在的に存在しているバグやバグの原因となる部分を検出してくれるので非常に助かります。 大体…

Maven でjar ファイル (apk ファイル) の署名を自動化する方法

前エントリで言いたい放題言っていましたが、Maven の話です。 この関連の情報は豊富にありますが、分散している感があるのでまとめました。 本題 ソフトウェアをリリースする際に必要な署名作業を、いちいち手動でやるのはだるいので、 それをMaven にやら…

JSONObject のput メソッドを使うとWarning がもりもり出るので僕、不満足!!

json-simple のJSONObject でサポートされているput() メソッドを使うと、 Warning がもりもり出て、画面が黄色くなってしまうので大変アレです。 ↓こんな感じで書くと、obj.putが警告を出してくるので精神が不安定になります。import org.json.simple.JSONO…

Vim でJava を書く環境を整えましたが、IDE で良い気がします

Vim でJava を書く環境を整えました。 結論 Eclipse 等のIDE を利用したほうが良いと思います!!! 理由は色々あるので後述します。 あと、Eclipse だとVrapper というVim のキーバインドを再現するプラグインがあるので、 それを使えばある程度幸せに暮ら…

Jetty を使ってWeb サーバを立ち上げ、更にSSL 接続を実装する

最近、Jetty を使ってJava でWeb サーバを立ち上げたので、その方法について備忘録的に書きます。 Jetty ? Jetty は、100%JavaのJava Servletコンテナ・Webサーバである。WebSocketなどのプロトコルもサポートする。Jetty はオープンソースプロジェクトとし…

getResourceが便利。今まで知らなかったのが悔やまれる。

お疲れ様です。いかがお過ごしでしょうか。 はい。Javaです。 JavaのClassLoaderクラスでサポートされているgetResource()便利で逆に凹みました。 皆さんご存知かとは思いますが、便利だったので備忘録として…… getResource() ? JavaTM 2 Platform Standard …