by shigemk2

当面は技術的なことしか書かない

memo OpenJDK コミュニティに参加してみよう #ccc_i62

jdk7がoss化

jdk7からコードベースはopenjdk7

openjdkは使い物になるか slideshare

モチベーション openjdkのバグが直ればoraclejdkにも入る

openjdkのcontributing

openjdk wiki

最初の一歩以降が書かれてない

パッチをメーリスに投げる やり取りすると拡散するからパッチを投げた方が早い

JEPとして機能提案

ocaにサインしたらパッチが投げられる

個人でも投げるのは可能

パッチは最新のjdkから

openjdkはhgから。gitではない。

プロジェクトとサブプロジェクトがある

開発はdev 読むならmaster gcなどはhs

パッチを投げるなら投げよう

151個トピックがあるので 間違えたところに投げたら無視される

基本的なライブラリはcore-libs-jdk

パッチはメール本文に貼る 添付ファイルやぎっはぶはng

コミッターレベルのスポンサーの承認がなければパッチが採用されない

反応がないことがザラなので根気が要る

おーさー、こみったー、レビュアー

memo マイクロフレームワーク enkan(とkotowari)ではじめるREPL駆動開発 #jjug_ccc

http://www.java-users.jp/?page_id=2396#CD-7

http://enkan.github.io/

  • ミドルウェアパターンを実装した社内フレームワークがあった
    • 設計の一貫性のなさが目立つのでレファレンスモデルを作ってみた
    • できが良いので公開してみた
  • Require: Maven3 Java8 " Enkan/Kotowari/Ring/duct/liberator Javaの思想関係無かった
  • 開発コンセプト 明示的 開発しやすい 保守運用が簡単
  • 主要コードはすべてMiddlewareに集約
  • Params/NestedParams/Authenticateなど
  • 他のミドルウェア
  • None/Any/PathなどのPredicateが標準で利用可能
  • 設定ファイルなし Java8 Syntaxを使えばDSL的に書けるようになる
  • アノテーションヘルを回避
  • @Inject/@Named/@Transactional アノテーションを覚えよう
  • Component初期化はnew
  • バイトコードを触るような黒魔術は使わない
  • HotReloading DisposeClassLoader/JVM container
  • Exception 設定ミス専用
  • アプリケーションは3秒くらいで起動する
  • JShell未対応 プロセスアタッチ コマンド追加などの関係で……
  • アーキ componentのDI
  • 依存ライブラリは極力少なく
  • Component
    • シングルトン
    • Field injection
    • start/stop lifecycle
    • Componentはアプリケーションの状態を管理するもの その状態を開始終了するもの
  • Maven archetypeは最小限
  • Scaffolding
  • Amagicman Yeoman的なのをJVMで
  • Javaでも結構REPL駆動できそう
  • Clojure好きなひととか