![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
码上腾飞
这个作者很懒,什么都没留下…
展开
-
git---如何在远程某个分支的基础上新建分支
问题场景技术主管让你去再某个git分支上新建一个分支去做你的项目,那么如何在原远程分支的基础上新建自己的分支呢?解决方法按照以下命令敲即可git branch newBranch //新建本地分支git checkout newBranch //本地切换到自己的分支git pull origin xxxxBranch //从远程目标分支copy...原创 2017-06-14 09:20:00 · 2801 阅读 · 0 评论 -
git- Git中.gitignore配置
Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍在Studio里使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则例如:# 此为注释 – 将被 Git 忽略 *.a ...原创 2017-12-21 14:09:00 · 76 阅读 · 0 评论 -
windows系统中如何找到某程序运行的本地文件
主要通过window自带的服务功能来查询;比如: 原创 2018-03-14 09:14:00 · 473 阅读 · 0 评论 -
基准测试 sysbench
sysbenchsysbench简介sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试:cpu性能磁盘io性能调度程序性能内存分配及传输速度POSIX线程性能数据库性能(OLTP基准测试)sysbench安装//下载wget https://github.com/akopytov/sysbench...原创 2018-05-02 22:07:00 · 165 阅读 · 0 评论 -
文件上传漏洞
文件上传漏洞大部分的网站和应用系统都有上传功能,如用户头像上传,图片上传,文档上传等。一些文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过Web访问的目录上传任意PHP文件,并能够将这些文件传递给PHP解释器,就可以在远程服务器上执行任意PHP脚本。当系统存在文件上传漏洞时攻击者可以将病毒,木马,WebShell,其...原创 2018-04-30 23:44:00 · 128 阅读 · 0 评论 -
CSRF攻击原理
CSRFCSRF(Cross-site request forgery)跨站请求伪造,CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式。相比于XSS,CSRF是利用了系统对页面浏览器的信任,XSS则利用了系统对用户的信任。CSRF攻击是源于WEB的隐式身份验证机制,WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,...原创 2018-04-30 22:38:00 · 267 阅读 · 0 评论 -
生产消费模式
生产消费模式生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。生产者生产数据到缓冲区中,消费者从缓冲区中取数据。如果缓冲区已经满了,则生产者线程阻塞;如果缓冲区为空,那么消费者线程阻塞。缓冲区作用. 解耦,生产者和消费者只依赖缓冲区,而不互相依赖. 支持并发和异步消费者和...原创 2018-04-30 13:01:00 · 155 阅读 · 0 评论 -
http缓存机制系统梳理
http缓存HTTP请求的过程从在浏览器地址栏敲入域名-DNS解析-实际IP-(中间可能多个代理服务器分发)- 源服务器,请求抵达源服务器后,在服务器上找到请求的资源,再通过代理服务器一层层的返回数据到浏览器端。http缓存三要素缓存存储策略用来确定http响应内容是否可以被客户端缓存,以及被哪些客户端缓存对 于 Cache-Control 头...原创 2018-04-19 11:32:00 · 148 阅读 · 0 评论 -
分布式、微服务、集群概念梳理
分布式、微服务、集群概念梳理分布式从本质上讲分布式表明的是一种解决方案,即由传统的单体应用,扩展成多体结构。它的实施基础就是将可以独立出来的功能模块放在不同的服务器上,然后通过REST,RPC,消息中间件等方式来实现不同服务器之间的通信,这些不同服务器上的不同模块实现通信后,最后组成多体应用。说的分布式,就不得不提到SOA架构,SOA是软件开发重要的思...原创 2018-05-20 15:59:00 · 132 阅读 · 0 评论 -
markdown时序图语法
语法- 代表实线 , 主动发送消息,比如 request请求> 代表实心箭头 , 同步消息,比如 AJAX 的同步请求-- 代表虚线,表示返回消息,spring Controller return>> 代表非实心箭头 ,异步消息,比如AJAX请求示例 participant 客户端 participant 控制器 ...原创 2018-08-08 10:43:00 · 764 阅读 · 0 评论 -
UML活动图梳理
活动图梳理活动图概述活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流,常常用于描述业务过程和并行处理过程,活动图在本质上是一种流程图。泳道将一个活动图中的活动划分为不同的组,每个组分别对应不同角色的操作。活动图描述多个角色之间的协作处理非常有效。活动图的组成元素动作状态【图形】平滑...原创 2018-08-31 18:24:00 · 185 阅读 · 0 评论 -
UML 用例图梳理
用例图梳理概述用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。用例图元素参与者(Actor)——与应用程序或系统进行交互的...原创 2018-08-31 18:53:00 · 251 阅读 · 0 评论 -
UML plantUML安装
plantUML安装因为基于intellid idea,所以第一步自行安装.setting->plugins 搜索plantUML安装完成后,重启idea 会有如下显示安装Graphviz下载地址 https://graphviz.gitlab.io/_pages/Download/Download_windows.html配置Grap...原创 2018-09-05 10:30:00 · 286 阅读 · 0 评论 -
分布式事务梳理
分布式事务梳理概念澄清事务补偿机制在事务链中的任何一个正向事务操作, 都必须存在一个完全符合回滚规则的可逆事务.CAP理论C:Consistency 一致性同一数据的多个副本是否实时相同。A:Availability 可用性可用性:一定时间内 & 系统返回一个明确的结果 则称为该系统可用。P:Partition tolerance...原创 2018-09-07 18:25:00 · 152 阅读 · 0 评论 -
git无法pull仓库refusing to merge unrelated histories
git无法pull仓库refusing to merge unrelated histories如果合并了两个不同的开始提交的仓库,在新的 git 会发现这两个仓库可能不是同一个,为了防止开发者上传错误,于是就给下面的提示:fatal: refusing to merge unrelated histories如我在Github新建一个仓库,写了Licens...原创 2018-09-19 14:15:00 · 265 阅读 · 0 评论 -
灰度发布策略
灰度发布策略灰度发布是什么灰度发布是版本升级平滑过渡的一种方式(也可以增加产品的某些特性)。简而言之,当版本升级时,使部分用户使用高版本,其他用户继续使用低版本,待高版本稳定后,逐步扩大范围把所有用户流量都迁移到高版本上面来。AB test也是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所...原创 2018-09-25 20:32:00 · 1151 阅读 · 0 评论 -
装饰器模式
装饰器模式装饰器模式概述装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。其实我们可以这样理解装饰器模式, 就拿自己举例子,你把自己裸体的样子,想象成被装饰的对象。你的鞋子,你的寸衣,你的外套,你的手表,你的帽子 等等,都是你的装饰物,你和这些装饰物,是装饰和被装饰的关系。使用场景:一般的,我们为了扩展一个类经常使用继承方...原创 2018-11-06 20:21:00 · 102 阅读 · 0 评论 -
rpc原理
rpc原理 rpc什么是 RPCRPC 是远程过程调用(Remote Procedure Call)的缩写形式,Birrell 和 Nelson 在 1984 发表于 ACM Transactions on Computer Systems 的论文《Implementing remote procedure calls》对 RPC 做了经典...原创 2019-01-23 18:54:00 · 1125 阅读 · 0 评论 -
分布式锁
分布式锁 分布式锁解决分布式锁的核心思路在多台服务器集群中,只能够保证一个jvm/进程进行操作。基于数据库不建议 性能不好基于redis多个客户端,使用setnx命令方式,同时在redis上创建相同的一个key,因为rediskey不能够允许重复,谁能创建key成功,返回1,谁就能够获取到锁。没有创建key成功,就返回0,jvm就会进...原创 2019-01-15 16:52:00 · 86 阅读 · 0 评论 -
微服务浅述---架构演进
微服务浅述---架构演进 微服务浅述---架构演进提到架构演进,我们很容易想到‘单体应用---分布式/SOA---微服务’的演进过程,那么为什么会有这个必然演进?演进的过程中遇到了哪些坑?是怎么解决这些坑的?为什么会有这个必然的架构演进?因为痛点驱动。因为互联网公司很容易突然爆发,今年的数据量可能比去年的数据量翻上N倍。那么刚开始的时候...原创 2019-01-16 10:30:00 · 483 阅读 · 0 评论 -
幂等性
幂等性 幂等性定义WEB资源或API方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。场景表单重复提交尤其HTTP POST 操作既不是安全的,也不是幂等的(至少在HTTP规范里没有保证)。当我们因为反复刷新浏览器导致多次提交表单,多次发出同样的POST请求,导致远端服务器重复创建出了资源。rpc远程调用失败后重试m...原创 2019-01-18 16:45:00 · 105 阅读 · 0 评论 -
TCP/IP
TCP/IP TCP/IPTCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准。从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模型...原创 2019-01-23 18:55:00 · 78 阅读 · 0 评论 -
socket 原理
socket 原理 socket 原理什么是socket我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果,如下图当然,这样做...原创 2019-01-23 18:55:00 · 463 阅读 · 0 评论 -
http1.0、http1.x、http 2和https梳理
http1.0、http1.x、http 2和https梳理 http1.0、http1.x、http 2和https梳理Http1.x线程阻塞,在同一时间,同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞http1.0缺陷:浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接(TCP连接的新建成本很高...原创 2019-01-24 15:07:00 · 147 阅读 · 0 评论 -
TCP四次挥手
TCP四次挥手 TCP四次挥手假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",可是假设你还有数据没有发送完毕,则不必急着关闭Socket,能够继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,可是我还没准备好,请继续你等我的消息"...原创 2019-01-24 15:36:00 · 97 阅读 · 0 评论 -
Yapi部署
Yapi部署 部署安装git安装nodeJS安装mongodb部署npm install -g yapi-cli --registry https://registry.npm.taobao.orgyapi server可视化配置部署tips关闭ssh窗口后程序也就随之关闭问题使用pm2进行管理pm2安装 :...原创 2019-04-27 16:48:00 · 609 阅读 · 0 评论 -
GPU与CPU
GPU与CPU GPU与CPUCPUCPU,也就是中央处理器,结构主要包括控制器(指挥各部分工作)、运算器(实现数据加工)、寄存器、高缓以及数据/控制/状态总线。计算机的性能很大程度上依赖于CPU,CPU的功能包括程序控制(控制指令执行的先后顺序)、操作控制(控制指令操作)、时间控制(控制各种操作的时间)、数据加工(实现数据的算术和逻辑运算)...原创 2019-03-21 20:09:00 · 211 阅读 · 0 评论 -
单工、半双工和双工通信
单工、半双工和双工通信 单工、半双工和双工通信 概述数据通常是在两个站(点对点)之间进行传输,按照数据流的方向可分为三种传输模式:单工、半双工、全双工。单工通信单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过监控信道发送请求重发...原创 2019-03-18 21:05:00 · 1356 阅读 · 0 评论 -
有状态和无状态服务
有状态和无状态服务 有状态服务器和无状态服务器对服务器程序来说,有两个基本假设十分重要,究竟服务器是基于状态请求还是无状态请求。状态化的判断是指两个来自相同发起者的请求在服务器端是否具备上下文关系。如果是状态化请求,那么服务器端一般都要保存请求的相关信息,每个请求可以默认地使用以前的请求信息。而无状态请求则不行,服务器端所能够处理的过程,他的...原创 2019-02-17 20:45:00 · 488 阅读 · 0 评论 -
微服务架构实践
微服务架构实践 目录业务背景微服务概念微服务技术选型微服务架构设计微服务架构设计落地微服务架构设计过程中积累的心得总结一、业务背景1.1 产品现状1、各产品系统独立开发,代码复用率低,系统之间互相调用,耦合严重,系统解耦独立部署困难。2、传统的单体架构,规模越来越大也越来越笨重;当新功能的开发、功能的重构变得不再敏捷可控;测试...原创 2019-02-17 19:52:00 · 143 阅读 · 0 评论 -
zookeeper
zookeeper zookeeper使用场景Zookeeper作为一个分布式协调系统提供了一项基本服务:分布式锁服务,分布式锁是分布式协调技术实现的核心内容。像配置管理、任务分发、组服务、分布式消息队列、分布式通知/协调等,这些应用实际上都是基于这项基础服务由用户自己摸索出来的。数据发布与订阅实现配置管理:发布与订阅即所谓的配置管理,顾名...原创 2019-02-17 18:31:00 · 140 阅读 · 0 评论 -
门面模式
转载:https://segmentfault.com/a/1190000017568892原创 2019-02-14 16:50:00 · 70 阅读 · 0 评论 -
CAP原理和BASE理论
CAP原理概述CAP理论的主要场景是在分布式环境下,在单机环境下,基本可不考虑CAP问题。CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。为了保证一致性(CP),不能访问未同步完成的节点,也就失去了部分可用...原创 2019-02-14 15:01:00 · 167 阅读 · 0 评论 -
rabbitmq使用总结
rabbitmq架构图RabbitMQ 中的 broker 是指什么?cluster 又是指什么broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ 应用程序。cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束概念Broker:消息队列服务器实体exchange:消息交换机,指定...原创 2019-02-14 11:14:00 · 245 阅读 · 0 评论 -
分布式架构体系
分布式架构体系https://juejin.im/post/5da6b68b51882565f76606fb?utm_source=gold_browser_extension原创 2019-10-25 12:10:00 · 117 阅读 · 0 评论 -
sonar 代码质量管理
http://www.sonar.org.cn/原创 2020-04-17 11:51:00 · 124 阅读 · 0 评论 -
sonar 使用
sonarsonarQube是一个管理代码质量的开放平台,它可以从七个维度检测和扫描代码质量1.Complexity(复杂度分布):代码复杂度过高将难以理解、维护2.Duplications(重复代码):程序代码中包含大师复制粘贴的代码段是质量低下的表现3.Unit Tests(单元测试):统计并展示单元测试覆盖率4.Coding Rules(编码规范):通过Findbug...原创 2020-04-17 14:38:00 · 372 阅读 · 0 评论