OpenJDK11をWindowsで自前ビルドする


Java の有償化ってより身近なところでは GPL 化と言った方が現状に即してるな、と思っています。

それはともかく、何となく OpenJDK をデバッグ情報付きでビルドしたくなったのでメモ。

Read more ⟶

Azure FunctionsでPowerShell使えなくなっとる


v1 で実験的サポートだった PowerShell が、実行環境のバージョンが上がったとかで v2 になり、選べなくなっているみたい?一時的な話?

実行環境を作る

https://portal.azure.com/ から 「リソースの作成」「Serverless Function App」と選択していきます。

Read more ⟶

Invoke-WebRequestやCompress-Archiveを使っていると画面上部に一瞬表示される何かの表示を非表示に


進捗状況(progress)が表示されているそうです。少量のデータを扱っている場合には画面の一部がフラッシュしているように見えており、何のための画面効果かさっぱりわかりませんでした(ので検索キーワードすら思い浮かびませんでした)。

Read more ⟶

Windows向けrsyncがなくなったみたい?


vagrantrsyncが使いたくなった。
そこでscooprsyncをインストールしようとしたが、見つからない。
おや?と思い検索してみると次の issue が。
rsync free version is no more #2506

Read more ⟶

vim で E117 未知の関数です


vim は ~/.vim ディレクトリを読むのに対し gvim は~/vimfilesディレクトリを読むためだそうです。Windows ならジャンクションを作りましょう。

cd /d %homepath%
mklink /j vimfiles .vim

参考:

Read more ⟶

gitで利用するエディタを設定したかった


あるいは vim-plug をセットアップしたら git commit したときに E492: Not an editor command って怒られるようになっちゃった。

Vagrant で CentOS の Box を作るたびにひっかかる。

Git が使う editor を(vi でなく)vim に設定すればよい。

Read more ⟶

M2_HOMEは不要


M2_HOME は削除されました。

敢えて設定するのであれば、 上の変更 commit リンク先にある通り、M2_HOMEでなくMAVEN_HOMEにしましょう。
ただし、敢えて設定すべき状況は通常発生しないと思います。

Read more ⟶

Git for Windowsでzipコマンドを再現する


git-archive使えば何とかなることに気付きました。
ちなみにunzipコマンドは標準で使えます。

mkdir workrepo
cd workrepo
git init
cp -r [target_file_or_dir] .
git add .
git commit -m commit
git archive -o ../myarchive.zip @
cd ..
rm -rf workrepo

あんまり自信ないんですけどスクリプトファイルに落とすとこんな感じ?

Read more ⟶

Undertow上でJSF実現


手順

  • FacesInitializer#onStartupでやっていることを自力で書く
  • 標準パス(WEB-INF/classes)に無いので、ManagedBeanアノテーションを付与したクラスを自前で収集する

ソースは: https://github.com/yukihane/hello-undertow-mojarra

関連

Read more ⟶

エラーメッセージでググろうと思ったんだけど日本語だからかヒットしない


Java でメッセージを英語にする

環境変数 JAVA_TOOL_OPTIONS に設定しよう。

export JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.country=US"
Read more ⟶

Tomcat上でJSF実現


非 JavaEE なサーブレットコンテナ上で JSF を実行するように変更する手順。

TL;DR

  • Mojarra を依存関係に含める
  • JSF リソースを javax.faces.webapp.FacesServlet にマップするよう web.xml で設定する

実装例

https://github.com/yukihane/hello-jsf/tree/feature/server/tomcat

feature/server/tomcat ブランチと feature/server/javaee ブランチで diff を取れば、 JavaEE アプリケーションサーバ向け設定との差異がわかります。
(ちなみに masterブランチや README.md の説明は別の内容向けなので気にしないで下さい)

Read more ⟶

Building Java Project


はじめに

  • 他者が作成したプログラムにちょっと変更を加えて使いたい
  • その言語は未経験だけれど、コードの変更自体は検索したり周辺コードのコピペで何とかなりそう
  • しかし、変更したコードをどうやってビルドすれば良いんだ…?

なんてことがたまにあります。
そんな時に参考になるようなドキュメントを目指して記述しました。

Read more ⟶

yamlの継承っぽいのは継承というよりハッシュのマージ


なので配列(Array)には使えない。

database: &default
  ip: 192.168.1.5
  port: 2000
  db_name: test
foo_database:
  <<: *default
  port: 2001
  db_name: foo

上は実現できても下のようにはできない。

database_attr: &default
  - ip
  - port
www_attr:
  <<: *default
  - name

関連: https://github.com/yaml/yaml/issues/35

Read more ⟶