自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 收藏
  • 关注

转载 NGINX 配置本地HTTPS(免费证书)

Linux系统下生成证书生成秘钥key,运行:$ openssl genrsa -des3 -out server.key 20481会有两次要求输入密码,输入同一个即可输入密码然后你就获得了一个server.key文件.以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:$ openssl rsa -...

2019-07-13 18:45:13 2692

转载 Gitflow工作流

这节介绍的Gitflow工作流借鉴自在nvie的Vincent Driessen。Gitflow工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。除了使用功能分支,在做准备、维护和记录...

2019-04-09 14:17:21 234

转载 服务发现的基本原理与比较:Eureka vs Consul vs Zookeeper

前言在云计算和容器化技术发展火热的当下,对于微服务架构,服务注册与发现组件是必不可少的。在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定。在微服务应用中,服务实例的数量和网络地址都是动态变化的,这对系统运维提出了巨大的挑战。因此,动态的服务注册与发现就显得尤为重要。解决的问题在一个分布式系统中,服务注册与发现组件主...

2019-03-06 17:29:22 425

转载 快速入门和了解docker

什么是dockerDocker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc...

2019-03-06 13:38:19 292

转载 把分布式缓存一致性解决方案说的最清楚的一篇文章

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。  但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。  文章结构  本文由以下三个部...

2019-03-05 20:34:54 22218 14

转载 缓存技术的详解

一、缓存概述缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。1、缓存的原理 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用最近的位置; 将数据缓存到离用户最近的位置。 2、缓存分类在分布式系统中,缓存的应用非常广泛,从部署角度有以下几个方面的缓存应用。...

2019-03-04 22:10:43 534

转载 细聊分布式事务

首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不要再问我Spring Cloud底层原理!》。1|0业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创...

2019-03-04 19:42:26 315

转载 vim编辑器操作命令大全-绝对全

学习链接:vim命令大全http://blog.csdn.net/scaleqiao/article/details/45153379vim命令小技巧http://www.codeceo.com/article/useful-vim-command.html1. 关于Vimvim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界...

2019-03-04 12:29:14 2263

转载 IO多路复用机制详解

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。(3)IO多路复用(IO Multiplexing):即经...

2019-02-26 16:20:23 178

转载 Linux 文件处理3剑客之 awk

awk对于大部分人都是相当的陌生。即便一个对Linux比较熟悉的人,也未必知道awk。为什呢?因为awk与其它大多数Linux命令不同,无法从名字上看出它到底是干什么的。实际上,awk是它的三个作者姓氏的首字母合写,他们是:Aho(阿尔佛雷德·艾侯)、Winberger(彼得·温伯格)和Kernighan(布莱恩·柯林汉),绝对都是牛人。awk是 一种文本处理工具,它的目的是编写小巧 但充满表...

2019-02-21 17:44:49 235

转载 说说java多线程

引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些...

2019-01-31 17:28:41 208

转载 docker安装elasticsearch

1 docker search elasticsearch  选择一个版本,拉取镜像 docker pull elasticsearch:2.4.4查看镜像 docker images通过镜像,启动一个容器,并将9200和9300端口映射到本机docker run -d -p 9200:9200 -p 9300:9...

2019-01-16 11:48:58 4484 3

转载 CentOS 6.8 安装 Docker

1. 查看CentOS版本由于安装Docker时,Docker支持CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。 Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更...

2019-01-16 11:41:02 1160

转载 Elasticsearch 性能优化实践

0、题记Elasticsearch性能优化的最终目的:用户体验爽。关于爽的定义——著名产品人梁宁曾经说过“人在满足时候的状态叫做愉悦,人不被满足就会难受,就会开始寻求。如果这个人在寻求中,能立刻得到即时满足,这种感觉就是爽!”。Elasticsearch的爽点就是:快、准、全!关于Elasticsearch性能优化,阿里、腾讯、京东、携程、滴滴、58等都有过很多深入的实践总结,都是...

2019-01-16 11:01:25 248

转载 【git】git add忽略某些文件的方法

命令:git update-index --assume-unchanged FILENAME       路径+文件名若以后不想忽略该文件的修改,则输入命令:git update-index --no-assume-unchanged FILENAME 

2018-12-05 16:48:17 3399

转载 centos7 编译安装php 5.6

环境准备 1 2 3 4 5 6 7 # yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readl...

2018-12-04 14:37:47 1184

转载 详解Git工作区、暂存区、历史记录区以及git撤销命令的区别

详解Git工作区、暂存区、历史记录区以及git撤销命令的区别一、可以将git简单的分为三个区域1、工作区(working directory)2、暂缓区(stage index)3、历史记录区(history)如图:其中git add files 把当前工作目录中的文件放入暂存区域这其实做了两件事:1、将本地文件的时间戳、长度,当前文档对象的id等信息保存到一个...

2018-10-31 11:07:21 2012

转载 整个表达式?高级用法

文本: <br/>您好,非常好,很开心认识你<br/><a target=_blank href="www.baidu.com">百度一下</a>百度才知道<br/><a target=_blank href="/view/fafa.htm">发发</ a>最佳帅

2018-10-16 00:41:18 289

转载 PHP 反射机制Reflection

简介PHP Reflection API是PHP5才有的新功能,它是用来导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。class Reflection { } interface Reflector { }class ReflectionException extends Exception { }class ReflectionFunction implements...

2018-10-14 18:40:11 237

转载 分布式强一致性事务

一、事务的概念  事务是一组操作的执行单元,相对于数据库操作来讲,事务管理的是一组SQL指令,比如增加,修改,删除等,事务的一致性,要求,这个事务内的操作必须全部执行成功,如果在此过程种出现了差错,比如有一条SQL语句没有执行成功,那么这一组操作都将全部回滚  最经典的例子便是:A向B汇款500元,B账户多了500元,这整个过程,要么全部正常执行,要么全部回滚,不然就会出现A扣款,B收不到...

2018-09-24 22:40:59 4494

转载 分布式最终一致性事务

一、强一致性事务的瓶颈  在《分布式强一致性事务》一文中介绍了分布式事务的常用协议2PC二阶段提交,虽然2PC能在很大程度上实现分布式事务中各节点的ACID,但也存在同步阻塞问题,协调者单点故障,协调者因网络原因导致的通知不周或收不全参与者回复导致的异常等问题。  同时,即使能稳定的使用二阶段提交实现分布式事务,但是2PC通信过程中产生的耗时是巨大的,类似淘宝网,下完一个订单后可能需要与计...

2018-09-24 22:39:56 153

转载 Mac上使用sshfs挂载远端目录到本地

最近换了一台新的工作电脑,用的是mac pro,但是开发呢又要在远程机器上,没办法,我只能想办法把它挂载到本地开发。我上网找了一下,发现可以用sshfs来挂载远端linux的目录到本地,挂载方法如下:安装homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m...

2018-09-17 18:04:31 3830 1

转载 CentOS7 yum安装LNMP以及LAMP

简单记录在CentOS7下yum安装LNMP以及LAMP的过程。首先配置防火墙CentOS 7.0默认使用的是firewall作为防火墙1.关闭firewall:systemctl stop firewalld.service #停止firewall   systemctl disable firewalld.service #禁止firewall开机启动或者开启某端口 f...

2018-08-29 01:16:09 536

转载 CentOS 7 yum 安装php5.6

配置yum源追加CentOS 6.5的epel及remi源。# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm以...

2018-08-29 01:14:58 316

转载 centos6.5下使用yum完美搭建LNMP环境(php5.6)

1.配置防火墙端口配置防火墙,开启80端口、3306端口,删除原有的 iptables , 添加合适的配置rm -rf /etc/sysconfig/iptablesvi /etc/sysconfig/iptables1 2 3添加如下内容 :################################ 添加好之后防火墙规则如下所示################...

2018-08-27 14:18:20 382

转载 php多线程解决之stream_socket_*

有没有办法在php中实现多线程呢?假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。可以实现吗?回答:当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大概会转换思路去用一些不够好的语言,比如perl。其实的是大多数情况下,你大可不必使用fork或者线程,并且你会得到...

2018-08-27 10:03:05 1019

转载 数据库常见死锁原因及处理

数据库是一个多用户使用的共享资源,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。   在数据库中有两种基本的锁...

2018-08-16 23:46:40 11242 2

转载 使用 awk 命令行快速分析HTTP Server 访问日志

 为了了解 IBM HTTP Server 的运行状况,需要对 IBM HTTP Server 的日志进行快速有效的分析。虽然现在有很多商业、或开源软件提供图形化用户界面的方式,辅助分析服务器的访问日志,但是他们大多需要事先在服务器端安装和配置。使用 awk 命令,在很多特殊情形下,可以 HTTP Server 访问日志的格式定义日志的格式我们可以在  HTTP Server ...

2018-08-14 01:34:31 281

转载 关于Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别及用法

 Form的enctype属性表示页面表单数据向服务端传输时的编码方式,常用有两种:application/x-www-form-urlencoded 和 multipart/form-data,默认为application/x-www-form-urlencoded。1、application/x-www-form-urlencoded: 窗体数据被编码为名称/值对,这是标准且默认的编码格...

2018-08-02 18:55:57 2399

转载 Intellij IDEA 快捷键整理(史上最全)

【常规】Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择 Ct...

2018-07-21 05:54:00 250

转载 (PHP)入门无错篇章(一)

一、安装篇博主注:截至2017-10-10,官网上thrift最新版0.10.0一直无法成功编译。所以,请选择0.9.3版本,避免走各种弯路:wget http://apache.fayea.com/thrift/0.9.3/thrift-0.9.3.tar.gz1、安装开发平台工具yum -y groupinstall "Development Tools" 2、安装autoconfwget h...

2018-07-01 02:11:16 176

转载 利用Thrift,实现java、php数据通讯

摘要: Thrift是一个软件框架(远程过程调用框架),用来进行可扩展且跨语言的服务的开发,封装了数据传输格式(二进制、json)和网络通信的服务框架,提供多语言(C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml)的网络服务器端和客户端程...

2018-07-01 02:10:07 207

转载 使用Thrift0.9.1实现跨语言调用Golang、Php、Python、Java

问题导读:什么是Thrift?Thrift的官方网站在哪里?Golang、Java、Python、PHP之间如何通过Thrift实现跨语言调用?一、什么是Thrift  Thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务。  Thrift是facebook开发的,07年4月开放源代码,08年5月进入apache孵化器。创造Thrift是为了解决...

2018-06-20 00:56:51 1327

转载 在windows上使用Thrift生成PHP代码

最近在研究使用Thrift进行RPC调用,发现可以在windows上直接使用thrift.exe生成指定语言的文件(譬如php,java,cpp,perl,csharp,py等)。一、下载和安装thrift.exe文件首先下载thrift,地址http://apache.fayea.com/thrift/0.10.0/,将文件保存到指定的目录(譬如D:\thrift),重命名为thrift.exe...

2018-06-20 00:50:31 280

转载 推荐系统实践----基于用户的协同过滤算法(python代码实现书中案例)

本文参考项亮的《推荐系统实践》中基于用户的协同过滤算法内容。因其中代码实现部分只有片段,又因本人初学,对python还不是很精通,难免头大。故自己实现了其中的代码,将整个过程走了一遍。1. 过程简述a. 首先我们因该先找到和目标用户兴趣相似的用户集合。简单来说,如果A是目标用户(待推荐用户),那么我们要先找到和A兴趣差不多的一群人(例如B,C,D)。我认为B,C,D喜欢的商品,A也很有可能喜欢。(...

2018-06-13 02:00:25 2573

转载 基于内容的推荐算法

在第一篇文章《推荐算法综述》中我们说到,真正的推荐系统往往是多个推荐算法策略的组合使用,本文介绍的将会是推荐系统最古老的算法:基于内容的推荐算法(Content-Based Recommendations CB)。CB是最早被使用的推荐算法,它的思想非常简单:根据用户过去喜欢的物品(本文统称为 item),为用户推荐和他过去喜欢的物品相似的物品。而关键就在于这里的物品相似性的度量,这才是算法运用过...

2018-06-13 00:15:11 22000 3

转载 公钥,私钥和数字签名这样最好理解,以及加解密实例

一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但...

2018-05-30 12:09:13 1638

转载 centos7 yum安装mongodb

centos7 yum安装mongodb;1:创建仓库vi /etc/yum.repos.d/mongodb-org-3.4.repo2:把下面的内容复制到文件中 保存退出[delphi] view plain copy[mongodb-org-3.4]  name=MongoDB Repository  baseurl=https://repo.mongodb.org/yum/redhat/$r...

2018-05-29 01:24:20 269

转载 隐藏响应的server,X-Powered-By

隐藏响应的server,X-Powered-By隐藏X-Powered-By修改 php.ini 文件 设置 expose_php = Offapache 隐藏 server修改httpd.conf 设置 ServerSignature OffServerTokens Prodnginx 隐藏 server修改nginx.conf  在http里面设置 server_tokens off;...

2018-05-21 16:58:37 8088

转载 单点登录实现的几种方式

单点登录  ( SSO  )的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了 单点登录  的需求和应用领域;从技术本身的角度分析了 单点登录  技术的内部机制和实现手段,并且给出Web- SSO  和桌面 SSO  的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对 单点登录  ( ...

2018-04-29 18:52:42 33544 3

空空如也

空空如也

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

TA关注的人

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