自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Golang 新手可能会踩的 50 个坑

Golang 新手可能会踩的 50 个坑第7题,检测被覆盖变量:go变量赋值覆盖检测

2020-09-11 18:46:40 29

原创 go变量赋值覆盖检测

由于作用域及赋值操作 := 会自动创建变量,容易发生变量被覆盖或者赋值不成功。检测方法如下(windows系统)go vet检测go help vetgo install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow#go vet -vettool=$(which shadow)cd $GOPATHgo build src/golang.org/x/tools/go/analysis/passes/shadow/cmd/shad

2020-09-09 17:52:01 58

原创 golang初始化顺序/执行顺序_init 下划线最佳实践

go语言的初始化顺序,包,变量,initgo程序执行顺序(转)golang入门-- import包与包内init方法的执行时机怎么用好 Golang 的 init 函数golang 下划线(underscore)的意义go import 下划线 的实现原理import _ "net/http/pprof"import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "

2020-09-09 16:14:36 130

原创 php执行原理与Opcache、JIT原理

【转】PHP的执行原理/执行流程 https://www.cnblogs.com/hongfei/archive/2012/06/12/2547119.htmlPHP扩展-生命周期和内存管理 https://www.cnblogs.com/beatzeus/p/6071902.html

2020-09-06 21:54:52 29

原创 站点配置无效排查

背景wsl各种问题,且没法升级wsl2,只能重装虚拟机,配置环境网站运行不起来curl '127.0.0.1'curl: (7) couldn't connect to hostifconfig 3个虚拟网卡的ip地址都能ping通,表示机子在运行1、可能防火墙没有配置 iptables 添加相关端口 无用2、sudo netstat -anp | grep 80 没有,表明80端口没有被监听,nginx有问题,但nginx运行正常,且sudo nginx -t 检测成功2.1、重装 无用

2020-09-03 01:14:18 62

原创 php正则特殊字符emoji表情

/** * 过滤掉含韩语、日语等非汉字、纯英文、纯数字 * 汉字加数字、英文 ok * 可能有特殊字符 * */$str = " love,poem";//$str = " 日音•推荐";//$str = "李易峰情人节在家烤全羊 ";//$str=" 早安,厦门";//$str=" 你能做什么?献血,现在献血,经常献血";//$str=" 新疆,亚克西!";//$str...

2020-03-02 21:35:50 713

原创 golang strings.Split函数

email := "abc@a.com" emailS := strings.Split(email, "@") fmt.Println(emailS) //[abc a.com] s := strings.Split("abc,abc", "") fmt.Println("empty seperator ", s, len(s)) // [a b c , a b c] 7 s = ...

2020-02-22 16:05:04 1844

原创 golang uint8 int8 byte rune转换

uint8 unsigned 8-bit integers (0 to 255)type byte = uint8type rune = int32 b := []byte{104, 101} u8 := []uint8{104, 101} fmt.Printf("%T %T\n", b, u8) //[]uint8 []uint8 fmt.Println(string(b), st...

2020-02-22 14:35:59 1124

原创 golang 字符串数字互转

数字转字符串 //64位unsigned 最大值 var aUint uint = ^uint(0) fmt.Println(aUint) fmt.Println(uint64(math.Exp2(63)*4), uint64(math.Exp2(63))*4-1)//超范围赋一个最大值? //fmt.Sprintf fmt.Println("fmt.Sprintf: ", fmt....

2020-02-22 14:09:11 1728

原创 golang len函数 字符长度

数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度,注意,结构休(struct)、整型布尔等不能作为参数传给len函数。channel:通道中未读的元素个数字符串:字节数,并非字符串的字符数 var arr = [...]int{5:2} //数组指针 var p1 *[6]int = &arr fmt.Println(reflect.T...

2020-02-22 14:04:09 1599

原创 linux文件格式ASCII变data无法正常查看

异常文件:正常文件:异常文件 tail可读,cat、more、head显示有问题,应该是文件前面出现问题grep无法正常搜索,grep -a可正常搜索sed -n ‘2,4p’ content_sync_err.log 正常,说明是首行有问题,单独讲首行导出有5百多M,具体什么原因造成的还不知道...

2020-02-13 21:43:48 439 3

原创 gin GetPostFormMap PostFormArray MultipartForm方法使用

contentType := c.Request.Header.Get("Content-Type") fmt.Println("++contentType++",contentType) id,_:=c.GetPostFormMap("id") name,_:=c.GetPostFormMap("name") fmt.Println("GetPostFormMap++",id,nam...

2019-12-21 10:49:59 962

原创 php Hprose/Http error日志记录504超时错误

$data = curl_exec($curl);$errno = curl_errno($curl);//本地curl配置的超时时间较长(大于接口超时时间),且curl返回的504,curl_errno函数返回0 CURLE_OKHprose/Http/Client.php默认超时时间为30s,下游接口15s返回504超时,在getContents函数中检测http code,造成ph...

2019-12-13 11:43:39 174

原创 linux实用命令

查看所有用户的crontab任务2018年08月14日 10:20:44 sidney 阅读数:685以root用户执行,cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}

2019-08-08 20:33:29 223

转载 php获取服务器状态 执行shell

介绍获取服务器状态记录使用的是SHELL命令方式进行获取输出结果 然后进行字符串拆分处理等方式进行获取到自己有用信息获取方式以及常用处理方式popen、exec通用方式<?PHP $fp = popen('执行SHELL命令', "r"); $rs = ''; while(!feof($fp)){ $rs .= fread($fp, 1024...

2019-06-09 16:44:00 826

原创 php $_SERVER的一些返回

HTTP_HOST:当前访问该站点的host,ip访问或域名访问SERVER_NAME、SERVER_PORT:ng配置的server_name、portSERVER_ADDR:用127.0.0.1访问,返回127.0.0.1,用172.16.43.106(内网ip)访问返回172.16.43.106,用域名访问,返回内网ip...

2019-04-29 11:47:00 114

原创 mysql中length()、char_length()的区别 检验中文字符

CREATE TABLE char_len_gbk (mark varchar(10) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=gbkSELECT CHARACTER_LENGTH(mark),LENGTH(mark),mark FROM test.char_len_gbk;一、char_length(str)1、长度的单位为字符,一个多字节字符...

2019-04-27 16:48:53 4847

原创 PHP中使用redis执行lua脚本示例 multi、pipeline、scan

<?php$redis = new Redis(); #实例化redis类$redis->connect('127.0.0.1'); #连接服务器$lua = <<<SCRIPT return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}SCRIPT;//对应的redis命令如下 eval "return {KEYS[...

2019-04-27 15:37:48 1833

转载 redis aof细节

aof流程Redis把更新命令记录到AOF文件,分为两个阶段:阶段1:把更新命令写入aof缓存,如下图示:阶段2: 把aof缓存写入文件在命令添加到aof_buf内后,每次事件循环开始,会调用flushAppendOnlyFile(int force)来将aof_buf写到硬盘上。aof.c/flushAppendOnlyFile 函数执行以下两个工作:WRITE:根据条件,将 a...

2019-03-10 18:08:07 459

转载 Mysql存储过程和函数区别介绍

存储存储过程 是一段代码(过程),存储在数据库中的SQL组成。一个存储过程通常用于完成一段业务逻辑,例如报名,交班费,订单入库等。而一个函数通常专注与某个功能,视为其他程序服务的,需要在其他语句中调用函数才可以,而存储过程不能被其他调用,是自己执行 通过call执行。存储过程和函数都是属于某个数据库。存储创建无参存储过程:delimiter $$CREATE PROCEDURE sho...

2019-03-02 15:42:46 4956

原创 ci部署脚本

#!/bin/bash -iledomain_name=xxx.comapp_dir=/dataif [ &amp;quot;$status&amp;quot; == &amp;quot;deploy&amp;quot; ]; then md5_new=`cat composer.lock | md5sum | awk '{print $1}'` md5_old=`cat composer_md5` if [ &amp;quot;$md5_new&am

2019-01-31 15:37:02 554

原创 php项目构建速度优化 composer加速

1 使用国内镜像(全局配置) [加速]composer config -g repo.packagist composer https://packagist.phpcomposer.com2 安装 hirak/prestissimo 插件 [加速]发布机执行composer global require hirak/prestissimo卸载命令composer glob...

2019-01-30 14:30:34 282

原创 恢复删除很久的分支

git reflog 从分支clone到当前的提交记录,之前的分支可能找不到TortoiseGit:其他:git命令log与reflog的比较https://blog.csdn.net/u013252047/article/details/80230781git reflog 恢复已删除分支https://blog.csdn.net/changerzhuo_319/artic...

2019-01-28 21:24:49 513

原创 模拟网速慢-手机模拟网速慢--模拟网络卡顿

charles代理控制网速:【小技巧】如何模拟网速较慢情况chrome浏览器控制网速:chrome浏览器模拟慢网速环境手机模拟网速慢1、手机连接charles代理,模拟手机网速慢,并可以抓包请求2、不需抓包的直接在手机设置–移动网络–网络类型选择,选择2g、3g...

2019-01-07 14:20:09 1769

转载 消息队列的两种模式

Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。点对点与发布订阅最初是由JMS定义的。这两种模式主要区别或解决的问题就是发送到队列的消息能否重复消费(多订阅)1、定义JMS规范目前支持两种消息模型:点对点(point to point, qu...

2019-01-01 19:14:15 109

原创 小米/红米手机安装charles证书

设置完代理,用浏览器访问 http://charlesproxy.com/getssl ,下载证书,添加证书本人小米手机,出现提示:进入 安全中心-应用管理,点击页面右上角,选择显示全部应用,就可以找到文档,然后启用。...

2018-10-24 17:39:36 4725

转载 域名解析知识

#域名解析基础知识(NS,A记录,CNAME,MX)##1 DNS中A记录和CNAME记录的区别A记录是域名到ip的映射,即为ip起别名;CNAME是域名别名到域名的映射,即为域名起别名。还有一个常用的记录是MX记录,它是与邮件相关的,MX记录记录了发送电子邮件时域名对应的服务器地址。原文:http://blog.xieyc.com/differences-between-a-record...

2018-10-18 10:27:05 680

转载 负载均衡

负载均衡的几种类型一、负载均衡负载均衡的目的就是让请求到达不同的服务器上。一次请求到服务器之间,有那么多环节,因此可以实现的方法有很多种,实际应用中不外乎以下几种方式。1.HTTP重定向负载均衡HTTP重定向负载均衡有一台重定向服务器,它也是一台普通的服务器,其唯一的功能就是根据用户的HTTP请求计算一台应用集群中服务器的地址,并将此地址写入HTTP重定向响应中返回给用户。...

2018-09-12 15:58:40 106

原创 linux curl每秒请求一次 成功后终止

#!/bin/bashwhile [ true ]; do/bin/sleep 2 #几秒请求一次rst=`curl -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'User-Agent: Dalvik/2.1.0 (Linux; U; Android 8.0.0; MI 6 MIUI/8.6....

2018-09-10 18:03:42 3707

转载 Linux命令发送Http的get或post请求(curl和wget两种方法)

【转】PHP的执行原理/执行流程 https://www.cnblogs.com/hongfei/archive/2012/06/12/2547119.htmlPHP扩展-生命周期和内存管理 https://www.cnblogs.com/beatzeus/p/6071902.html

2018-09-10 17:56:34 597

原创 Charles修改返回报文/Charles指定返结果

1、保存结果: 右键目标接口(下同) 2、指定结果: 双击选择刚才保存的response,再次请求,图标发生变化 3、可以重复请求接口,或模拟并发请求 4、还可生成生成Linux下curl命令,带header、post等全部参数 ...

2018-09-10 17:56:12 1596 1

原创 sublime 3编辑器插件(重点:改变选中样式颜色、函数追踪)

a file icon侧边栏不同文件增加图标 tortoisesvnsvn操作 Modific文件更改提示(git svn),更改图标配置,使提示的图标大一些 { &amp;amp;quot;region_icon&amp;amp;quot;: &amp;amp;quot;circle&amp;amp;quot;,}sftpsftp连接 自动生成或手动创建sftp-config.json,完成配置 S

2018-08-21 19:13:16 2147

原创 PHP之数组函数归类辨析

数组键值特性key 可以是 integer 或者 string。value 可以是任意类型。 此外 key 会有如下的强制转换: 包含有合法整型值的字符串会被转换为整型。例如键名 “8” 实际会被储存为 8。但是 “08” 则不会强制转换,因为其不是一个合法的十进制数值。 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。 布尔值也会

2018-08-13 16:27:01 658

原创 php inlude和require的区别

1、均是语言结构,不是函数,不用括号,如 require ‘a.php’; 2、如果要引入的文件不存在,include E_WARNING 继续执行, require fatal error (E_COMPILE_ERROR) 程序中断 3、没有什么预加载、预处理的区别!!https://andy-carter.com/blog/difference-between-include...

2018-07-13 16:45:24 190

原创 字符转义调试

xdebug.overload_var_dump 设置为0xdebug.overload_var_dump 设置为 0时 则原样输出,设置为 1时 则启用xdebug的var_dump(),设置为 2时 启用xdebug的var_dump()的同时输出所在文件所在行信息xdebug.overload_var_dump 设置为1在浏览器中查看 ...

2018-07-13 16:35:17 136

转载 PHP用openssl_encrypt代替mcrypt_encrypt

每个人都应该已经停止使用PHP Mcrypt扩展程序进行新的工作,并且应该计划将其现有的应用程序关闭,因为libmcrypt在2003年被放弃,并且不被保护。 我认为最好的选择是OpenSSL。近年来热度很高,但我认为对称块加密是一个很好的选择。 (我可能会解释为什么我这么想呢) PHP中的 openssl_encrypt()和openssl_decrypt()的文档有点缺乏。本文旨在填补一些...

2018-07-03 19:20:45 3481

转载 网联与线上支付

网联的前世今生网联系统始建于2016年,是独立于现有银行间支付清算机构的新平台,该平台只有清算功能,不做支付,也不发卡。平台由各个参与方自主共建。除了央行和支付清算协会以外,其余股东股份最高不超过10%,防止被大型支付机构垄断。 在第三方支付出现前,银联的清算模式如下图所示,一切最终都要被银行银联监控。 但是以支付宝和微信为首的第三方支付的崛起改变了这一切,尤其是支付宝等工具可以直接和...

2018-07-03 16:56:49 4368

转载 DES加密秘钥

1 秘钥长度Each algorithm is designed to accept a certain key length. The key is used as part of the algorithm, and as such, can’t be whatever your heart desires.Common key sizes are:DES: 56bit key ...

2018-06-09 16:32:26 7304

原创 CI框架input get post (_fetch_from_array)

$index='444?487d?[[^44]][\][]'; $count = preg_match_all('/^[^[]+/', $index, $matches); var_dump($count,$matches); //$count = preg_match_all('/[^\]*/', $index, $matches);//Message: preg_m...

2018-05-18 11:04:22 409

转载 CGI、FastCGI和PHP-FPM关系

网关 API(网关 应用编程接口),SAPI(服务器端应用编程接口),CGI(web通用网管接口) 浏览器(客户端) HTTP web server SAPI web application CGI – PHP CGI FastCGI、IIS ISAPI PHP-FPM Apache php5_module cgi mode mod_fastcgi php-...

2018-05-12 13:49:54 166

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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