人多力量大vs.两个披萨原则,聊聊持续交付中的流水线模式 在前面5期文章中,我们分别详细介绍了持续交付体系基础层面的建设,主要是多环境和配置管理,这些是持续交付自动化体系的基础,是跟我们实际的业务场景和特点强相关的,所以希望你一定要重视基础的建设. 本期文章是我们持续交付系列的第6篇文章,从本期开始,我们进入到交付流水线体系相关的内容介绍中. 持续交付流水线简要说明 从一个应用的代码提交开始,到发布线上的主要环节,整个流程串起来就是一个简化的流水线模式.如下图所示: 我们前面介绍了持续交付的多环…
随着我国汽车保有量和产销量的持续增长,汽车技术的日趋成熟,以及互联网+对汽车行业的不断影响,汽车金融的市场规模逐步扩大,市场主体逐步丰富,汽车金融模式也在不断演进. 2016年左右,美国主要汽车厂商通过融资租赁方式销售汽车数量占其总销量的30%以上.与之相比,汽车融资租赁在我国渗透率较低,行业发展仍处于初级阶段. 2017年7月1日,<汽车销售管理办法>落地实施,为汽车融资租赁行业带来新一轮发展浪潮,同时“以租代购”的新模式迅疾发展,众多资本向融资租赁行业涌入,以至于有媒体将2017年称为“汽…
引用 前几天在网上看到一个淘宝的面试题:有一个很大的整数list,需要求这个list中所有整数的和,写一个可以充分利用多核CPU的代码,来计算结果.一:分析题目 从题中可以看到“很大的List”以及“充分利用多核CPU”,这就已经充分告诉我们要采用多线程(任务)进行编写.具体怎么做呢?大概的思路就是分割List,每一小块的List采用一个线程(任务)进行计算其和,最后等待所有的线程(任务)都执行完后就可得到这个“很大的List”中所有整数的和. 二:具体分析和技术方案 既然我们已经决定采用多线程…
原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟的部分之一. 我们用相对直观的方式把工具类与特定集合接口的对应关系归纳如下: 集合接口 属于JDK还是Guava 对应的Guava工具类 Collection JDK Collections2:不要和jav…
题目 给定两个有序数组arr1和arr2,再给定一个整数k,返回所有的数中第k小的数. 题解 利用题目"在两个长度相等的排序数组中找到第上中位数"的函数 分类讨论 k < 1 || k > lenShort + lenLong,无. k <= lenShort,在两个数组前k个做二分. k > lenLong,判断两个特例位置(特例部分是因为好计算可直接返回结果,并且抛去特例可满足两数组剩余待二分部份长度相等的条件),否则二分. lenShort<k<…
//在两个数成对出现的数组中找到一个单独的数.比如{1,2,3.3,1,4.2},即找出4 #include <stdio.h> int find(int arr[], int len) { int i = 0; int ret = 0; for (i = 0; i < len; i++) { ret = ret^arr[i]; } return ret; } int main() { int arr1[] = { 1, 2, 2, 3, 1, 5, 3 }; int arr2[] =…
我们应该接触过或者听说过数据库的性能瓶颈问题.对于一个单机应用而言,提升数据库性能的最快路径就是氪金 - 买更高性能的数据库服务器,只要钱到位,性能不是问题. 但是当系统性能增加到一定地步时,你会发现,原先花 3000 块提升了 50% 的性能,现在花 30000 块,才提升了不到 10%. 也就是说,我们花了钱,但没有得到等价的性能提升,这个时候,我们就要考虑数据库的可扩展性了. 要讨论 MySQL 的可扩展性,就要先明确可扩展性的定义.在此之前,我们先抛开 MySQL,专注于扩展性,搞清楚什…
package BinaryTreeSummary; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Stack; /** * http://blog.csdn.net/luckyxiaoqiang/article/details/7518888 轻松…
这篇博客,主要讲解用Python实现邮箱服务的几个需要学习的模块:E-mail Compotion and Decoding(邮件生成和解析).SMTP.POP.IMAP 如上篇博客所讲,我学习过程参考<Foundations of Python3 Network Programming. 2nd Edition>,代码部分借鉴了其中的例子,但绝对包含自己的东西,特此声明. 如果已经了解了这些知识,请看:用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(下) E-mail Comp…
宋宝华 21cnbao sweek@21cn.com 试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式? 分析: 作为一个计算机相关专业的人,我们应该在计算机组成中都学习过什么叫Little endian和Big endian.Little endian和Big endian是CPU存放数据的两种不同顺序.对于整型.长整型等数据类型,Big endian认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节):而Littl…