自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (6)
  • 收藏
  • 关注

原创 规则引擎项目

https://github.com/expr-lang/exprhttps://github.com/gorules/zen

2024-02-27 14:04:55 131

原创 icp备案查询参考项目

https://github.com/yitd/ICP-APIhttps://github.com/fghwett/icp

2023-10-30 15:52:06 18

原创 DNS服务器解析故障处理记录之arp_cache neighbor table overflow

过一段时间后 dig 恢复正常,dns 服务在故障过程中并没有重启过,我怀疑是公网网络出了问题,不是 dns 服务程序本身的问题。所以提出再出现故障,上服务器 dig 127.0.0.1 看解析是否正常。没想当晚问题马上又来了,立刻上服务器 dig,本以为自信认为不会出任何问题的,结果打脸了,心里瞬间慌了。现象是,dig 执行后没有很快的响应,等待了一下手输出,并且在正常的信息前报了两个错误:查看内核日志查看当前 arp 记录数查看 arp gc 阀值。

2023-04-08 13:52:49 755

原创 为什么要写单测

在计算机编程中,单元测试又称为模块测试,是针对程序模块来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类、抽象类、或者派生类中的方法。”摘录来自维基百科单元测试(Unit Testing)顾名思义就是测试一个单元,这里的单元通常指一个函数或类,区别于集成测试中的模块和系统。集成测试的测试过程通常存在跨系统模块的调用,是一种端到端的测试;

2022-11-17 09:22:41 1206

原创 Gorm乐观锁optimistic lock

概念悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。乐观锁乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁适用于读多写少的应用场景,这样可以提高吞吐量。实现机制

2022-03-03 23:41:24 4895

原创 fish在jetbrasins全家桶中失效

在terminal设置中把shell path设置成fish后,插件并没有生效解决方法:把terminal的Shell integration勾去掉参考:https://stackoverflow.com/questions/46609023/intellijs-embedded-terminal-does-not-load-fish-functions/57489688#57489688...

2022-01-28 19:22:45 515

原创 fish设置环境变量

bash我们设置环境变量是在/etc/profile.d下面,今天常识了一下fish发现环境变量不生效,于是研究了一下,这里来记录一下几个解决方案。默认交互不设置成fish,在~/.bashrc中添加一下代码,这种方式启动对原来的脚步不需要做改动if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" ]]then exec fishfi在这两个地方任意地方添加环境变量脚步/etc/fish/conf.d/~/.c

2022-01-28 19:03:09 5585 1

原创 ohmyfish主题添加执行时间和当前时间

没事倒腾了一下fish,习惯了ohmyzsh默认主题robbyrussell,并且自己添加执行时间和当前时间,所以ohmyfish这边也想一致。在主题目录下添加文件fish_right_prompt.fish文件中写入一下代码:function fish_right_prompt set -l S (math $CMD_DURATION/1000) set -l M (math $S/60) set_color red echo "(" if test $M -gt 1 .

2022-01-28 15:32:42 837

原创 CoreFoundation/CoreFoundation.h‘ file not found 解决方法

换了电脑通过迁移助手直接回复工作环境,所有东西都没有异常,但是今天跑单测的时候报错看来转移开发环境还是不能完整转移啊。解决方法就是重新安装Xcode command line tools备份Xcode command line toolssudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools_bak其实我在这一步后系统就提示我git需要xcode了,点击安装就完事,环境就好了。重

2021-12-28 17:43:56 1346

原创 mysql索引合并

一般情况下mysql只扫描一个索引查询数据。但还存在特殊情况会使用多个索引来查询数据,这个执行方法称为索引合并(index merge)。intersection 索引合并intersection中文就是交集的意思。就是把不同索引中扫描到主键值取交集然后回表操作。union 索引合并union中文就是并集的意思。把不同索引扫描到的主键求并集后执行回表操作。sort-union 索引合并前面两个合并方式都有个要求,就是要求扫描的索引记录都是按照主键值排序的。在扫描集中没有按照主键排序的

2021-07-31 00:07:08 179

原创 golang runtime.GOMAXPROCS(1) 协程执行打印顺序

package mainimport ( "fmt" "runtime" "sync" "time")func main() { runtime.GOMAXPROCS(1) var wg sync.WaitGroup wg.Add(10) for i := 0; i < 10; i++ { go func(i int) { fmt.Println(i) wg.Done() }(i) } // 1.14之前加上该行打印从0开始,之后版本则不影响 /

2021-07-22 12:50:14 430

原创 golang抢占调度协程阻塞部分场景

1.14版本引入了信号量抢占,在此之前抢占调度是通过栈增长来实现,但是有些场景下并不能成功的抢占,我们来了解一下。只有一个P,空循环导致无法抢占package mainimport ( "runtime")func main() { runtime.GOMAXPROCS(1) go func() { panic("already call") }() for { }}这个例子中在1.14之前会阻塞,这个例子讲解抢占调

2021-07-19 00:06:41 523

原创 chrome稍后阅读功能

chrome89更新了一个阅读清单,在标签栏右键添加标签到清单即可,如果你更新之后没有在标签栏看到阅读清单,到chrome://flags/开启Reading List即可。在此前这项功能都是通过扩展来实现的。我这里主要就是记录一下我之前使用过体验很好的一款扩展叫做阅读列表,该扩展直接在网页中任何地方右键就可以添加到阅读列表,并且也实现了多设备同步。扩展地址:https://chrome.google.com/webstore/detail/reading-list/lloccabjgblebdmncj

2021-03-24 16:17:01 408

原创 MYSQL提交一批ID,查询数据库中不存在的ID并返回

背景:给你几个ID,返回A表中不存在的ID? 例如提交1,2,8,9 返回8,9select B.id from ( select 1 as id from dual union select 2 as id from dual union select 8 as id from dual union select 9 as id from dual) Bleft join Aon A.id = B.idwhere A.id is n

2021-03-17 14:20:38 1923

原创 golang获取指定目录下的所有文件,包含子目录下的文件

func GetAllFiles(dirPth string) (files []string, err error) { var dirs []string dir, err := ioutil.ReadDir(path.Clean(dirPth)) if err != nil { return nil, err } for _, fi := range dir { _path := path.Join(dirPth, fi.Name()) if fi.IsDir() {

2021-03-15 17:54:29 1594

原创 php cli模式下中文乱码解决方法

以下方法解决在命令行执行chcp 65001命令在代码中添加exec("CHCP 65001");

2021-02-26 23:39:27 211

原创 PHP __get魔术方法在empty方法中不会被调用

/** * 在开发小程序接口的时候,小程序发送的数据是 application/json * $_POST是无法接收到的,就得使用 file_get_content("php://input") * 同事是直接收到数据后开始使用 */$input = file_get_contents("php://input");$this-&gt;rubble = json_decode($i...

2020-11-18 23:38:06 374

原创 gomod拉取依赖invalid version: version “branch“ invalid: disallowed version string

同事通过branch拉取公司私有包的时候报错invalid version: version "branch" invalid: disallowed version string,但是在我的机器上却没有这个错误,所以做一下排查记录。同事通过feature/xxxx拉取依赖时报错invalid version: version "branch" invalid: disallowed version string,我提出了通过commit号拉取解决。...

2020-11-18 21:34:16 8090

原创 Windows安装zsh(非wsl)

Windows安装zsh在mac和linux下体验过zsh+ohmyzsh的爽快后就一直在想给Windows下也装上。当然最简单的方式就是使用wsl安装,不过由于各种原因,我放弃了wsl,而是选择使用的MSYS2MSYS2安装下载MSYS2 https://www.msys2.org/ 或者 http://repo.msys2.org/distrib/根据提示安装即可修改home目录为Windows home目录修改/etc/nsswitch.confdb_home: windows安

2020-09-05 21:06:04 4517 2

原创 Windows安装gcc环境

打开地址 https://sourceforge.net/projects/mingw-w64/找到Files,下来找到看到下图的地方,选着合适的版本下载,解压后把bin目录加入环境变量即可。我选择的是x86_64-win32-seh。也可以下载installer安装,不过installer的下载过程特别慢,网络好的可以试试。...

2020-09-03 22:50:17 2673

原创 基于ECS搭建云上博客(实践记录)

环境部署安装 Apache HTTP 服务Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。执行如下命令,安装Apache服务及其扩展包。yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql返回类似如下图结果则表示安装成功。执行如下命令,启动Apache服务。systemctl start htt

2020-06-03 23:48:14 535

原创 oh-my-zsh主题添加命令显示执行时间和当前时间

oh-my-zsh显示执行时间进入主题目录~/.oh-my-zsh/themes在想要修改的主题文件中添加如下代码:function preexec() { timer=${timer:-$SECONDS}}function precmd() { if [ $timer ]; then timer_show=$(($SECONDS - $timer)) if [[ $timer_show -ge $min_show_time ]]; then RPROMPT=

2020-05-25 15:32:53 5075 1

原创 golang指针接收者和值接收者方法调用笔记

初学go时很多同学会把 值接收者 和 指针接收者 的方法相互调用搞混淆,好多同学都只记得指针类型可以调用值接收者方法和指针接收者方法,而值类型只能调用值接收者方法,其实不然,在某些情况下,值类型也是可以调用指针接收者方法的。最近又看到有同学发出了这样的疑问,所以打算记录一下,用以备忘、分享。类型不同可以调用package mainimport ( "fmt")type field struct { name string}func (p *field) pointerMetho.

2020-05-21 16:19:55 931 2

原创 golang结构体嵌套json序列化丢失

package mainimport ( "encoding/json" "fmt")type Tmsg struct { ID int `json:"id"` Message string `json:"message"`}func (me Tmsg) MarshalJSON() ([]byte, error) { type Alias Tmsg return json.Marshal(&struct { Message string `json:"

2020-05-20 21:25:31 1705

原创 golang range遍历问题笔记

例1:package mainimport ( "fmt" "time")func main() { data := []string{"one","two","three"} for _,v := range data { go func() { fmt.Println(v) }() } time.Sleep(3 * time.Second) //goroutines p

2020-05-20 12:42:44 352

原创 php pathinfo \ basename解析带中文路径时不正确

pathinfo \ basename解析带中文路径时不正确$p1 = pathinfo('atlas/这是文件夹/可爱胖胖是怎么变帅的#超能陆战队.mp4');$p2 = pathinfo('atlas/dirname/sssss#ddddd.mp4');print_r($p1);print_r($p2);上面的代码直接结果中看到中文的路径解析的时候basename和filena...

2020-04-28 17:29:03 820

原创 Systemd 部署应用

配置说明[Unit]Description=appNameConditionPathExists=/data/app[Service]Restart=alwaysRestartSec=3WorkingDirectory=/data/appExecStart=/data/app/mainExecStop=/usr/bin/kill $MAINPIDExecReload=/dat...

2020-04-03 16:03:37 566

原创 Golang获取重定向信息

环境go1.13.5分析平时我们通过标准库net/http发起http请求后如果遇到重定向后会继续发起请求得到最后的想应返回给我们。但是当我们需要获取重定向的相关信息的时候怎么办呢?我们是通过Do方法发起的请求,那我们可以从这里入手。打开源码可以看到如下注释:If the server replies with a redirect, the Client first uses ...

2020-04-03 15:49:30 2578

原创 一次Linux ACL权限的了解

起因服务器上有个文件需要通过PHP程序来删除,但是生成文件的程序并不是和PHP是同一个权限用户,也不在同一个组里。写好PHP代码后,直接测试,满怀期待的得到一个权限报错,但没有想到的是文件被正常删除了,并没有报错。遂直接上服务器上用PHP的用户身份尝试确实能正常删除。通过ll命令查看确认不是PHP所在的用户权限。如上图,我们PHP是www-data用户组,为什么可以删除root下的文件呢?...

2020-03-13 14:53:26 123

原创 yum源中$releasever不能被系统识别

服务器yum操作报错http://mirrors.cloud.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found$releasever变量没有被系统识别,查看rpm -q centos-release,结果package centos-re...

2019-12-14 23:42:13 4404 1

原创 安装PHP SQL server 驱动

可以直接进行第三步安装sqlsrv扩展,观察是否可以直接连接安装freetdscd /usr/local/srcwget ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gztar -zxvf freetds-current.tar.gzcd freetds-dev.1.1.50/./configure...

2019-10-15 21:31:01 929

原创 zsh安装、使用

安装zsh查看系统有几种shellcat /etc/shells安装zshyum install zsh设置当前用户使用zshchsh -s /bin/zsh安装oh-my-zshcurl安装sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/...

2019-10-15 21:14:36 764 1

原创 PHP多版本共存安装配置

安装安装,修改php-fpm监听端口可以参考这篇文章阿里云 centos7.6 安装 php7.3安装完成后,修改nginx配置文件中fastcgi_pass端口为刚配置的端口启动php-fmp找到 PHP5.6 的服务脚本/etc/init.d/php-fpm#复制一份:cp /etc/init.d/php-fpm /etc/init.d/php7#编辑修改:vim /etc/...

2019-06-11 13:05:26 1418

原创 视频相识度算法思路文献记录

项目需要做一个判断视频是否相同功能,Google一番,收集了下相关的文章,这里做下记录,方便以后查阅先对两个文件音频视频采样,视频各取一定数量的帧,音频截取一定长度的数据,分别提取特征,计算相关值,设定门限,进行判定这是来自群友动心忍性大道至简提供的思路语音相识度文本、语音相似度算法: https://www.jianshu.com/p/ea5876301130simhash算法原理...

2019-05-17 10:46:21 884

原创 CentOS安装FFmpeg

安装FFmpeg到官网下载安装包 https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.bz2并解压wget https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.bz2tar jxvf ffmpeg-4.1.3.tar.bz2安装ffmpegcd ffmpeg-4.1.3./configuremak...

2019-05-16 17:04:35 1302

原创 Windows安装gRPC

安装ProtoBuff到https://github.com/google/protobuf/releases下载protoc-3.7.1-win64.zip解压,把解压文件夹里的bin目录配置环境变量Path ,或者把bin目录下的protoc.exe 放入 GOPATH\bin`中测试安装结果$ protoc --versionlibprotoc 3.7.1安装Protoc...

2019-05-14 23:12:39 2691

原创 CentOS安装gRPC

系统环境cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core) 安装gRPCgo get -u google.golang.org/grpcProtocol Buffers依赖安装yum install -y gcc-c++ autoconf libtoolyum groupinstall -y "Develop...

2019-05-14 20:13:28 2108

原创 Supervisord部署Go应用

SupervisordSupervisord 是用 Python 实现的一款非常实用的进程管理工具,supervisord 还要求管理的程序是非 daemon 程序,supervisord 会帮你把它转成 daemon 程序,因此如果用 supervisord 来管理 nginx 的话,必须在 nginx 的配置文件里添加一行设置 daemon off 让 nginx 以非 daemon 方式...

2019-04-28 17:18:17 1234

原创 jetbrains家编辑器的快捷键

CTRL+F,查找文本CTRL+E,打开最近浏览过的文件CTRL+X,剪切当前光标所在行CTRL+Y,删除当前光标所在行CTRL+ALT+L,格式化代码CTRL+“+/-”,可以将当前方法进行展开或折叠Alt+上 文件上移视图Alt+shift+上 移动光标所在行代码查找类型接口 Ctrl + N查找文件 Ctrl+Shift+N全局搜索 双击Shiftctrl + sh...

2019-04-12 17:02:06 209

原创 top命令 查看php-fpm占用情况

使用top只查看php-fpm进程占用情况top -p `pidof php-fpm | sed 's/[[:space:]]/,/g'`输入如下

2019-04-12 13:15:22 1222

基于jq地区三级联动。。。

公司开发的基于jq的三级联动js 使用说明https://blog.csdn.net/weixin_41100576/article/details/82629971

2018-09-11

php压缩文件xxxxxxxxxxx

PHP压缩文件lib include_once('/pclzip/pclzip.lib.php'); $zip = new PclZip("压缩文件名.zip"); $zip->add($file);//需要被压缩的文件,是个array

2018-08-30

chrome 缺少chrome-elf.dll文件

chrome 打开提示缺少chrome_elf.dll文件 需重装(然并卵),所以上传一个以备不测 chrome 打开提示缺少chrome_elf.dll文件 需重装(然并卵),所以上传一个以备不测

2018-08-30

微信风格的弹窗^^^^^

基于jQuery的微信风格的弹窗插件,可以自定义按钮文字.

2018-08-13

jq懒加载文件.......

基于jq的懒加载文件,上传保存一下,必须设置积分有点坑...............................................

2018-08-13

jQuery 异步上传文件ajaxfileupload.js

上次在网上下载个源文件一直有报错,还不是压缩版的,一开始我还以为是jq版本的问题,换了好几个都没有用,最后换上了这个源文件什么都好了

2018-08-13

空空如也

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

TA关注的人

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