- 博客(244)
- 资源 (5)
- 收藏
- 关注
原创 一篇文章,教你学会Git
一篇文章,教你学会Git一、Git工作流程二、常用Git命令在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。一、Git工作流程以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词。Workspace:工作区Index / Stage:暂存...
2020-05-06 14:03:23
519
转载 华为的V/R/M版本策略(从孙子兵法看产品开发)
以正合:基于产品平台,基于细分市场,客户需求进行产品开发;以奇胜:预备队——预研团队进行平台和技术的开发。如下图:本次为大家解析“以正合”部分,华为将“以正合”的部分分为V/R/M版本,用/V/R/M的版本策略进行业务分层,面向不对的细分市场,这种策略特别适合 TO B 的公司。1平台产品版本V(Version)平台产品版本V(Version)-- 基础版本,代表公司某一产...
2019-06-06 12:08:11
17020
转载 怎样做好技术评审
在产品开发的过程中,耳熟能详的一句话是“通过控制过程质量,来保证结果质量”,而对于关键交付件的“技术评审”,正是有效保证过程质量的重要举措之一。从咨询的过往情况来看,绝大多数企业在意识层面对技术评审的必要性还是认可的,但在实施层面的效果却不尽如人意,今天我们就来聊聊技术评审的一些关键点。一、首先要对评审活动的目的达成共识:a.发现错误和优化设计b.评估设计质量(成熟度)c.规避...
2019-06-06 11:57:59
6175
转载 UML各种图总结-精华
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。一、基本概念 如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署...
2019-01-16 19:13:21
894
转载 对一致性Hash算法,Java代码实现的深入研究
对一致性Hash算法,Java代码实现的深入研究原文地址:http://www.cnblogs.com/xrq730/p/5186728.html一致性Hash算法关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。算法的具体原理这里再次贴上:...
2018-12-10 11:51:11
279
原创 加权平均
加权平均package com.yeepay.sxf.xuanju;/** * 加权平均 * @author sxf * * 小明:期末考试100分 期中考试 20分 小测验 20分 * 小王:期末考试50分 期中考试 50分 小测验 50分 * * 期末考试的权重:60 * 期中考试的权重:30 * 小测验的权重:20 * * * ...
2018-12-10 11:48:51
1416
原创 比例选举
比例选举选举对象package com.yeepay.sxf.xuanju;/** * 被选举对象 * @author sxf * * */public class Channle { //名字 private String name; //比例 private Integer proportion; public Channl...
2018-12-10 11:48:13
290
原创 日交易,根据权重分配流量的算法,根据权重和交易笔数
日交易,根据权重分配流量的算法,根据权重和交易笔数交易系统,接入多个通道。确保每个通道按权重每日达到相应的交易笔数。通过实时交易笔数/权重。然后进行升序排序,得到选择通道的次序,进行选择通道。//a=当前交易笔数/权重。 权重越大,如果交易笔数相等,a越小。权重不变,交易笔数变。a的值大小也在变。//相对公平的流量分配。public static void main(String[] ...
2018-12-10 11:46:54
967
原创 根据权重挑选通道的简单算法
根据权重挑选通道的简单算法当存在一批通道,根据权重,选择哪个通道去使用的简单算法。利用随机数,数据区间,来获取通道。通道权重越大,单位时间内使用该通道的概率会大一些。//利用了一个权重区间的比例问题,抓取随机数的可能性,来体现权重思想public static void main(String[] args) { //定义三个通道的权重,按随机数选拔使用哪个通道。 //A...
2018-12-10 11:44:37
2162
1
原创 (亲测解决)MyEclipse2017 关闭 synchronizing script resources with Tern server
描述:当MyEclipse运行的时候总是提示synchronizing script resources with Tern server 然后让MyEclipse变得很慢,因为占用了很多的内存,很多时候直接把MyEclipse给卡住了,下面来看如何关闭原因:当修改了index.jsp发布然后再浏览器中查看之后重新返回index.jsp或过一会自动同步,所以我们就是将同步和Tern给关闭提示:...
2018-10-19 17:55:24
1851
原创 项目复盘内容及注意事项
项目复盘内容及注意事项1.回顾目标 2.结果比对 3.叙述过程 4.自我剖析 5.众人设问 6.总结规律 7.案例佐证 8.复盘归档我们做复盘总结出发的目的:让个人和团队,在项目实践中总结问题与经验,能够发掘到新的思路,认清问题本质,找到规律避免重复犯错,进而提升每个人的能力。复盘的具体步骤: 1.目标回顾、结果呈现。 2.复述过程、剖析原因。 ...
2018-09-05 09:12:14
8107
转载 SSM项目统一异常处理方案
java开发说明项目中的异常处理是项目开发中的重要部分,合理的异常处理方案,对于提高项目开发效率,影响较大。SSM项目中采用如下方案进行异常处理:1 对于DAO层抛出的sql异常,已经由myBatis包装成了运行时异常,不需要再进行包装2 对于Service层可能会抛出的检查异常,catch,包装成运行时异常抛出3 对于在 close 操作中抛出的检查异常,catch,记录日志...
2018-08-07 20:38:09
5778
1
转载 MyBatisGenerator生成文件自定义名字-MBG扩展
可设置Mapper后缀为任意名如(DeptDao)一个例子<table tableName="dept" domainObjectName="emp." mapperName="emp.DeptDao">1 2上面的配置会生成bean.emp.Dept bean.emp.DeptQuery(用到MBG提供的插件,下面贴出) dao.emp.DeptDao ...
2018-07-08 10:13:14
10284
原创 MyBatis Generator 详解
MyBatis Generator中文文档MyBatis Generator中文文档地址:http://mbg.cndocs.ml/该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息。注:本文后面提到的MBG全部指代MyBa...
2018-07-08 01:04:54
1600
转载 开发流程及团队规范化的一些经验总结
一、开发前:开发模式采用流行的敏捷流程极限编程模式(XP)。计划任务:根据市场客户需求了及现有的开发能力制定版本迭代周期和开发需求,如两到三周一次版本发布,再后期推动中不断修正。1.需求:由项目经理或产品经理编写需要说明书(PRD),让测试和开发明确开发需求(用户故事)。2.估算工时:先由各模块的开发组长根据开发人员的技术特点分发开发任务(用户故事),开发人员再对每个用户故事进...
2018-07-02 23:34:31
1933
2
原创 软件流程--开发流程规范
需求整理阶段1、PRD、接口文档、数据库文档等按Sprint分开整理并同步到Confluence2、前后端分离开发模式下,后端设计接口开发文档,同步到Confluence,同时提供mock接口3、后端功能初步拆分后,由各开发自主评估工期,再由项目Leader评审;前端开发人员根据原型图评估工期;测试人员根据功能点及测试用例初稿评估测试工期4、前后端根据工作量做工作分配,每个接口/页面写上贴纸,放入...
2018-07-02 23:32:54
4030
原创 kafka学习资料 https://blog.csdn.net/lizhitao/article/details/39499283
一篇整理的很全的kafka学习的博客apache kafka技术分享系列(目录索引)地址:https://blog.csdn.net/lizhitao/article/details/39499283
2018-06-29 17:20:51
441
原创 探讨kafka的分区数与多线程消费
kafka算是很麻烦的一件事儿,起因是最近需要采集大量的数据,原先是只用了典型的high-level Consumer的API,最经典的不过如下: [java] view plain copyProperties props = new Properties(); props.put("zookeeper.connect", "xxxx:2181"); ...
2018-04-26 15:40:22
2628
原创 Sonar常见问题分析
1.Equality tests should not be made with floating point value 代码举例: if (result == num) //result和num均为double 之间比较会有精度损失 解决:BigDecimal data1 = new BigDecimal(totalArea); BigDecimal data2 = new Big...
2018-04-21 13:27:07
5008
原创 Linux如何查看端口状态
netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 -n : 不进行DNS轮询,显示IP(可以加速操作)即可显示当前服务器上所有端口及进程服务,于grep结合可查...
2018-03-26 13:50:34
3078
原创 项目研发管理
1、研发管理定义规范好一系列的工作流程,规范好各个岗位的工作职责,让工作更加协同,让效率更加高效。2、研发管理过程2.1、三个阶段首先我认为研发工作分为设计、开发、测试三个阶段。如果项目迭代周期为一个月,那么我会把时间均分为三个十天。阶段性的验收项目成果,对滞后的工作,好及时作出调整,保障项目进度平稳的向前推进。 2.2、 四次设计在产品原型和需求到达开发人员手上时,我们要做的第一件事是设计。 1...
2018-03-14 14:07:45
2526
原创 使用maven profile指定配置文件打包适用多环境
开发过程, 我们习惯把数据源配置, 项目常量, 日志配置等基础数据配置写到一个个单独的的文件中. 如jdbc.properties等各种.格式的文件.如何不频繁修改配置文件, 随时打包不同基础数据配置信息的项目.1.新建maven项目, 在pom.xml中添加 profile节点信息如下:<profiles> <profile&g...
2018-03-10 14:38:30
12536
原创 Kafka Shell基本命令,Kafka topic常见命令解析
Kafka topic常见命令解析本文着重介绍几个常用的topic命令行命令,包括listTopic,createTopic,deleteTopic和describeTopic等。由于alterTopic并不是很常用,本文中就不涉及了。另外本文的代码分析是基于kafka_2.10-0.8.2.1的(虽然截图是Kafka 0.8.1的^_^ ) 一. list topic 显示所有topic1. 从...
2018-02-24 13:32:34
7922
原创 使用keepalived实现双机热备
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。下面来以keepalived结合tomcat来实现一个web服务器的双机热备。keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。在VRRP中有两组重要的概念:...
2018-01-17 13:16:13
4474
原创 Flume入门、小结、注意事项
一. 入门:安装、部署、及简单案例 Flume 的安装,介绍,特性,核心概念等在这就不再赘述,请参考 http://www.aboutyun.com/thread-8917-1-1.html ,作者的介绍和案例都比较详细二. HttpSource 使用小结 这次主要拿 Flume 的HttpSource 做案例,用到了 File Roll Sink , HDFS Sin
2018-01-05 10:43:21
738
原创 Flume 各种坑
1. 背景最近一段时间在做安全大数据分析环境搭建以及初步的数据采集、录入工作,这个过程中用到了 Hadoop+HBase+Flume+Kafka这套大数据分析的工具。在数据分析环境架构中,Flume-1.7.0 主要用来收集各种来源、形式的数据,并把数据传给 Kafka 集群,由 Kafka 集群统一分发给 HBase集群。用 Flume ,主要用到的 Source 是 spool
2018-01-04 17:22:49
44976
8
原创 mongodb.conf配置文件详解
启动MongoDB有2种方式,一是直接指定配置参数,二是指定配置文件。这里先介绍配置文件,启动方式如下:1.mongod --config /etc/mongodb.conf配置如下:verbose:日志信息冗余。默认false。提高内部报告标准输出或记录到logpath配置的日志文件中。要启用verbose或启用verbosity 用vvvv参数,如:1.verb
2017-12-26 15:36:10
22928
1
原创 MongoDB记录映射Schema极度自由的Java Entity
假设要架构一个联系人管理项目,其核心管理对象是“人(Person)”,但是人的属性繁多,例如应用在娱乐行业,有星座、爱好等属性,用在健康项目中可能有是否喝酒和吸烟、胖瘦等字段。完全不可能固定。如:Person Table:Record 1.-----------_id:主键,nickname:昵称,realname:真实姓名,birthday:生日,height:身高,h
2017-12-26 15:18:40
4886
原创 mongodb数据库设计原则
1.一对很少 one-to-few 可以采用内嵌文档 person集合中{name:'张三',age:20,address:[{country:"中国",province:"山西省",city:"长治市"},{country:"中国",province:"山西省",city:"太原市"}]} 优点:不需要单独
2017-12-26 15:03:55
4096
原创 Linux如何实现开机启动程序详解
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤。加载内核LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们天然的设计缺陷)也还
2017-12-26 11:44:55
11554
原创 yum -y install与yum install有什么不同
使用到,这里记录一下!如果使用yum install xxxx,会找到安装包之后,询问你Is this OK[y/d/N],需要你手动进行选择。但是如果加上参数-y,就会自动选择y,不需要你再手动选择!yum -y install 包名(支持*) :自动选择y,全自动yum install 包名(支持*) :手动选择y or nyum remove 包名(不支持*)rpm -
2017-12-26 11:37:47
1263
原创 Centos7 安装mongodb3.4.4
1.MongoDB的最新版官方下载地址:https://www.mongodb.com/download-center#community使用wget命令下载安装包 [root@localhost ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.4.tgz
2017-12-26 11:11:43
5647
原创 Kafka日志及Topic数据清理
由于项目原因,最近经常碰到Kafka消息队列拥堵的情况。碰到这种情况为了不影响在线系统的正常使用,需要大家手动的清理Kafka Log。但是清理Kafka Log又不能单纯的去删除中间环节产生的日志,中间关联的很多东西需要手动同时去清理,否则可能会导致删除后客户端无法消费的情况。 在介绍手动删除操作之前,先简单的介绍一下Kafka消费Offset原理。一、Kafka消费Offse
2017-12-26 10:10:45
12220
原创 安装和测试Kafka
安装和测试Kafka本文主要介绍如何在单节点上安装 Kafka 并测试 broker、producer 和 consumer 功能。下载进入下载页面:http://kafka.apache.org/downloads.html ,选择 Binary downloads下载 (Source download需要编译才能使用),这里我下载 kafka_2.11-0.
2017-12-26 10:07:58
714
原创 工作中常用的linux命令(2)
1、find :查找指定文件名的路径:列出当前目录以及子目录中的所有文件:在当前目录下寻找特定文件名的文件:列出长度为零的文件:2、ps :查看某个程序的进程,例如查询mongodb和mysql的:3、tar :解压压缩文件:tar
2017-12-26 08:54:10
257
原创 工作中常用的linux命令(1)
1、cd :进入一个目录,例如进入/home/admin目录:cd /home/admin2、pwd :查看当前所在目录:如图:3、ls :列出当前目录下的所有文件:4、ll :列出当前目录下的所有文件并显示详情:5、mkdir :新建一个目录文件夹:6、mv :
2017-12-26 08:53:08
361
原创 Java软件工程师 (职业简介)
Java软件工程师引言:信息时代的迅猛发展使得软件工程师十分抢手,而其中的java软件工程师更是备受青睐。那么,如何才能成为Java软件工程师?Java软件工程师又有怎样的发展前途?本文将为你一一解答。 无处不在的Java技术 全球有25亿Java器件运行着Java,450多万Java开发者活跃在地球的每个角落,数以千万计的Web用户每次上网都亲历Java的威力。从
2017-10-16 15:02:26
15466
原创 CentOS 6.8 安装Tomcat7
前提:要安装配置好jdk1.6+ 这里安装的是jdk1.7下载tomcathttp://tomcat.apache.org/download-70.cgiapache-tomcat-7.0.73.tar.gz安装tomcat将安装包传入/usr/local/下解压[root@linux3 ~]# mv apache-tomcat-7.0.73.
2017-09-06 09:45:47
928
原创 Centos6.8下搭建SVN服务器
1.Centos6.8下搭建SVN服务器Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。Subversion是Apache基金会下的一个项目,官网 https://subversion.apac
2017-09-06 09:15:48
474
原创 centos6.8 安装mysql 5.6
一、检查系统是否安装其他版本的MYSQL数据#yum list installed | grep mysql#yum -y remove mysql-libs.x86_64二、安装及配置# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm# rpm -ivh mysql-communi
2017-09-06 09:05:09
1105
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人