自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 go语言 defer的使用技巧

延迟调用函数概念就不在这里讲解了。 限于当时对Go的了解程度,很多延迟调用函数相关的细节和用例并没有在之前的文章中提及。 这些细节和用例将在本文中列出。很多有返回值的内置函数是不能被延迟调用的在Go中,自定义函数的调用的返回结果都可以被舍弃。 但是,大多数内置函数(除了copy和recover)的调用的返回结果都不可以舍弃(至少对于标准编译器1.16来说是如此)。 另一方面,我们已经了解到延迟函数调用的所有返回结果必须都舍弃掉。 所以,很多内置函数是不能被延迟调用的。幸运的是,在实践中,延迟调用

2021-04-28 19:09:10 239

原创 kong网关&konga部署

目录简介安装kong(centos)安装konga查看结果结束简介本片文正大家介绍一下kong网管和konga的部署。kong官网:https://konghq.comkonga:https://github.com/pantsel/kongapostgresql(建议安装版本9.6):https://www.postgresql.org/安装kong(centos)备注:需要先准备好postgresql数据库,可参考上面的文档连接wget -c https://bintray.com/

2020-12-19 11:52:59 1115 2

原创 kubernetes单机部署

简介本篇文章,笔者会讲述kubernetes单机部署过程和碰到的一些坑点儿。相关文档:Kubernetes从零开始搭建自定义集群安装kubectl、kubeadm、kubelet(以下两种方法二取一)配置国内的k8s的yum源cat << EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yu

2020-06-21 10:53:58 1709 3

原创 golang sync包中的pool讲解

开始:主要结构主体流程PUT方法GET方法基准测试主要结构// 第一次使用时,不能复制type Pool struct { noCopy noCopy //空结构,用来防止pool在第一次使用时被复制。 local unsafe.Pointer // 本地固定大小的pool池,其实类型为[P]poolLocal localSize uintptr // 本地固定pool池的大小 victim unsafe.Pointer // 表示上一个周期的local v

2020-05-18 21:49:18 433

原创 从CPU执行计算机指令层面来看if...else和switch的区别

目录基础概念:简单熟悉分析if...else和switch:基础概念:程序的执行过程:程序(高级语言写的代码)-- 汇编语言 – 到机器语言(CPU可识别的机器代码)相关汇编语言词汇解释:mov:赋值操作,例:mov DWORD PTR [rbp-0x4],0x1;jne: (jump if not equal 如果不等于就跳转),例:jne 4a <main+0x4a>...

2020-04-04 18:00:49 580

原创 使用gomock实现单元测试

gomock安装接口文件生成代码使用MOCK分析mock生成的代码结尾安装包下载:go get github.com/golang/mock/gomock获取文档:go doc github.com/golang/mock/gomock代码生成包:go get github.com/golang/mock/mockgen接口文件//定义接口文件,如下。并实现接口package dem...

2020-03-22 11:35:47 667

原创 记一次服务内存报警排查过程

早上起来,看到群里机器人发的服务报警信息,仔细一看是自己负责的项目在报警,并且持续报警了20分钟左右{“pod_name”:“xxxxxxx-xxxxxxx”} 最近3分钟求平均 >= 80.0, 当前值81.9331,报警名称:生产环境_POD内存报警可看出是内存报警,而不是CPU报警。所以要先确认一下内存占用情况和内存配置是否合理。内存报警:比如一个请求上传的数据量太多...

2020-02-11 16:52:26 436

原创 Golang基于amqp协议实现rabbitMQ队列消费

发布消息package mainimport ( "github.com/streadway/amqp" "log")//我们还需要一个辅助函数来检查每个amqp调用的返回值:func failOnError(err error, msg string) { if err != nil { log.Fatalf("%s: %s", msg, err) }}func ...

2020-02-04 17:15:50 2014

原创 Centos安装rabbitMQ

内容相关rabbitMQ安装文档:https://packagecloud.io/rabbitmq/rabbitmq-servererlang下载安装地址:https://www.erlang.org/downloads安装存储库curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/scr...

2020-02-04 17:09:23 494

原创 PHP核心配置详解

ddd

2019-11-24 19:36:11 300

原创 服务器搭建gitlab并配置CI/CD

1.安装依赖包sudo yum install -y curl policycoreutils-python openssh-server2.设置SSH开机自启动并启动SSH服务。sudo systemctl enable sshdsudo systemctl start sshd3.安装Postfix来发送通知邮件sudo yum install postfix4.设置Pos...

2019-10-13 16:05:47 831

原创 MySQL获取一行数据有多少个字段为空

简介今天PO(产品)要获取一些数据进行分析,要求是在一个店铺表里面获取大部分有资料的店铺。???是不是有点懵?好的,我抛开业务层面来为大家解析一下:一个表里面,11个字段,获取空字段小于4个的数据。是不是明白了什么意思了,但还是很懵逼,无头绪,哪有这样的?并且,据我多年的工作经验,好像MySQL并没有处理这样逻辑的函数啊。但是,方法总比困难多!接下来我为大家分享一下自己的解题思路:开...

2019-07-25 20:45:05 3673

原创 protocol buffer安装

protocol buffer安装简介开始安装简介Google Protocol Buffer( 简称 Protobuf) 是Google公司内部的混合语言数据标准,目前已经正在使用的有超过48,162种报文格式定义和超过12,183个。proto文件。他们用于RPC系统和秩序数据存储系统。Protocol Buffer是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列...

2019-07-19 23:20:05 223

原创 yum更新gcc到版本8

第一步:安装scl源:yum install centos-release-scl scl-utils-build第二步: 列出scl可用源yum list all --enablerepo='centos-sclo-rh'yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"第三步: 安装8版...

2019-07-19 22:51:32 7352

原创 一条SQL语句是如何执行的?

大家六一儿童节好呀!接下来的一段时间内,将带领大家一同探索MySQL的奥妙,加油吧!我们。下面进入正题:一条SQL语句是如何进行的?对于这个问题,我想将其分为两个问题来回答,分别是:一条查询SQL是如何执行的? 一条更新SQL是如何执行的?我们都知道MySQL内部是分为Server层和存储引擎层的;每个层都有各自的职责;对于一个查询语句,eg:select * f...

2019-06-01 11:22:35 3395

原创 git使用心得分享

本人从开始工作到现在一直使用的版本工具都是GIT;今天给一些初学者和不太了解的人分享一些常用的功能和技巧以及心得我们从一步步开始做起,争取让每个人都能看完就能上手,并且明白怎么个回事!第一步:创建版本库(秘钥已经生成)git init //该命令会在你的文件夹中生成一个.git文件,如果不是必须,则千万不用更改里面的东西 第二步:添加远程仓库 git remote ...

2019-05-27 22:24:48 192 1

原创 docker容器创建、镜像创建、镜像发布

docker是一个开元的应用容器引擎,基于GO语言开发,属于操作系统层面的虚拟化技术。docker可以让开发者打包它们的应用以及依赖包,到一个轻量级可移植的轻量级容器中,然后发布到任何装有docker电脑上;docker容器使用沙箱机制,相互之间不会有任何接口,更重要的是docker对资源的开销很小。容器创建我们可以通过docker ps来查看当前有哪些容器正在run!...

2019-03-20 13:57:49 2484

原创 Redis集群 之 gem安装

第一步:安装ruby环境yum install ruby yum install rubygems第二步:gem install Redis //这一步会有一个报错,ERROR: Error installing redis-4.0.0.gem: redis requires Ruby version >= 2.2.2.下面是解决办法:gpg -...

2019-03-20 11:15:41 5088

原创 Linux安装Redis

安装下载,提取和编译Redis:$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz$ tar xzf redis-5.0.4.tar.gz$ cd redis-5.0.4$ make现在编译的二进制文件在src目录中可用。运行Redis:$ src/redis-server您可以使用内置客户端与R...

2019-03-20 10:28:21 173

原创 redis集群搭建详解

今天来谈一下Redis集群的搭建,咱们关于Redis的概念以及特性,请在这篇博客中了解;废话不多说,直接开始搭建Redis集群: (如果还没有安装Redis,请先安装https://blog.csdn.net/wfx15502104112/article/details/88679623)首先在Redis目录中创建文件夹cluster-test,并在里面 创建6个文件夹(减少最少6个),...

2019-03-20 08:27:28 225

原创 beego 之 ORM

beego ORM是一个强大的GO语言ROM框架。她的灵感主要来自Django ORM 和 SQLAlchemy.目前该框架仍处于开发阶段,可能发生任何导致不兼容的改动。目前已支持的数据库驱动MySQL:github.com/go-sql-driver/mysql PostgreSQl:github.com/lib/pq Sqlite3:github.com/mattn/g...

2019-03-18 11:18:14 1242

原创 PHP使用Redis实现session共享

随着时代的发展,大数据,大流量、高并发已然成为常态;所以对于以上问题我们采取了很多的手段来提高服务器性能。这里不得不提的就是服务器集群--负载均衡;将用户请求根据前提设定发放到有能力接受的服务器上;但是,问题也随着产生,比如今天要讲的内容——“session共享”。如果在多台服务器共同处理请求时,无法保证用户的登陆状态,那对用户来说绝对绝对的差体验!对于session共享,有一个老方法就是让...

2019-03-16 10:28:57 1810

原创 MySQL事务的四种隔离界别以及会造成的问题和解决办法

MySQL事务的特性:原子性、隔离性、持久性、一致性MySQL四种隔离界别:读未提交、读已提交、可重复度、串行化一、读未提交(read uncommitted):读未提交:那个问题都不能解决。容易出现脏读。脏读就是,一个事务中读到了另一个事务未提交的数据。如下面例子事务A:事务B:二、读已提交(read committed)可以解决脏读,但是会不可重...

2019-03-04 15:39:11 1090 4

原创 基于mysql8的密码修改

首先,在mysql的配置文件中加入一句话skip-grant-tables(不加注释)第二步:重启mysql服务systemctl restart mysqld 第三步:进入mysql第四步:挨个执行命令use mysql;update user set authentication_string = '' where user = 'root'; //将密码置空ex...

2019-02-28 11:15:50 216

原创 mysql8安装详解

首先卸载掉之前的旧版本,执行 rpm -pa | grep mysql,然后挨个rpm -e rpm包名下面开始安装mysql8进入官网https://dev.mysql.com/downloads/mysql执行命令wget 刚才复制的链接地址得到一个安装包。(我是先将其下载到/tmp目录下) 然后将压缩包复制到/usr/mysql目录下,然后解压,就会得到几个rpm包,如下...

2019-02-28 11:02:05 231

转载 MySQL外键&外键约束

今天给大家分享一下关于MySQL外键的知识内容 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。外键主要用来保证数据的完整性和一致性外键       使用条件:表的存储引擎必须为innodb,myisam目前...

2019-02-15 10:13:35 229

原创 PHP 五大运行模式浅谈

第一种:CGI  CGI即通用网管接口(Common Gateway Interface),它是一段程序,通俗的讲CGi就是一座桥,用在网页和服务器之间的通讯。它把HTML发送过去的程序传递给服务器,再把服务器的执行结果返回给HTML页面;CGI的跨平台性能极佳,几乎可以在任何操作系统上实现。但CGI已经是比较老的模式了第二种:FastCGI  FastCGI可以说是CGI的升级模式了...

2019-01-09 15:14:24 193

转载 Redis五种数据类型及应用场景

MySql+Memcached架构的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。  2.Memcached与MySQ...

2019-01-02 15:59:17 298

原创 laravel路由解析全解

今天来详细的跟大家分享laravel框架中的路由到底是如何解析的~第一步,我想先让大家知道路由原本的样子和解析后的样子原:Route::get('/home', 'HomeController@index')-&gt;name('home');解析后:app\controllers\HomeController@index大体的整个执行过程是这样的:(读这篇文章之前大家可以先了解...

2018-12-27 21:04:08 5753 1

原创 依赖注入&依赖注入容器

依赖注入:应用程序对需要使用的依赖【插件】在编译(编码)阶段仅依赖于接口的定义,到运行阶段由一个独立的组装模块(容器)完成对实现类的实例化工作,并将其【注射】到应用程序中称之为——“依赖注入”...

2018-12-26 21:06:02 684

原创 laravel框架用户登录

一、注册 进入注册页面: 表单提交后~~进入注册的控制器类RegisterController,里面有1、引入一个trait(PHP新特性,不懂的自行百度)2、指定注册后跳转页面3、构造函数,绑定中间件4、数据验证5、数据创建进入到刚才的trait里面我们可以看到注册方法第一步: 验证数据(用刚才上面的验证方法)$this-...

2018-12-25 20:27:22 3717

原创 安装lnmp环境心德

一、处理之前的lamp环境: 无须卸载Apache,只要用“systemctl stop httpd”就OK啦!,然后就可以安装Nginx啦!其中PHP、MySQL已经安装好,所以直接安装Nginx就完事。二、安装Nginx 1、添加Nginx到YUM源 sudo rpm -Uvh http://nginx.org/packages/cent...

2018-08-02 16:04:51 227

原创 Linux系统用户及用户组管理

一、认识/etc/passwd 和 /etc/shadow      这两个文件可以说是Linux系统中最重要的文件之一。如果没有或者存在问题,您是无法登陆Linux系统的        /etc/passwd 由‘:’分割成7个字段,每个字段的具体含义是:(1) 用户名(如第一行中的root就是用户名),代表用账户的字符串。用户名可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他...

2018-05-23 21:52:56 1421 1

原创 在Linux中mysql的一些基本操作

Mysql的具体安装步骤可查看Centos 7安装LAMP环境 下面介绍一下一、关于在Linux中mysql的一些基本操作1、进入mysql “mysql -uroot -p”,会提示输入密码,输入密码时是不可见的,直接输就可以,如果输错可以退格键删除2、链接数据库刚刚通过使用 mysql -uroot -p 就可以链接数据库了,但这只是连接本地的“localhost”,可是有很多时候都是去连接某...

2018-05-22 21:16:01 1347

转载 Centos 7安装LAMP环境

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。#停止firewall服务systemctl stop firewalld.service#禁止firewall开机启动systemctl disable firewalld.service#安装yum install iptables-services#编辑防火墙配置文件vi /etc/sysconfig...

2018-05-22 10:15:42 470

空空如也

空空如也

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

TA关注的人

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