自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (2)
  • 收藏
  • 关注

原创 ERP总体设计思路

一个中心在系统规划与设计实现的时候需要考虑到:各项业务活动和功能模块都要考虑归集到财务的数据,财务系统是各项业务的归集中心。财务处理需要考虑具体政策要求,做到财务业务处理高度集成两类业务计划与执行贯穿到系统的整个过程。计划——》执行计划——》反馈——影响计划——》修正计划,形成管理闭环。三条干线供应链管理 生产管理 财务管理供应链管理:供应链管理是企业物流业务的主干线,它处理企业从原材料供应和产品的存储到产品销售的整个流程,其物流管理的核心是库存的管理,并要综合考虑整个物流

2021-08-24 17:14:19 933

原创 HyperLedger FabricV2.3 Raft单机集群部署

目录云主机配置依赖环境配置部署步骤0.更新yum1.安装golang2.安装docker3.安装docker-compose4.安装git5.安装java6.防火墙配置7.网络配置fabric资源规划0.修改hosts文件1.部署节点端口分配2.官方测试网络demo测试创建工作目录3.fabricraft集群环境搭建3.1编写配置文件3.2生成证书以及通道信息3.3编写docker-compose.yaml...

2021-04-20 10:45:39 863 2

原创 架构师8大核心能力

优秀的编程能力 设计文档能力 模块分接能力 大规模复杂系统架构能力 掌握典型基础解决方案能力 系统优化以及保障系统稳定的能力 数据处理与应用能力 领导与管理能力

2020-10-26 09:28:12 549 1

原创 OKR技能图谱

OKR快速入门只是图谱

2020-09-30 13:28:20 331

原创 OKR基础功能清单

OKR软件基础功能清单OKR软件的加分项软件绝不是落地 OKR 的核心,不要认为使用了 OKR 软件,就是成功落地了 OKR。总结:在落地 OKR 时,不要一开始就用软件,我们需要做的是让团队充分理解 OKR 的用法和思维。1. 想初步落地 OKR 时,可以使用“OKR 看板”,先把形式和体验做出来。2. 当 OKR 初见成效时,再使用“OKR 周报”并结合“OKR 看板”的一系列游戏化玩法。3. 大规模使用 OKR 时,此时才需要选择或开发一款适合自身的 OKR 软件.

2020-09-30 10:54:02 488

原创 技术团队人效计算公式

针对不同级别岗位制定人力系数选择团队中人数最多的岗位作为基准,设置该岗位的人力系数为1,表示最普通的人力资源,其他岗位可以依次做出合理的设置。此外,对于,不参与具体执行的岗位,无需设置人力系数。用大白话描述就是:这个岗位的每个人的能力可以顶替多少个普通岗;针对项目的难度级别,设置难度系数可以先对最容易的项目设置难度系数,其他项目以此作为参考标准根据公式计算出人效人效 =难度系数÷(人力成本×时间成本)其中:时间成本 =项目上线日期 -项目启动日期...

2020-09-29 17:59:39 14948 1

原创 敏捷开发

为什么敏捷可以拥抱变化?什么是敏捷?敏捷不只是高效,更多的是适应外界环境的不断变化,并做出灵活调整敏捷强调个体之间的互动,要求能够发布可以工作的成果,提倡跟客户建立合作共赢,也推崇拥抱变化的思维。在敏捷宣言提出后,业界也出现了一些偏实践的敏捷方法,例如:XP 极限编程、Scrum 敏捷方法、看板等。而这些敏捷方法中包括了很多有价值的工具,比如,每日站会、结对编程、代码评审、持续集成、测试驱动、计划扑克等。Scrum敏捷方法Scrum 敏捷方法,还提出了团队的角色...

2020-09-29 17:07:03 183

原创 落地OKR的注意事项

实施好OKR逻辑的先决条件落地 OKR 时,最需要的是一片适宜 OKR 的土壤,这片土壤在公司层面上来理解,就是“团队文化”。判断团队文化是否适合OKR落地可以从三个方面来判断:1.OKR要求公开透明在目标“制定”过程中,通过跟自己的上级、平级、下级沟通,从而实现目标对齐。在目标“执行”过程中,我们需要不断跟踪目标的进度,一旦有调整就需要及时沟通。在目标“评估”过程中,我们需要对目标进行评估和复盘,需要跟团队一起开会讨论,这又会产生更进一步的沟如果你的团队缺乏公开透明的沟通机制,落地

2020-09-28 14:57:31 509

原创 如何在企业中有效落地OKR?

在企业中推广OKR,最好不要请HR去主导这件事情:1. 请 HR 组织全体员工学习 OKR,邀请外部 OKR 专家通过“企业内训”形式,来达到概念上理解一致的效果。2. 想办法得到老板和高管们对 OKR 的支持,可帮助企业从战略落地角度,从而获得他们的认可。3. 选择在公司合适的层级来推广 OKR,不妨先在团队或小组等范围内去验证价值,再逐步推向全员。此外,在企业中推广 OKR 时,请务必记住以下三点:1. 一定不要强制性地去推广 OKR,更不要在大家概念不一致的情况下就大规模推广 OKR

2020-09-28 14:11:12 546

原创 OKR笔记3

OKR和KPI的联系和区别OKR:ObjectKeyResult KPI:(Key Performance Indicator,关键绩效指标)KPI和个人薪资待遇不能直接挂钩,因为再稍微复杂一点的协作中,科学的KPI数值提升都是大量的不同努力构成的KPI存在的问题:需要找到科学合理的指标,在实施OKR的时候同等重要 KPI缺乏对个人的衡量,一般用来衡量组织绩效,活动绩效管理水平的落后的恶果是双向的,它无法识别出科学的KPI,还把错误的KPI和薪酬连接,导致团队的倾轧,本位主义和沟通..

2020-09-19 14:31:14 982

原创 OKR笔记2

为什么选择OKROKR不能满足传统的岗位绩效考核的替代目标,但它在帮助企业识别战略优先事项,培育团队的目标导向结果意识,加强跨部门协作,适应快读市场环境变化,以及识别高绩效员工方便可以起到关键作用;OKR无法替代任何针对岗位的绩效考核,它是为了企业核心目标的达成,在实施OKR的过程中几乎不会涉及对人的评价实施OKR期待的收货1、提高公司战略执行的聚焦度通过沟通和讨论,识别出制约业务发展的瓶颈问题,或者找到最值得投入的驱动要素,在一个明确的周期内达成结果这个过程是企业战略清晰和聚焦的保证,

2020-09-19 14:26:32 251

原创 OKR笔记1

OKR从哪里来一个企业任何阶段的OKR都应该和企业使命、愿景和战略建立联系 有效实施OKR的一个前提就是需要明确战略中的优先事项 如果企业战略存在模糊点,实施OKR可以帮助你理清明白是什么推动我们向前,就有机会在OKR的制定中聚焦在这个环节上什么是O?【目标-Objective】必要要做成的事情,不必是一个定量的指标,而是一个定性的描述中短期目的可以非常多元化和具体化为了达成战略目标,必然要做成的事情,即使一个季度无法完成,也不能从议程表上随意的删除特性:1、鼓舞任性,可以预期.

2020-09-19 14:14:00 242

原创 java 校验日期字符串是否合法

1.使用SimpleDateFormat(有坑) private static boolean isValidDate(String str) { SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); try { format.setLenient(false); return format.parse(str)==null?false:true;

2020-09-19 09:54:00 1746

原创 可维护软件10个原则

1.编写短小的代码单元短小的代码单元易于理解、测试以及重用拥有单一职责的代码单元会尝试做多件事情,也会拥有多项职责。由于单一职责的代码只实现了一个独立的任务,所以会更加容易测试和分析、重用。实现方式:将职责的不同的代码块提取成单独的方法;不要牺牲可维护性来优化性能,所有的性能优化需要使用可靠的性能测试来证明,并且需要证明性能优化措施真的有效果; 统一团队中的格式化约定,保持编写短小的代码单元并遵守这些约定; 当似乎可以重构,但是并没有什么实际意义的时候,需要重新思考整个系统的架构;...

2020-07-14 13:47:20 860

原创 CAP再理解

C(一致性:Consistency):所有节点上的数据时刻保持同步;A(可用性:Availability):每个请求都可以接受一个响应,无论响应成功或者失败P(分区容错:Partition-tolerance):系统应该能够持续提供服务,即使系统内部(某个节点分区)有消息丢失;这里的P分区容错,分区是网络相关的一个属性,比如:发生了脑裂、服务器网络延迟、中断、宕机,与集群中其他节点失去联系等。所以针对P(分区容错),是一个既定的环境约束,在分布式环境中无法避免,而非独立的可选项或者条件; CA

2020-07-02 14:32:33 209

原创 DEGUB级别日志为什么需要判断条件

经常看到代码中输出debug级别日志的格式是:if (logger.isDebugEnabled()) { logger.debug("Bean factory for " + getDisplayName() + ": " + beanFactory); }需要做:isDebugEnabled判断的原因:1、生产环境中的日志输出级别一般是INFO级别,debug级别只会在测试阶段调试使用;2、如果没有isDebugEnabled判断,debug中的参数,例如:字符串拼接操作,.

2020-06-10 15:41:48 415

原创 K8S的Ingress特性

VIP和Service代理:K8S v1.0:使用userspace模式K8S v1.1:新增iptables模式替代userspace,从v1.2版本开始,默认是iptables代理K8S v1.8.0-beta:添加ipvs代理,v1.14版本开始默认采用ipvs代理k8s中iptables和ipvs区别背景:无论是iptables还是ipvs方式代理service,其实都是工作在4层(TCP/UDP over IP)概念,4层的代理方案是无法对协议进行解析并处理的。所以,在K8.

2020-05-12 09:50:33 450

原创 K8S中iptables和ipvs区别

从k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是ipvs采用的hash表,iptables采用一条条的规则列表。iptables又是为了防火墙设计的,集群数量越多iptables规则就越多,而iptables规则是从上到下匹配,所以效率就越是低下。因此当service数量达到一定规模时,hash查表的速度优势就会显现出来,从而提高service的服务性能每个节点的kube-proxy负责监听API server中servic

2020-05-12 09:16:02 21629

转载 Kubernetes系列(2):基础概念

Pod:Pod是K8S中最小调度单位,一个Node上可以有一个或多个pod,每个pod中运行着容器Pod类型:自主式Pod 控制器管理的PodRC、RS:新版本中推荐使用RS,比RC多了选择器功能Deployment:在RS基础上扩缩容、滚动升级HPA:利用资源监控信息动态分配资源StatefulSet:有状态服务DaemonSet:适用于守护进程服务Job:任务与定时器任务Service:服务发现网络通信模式新版...

2020-05-11 16:25:48 185

转载 Kubernetes系列(1):组件介绍

K8S发展历程谷歌内部Borg系统架构K8S架构其他插件总结:K8S发展历程:MESOS APACHE 分布式资源管理框架 2019-5 Twitter 》 KubernetesDocker Swarm 2019-07 阿里云宣布 Docker Swarm 剔除Kubernetes Google 10年容器化基础架构 borg GO 语言 基于谷歌内部Borg系统K8S特点: ...

2020-05-11 16:09:02 234

原创 Spring 独立事务和嵌套事务

Spring中事务传播类型:PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。(默认) PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW -- 新...

2020-05-08 14:03:20 1327

原创 java线程疑难点总结

1、java线程生命周期:线程的5个状态1、新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();2、就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,获取cpu ...

2020-05-08 11:08:13 269

原创 什么是幻读

本文旨在纠正对幻读的误解:首先回顾下事务隔离级别的定义:读未提交 READ-UNCOMMITTED | 0:存在脏读,不可重复读,幻读的问题 读已提交 READ-COMMITTED | 1:解决脏读的问题,存在不可重复读,幻读的问题 可重复读 REPEATABLE-READ | 2:解决脏读,不可重复读的问题,存在幻读的问题,默认隔离级别,使用 MMVC机制 实现可重复读 序列化 S...

2020-04-15 15:22:50 6298 4

原创 再看Maven

Maven是一种用来管理Java项目的工具,但不是那种用来管理资源规划和调度的工具。相反,它处理的是管理一个具体的项目所涉及的各种任务,如:编译、测试、打包、文档以及分发。Maven包括以下几个部分:一组用于处理依赖管理。目录结构以及构建工作流的约定。基于这些约定时实现的标准化可以极大的简化开发过程。例如,一个常用的目录结构可以使得开发者可以快速的适应一个不熟悉的项目; 一个用于...

2019-12-28 14:46:48 140

原创 JSR 256-Pluggable Annotation Processing API

Pluggable Annotation Processing API:JDK6的新特性:插件式注解处理API该特性支持在编译器对注解的处理,Pluggable Annotation Processing API的核心是Annotation Processor即注解处理器,一般需要继承抽象类javax.annotation.processing.AbstractProcessor。注意,与运行...

2019-12-20 16:29:03 256

原创 HTTP2.0特性总结

回顾 HTTP1.1:1、长连接Http1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。2、缓存处理引入了更...

2019-12-05 13:40:09 2830

原创 财务报表

几个问题企业一共有几类财务报告?什么是财务会计报告?什么是税务会计报告?税务会计报告与财务会计报告的区别是什么?什么是管理会计报告?管理会计报告与财务会计报告的区别与联系是什么?管理会计报告是如何做出来的?与公司ERP系统有什么关联?利润表、资产负债表、现金流量表:三者之间到底有什么关系?◆利润表反映类似于“通关数量”的问题,是企业的经营绩效;◆现金流量表反...

2019-12-03 15:40:39 319

原创 微服务限流熔断降级方案对比

微服务限流熔断降级方案对比1、线程池隔离优点:支持排队和超时 支持异步调用不足:线程调用会产生额外的开销适用:不受信客户 有限扇出2、信号量隔离优点:轻量 无额外开销不足:不支持任务排队和主动超时 不支持异步调用适用:受信客户 高扇出(网关) 高频高速调用(cache)...

2019-10-17 11:16:35 870

原创 MySQL count效率

count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。对于 count(主键 id) 来说,InnoDB 引擎会遍历整张表,把每一行的 id 值都取出来,返回给 server 层。server 层拿到 id 后,判断是不可能为空的,就按行累加。 对于 count(1) 来说,InnoDB 引擎遍历...

2019-10-06 15:32:08 537

原创 JVM大对象排查

在Linux环境下查看占用内存较多的java对象使用top查看到排名靠前的java进程 查看占用内存较多的前30名java对象 jmap -histo:live 【pid】 | head -30,也可以导出到文件中: jmap -dump:format=b,file=/filepath/heap.bin pid备注:如果当前用户不是启动java进程的用户,使用j...

2019-09-12 16:57:18 3162

原创 MySQL事务隔离级别实现原理

数据库实现隔离级别主要是会创建一个视图,访问的时候以视图的逻辑结果为准。“读未提交”隔离级别下直接返回记录上的最新值,没有视图概念; “读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。 “可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。 “串行化”隔离级别下直接用加锁的方式来避免并行访问。...

2019-08-27 12:34:07 209

原创 MySQL Innodb Redo Log 和 BinLog两阶段提交实现

RedoLog和Binlog区别1. redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。2. redo log 是逻辑物理日志,页面内的操作记录的是逻辑日志,页间的操作记录的是物理日志;binlog 是逻辑日志,相当于是Mysql server层的日志,适用于所有引擎,且可以通过参数控制写入。3. redo l...

2019-08-27 12:29:54 1314

转载 Redis所需内存超过可用内存解决方案

我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。那么当所需内存,超过maxmemory怎么办?这个时候就该配置文件中的maxmemory-policy出场了。其默认值是noeviction。下面我将列出当可用内存不足时,删除redis键具有的淘汰规则。volatile-lru 使用LRU算法删除一个键(只对设置了生存时间的键) allkeys-...

2019-07-17 09:59:09 482

原创 Redis简单事务

事务(transaction) 是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令,最后再发送 EXEC 命令表示事务命令结束 。...

2019-07-17 09:50:11 120

原创 Redis持久防方案对比

Redis提供了RDB、AOF持久化方式,将内存中的数据保存到磁盘中,避免数据意外丢失持久化—RDB与AOF比较 RDBRDB(快照)通过将服务器某个时间点上的数据库状态(非空数据库以及相关键值对)保存到一个经过压缩的二进制文件中(dump.rdb),也是默认的持久化方式。手动持久化命令:SAVE 命令会阻塞Redis服务器进程。BGSAVE 会派生出一个子进程,然后由子进程负...

2019-07-17 09:45:14 114

转载 Redis客户端以及工具集简介

java客户端Redssion特点:操作最简单,功能最丰富,Redis智能客户端,支持分布式集合,分布式锁,三方框架整合等。底层采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。使用比其他redis客户端效率高。https://github.com/redisson/redisson/Jedis特点: Jedis是Redis的Java实...

2019-07-17 09:41:57 338

原创 AtomicIntegerFieldUpdate简介

java中AtomicIntegerFieldUpdate类可以实现原子方式更新一个变量对于这个变量有如下的约束:更新器更新的必须是int类型,不能是其包装类型Integer; 更新器更新的必须是volatile修饰的变量,确保线程之间共享变量的时候立即可见; 变量不能被static修饰,必须是实例变量。因为Unsafe.objectFieldOffset()方法不支持静态变量(CAS...

2019-07-15 09:59:41 327

原创 AQS架构

AQS,全称是AbstractQueuedSynchronizer,中文译为抽象队列式同步器AQS架构:说明:AQS维护了一个volatileintstate (代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入队列中)AQS定义了两种资源共享方式:Exclusive(独占方式)、Share(共享方式)具体在java源码AbstractQu...

2019-07-15 09:52:32 628

转载 Reactor模型简介

Reactor模型上图是对Reactor模型角色最权威的定义:Reactor模式的角色构成(一共有5种角色):1、Handle(句柄或描述符):本质上是一种资源,是由操作系统提供的;改资源用于表示一个个事件,比如说文件描述符,或者是针对网络编程中的Socket描述符。事件既可以来自于外部,也可以来自于内部;外部事件比如说客户端的连接请求,客户端发送过来数据等;内部事件比如说操作...

2019-07-11 13:30:20 273

原创 java事故排查

top:查看CPU负载 free :查...

2019-04-12 16:44:25 377

大产品小团队携程敏捷技术与管理转型实战6134859.epub

敏捷并不是什么新玩意儿,但它已经成为这个瞬息万变的互联网+科技商业时代的主流管理运营体系。如果一个企业还没开始拥抱敏捷并付诸实践,那它很快就要被淘汰了! 现在我们遇到的问题大多是如何让敏捷落地,如何把敏捷带给整个企业。本书并不是敏捷方法教授的纯理论书,作者只是把5年敏捷转型中趟过的那些坑,吃过的那些亏,流过的那些泪……通过一个个鲜活的案例呈现出来,送给那些已经开始尝试敏捷但可能遇到一些问题的人,以及虽然没有开始但已经跃跃欲试准备实践敏捷的人。

2019-10-25

MySQL实用军规.pdf

MySQL开发中需要遵守的规则: 来自一线的实战经验 每一军规背后都是血淋淋教训 不要华丽,只要实用 若有一条让你有所受益,慰矣 主要针对数据库开发人员 总是在灾难发生后,才想起容灾的重要性; 总是在吃过亏后,才记得曾经有人提醒过。

2019-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除