-
one-java-agent-00-overview 统一管理众多的Java Agent
目标
提供插件化支持,统一管理众多的Java Agent
插件支持install/unstall,需要插件方实现接口
支持传统的java agent,即已经开发好的java agent
插件系统
插件如果希望感知生命周期,可以实现 PluginActivator接口:
public interface PluginAct...
2023-08-09 00:00:00 |
JVM
-
10x程序员工作法-15-如何分解无法分解的问题?/如何在实际工作中推行新观念?
答疑解惑 如何分解一个你不了解的技术任务?
在“任务分解”这个模块,我以测试为核心,讲解了任务分解这个原则,同时也给你介绍了一些最佳实践,帮助你更好地理解任务分解的重要性,以及应该怎样分解任务。
同学们对任务分解这个原则大多是表示认同的,但就一些具体应用的场景,还是提出了自己的问题。
在今天的答疑中,我选择了几个非常典型的问题来进行深入讨论。
问题1:面对不了解的技术,我该如何分解任...
2023-08-08 00:00:00 |
Learn
-
10x程序员工作法-14-你真的了解重构吗?/ 最佳实践 / 学习书单
你真的了解重构吗?
今天(3月15日),Martin Fowler 《重构》第二版的中文版正式发布。
前不久,人邮的杨海灵老师找到我,让我帮忙给这本书写推荐语,我毫不犹豫地就答应了,有机会为经典之作写推荐语,实属个人荣幸。
不过,我随即想到,在专栏里,我只是在谈 TDD 的时候提到了重构,并没有把它作为一个专门的话题来讲,于是,我决定给我的专栏读者加餐,专门谈谈重构,毕竟重构是几乎每个...
2023-08-08 00:00:00 |
Learn
-
10x程序员工作法-13-先做好DDD再谈微服务
37 先做好DDD再谈微服务吧,那只是一种部署形式
在“自动化”模块的最后,我们来聊一个很多人热衷讨论却没做好的实践:微服务。
在今天做后端服务似乎有一种倾向,如果你不说自己做的是微服务,出门都不好意思和人打招呼。
一有技术大会,各个大厂也纷纷为微服务出来站台,不断和你强调自己公司做微服务带来的各种收益,下面的听众基本上也是热血沸腾,摩拳擦掌,准备用微服务拯救自己的业务。
我就亲眼见...
2023-08-08 00:00:00 |
Learn
-
10x程序员工作法-12-如何保障代码整洁/如何理解 mvc 分层?
34 你的代码是怎么变混乱的?
前面几讲,我给你讲了开发过程的各种自动化,从构建、验证到上线部署,这些内容都是站在软件外部看的。
从这一讲开始,我准备带领大家进入到软件内部。
今天的话题就从写代码开始说起。
逐步腐化的代码
代码是程序员改造世界最直接的武器,却也是程序员抱怨最多的东西。为什么程序员会对代码如此不满呢?
你会抱怨写一段代码吗?你肯定不会,毕竟这是你养家糊口的本领,最...
2023-08-08 00:00:00 |
Learn
-
10x程序员工作法-11-怎么学习运维知识
31 程序员怎么学习运维知识?
在上一讲中,我们讲到了开发过程的自动化,我们的关注点在于如何构建出一个有效的部署包,这个包最终是要上线部署的,那接下来,我们就来关心一下部署的相关工作。
零散的运维知识
在一些稍具规模的公司,为部署工作设置了一个专有职位,称之为运维。
当然,这个岗位的职责远不止部署这一件事,还要维护线上系统的稳定。
不过,如果你的团队规模不大,或是项目处于初始阶段,...
2023-08-08 00:00:00 |
Learn
-
10x程序员工作法-10
30 一个好的项目自动化应该是什么样子的?
进入自动化这个模块,我准备从程序员的日常工作开始。
介绍“迭代0”时,我提到构建脚本是项目准备的一个重要组成部分,但在那一讲中,我并没有具体说构建脚本长成什么样。
今天,我们以一个典型的 Java REST 服务为例,介绍一下最基本的构建脚本应该做到什么样子。
这里我采用的 Java 技术中最为常见的 Spring Boot 作为基础框架,...
2023-08-08 00:00:00 |
Learn
-
10x程序员工作法-09
26 作为程序员,你也应该聆听用户声音
在前面的专栏内容中,我们讨论过几次与产品经理的交流:你应该问问产品经理为什么要做这个产品特性,要用 MVP(最小可行产品)的角度,衡量当前做的产品特性是不是一个好的选择。
但还有一个问题可能困扰着我们:怎么判断产品经理说的产品特性是不是用户真的需要的呢?
很多时候,产品经理让你实现一个产品特性,你感觉这么做好像不太对,却又说不出哪不对,想提出自己...
2023-08-08 00:00:00 |
Learn