自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 PHP中MySQL server has gone away问题

一.背景   之前在Codeigniter里面写过类似console命令行的脚本. 脚本里存在sleep语句时间比较久, 导致出现一个现象就是sleep之前的SQL都是操作成功的,但是sleep之后,再执行SQL操作竟然报错: MySQL server has gone awa...

2020-08-22 19:09:55 2765 1

原创 office文件在线预览

需求背景     最近学妹她们那边有一个项目类似在线网盘的东西,支持文件上传保存。其中除了普通text文本以外,还有如office文件word、excel、ppt等文件,并且提供在线预览的功能。用户能够在线预览文件内容,并且分享预览链接出去的word不能下载...

2020-06-15 11:06:27 4560 2

原创 https跳过证书校验底层原理

背景   大家可能遇到过爬虫或者curl某个https站点,由于站点TLS证书过期或者使用自签证书,curl或者浏览器校验不通过,导致不能正常访问。 所以类似什么Java中怎么跳过https证书校验,php怎么跳过,python怎么跳过等等问题全网遍地都是。 但是你知道跳过h...

2019-11-26 18:05:17 8716 0

原创 K8S中Pod内部容器通信原理

1.docker容器网络模式 1.1 默认bridge桥接网络    默认分配docker0网桥网段上的ip给容器, 每个容器的network namespace都是相互隔离的。docker自身生成一个veth pair(虚拟网卡对) 一端放在docker0网桥上...

2019-11-21 11:50:59 9584 1

原创 使用Python实现Docker编程

    Docker引擎其实包括两部分内容,采用C/S架构。所以会包含一个client和server端,但是一般都是在本地操作所以有时时候没太感觉出来很慢的样子。其实和我们使用的mysql是一样的,默认mysql -H 没有填写IP地址,默认是连接本地的mysql服务的3306端口。但是指定了-H...

2018-03-08 11:48:10 27361 0

原创 画图工具draw.io的二次开发经验

最近公司使用到一个名为draw.io的开源画图工具,到github上去搜索就能够找到。能够在线实现画图,例如流程 图,数据库的E-R图等等,功能十分强大。想在其功能的基础上去修改,然后和我们的系统耦合在一起协作使用,开 始想到的那肯定就是修改源码,添加我们自己的功能。但是修改源码的过程并...

2017-11-08 09:51:43 33106 26

原创 docker的通俗理解

自己买了个服务器,前不久搭建好的一个网站,想要再搞一个站点,无奈只能修改端口后,再部署另外一个站点。繁琐的配置运行环境,迁移网站,是否让你感觉到很繁琐?服务器不想用了,想搬迁到另外一台服务器去部署,先是拷贝原有数据,在新的服务器上又开始搭建环境进行部署,这些费时间的事情现在只需要几分钟就能完成,那...

2016-11-08 14:12:26 29458 0

原创 2019安装k8s详细教程

前言 学习k8s的第一步肯定是安装进行实操。但是对于生产环境搭建一个高可用的k8s集群其实还是有点挑战难度的,特别是非专业运维开发人员。因为要涉及到的方面很多,默认配置都不能用于生产环境,性能调优,安全验证等等都是必不可少的。对于入门者来说的话,第一步安装其实有时候已经把一些人挡在了门外。自己也...

2020-06-11 16:52:28 24386 0

转载 FastCGI协议内容

cgi或者fastcgi协议的定义: Webserver(web服务器软件如nginx httpd等)与真实后台处理请求的程序之间通信的一种约定规范 找了一篇文章把fastcgi协议讲得比较清楚,记录一下。 原文地址:https://www.cnblogs.com/itbsl/p/98...

2020-04-27 14:56:35 5514 0

原创 采用xhprof扩展对PHP项目进行性能分析

背景   由于我们的项目是另外一个团队的server端,给他们提供的2个接口他们偶尔反应程序调用超时,他们设置httpClient的超时时间为10s。一般情况下来说我们程序一定要保证在5s以内就要返回response给客户端了,所以我们想分析一下我们的程序到底是哪个模块或者函数...

2020-04-09 21:40:45 5751 0

原创 git中rebase(变基)和merge(合并)区别

简介   以前用git基本上针对git flow以及基本的git操作命令基本上满足日常开发需求,其实也没必要过于深究, 常用命令80-90%基本上满足我们正常使用了。 但是其实很多人,包括我自己,git的官方文档基本没扫完一遍,所以抽时间其实几个小时 也就能看完的事情。 其中在...

2020-03-23 13:37:27 6793 0

原创 Protobuf数据交换格式

简介   ProtoBuf(Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON, 但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体...

2020-01-08 00:28:30 7933 0

原创 gRPC简介和实践

简介   gRPC是Google主导的一个高性能,跨语言的RPC(远程过程调用)框架。官网: https://grpc.io/   支持多种常见的流行编程语言,如C++ Java Node.js PHP Python等等。 其实从本质上来看到gRPC其实是基...

2020-01-05 18:28:07 7997 0

原创 2020Jenkins学习笔记

背景 ​ DevOps其实是描述的是从开发人员push代码或者上线打tag发布新版本的时候,会经过一些列单元测试,集成测试,自动部署等等一系列步骤转化为自动化的一个过程。只要这些自动化脚本都做好了, 那么就节约了很多的物力和财力。 程序员只要关心自己的业务代码即可, 后面一些列繁琐的事情,...

2019-12-09 16:09:44 7822 0

原创 ssh端口转发(隧道技术)

1.本地端口转发 假设有以下场景,本地客户端A, 远端服务器有B和C, B和C处于同一个内网,且 B上配置了公网ip,C只有内网ip。 那么现在存在一个需求, 我想让A能够访问到C上面部署的一个nginx(监听80端口)的服务。那么怎么解决这个问题? (前提: A能够发起ssh连接到B服务器上...

2019-11-13 14:37:17 8286 0

原创 golang之gin框架学习笔记

golang很多web框架如beego echo 还有gin。 之前公司听同事说后面他们的项目使用gin去重构代码,顺带自己在学golang, 与其纠结选择学习哪个框架,既然公司有人在用,那他们应该是做了一些调查和分析决定的,所以就挑了gin。其实只要掌握一门web框架,其他框架学习起来上手也很快...

2019-11-03 22:06:04 7999 0

原创 lua入门与学习笔记

由于nginx采用异步非阻塞io模型, 可以高效的处理并发请求,nginx还可以加入一些模块,其中就包括lua模块。 这个模块非常强悍和轻巧,犹如瑞士军刀,小巧精悍。nginx在做反向代理以及web服务器,是拿到http第一手源数据,那么我们可以在nginx这一块针对例如url转发,头信息过滤校验...

2019-10-27 14:30:18 7825 0

原创 php源码逆向工程转化为UML类图

通过php源码导出uml类图能够方便我们查看整体项目的类结构,方便我们去阅读源码以及理解。找到一个项目, phuml使用php代码扫描php代码文件,通过extends implements以及注解等形式, 描绘出DOT格式的画图文件,再通过Graphviz软件将DOT图形文件转化为png图片格式...

2019-10-11 15:42:26 8637 0

原创 由于已经具备PHP基础转Golang学习笔记

golang近几年由于docker k8s等开源项目实在是火得不行,很多国内大厂也都有使用go语言对现有项目或者新项目进行使用。典型国内最早期的粉丝当属七牛云了,许式伟的<<Go语言编程>>这本书也是很多golang入门者的必备书籍。不过,就我个人而言,书籍主要还是以作为工...

2019-09-12 00:55:11 8495 0

原创 Redis通信协议

1.前言   redis日常开发多多少少都有使用过。不过大多数都停留在get set等基本操作,存数据,取数据等简单操作。对于redis的通信协议基本上都没怎么留意过。了解相对底层的东西,有助于我们更好的使用redis以及排查错误。 2.redis通信协议的基本内容 &nb...

2019-07-02 23:25:08 14903 0

原创 ssh设置通过http代理连接远程主机

需求背景 存在A B C三台主机, 由于安全因素或者其他,A不能直接与C通信,反之亦然。 但是存在B可以与A,C通信。 则现在需要在A上通过ssh, 假设B以及搭建好一个http代理,专门来代理ssh访问C的服务。具体方法分为2种常见做法: 1.通过软件 corkscrew作为proxy的...

2019-06-11 10:31:15 20641 0

转载 全网最详细解释memcached中的flags含义

前言 复习memcached中,发现很多人对set/add 语法中设置的 flags参数理解不是很透彻, 大家人云亦云。 查资料从来不对别人的材料加以自己的理解写出来,那其实有毛用。百度出来的文章如出一辙,完全是同一篇文章。总是说flags参数来表示是否压缩数据。。。。我怀疑很多人也真实人云亦云...

2019-05-22 22:04:57 15386 0

原创 关于linux实用命令学习以及重要知识点

前言 本来这几天复习linux常用的命令,自己本来想写上一些记录的笔记。不过在github上搜到一个仓库,写得还挺全面的。和自己复习的内容所差无几,所以就没必要在博文中写出来了,重复同样的劳动,何况自己写得不比别人写得好到哪去。 仓库地址: https://github.com/Nick233...

2019-05-18 13:50:10 14893 0

原创 优化Dockerfile最佳实践

1.原文参考 地址: https://blog.fundebug.com/2017/05/15/write-excellent-dockerfile/ 2.总结 原文总结如下: 对于其中"编写.dockerignore文件","合理调整COPY与RUN的顺序&q...

2019-05-01 23:35:23 16716 0

原创 Linux的I/O重定向执行结果解惑(执行顺序)

面试题 常见面试会考到i/o重定向问题的时候,这个问题问倒了不少人,即使能回答上来的有些是靠猜的。网上看到一篇文章,博主基于作者的思想总结了一点感悟和技巧,来详细解释一下重定向最终执行过程。 如下面的面试题: 问 一下哪个命令执行结果与其他三个不一样 ? 为什么? 1.cmd > lo...

2019-04-26 13:08:48 15515 0

原创 搭建Harbor镜像(docker)私有仓库

1.搭建企业级别docker镜像私有仓库 需求: 企业中需要在内网中搭建自己的私有docker仓库管理。虽然可以使用例如阿里云等公司提供的镜像仓库管理,但是这样走公网流量pull镜像十分浪费,而且速度肯定不比内网传输快,所以搭建自己私有仓库对镜像进行管理是十分必要的。目前比较流行的2中方法. ...

2019-04-13 23:44:38 15809 0

原创 DOT语言画图工具

1.详细内容,借鉴以下原文 https://blog.csdn.net/stormdpzh/article/details/14648827 2.个人见解 使用DOT能够画出以一些简单的流程图,无向图,有向图等等。可以结合自己的项目做二次开发,特别是针对"图"的数据结构。可...

2019-04-01 17:39:43 16465 0

原创 实用phpstorm快捷键

列举了一下日常开发中phpstorm实用以及常用的快捷键。网上一大堆快捷键,实用的也那么几个,要是想查找更多快捷键,搜索一下就能找到了,就像学语文一下,会常用的文字即可,不懂再查字典。有些文章恨不得你把所有快捷键背下来。。。很是无语,有些你基本90%以上都用不到。 和你遇到生僻字是一样的道理。 ...

2019-03-21 18:54:07 16634 0

原创 使用Google百度等搜索引擎的常用搜索技巧

原文地址: https://www.imooc.com/article/4071 列举几个常用的技巧,日常够用。 1.使用双引号包含关键词,实现准确完全匹配搜索 例如: “李白” “李荣浩” “k8s” 2.使用减号排除搜索结果 例如: “狗” - 泰迪 (搜索狗,但...

2019-03-18 22:09:09 18111 0

原创 https与http区别以及https数据加密解密过程

  之前只是去了解了https零散的知识,只是大体知道比http安全。但是其中数据交互的来龙去脉,不是很清楚。借助今天的一篇文章总结一下自己的理解。原文可以参考: https://mp.weixin.qq.com/s/7rn4ruT2KemKRJRUkCwyfA https出现的背景 大家都知道...

2019-03-02 01:14:34 18276 0

原创 实用处理字符串的linux命令

tr tr -d &amp;amp;amp;amp;amp;amp;amp;quot; &amp;amp;amp;amp;amp;amp;amp;quot; # 去除字符串里面的所有空格 tr -d &amp;amp;amp;amp;amp;amp;amp;quot;\n...

2019-02-21 19:18:29 17887 0

原创 hexo搭建个人博客心得

什么是hexo? hexo是基于node.js做的一个静态文件生成工具。通过hexo可以将我们写好的markdown文件,生成可视化的html页面。对于程序员来说,写技术博客不需要花里胡哨的排版,简洁大方。详情可以查看github: https://github.com/hexojs/hexo...

2019-02-20 22:15:24 16931 0

原创 Dockerfile文件命令解释

几分钟就能掌握Dockerfile文件命令的含义: 1.ARG version=1.0 # 传递过来的变量参数 默认值是1.0 在使用docker build --build-arg version=1.0(默认参数) 使用 ${ARG变量名} 来当做变量: 例如 : ARG vers...

2019-01-31 17:01:29 17378 0

原创 docker-compose解惑

之前不是很理解docker-compose的用处。现在来想想,突然感觉茅塞顿开的感觉。之前有过docker基础,日常自己部署一些小站点,博客,或者学习之类的都有用到。都是一把梭,很简单的docker run 几个命令搞定了。用docker-compose感觉大材小用了。然后自己想想可以通过shel...

2019-01-29 22:41:00 18028 0

原创 学习Python的精品笔记

石墨文档地址:https://shimo.im/docs/fooucf8wa8EtAB32/ 「Python学习笔记」

2018-10-26 16:21:10 17076 0

转载 一句话理解正向代理和反向代理

 通俗解释就是:    1.正向代理需要客户端去配置代理信息,然后进行访问,充当一个类似访问"中间人"的角色,帮客户端获取数据。 2.反向代理针对用户是"透明的",用户和正常访问网站一样,没有任何配置操作,根本就不知道这个代理的过程。反向代理处理正常 ...

2018-10-26 16:17:09 17051 0

原创 在线预览office文件

     通过微软公开的api接口,将文档的URL传入即可实现在线预览office文件,而不需要去下载文件。 同时,若是想做提供预览office办公软件的服务,直接调用接口即可,无需利用openoffice或者某些软件去转成pdf文件或者html文件。 不过带来的一个问题是,若是使用微软的预览接口...

2018-09-20 14:34:52 23821 1

原创 同步,异步,阻塞与非阻塞

      借鉴原文: https://www.jianshu.com/p/aed6067eeac9        文中说到最重要的一点就是作者很明确地对同步与异步,阻塞与非阻塞做了详细并且通俗,一语点破两者的关系,瞬间茅塞顿开。 同步与异步(大白话说):   首先来解释同步和异步的概念,...

2018-08-09 14:24:45 16980 0

原创 axios的post后端无法接收到参数

最近在学习一下前端,http异步请求框架之前一直沿用jquery。突然发现axios在github上start数也是很牛,vue.js推荐使用axios。 所以就拿过来看看。无外乎就是get  post请求等等,很容易上手。看一下文档 几分钟能写一个小demo测试出来。get请求完全是没有 问...

2018-05-08 22:31:48 18939 0

原创 网站添加https的原因和DNS劫持

最近csdn头条出现"黑客通过DNS劫持,盗取以太坊用户的虚拟货币"的标题,点进去看了一下。之前也听过DNS劫持和http劫持的一些概念,但是没有和https联系过。这一下恍然大悟,之前看过数字签名,数字证书这些东西的概念,但是没有过多把这些联系起来。其实最简单的一个DNS劫持...

2018-04-27 16:51:46 21605 0

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