在认真思考过后,你觉得做不到,并且给出一个你觉得能做到的方案。这里的诀窍是——给出另一个你可以做到的方案,而不是把对方的方案直接回绝掉。
来自:15 | 时间管理:同扭曲时间的事儿抗争
16 人划过
如果将 Logic 和 Control 部分有效地分开,那么代码就会变得更容易改进和维护。
来自:38 | 编程范式:编程的本质
9 人划过
函数式编程的核心精神是 stateless,简而言之就是它不能存在状态,打个比方,你给我数据我处理完扔出来。
来自:33 | 编程范式:函数式编程
9 人划过
老实说,我对惩罚故障责任人的方式非常不认同。
来自:18 | 故障处理最佳实践:故障改进
7 人划过
密码没有被合理地散列。以现代的安全观念来说,以明文方式保存密码是很不专业的做法。进一步的是只保存密码的散列值(用安全散列算法),LinkedIn 就是这样做的。但是,散列一则需要用目前公认安全的算法(比如 SHA-2 256),而已知被攻破的算法则最好不要使用(如 MD5,能人为找到碰撞,对密码验证来说问题不大),二则要加一个安全随机数作为盐(salt)。LinkedIn 的问题正在于没有加盐,导致密码可以通过预先计算的彩虹表(rainbow table)反查出明文。这些密码明文可以用来做什么事,就不好说了,撞库什么的都有可能了。对用户来说,最好是不同网站用不同密码。
来自:04 | 从Equifax信息泄露看数据安全
7 人划过
也就是说,我们不需要在服务中实现控制面上的东西,如监视、日志记录、限流、熔断、服务注册、协议适配转换等这些属于控制面上的东西,而只需要专注地做好和业务逻辑相关的代码,然后,由“边车”来实现这些与业务逻辑没有关系的控制功能。
来自:54 | 管理设计:边车模式
6 人划过
对于 Java 类的服务,我们可以使用字节码技术进行字节码注入,做到代码无侵入式。
来自:24 | 分布式系统关键技术:全栈监控
6 人划过
需要我们有两个重要的能力:一个是“软件抽象的能力”,另一个是“软件标准化的能力”。你可以认为软件抽象就是找出通用的软件模块或服务,软件标准化就是使用统一的软件通讯协议、统一的开发和运维管理方法……这样能让整体软件开发运维的能力和资源得到最大程度的复用,
来自:27 | 洞悉PaaS平台的本质
5 人划过
要解决这个问题,我希望我的这个算法只管遍历,具体要干什么,那是业务逻辑,由外面的调用方来定义我就好了,和我无关。这样一来,代码的重用度就更高了。
来自:31 | 编程范式:泛型编程
4 人划过
可以看到,这样一来,我们 Undo 的代码就可以复用了
来自:110 | Go编程模式:委托和反转控制
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
编辑推荐
包含这门课的学习路径
运维工程师
32门课程 149.1w人学习
Go工程师
16门课程 89.9w人学习
云原生工程师
14门课程 86.5w人学习
分布式工程师
8门课程 48.8w人学习
后端工程师
27门课程 184.1w人学习
看过的人还看了