自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小码农的博客

夫苟其挫而不退矣,则小逆之后,必有小顺。大逆之后,必有大顺。

  • 博客(253)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql知识积累 慢慢登记防止忘记

MySQL 的整体架构分为如下几个部分:(1)MySQL 向外提供的交互接口(Connectors)(2)管理服务组件和工具组件(Management Service & Utilities)(3)连接池组件(Connection Pool)(4)SQL 接口组件(SQL Interface)(5)查询分析器组件(Parser)(6)优化器组件(Optimizer)(7)缓存主件(Caches & Buffers)(8)插件式存储引擎(Pluggable ..

2020-09-29 17:38:38 43

原创 linux 工作中常用命令 慢慢登记防止忘记

#查看内存 占用最大的 10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head#将多列数据 按空格拼接成一行awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' ./1#将多列数据相加cat 1|awk -F ' ' '{sum += $1};END {print sum}'#查看文件中 相同列出现的次数cat 1|sort |uniq -c ...

2020-06-24 17:18:16 150

原创 Go 收藏积累 慢慢登记防止忘记

个人推荐:http://godeye.org/index.php?a=course&id=6http://mikespook.com/learning-go/http://coolshell.cn/articles/8460.htmlhttp://coolshell.cn/articles/8489.htmlhttps://code.google.com/p/go-zh/http://b...

2016-04-21 13:27:00 743

原创 golang Timing Functions设计模式

该设计模式主要用途 记录方法耗时 方便确认程序运行耗时大致分布模式样例:package mainimport ( "log" "time")func main() { xiaochuan()}func xiaochuan() { defer timeFunc(time.Now(), "xiaochuan") time.Sleep(10 * time.Second)}func timeFunc(start time.Time, name string) { elap

2021-04-25 16:54:20 5

原创 golang defer操作理解

package mainimport "fmt"func test1() (x int) { //x只是返回值定义为int类型没有赋值 这个输出取的 int 类型默认值 defer fmt.Printf("in test1 defer: x = %d\n", x) x = 1 return 6}func test2() (x int) { x = 2 //x赋值为2 所...

2019-08-02 16:07:11 89

原创 golang 命令如何操作设置超时

package mainimport ( "context" "errors" "log" "os/exec" "time")//设置超时时间为 5秒var Timeout = 5 * time.Second//执行命令并添加超时检测func Command(name string, arg ...string) (string, error) { ctxt, ca...

2019-08-02 15:23:21 2800

翻译 HTTP 状态码详解

1xx 消息这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。100 Continue服务器已经接收到请求头,并且客户端应继续发...

2019-01-29 14:34:34 589

原创 golang http请求封装

在GOPATH 中创建 utils 文件夹 放置这两个文件http.gopackage utilsimport ( "crypto/tls" "encoding/json" "errors" "fmt" "io/ioutil" "net/http" "net/url" "string

2018-08-09 16:49:30 4787 2

原创 redis进阶

关于redis优点:1.速度极快 10 万次 qps 的读写2.持久化 使用 快照RDB 或 日志AOF的方式3.支持多种数据结构 hash list string set zset4.支持多种编程语言 提供api 多个语言都可以直接使用 如Java、PHP、Python、Ruby、Lua、Nodejs5.功能丰富 如发布订阅、Lua 脚本、事务、Pipeline(管道,即当指令到达...

2018-06-07 11:16:47 252 2

转载 nginx内置变量详解

Ngx_http_core_module模块支持内置变量,他们的名字和apache的内置变量是一致的,人性化吧,了解这些变量,将使我们配置起来非常方便,例如:负载均衡中的header头转发 让后端服务器可以获取到客户端请求的真实ip  首先我们来先看一个最基本的请求header  这是我去请求www.baidu.com 请求header如下:Accept text/html,applicatio...

2018-04-17 11:14:43 472

转载 redis info 详解

# Server(服务器信息)redis_version:3.0.0 #redis服务器版本redis_git_sha1:00000000 #Git SHA1redis_git_dirty:0 #Git dirty flagred...

2018-03-15 10:28:18 1413 3

转载 bss、data和rodata区别与联系

有人可能会说,全局内存就是全局变量嘛,有必要专门一章来介绍吗?这么简单的东西,还能玩出花来?我从来没有深究它,不一样写程序吗?关于全局内存这个主题虽然玩不出花来,但确实有些重要,了解这些知识,对于优化程序的时间和空间很有帮助。因为有好几次这样经历,我才决定花一章篇幅来介绍它。正如大家所知道的,全局变量是放在全局内存中的,但反过来却未必成立。用static修饰的局部变量就是放在放全局内存的,它的作用...

2018-02-28 12:50:17 663

原创 golang 生成gdb 调试文件 以及gdb命令

使用生成可供gdb 调试的二进制文件go build -o test -gcflags "-N -l" file.go使用gdb test 即可进入调试模式 下面是gdb的命令 可以根据自己的需要运行对应的命令start //开始调试n //一条一条执行step/s ...

2018-02-28 11:48:28 1687

原创 windows gcc 安装

安装gcc需要一个MinGw的工具首先访问http://sourceforge.net/projects/mingw/files/ 直通车点击Download 等待下载即可 下载完成后 运行下载文件点击continue 在安装的过程中需要 选择安装目录默认为C:\MinGW 懒得改可以直接 continue 完成安装将刚刚选择的安装目录 加入windows的环境变量我的电脑-属性-高级系统设置-高...

2018-02-24 11:13:01 991

原创 golang 获取文件修改时间

package mainimport ( "log" "os" "time")func main() { log.Println(GetFileModTime("./xiaochuan.txt"))}//获取文件修改时间 返回unix时间戳func GetFileModTime(path string) int64 { f, err := os.Open(path) i

2018-01-02 16:24:10 7555

原创 centos ssh终端下高亮显示git分支名

修改家目录下面的 .bash_profile添加下方代码function find_git_branch { local dir=. head until [ "$dir" -ef / ]; do if [ -f "$dir/.git/HEAD" ]; then head=$(< "$dir/.git/HEAD")

2017-12-21 18:01:37 634

转载 MySQL的Grant命令

本文实例,运行于 MySQL 5.0 及以上版本。MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户   一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user@'%'grant insert

2017-12-19 14:30:13 400

原创 linux 利用iptables 端口转发

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8800

2017-12-11 12:26:51 909

转载 redis config 详解

# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 10

2017-11-02 15:26:11 1969

转载 掏钱总是痛苦的

减少100元带给人的痛苦,远远大于增加100元带给人的愉快。  2002年诺贝尔经济学奖获得者是美国心理学家丹尼尔·卡伊曼,他把心理学研究和经济学研究结合在一起,对人的行为,尤其是不确定条件下的判断和决策行为,提出了崭新的解释。  他发现:风险决策后的输赢结果对人而言是不对等的,减少100元带给人的痛苦,远远大于增加100元带给人的愉快。他的基本结论是:人们最在乎的是他们已经得到的东西。

2017-10-11 11:23:01 267

转载 linux下利用gcc编译C和C++

gcc ------->默认编译c文件(gcc  xxx  -lstdc++链接到c++库编译c++,g++默认编译c++)一.CC编译程序过程分四个阶段◆ 预处理(Pre-Processing)◆ 编译(Compiling)◆ 汇编(Assembling)◆ 链接(Linking)1.1 预处理(Pre-Processing)gcc -E te

2017-10-11 10:58:13 1090

转载 一张图看懂 FastCGI

2017-10-10 11:32:12 270

转载 PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使用自动字符串转义 zend_bool magic_quotes_

2017-10-09 16:05:02 359

原创 php fpm 启动 错误 Bad file descriptor

群里有个朋友 在启动 php-fpm的时候 报错unable to read what child say: Bad file descriptor找了一下对应的资料少的可怜。不过还是解决了 修改php-fpm.conf 中catch_workers_output = yes 将worker的标准输出和错误输出重定向到主要的错误日志记录中,如果没有设置,根据FastCGI的指定,将会

2017-09-20 17:37:50 4828

原创 php cgi 模式下 获取不到 $argv 解决方案

可以拿一下$_SERVER 里面的 argv 具体代码很简单一行解决战斗$argv = $_SERVER['argv'];

2017-09-19 17:13:39 1116

转载 go build 不同系统

Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。Mac下编译Linux, Windows平台的64位可执行程序:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.goLinux下编

2017-08-22 18:53:10 22170

原创 golang 获取目录下所有的文件夹

package mainimport ( "fmt" "os" "path/filepath")func main() { list, err := getDirList("/test") if err != nil { fmt.Println(err) return } for _, v := range list { fmt.Println(v) }}

2017-08-22 16:41:44 8661

原创 golang 模拟文件上传

package mainimport ( "bytes" "fmt" "io" "mime/multipart" "net/http" "os")func main() { flag := fileUpload("./xml.go") fmt.Println(flag)}func fileUpload(file_path string) bool { var (

2017-08-22 14:16:13 1413 1

原创 golang 获取明天零点的时间戳

package mainimport ( "fmt" "time")func main() { timeStr := time.Now().Format("2006-01-02") fmt.Println(timeStr) //使用Parse 默认获取为UTC时区 需要获取本地时区 所以使用ParseInLocation t, _ := time.ParseInLocati

2017-08-08 17:50:19 11731 3

原创 vim c/c++配置

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 首先添加 Vundle 管理工具vim 直接用yum 添加就可以了然后修改家目录下面的  .vimrc文件下载配色方案monokai 配色方案 git地址(https://github.com/sickill/vi

2017-07-19 10:07:38 2714 2

原创 PHP 扩展开发遇到的坑

Warning: PHP Startup: Invalid library (maybe not a PHP library) 'xiaochuan.so' 当提示这个的时候就说明对应模块找不到了需要 修改对应扩展c文件 添加//第一个* 替换为 大写的扩展名称 第二个为小写的扩展名称 #ifdef COMPILE_DL_*ZEND_GET_MODULE(*)#endif和#if

2017-07-18 16:15:39 783

原创 php 检测远程文件大小

$header_info = get_headers('http://127.0.0.1/1.png', true);if($header_info['Content-Length'] > 51200) { die('图片超出 50k');}

2017-07-14 18:49:52 288

原创 php 检测远程图片格式 大小

<?php $img_info = getimagesize('http://127.0.0.1/1.png'); if(!empty($img_info)) { $reg = '/^image\/(png|jpg|gif|jpeg)$/'; if(!preg_match($reg, $img_info['mime'])) { die('文件格式不符合'); } if($

2017-07-07 10:36:39 838

原创 php gzip json 串

<?php$echo_json = [ 'name' => 'xiaochuan', 'age' => '24', 'sex' => 'man',];header('Content-Type: application/json; charset=utf-8');ob_start('ob_gzhandler'); //这个是重点echo json_encode($echo_jso

2017-07-05 11:34:23 415

转载 vim 打开多个文件

一、如果在终端还没有打开vim1、vim横向分屏打开多个文件vim -o 文件1 文件22、vim纵向分屏打开多个文件vim -O 文件1 文件2 二、如果在终端已经打开vim1、横向分屏打开另一个文件:vs 文件2、纵向分屏打开另一个文件:sp 文件 三、关闭窗口1、关闭所

2017-06-27 10:46:29 303

原创 PHP闭包 function() use()

php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。为什么要使用闭包:1.减少foreach的循环的代码2.减少函数的参数3.解除递归函数4.关于延迟绑定使用示例:<?php$name = 'xiaochuan';$test = function

2017-06-26 15:24:35 2087

原创 php 文件读行赋值数组 效率对比 file feof

刚刚测试了一下 file 函数 与 fopen feof fgets 效率对比file写法echo '';print_r(file('./test.txt')); fopen feof fgets 写法/** * [readFileResult description] 读取文件 * @param string $file_path [description] 要读取的

2017-06-06 11:03:13 464

转载 vi 装逼指南

文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并

2017-06-05 19:33:06 383

原创 redis 主从 如何限制用户签到一次

最近有个每日签到的活动 用户每天只能签到一次。 一开始考虑用 get set 但是万一并发情况下刚刚set 为1 然后再去get 数据的时候 从库数据 延迟还没同步过来 还岂不是又可以签到一下get set 完全满足不了 这个需求的原子性要求后面找到  incrby 统一操作 主库redis incrby将key所储存的值加上增量increment。如果ke

2017-05-31 11:14:02 1385

原创 golang mb 转换b技巧

比如说 我这边需要一个 32mb 那么他的计算公式应该是什么  正常来说应该是 32*1024*1024 对把 结果为在golang 中得到这个数 就跟简单了直接 32 32的二进制为 100000二进制向左移动20位 10000000000000000000000000他的十进制转换就为 33554432当然 其他的也是同理比如我要 40 或者

2017-04-11 10:08:37 2378

golang中文手册

2016-07-20

空空如也

空空如也

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

TA关注的人 TA的粉丝

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