
编程思想
天地不仁以万物为刍狗
天之道,损有余而补不足
人之道,损不足以奉有馀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程思想总结 - 面向服务的角度讲解JDK
从面向服务的角度看 Java collection下面是大家熟悉的数据结构类型及优缺点今天从面相服务的角度讲解一下Collection的一下类Array, Set, Map, 是基本的数据结构Link :链接功能Hash:快速动态增删改查Tree : 排序功能1,如果想用排序和基本数据结构是KV的功能,服务者就提供了 TreeMap 供使用者使用2,如果想用快速插入和数组的功能,服务者就会提供 ...原创 2018-03-17 23:54:25 · 298 阅读 · 0 评论 -
微信历史版本跟踪
转载 2018-11-17 20:11:39 · 3715 阅读 · 1 评论 -
【Big Data 每日一题20181113】如何设计一个好的API
英文原文:theamiableapi,编译:highkay@东西 在设计Java API的时候总是有很多不同的规范和考量。与任何复杂的事物一样,这项工作往往就是在考验我们思考的缜密程度。就像飞行员起飞前的检查清单,这张清单将帮助软件设计者在设计Java API的过程中回忆起那些明确的或者不明确的规范。本文也可以看作为“API设计指南”这篇文章的附录。 我们还准备了一些前后比对的例子来展示这个列...转载 2018-11-13 23:15:02 · 246 阅读 · 0 评论 -
概念 - 分布式,微服务,集群
总结:分布式属于微服务, 虽说微服务是架构设计,分布式属于系统部署,但架构设计和系统部署是分不开的,架构设计和系统部署要结合考虑,相互影响的 分布式与集群 分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务 分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。 分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位...原创 2019-02-20 12:07:11 · 1460 阅读 · 0 评论 -
协议 - Gossip协议
简单介绍下集群数据同步,集群监控用到的两种常见算法。 Raft算法 raft 集群中的每个节点都可以根据集群运行的情况在三种状态间切换:follower, candidate 与 leader。leader 向 follower 同步日志,follower 只从 leader 处获取日志。在节点初始启动时,节点的 raft 状态机将处于 follower 状态并被设定一个 election...转载 2019-03-20 15:39:12 · 270 阅读 · 0 评论 -
Service Mesh
什么是Service Mesh? 作为一款最近两年比较火的微服务框架Spring Cloud已经在不少创业型互联网公司落了地,然而无奈变化太快,这不还没来得及熟悉Spring Cloud的全部组件,就猛然发现了Service Mesh的崛起,而Spring Cloud就显得有点过时了。 微服务的核心问题 在了解Service Mesh之前,我们先来讨论下这样一个问题:“微服务架构的核...转载 2019-03-29 16:42:43 · 1118 阅读 · 0 评论 -
架构 infrastructure - 浅谈服务治理、微服务与Service Mesh
浅谈服务治理、微服务与Service Mesh(一):Dubbo的前世今生 http://dockone.io/article/3294 浅谈服务治理、微服务与Service Mesh(二): Spring Cloud从入门到精通到放弃 http://dockone.io/article/4142 浅谈服务治理、微服务与Service Mesh(三): Service Mesh与Serve...转载 2019-03-29 16:47:47 · 399 阅读 · 0 评论 -
悟 - 软件工程 各种架构理解
Service Mesh 就是为了解耦*(数据层 和 控制层),有多抽象出来了一层 软件架构里面有句俗语,任何事情是没有再抽象出一层解决不了的,如解决不了,那就再多抽象出一层 Service less Serverless(无服务器架构)并不意味着没有任何服务器去运行代码,Serverless是无需管理服务器,只需要关注代码,而提供者将处理其余部分工作 ...原创 2019-03-29 17:29:14 · 385 阅读 · 0 评论 -
BigData - “ 时 空 “ 思想 - 存储和计算 (待续中)
思想 :时间和空间的平衡一直都是软件开发过程中永恒的话题 架构师的设计中 一直都有计算时间 和 存储空间 的平衡工作 在大数据领域里面,这个思想尤为突出。 实例 举例说明几种时空思想的利用实例 1, 压缩 压缩的本质就是利用CPU的处理时间,换取磁盘的存储空间。 2,预查询 apache kylin,作为OPAL 框架,它的数据存储会比原始数shi据多出几倍, 本质...原创 2019-04-12 17:11:51 · 272 阅读 · 0 评论 -
【思考总结】
------ 計算和存储分离 评价 This is the disaggregation of compute and storage. That is, the spark compute nodes are not at all shared with the swift cluster storage nodes. This confers benefits on scalability...原创 2018-11-16 00:11:00 · 243 阅读 · 0 评论 -
编程思想总结 - 堆排序,少做无用功
堆排序,用于解决一下通用问题消费前十名总成绩最好的前十名思想源自吴军原创 2018-06-26 20:27:37 · 248 阅读 · 0 评论 -
编程第一性原则
类似、先有鸡,还是先有蛋的问题问题: 提供者 : jar包、框架、各种服务等1、提供者提供什么功能,使用者用什么功能2、使用者认为(感知)应该真么做,提供者就会有该功能个人观点:也是从前辈(前公司的老大)处学到使用者正确、简单、合理的应用,提供者都会提供通用的功能举例子: 多线程开发时,concurrent包里面,你想用的功能,它都提供给你...原创 2018-05-18 23:31:17 · 688 阅读 · 0 评论 -
编程思想总结 - 性能优化 之 少做事情
性能优化 之 少做事情少做无用功,提高效率寻找前N个加油站的问题:堆来实现原创 2018-03-17 23:55:59 · 183 阅读 · 0 评论 -
编程思想总结 - 分解问题,解决问题
1, 先把问题理解清楚 确认好场景,考虑的因素 沟通并确认好已知2, 基于已知信息,分解问题 在已知的基础上,把一个问题分解成几个子问题3, 解决问题 (避免做无用功) 解决子问题,找到更好的解决方法4, 基于分布的子问题解决,重构解决方案, 全局优化 时间和空间的平衡 缓存 分布式数据库的多份备份存储 ...原创 2018-04-15 13:05:03 · 898 阅读 · 0 评论 -
编程思想总结 - 堆排序
二叉树 之 堆排序原创 2018-04-15 14:12:58 · 164 阅读 · 0 评论 -
编程思想总结 - 动态规划算法
地图软件 之 动态规划算法原创 2018-04-15 14:13:55 · 472 阅读 · 0 评论 -
编程思想 - 五大常用算法详解
https://www.cnblogs.com/brucemengbm/p/6875340.htmlhttps://blog.csdn.net/changyuanchn/article/details/51476281https://www.cnblogs.com/chuninggao/p/7295793.html分治法基本思想将一个问题,分解为多个子问题,递归的去解决子问题,最终合并为问题的解适...原创 2018-04-15 20:46:11 · 975 阅读 · 1 评论 -
编程思想 - 堆排序
堆是一颗完全二叉树。简而言之,一个二叉树是饱满的---即二叉树都满了,即使没有饱满,那么上一层都是饱满,最后一层叶子节点从左向右排列。但是堆相对于完全二叉树有了自己的特点,堆分成最大堆及最小堆,对于最大堆有:1、根节点(堆顶)的关键字是最大(至少要大于或等于)的;2、父亲节点必然比左右子节点都要大(至少等于)--左右节点之间没有大小之分,但是都比父亲节点少。对于最小堆,性质类似:1、根节点(堆顶)...原创 2018-04-15 20:56:49 · 220 阅读 · 0 评论 -
编程思想 - 归并排序
参照:https://blog.csdn.net/morewindows/article/details/6678165https://blog.csdn.net/morewindows/article/details/6709644/原创 2018-04-15 20:46:01 · 194 阅读 · 0 评论 -
编程思想 - 快速排序
参照:https://blog.csdn.net/morewindows/article/details/6684558https://blog.csdn.net/morewindows/article/details/6709644/原创 2018-04-15 20:45:54 · 206 阅读 · 0 评论 -
编程思想 - OpenHashMap 为什么比hashmap 快
Hashmap的数据结构HashMap的数据结构就是 数组加链表 ,网上说得很多可以自行查找学习 https://www.cnblogs.com/zx-bob-123/archive/2017/12/26/8118074.htmlOpenHashMap 的数据机构package org.apache.spark.util.collectionpublic class OpenHashMap...原创 2018-04-16 22:37:53 · 888 阅读 · 0 评论 -
编程思想总结 - 模块化 平行处理 分治
1 ,模块化不用多说,做过软件开发的人对模块化都有自己的真实体验2,平行处理生产的流水线,就是一个平行处理的例子。实际计算机的算法或者工作方式,多数都生活中总结出来的(阿尔法狗例外哈)3,分治大家应该都知道hadoop的MapReduce吧,这就是一个很好的分治处理。...原创 2018-04-12 21:02:48 · 305 阅读 · 0 评论 -
Serverless 介绍 和 深层次的认知
前言 云计算机经过这么多年的发展,逐渐进化到用户仅需关注业务和所需的资源。比如,通过Swarm、K8S这些编排工具,用户只要关注自己的计算和需要的资源(CPU、内存等)就行了,不需要操心到机器这一层。可是,用户为什么仍然需要关注业务运行所需要的CPU、内存、网络情况?还有没有更好的解决方案?Serverless架构应运而生,让人们不再操心运行所需的资源,只需关注自己的业务逻辑,并且为实际消耗...转载 2019-04-11 15:59:20 · 288 阅读 · 0 评论