代码改变世界

随笔档案-2019年04月

站在巨人的肩膀上,不造轮子,而是用好轮子,优化轮子

2019-04-29 21:06 by 乘着风去破浪, 214 阅读, 收藏, 编辑
摘要: 站在巨人的肩膀上,不造轮子,而是用好轮子,优化轮子开源的好处就是你可以站在巨人的肩膀上做得更好。如果开源的话就会接受大众的智慧。不过,使用开源的东西也要结合自己的业务,发展出适合自己的,把开源的东西用对,用好,更上一层楼;而且这也能提高影响力; 阅读全文

方案设计中的取舍

2019-04-29 20:29 by 乘着风去破浪, 334 阅读, 收藏, 编辑
摘要: 方案设计中的取舍 在设计方案时,就是不断解决问题,而解决问题会引入新的问题;在设计方案时,就是不断做对比,做取舍;但是有一个原则是不变的:两权相害取其轻也就是说最小化风险,最大化收益;要做这点,就需要对系统和业务有更好的思考和理解,这就需要多考虑,多掌握更多的信息再做决策,如果做一个决策牺牲太大或者 阅读全文

设计方案要有大局观

2019-04-29 19:10 by 乘着风去破浪, 264 阅读, 收藏, 编辑
摘要: 设计方案要有大局观,不能只在自己的一亩三分地里面想,比如你是负责推荐服务端的,那么采用服务端来进行推荐信息流的排重,那么就要考虑如果服务端有问题了怎么办呢?其实这个时候可以让客户端来做排重,什么意思呢,就是客户端也存储最近1000条的推荐结果,当服务端访问Redis(假设历史记录存储在redis)不 阅读全文

潜在风险的频次vs潜在风险的严重影响的程度(以及恢复)

2019-04-29 18:28 by 乘着风去破浪, 290 阅读, 收藏, 编辑
摘要: 潜在风险的频次vs潜在风险的严重影响的程度 海量数据的存储对于海量数据,不要存在这样的侥幸心理,一定要好好设计你的系统。把数据增长后存储的影响降到最低。面对海量数据,鸡肋的设计必然会导致系统的崩溃。 为什么有时候对一个方案会举足不定,犹豫不决?对开源组件的不信任:缺乏了解?缺乏经验? 两权相害取其轻 阅读全文

Virtual Memory is deprecated in Redis 2.4

2019-04-29 15:46 by 乘着风去破浪, 235 阅读, 收藏, 编辑
摘要: 在读一个源码的讲解的文章时或者读一本关于某个技术的数据集时,可能书籍的讲解是滞后的,就是没有更上最新的代码,那么就要注意了WARNING! Virtual Memory is deprecated in Redis 2.4 阅读全文

做方案设计的时候,我们在做什么?

2019-04-28 10:29 by 乘着风去破浪, 379 阅读, 收藏, 编辑
摘要: 做方案设计的时候,我们在做什么?我们做设计的时候就是在不断做决策,那么我们就要想想我们决策的依据的什么,为什么这么做为什么不那么做 阅读全文

学习开发语言的领悟

2019-04-26 11:39 by 乘着风去破浪, 157 阅读, 收藏, 编辑
摘要: 学习开发语言的领悟 开发语言中的关键字,以及特殊的写法,特殊的单词等等这些就是该语言的语法的组成部分,语法就是语言的法则,也是一条条的约束和约定,这些约定是和编译器(或者解释器或其他)约定好的,通过约定来讲代码转换成其他形式的(程序)数据,然后在运行期进行不同加载到内存和执行计算。 如果通过上述的“ 阅读全文

读书的总结

2019-04-26 11:09 by 乘着风去破浪, 153 阅读, 收藏, 编辑
摘要: 读书的总结有些书籍写的很啰嗦,因为它要面对更多的受众(牵涉到商业原因)。那么当我们读一本书的时候,更喜欢读一些自己感兴趣的或者自己不了解的那一部分来读。这也是高效读书和学习的一个方法。 阅读全文

海量数据与小数据量的难点在哪里?

2019-04-26 09:52 by 乘着风去破浪, 495 阅读, 收藏, 编辑
摘要: 海量数据与小数据量的难点在哪里?移动(复制,备份等):慢,复杂,移动失败后的影响比较更大;占用空间大(磁盘,内存):慢,复杂,内存不够用,磁盘不够用;检索:慢,复杂,从海量数据里面找到需要的数据慢;插入更新:复杂,因为插入更新前要找到位置;假设,就算海量数据使用了更好的压缩(但是会带来解压效率的问题 阅读全文

软件中的权衡之道

2019-04-25 13:46 by 乘着风去破浪, 152 阅读, 收藏, 编辑
摘要: 软件中的权衡之道在软件开发中我们做的很多事情都是尽力去在特定的场景下“看起来像那么回事,看起来更好”,而不是绝对是那么回事。尽力就是要解决主要问题,迎合场景,最大化良好的体验。因为我们无法照顾所有的方方方面,我们无法绝对控制一个事情不可能发生,但是我们可以照顾主要的方面,我们可以把一个最坏的事情发生 阅读全文

对一个专一深入,然后再拓宽,如此对一个领域了解的才会更好

2019-04-25 13:09 by 乘着风去破浪, 221 阅读, 收藏, 编辑
摘要: 数据库中的事务是一个非常有意思的课题,可以用来研究共享数据的并发访问等问题,从而可以提升自己编写数据(内存中的或者磁盘上的数据)访问(增删改查)的代码的准确性和效率 阅读全文

知道的编程知识与会做数据结构算法的区别是什么?

2019-04-12 11:41 by 乘着风去破浪, 243 阅读, 收藏, 编辑
摘要: 知道的编程知识与会做数据结构算法的区别是什么? 有些知识是理论知识,是需要了解的,是需要知道的;记住了理解了就行了。有些知识是需要思考的,但是这种思考是基于知道了理论之后的推理。因此知道的理论越多,了解的理论越多,那么推理就会更加快速和变得简单;因此要多读源码,多开拓视野,另外也要多思考,多leet 阅读全文

好的封装 vs 好的复用

2019-04-06 11:03 by 乘着风去破浪, 341 阅读, 收藏, 编辑
摘要: 好的封装 vs 好的复用好的封装 一个封装相对较好的体现和实现方式如下:内部类的方式来组织代码,不需要外面的类指导我内部的类。 好的复用一个好的复用的体现和实现方式如下:可以通过搭积木的方式来组织功能,而且每个模块是高度内聚和解耦合的;高度内聚的一种方式就是:好的封装;解耦合的一种方式就是灵活的通信 阅读全文

设计理念和设计思想中的乐观与悲观

2019-04-06 10:59 by 乘着风去破浪, 256 阅读, 收藏, 编辑
摘要: 设计理念和设计思想中的乐观与悲观乐观机制和悲观机制在设计中有很多场景下是使用乐观或者悲观机制来通过乐观协调或者悲观独断的方式来处理问题的;比如,同步问题中的乐观锁,悲观锁等等;比如版本控制就是一种乐观的机制的实现;如何在你的设计中,有一种异常情况是可以容忍的,而后续可能随着服务的恢复,不需要人工介入 阅读全文

面向对象的分支逻辑编写方法

2019-04-05 19:20 by 乘着风去破浪, 245 阅读, 收藏, 编辑
摘要: if else判断有很多种实现方式,比如在直接写if else语句,或者在针对不同分支写不同的方法,或者针对不同的方法写不同的对象来实现 阅读全文

异常分类VS垃圾分类

2019-04-05 11:11 by 乘着风去破浪, 170 阅读, 收藏, 编辑
摘要: 异常分类VS垃圾分类 容易快速判断出是什么业务异常,容易对不同的异常进行不同的处理,容易很快找到对应的解决方法 阅读全文

面向对象类的语言的特点

2019-04-05 11:11 by 乘着风去破浪, 384 阅读, 收藏, 编辑
摘要: 一个优秀的开源的java代码,其静态方法是非常少的,工具类也是非常少的,它都会尽力去做抽象成一个对象,通过对象的方式来提供服务。 阅读全文

不要管人要管目标

2019-04-02 10:25 by 乘着风去破浪, 160 阅读, 收藏, 编辑
摘要: 管得了一个人,管不了两个人,管的了两个人,管不了三个人,因此靠管人不行,设定共同的目标,为之共同努力才是正理 阅读全文

问题分解,定位真正的问题是什么

2019-04-02 10:25 by 乘着风去破浪, 138 阅读, 收藏, 编辑
摘要: 想要利用多机器协助处理,利用其他机器的内存或者CPU,那边必然要离不开网络,那边网络问题若可以解决,那么问题就剩下怎么利用机器的问题了 阅读全文
点击右上角即可分享
微信分享提示