用 Clojure 改善 Java 项目的开发体验 刘鑫
登录发表评论
文字内容
1. Java 伴侣和风味 刘鑫 Java 项目的编程体验提升
2. 自我介绍
3. 自我介绍 • 布路诺超链科技高级技术经理。 • 曾经的 Python Tutorial 中文版维护者 • Java 工程师
4. 目录 • • • • • • Java 的优势与不足 语言互补 框架和工具库 Java Akka 与 Clojure Clojure 工具 工程实践中的一些经验
5. Java 是当代信息产业最重要的“饮料” • • • • • 中庸的语法 久经考验的工程实践 活跃的社区 优秀的运行时环境 丰富的框架和工具集
6. 现代的 Java • • • • • 类型推断和约束 并发标准库和第三方支持 Spring 和 Guice 为代表的 IOC 技术栈 垃圾回收算法及其它 JVM 技术的发展 来自其它 JVM 语言的馈赠
7. Java 的不足和限制 • • • • 语言功能发展缓慢 类型较弱,缺少高级的约束推断能力 语言级别的异步支持较弱,并且多年没有大的进展 对于得到实践验证的业务表达语法,缺少吸收和学习
8. 最佳伴侣 • • • • 静态语言+动态语言 经典工程语言+Lisp 类型约束+数据描述 工程框架+快速开发技术
9. 动态调用应谨慎使用 Free. Is Not Freedom
10. 互嵌入无处不在
11. 用 Clojure 描述数据
12. Spec 提供强有力的规范定义
13. 用宏来表达 Akka Stream
14. Clojure.core.async • • • • 完整的进程内异步模式支持 便捷简练的形式 对语法风格中立,无侵入 性能优秀
15. Akka • • • • • 完整的分布式异步体系 丰富完整的响应式编程哲学 活跃的社区 经受考验的实践表现 与 Clojure/Java 结合良好
16. Akka Clojure
17. Leiningen 体系 • Leiningen And Maven • Leiningen repl • Leiningen and nrepl • Clojars • Clojurescript
20. Clojure Akka 实践 • • • • 利用 Clojure 数据结构作为消息机制 利用 Clojure multimethod 实现 pattern method 利用 Clojure 宏实现高级语法糖 利用 nrepl 实现高级节点管理
21. 应该做什么 • 组合,而非替代 • Clojure 是 Java 的 DSL • 根据具体的团队和项目积累最佳实践 • 互补协作 • AKA • 文档库建设 • 拥抱类型 • 拥抱测试 • 拥抱自动化
22. 应该追求什么 • • • • • • • 开发效率和编程语言的人机工程 正交工具集 最佳实践 可监控 可追溯 可度量 可复现
23. 应该警惕什么 • 过多的隐式代码生成 • 重复,易错,繁琐的手工劳动 • 架构腐化 • • • • • • 配置不一致 无法快速部署开发环境 无法自动化部署新节点 无法构建集成测试环境 难以引入新技术 运维失控 • 独门秘籍
24. 自我介绍
-
1
QCon2019 NLP深度培训 高扬
QCon大会
-
2
4 方秋枋
QCon大会
-
3
Apache Flink 社区最新动向及 ...
QCon大会
-
4
爱奇艺信息流广告的排序算法演进 刘国辉
QCon大会
-
5
构建多线程的 Electron 应用和性能...
QCon大会
-
6
日均百万订单下的高可用苏宁拼购系统架构设计...
QCon大会
-
7
4qcon广州 岑裕 保障API优雅与稳定...
QCon大会
-
8
阿里巴巴超大规模微服务实践 陈志轩
QCon大会
-
9
Flink 在 OPPO 的平台研发与应用...
QCon大会
-
10
知乎首页已读数据万亿规模下高吞吐低时延查询...
QCon大会
-
11
陈春华 青云在混合云架构设计的关键实践
QCon大会
-
12
智能 Web 研发初探 邵帅
QCon大会
-
13
唯品会容器环境与应用一键拉起—...
QCon大会
-
14
TiDB 与 TiFlash扩展&mdas...
QCon大会
-
15
小游戏质量保证测试实践之路 王昱杰
QCon大会
-
16
Golang 内存管理探微—&...
QCon大会
-
17
腾讯广告高可用的深度学习技术架构 唐溪柳
QCon大会
-
18
王鹏飞 Kubernetes容器存储解决之道
QCon大会
-
19
京东物流仓储数据分发平台架构实践及挑战 江龙飞
QCon大会
-
20
融合 Kotlin 和 Swift 语言进...
QCon大会
-
用 Clojure 改善 Java 项目的...
QCon大会
-
22
宋斌 美团一站式业务稳定性保障平台的 AI...
QCon大会
-
23
2019年的9102年的微服务 江南白衣
QCon大会
-
24
C端服务端渲染(SSR)和性能优化实践 桑世龙
QCon大会
-
25
主题演讲 乔新亮
QCon大会
-
26
Apache Spark 2,4 和未来 王耿亮
QCon大会
-
27
朱剑峰 网易 Spring Cloud 万...
QCon大会
-
28
Meshing up Open Platf...
QCon大会
-
29
从“996ICU”...
QCon大会
-
30
大到不能慢——敏捷...
QCon大会
-
31
从 Darknet 到 Tensorfow...
QCon大会
-
32
吉奇 高并发场景下分布式实时信令系统的架构实践
QCon大会
-
33
编程语言 王文槿
QCon大会
-
34
PB级数据检索平台 ElasticSear...
QCon大会
-
35
机器学习在广告创意优化中的应用 潘尧振
QCon大会
-
36
架构师和技术总监的两面一体 黄良懿
QCon大会
分享