Clojure プロダクト開発(Product Development)
Clojureプロダクト開発で役立つライブラリとフレームワークまとめ.
- up: 📂Clojure Development
- tags: 🔖Clojure
- refs:
- 📝Clojure Web Development => Web関係はこっち
- 📝Clojure API Client Development => Client API関係はこっち
- 📝Clojure サービス開発 => バックグラウンドJob関係
- 📝Clojure 状態遷移(FSM)
- 📝Clojure 状態管理
- 📝Clojure コーディング規約と慣習
- 📝Clojure Architecture => 設計周り
- 📝Clojure: ロギング(Logging)
- 📝Clojure: テスト(Testing/TDD)
Clojure: Backend Framework
🔧Clojure: Duct
Integrant をベースにした拡張機能を提供(作者が同じ). Webフレームワークではなくもっと汎用的なもの.
🔧Clojure: Roll
https://github.com/dimovich/roll
backend for Clojure. Ductよりもさらにシンプル, integrantがベース.
Clojure製品開発 Topics
💡Clojure JVMチューニング
Clojureのコードをプロダクトに投入するならば, JVMのチューニングは不可欠.
- ヒープメモリサイズ(-Xmx)
- ヒープダンプ吐き出し(-XX:+HeapDumpOnOutOfMemoryError)
- GCの種別(-XX:+UseG1GC)
- GCログの吐き出しの設定(-Xlog:gc*)
せめてこのあたりは設定したいところ. JVMチューニングのノウハウはJava開発の記事が多数.
💡Clojure needs a Rails
なんでもClojureで殴ろうとするかわいそうなSuziの話.
ようはマネージャーからこれやってくださいと言われたときに, つよつよClojure力で張り切ってやろうとするものの外部ライブラリがなかったり, あっても7年前から更新が停止していたりで 結局いろいろ自分で開発しないといけないので時間がかかったという話.
Clojure needs a Rails, but not for the reason you think
ただ, これはClojureに限った話ではなくメジャーでない全ての言語にいえる課題かもしれないし, こういう課題を乗り越えた言語だけが人気を博す. 記事の終わり方で, このようなClojure界におけるRails的な存在意義について次回のClojure/conjでお話しましょうという終わり方はいいのでは?ここからなにか大きなムーブメントが生まれるか?
📝Clojure Java Interopの強力な力を使えばいいじゃないかいうのもあるが, 最近ccxt的なJavaライブラリを使わなかった経験からいっても, どうもClojureからJavaライブラリを使おうとしてもClojure的な書き方にならないのが好きではなかったんだよな.
References
- The Clojure Toolbox
- 逆引きのClojure Libraryまとめページ.