自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (2)
  • 收藏
  • 关注

转载 《Python中神奇的第三方库:Faker》

【导读】:开发项目的时,为了测试常需要造假数据,经常要尽量的模拟真实环境,通常要费大量手工而且造出来的数据,而且通常手工造出来的看起来也很别扭,费时又费事,有没有更好的办法?有,这里给大家介绍一个“专业造数“库Faker,满足你对模拟数据的所有需求。项目开发初期,为了测试方便,我们总要造不少假数据到系统中,尽量模拟真实环境。比如要创建一批用户名,创建一段文本,电话号码,街道地址、IP地址等等。平时我们基本是键盘一顿乱敲,随便造个什么字符串出来,当然谁也不认识谁。现在你不要这样做了,用Faker就能满足你

2020-10-22 09:44:04 424

原创 Gin框架BindJSON和ioutil.ReadAll(c.Request.Body)共用引起EOF问题

获取请求体json数据的方式:// 方式一:请求json数据data, _ := ioutil.ReadAll(c.Request.Body)# 方式二var data model.Postif err := c.BindJSON(&data); err != nil { internal.Output(c, errno.ErrValidation, err.Error())}在中间件中使用方式一记录请求记录到日志中,使用方式二在业务代码中验证请求参数合法性,此时方式二在

2020-07-22 10:40:36 5516 2

转载 Vue生命周期与Vue.nextTick()使用

实例生命周期:https://segmentfault.com/a/1190000008570622.jpgimage.pngbeforeCreate:在实例初始化之后,数据观测data observer(props、data、computed) 和 event/watcher 事件配置之前被调用。 created:实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,..

2020-07-08 23:56:30 1065

原创 使用 casbin 实现基于角色的 HTTP 权限控制

Golang最强大的访问控制框架casbin全解析在 Go 语言中使用 casbin 实现基于角色的 HTTP 权限控制Casbin+Gin+GROM 搭建权限控制小Demo用Go写后台系统API--记录心得(二)casbin编辑器:https://casbin.org/en/editor...

2020-06-09 09:54:40 828

转载 终于有人把“TCC分布式事务”实现原理讲明白了!

之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不...

2020-04-23 15:10:12 152

原创 死信队列、延迟队列、消息可靠投递方案

【RabbitMQ】如何进行消息可靠投递【上篇】https://www.cnblogs.com/mfrank/p/11380102.html【RabbitMQ】如何进行消息可靠投递【下篇】https://www.cnblogs.com/mfrank/p/11442706.html【RabbitMQ】一文带你搞定RabbitMQ死信队列https://www.cnblogs...

2020-04-18 16:25:17 173

原创 git 显示全路径和分支名

方式一:# .bashrc# Source global definitionsif [ -f /etc/bashrc ]; then . /etc/bashrcfi# User specific aliases and functionsfunction git_branch { ref=$(git symbolic-ref HEAD 2> /dev/nul...

2019-11-26 09:52:42 1835

原创 mac系统下easyconnect连接公司网络,53端口占用问题

1、使用lsof命令查看占用53端口的进程:sudo lsof -i :532、找到进程id对应的执行程序:sudo lsof -p 16403、停掉dnsmasq:sudo brew services stop dnsmasq扩展:1、寻找与打开的文件相关联的进程:lsof /var/log/messages2、用lsof解除阻塞:lsof mountpoi...

2019-09-23 12:28:11 6419 1

转载 PHP7 中的 Hashtable 的实现

本文中所有的知识介绍和内容总结都基于下面的实际案例。构造一个含有100000个不重复的整型元素的数组并且测量其占用的内存数量,实现代码如下:// 记录开始内存状态$startMemory = memory_get_usage();// 生成包含1-100000为数据元素的数组$array = range(1, 100000);// 获取数组占用的内存空间大小(单位字节:byt...

2019-09-23 11:37:47 585

转载 Go之父说:不懂浮点数不配当码农…

所以要赶紧补充一些高大上的浮点数知识吧浮点数很重要Go语言之父,Rob Pike大神曾经在微博吐槽过:不能掌握正则表达式或浮点数就不配当码农!虽然原文已经被删除了(大神也有害怕的时候),还好我已经存档了:You should not be permitted to write production code if you do not have an journeyman ...

2019-08-23 13:50:52 776

原创 Error: Another program is already listening on a port that one of our HTTP servers is configured to

最近碰到supervisor任务restart重启后不生效,于是重启supervisor进程,发现报错如下:Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before s...

2019-08-15 01:08:50 1818

转载 Golang Context使用小结

1 场景我们知道,在Go服务端,每个进入的请求会被其所属goroutine处理。例如,如下代码,每次请求,Handler会创建一个goroutine来为其提供服务,而且连续请求3次,r的地址也是不同的。package mainimport ( "fmt" "log" "net/http")func main() { http.HandleFunc...

2019-08-12 16:55:24 781

原创 sql: unknown driver "mysql" (forgotten import?)

golang中使用gorm连接mysql的时候会报错:sql: unknown driver "mysql" (forgotten import?)需要在连接数据库的文件中引入 _ "github.com/jinzhu/gorm/dialects/mysql"

2019-08-08 21:41:21 3493

原创 golang日志 logrus的使用

一、安装方法:go get github.com/sirupsen/logrus二、遇到问题: 如果没有翻墙无法下载golang.org/x/sys/unix包, 请参考:https://blog.csdn.net/wsliangjian/article/details/97253595,其他无法下载的golang.org的包均可参照此方法尝试...

2019-07-25 13:23:30 1851

原创 遇到了cannot find package "golang.org/x/的报错

安装github.com/sirupsen/logrus遇到错误:vendor/github.com/sirupsen/logrus/terminal_check_bsd.go:5:8: cannot find package "golang.org/x/sys/unix" in any of:golang.org 官网网络限制问题,需要翻墙。不翻墙的解决方法:mkdir -p ...

2019-07-25 12:43:21 5291

转载 使用RabbitMQ实现延迟任务

场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时。场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。上述类似的需求是我们经常会遇见的问题。最常用的方法是定期轮训数据库,设置状态。在数据量小的时候并没有什么大的问题,但是数据量一大轮训数据库的方式就会变得特别耗资源。当面对千万级、上亿级数据量时,本身写入的IO就比较高,导致长时间查询或...

2019-07-23 11:49:29 144

转载 操作系统内存管理——分区、页式、段式管理

计算存储的层次结构:当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 1. 内存管理方法

2016-10-11 16:39:20 416

转载 nginx+lua_nginx+GraphicsMagick生成实时缩略图

一、安装 lua   首先确认是否安装 readline yum -y install readline-devel ncurses-devel 进入页面:http://www.lua.org/download.htmlwget http://www.lua.org/ftp/lua-5.3.1.tar.gz tar zxvf lua-5.3.1.tar.

2016-09-13 21:27:10 2469

转载 如何优雅地删除Redis大键

关于Redis大键(Key),我们从[空间复杂性]和访问它的[时间复杂度]两个方面来定义大键。前者主要表示Redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的元素个数。以下两个示例:1个大小200MB的String键(String Object最大512MB);内存空间角度占用较大1个包含100000000(1k

2016-08-26 15:59:49 31696 1

原创 Imagick 图片压缩质量(优于writeImages)

<?phpfunction setCompressionQuality($imagePath, $quality) { $backgroundImagick = new \Imagick(realpath($imagePath)); $imagick = new \Imagick(); $imagick->setCompressionQuality($quality);

2015-12-30 17:14:54 3164

转载 JS模块加载

VM.define(‘模块名称’,{url:‘模块路径’,requires:‘模块依赖项’(可以是模块名的字符串,或者数组)});  VM.use(‘模块名称’,‘回调函数callback’);一个是定义模块,一个是使用模块;使用的模块都必须先定义,定义的时候不会加载模块,只有在使用的时候才加载模块;1、不会出现重复加载的模块,调用过的模块不会再append第二次,

2015-09-15 18:05:19 380

转载 银联支付 - 手机控件支付和WAP网页支付

文章只是实现了消费功能。主要的代码清单如下:1234567891011121314151617181920212223242526272829

2015-09-15 12:00:04 6464

原创 siege 使用

使用Siege格式,我们将模拟一个负载测试,5个并发用户在10秒内访问网站www.example. com。需要说明一下,使用Siege时的并发被称为事务。因此我们要模拟的测试是使用Siege命令让Web服务器在10秒的时间内一次满足5个同时发生的事务.结果说明: Lifting the server siege…

2015-07-30 11:45:37 1197

原创 Yii2 yiisoft/yii2 2.0.4 requires bower-asset/jquery 2.1.*@stable

错误代码:Loading composer repositories with package informationUpdating dependencies (including require-dev)Your requirements could not be resolved to an installable set of packages. Problem 1

2015-07-03 10:37:06 3861

转载 PHP 5.3、5.4、5.5、5.6 中的新特性

PHP 5.61、可以使用表达式定义常量https://php.net/manual/zh/migration56.new-features.php在之前的 PHP 版本中,必须使用静态值来定义常量,声明属性以及指定函数参数默认值。 现在你可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来 定义常量、声明属性以及设置函数参数默认值。const ONE = 1

2015-06-04 23:01:50 613

转载 Redis设计与实现(一~五整合版)

前言项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串。但是一直听说redis是一个很牛的开源项目,很多公司都在用。于是我就比较奇怪,这玩意不就和 memcache 差不多吗?仅仅是因为memcache是内存级别的,没有持久化功能。而redis支持持久化?难道这就是它的必杀技?带着这个疑问,我在网上搜了一圈。发现有个叫做huangz

2015-05-24 22:36:18 3729 1

转载 php rsa加密解密实例(非对称加密)

php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以)下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其

2015-05-20 10:11:47 5540

转载 高效Linux bash快捷键及alias总结

习惯使用编辑的快捷键可以大大提高效率,记忆学习过程要有意识的忽略功能键、方向键和数字小键盘。以下快捷键适用在bash处于默认的Emacs模式下。如果你有set -o vi,就处于 vi 模式就不适用了。另外下面的内容并不包含所有快捷键,只是我个人适用频率最高的几种,但相信已经可以大大提高工作效率了:Ctrl + l :清除屏幕,同clearCtrl + a :将光标定位到命令的开头

2015-05-19 17:12:49 535

转载 Nginx工作原理和优化、漏洞

1.  Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第

2015-05-19 08:54:55 522

转载 PHP内核中的神器之HashTable

一、哈希表定义哈希表(或散列表),是将键名key按指定的散列函数HASH经过HASH(key)计算后映射到表中一个记录,而这个数组就是哈希表。这里的HASH指任意的函数,例如MD5、CRC32、SHA1或你自定义的函数实现。二、HashTable性能HashTable是一种查找性能极高的数据结构,在很多语言内部都实现了HashTable。理想情况下HashTable的性

2015-05-17 22:58:11 1032

原创 PHP源码分析

PHP源代码分析:Zend HashTable详解【转】PHP源码中HashTable的简单示例PHP中strtr函数一些奇怪行为的解释PHP源码阅读笔记一:explode和implode函数PHP源码阅读笔记二:strlen, strtolower, strtoupper, ord, chr函数PHP源码阅读笔记三:strrchr, strstr, stristr

2015-05-13 12:39:32 511

转载 php-fpm 启动参数及重要配置详解

约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm的启动参数12345678910111213

2015-05-12 20:30:05 574

原创 jquery free

【前端性能】必须要掌握的原生JS实现JQueryhttp://www.cnblogs.com/coco1s/p/4484238.html如何做到 jQuery-free?http://www.ruanyifeng.com/blog/2013/05/jquery-free.html

2015-05-10 17:26:30 464

原创 PHP内核探索

PHP内核探索:从SAPI接口开始PHP内核探索:一次请求的开始与结束PHP内核探索:一次请求生命周期PHP内核探索:单进程SAPI生命周期PHP内核探索:多进程/线程的SAPI生命周期PHP内核探索:Zend引擎PHP内核探索:再次探讨SAPIPHP内核探索:Apache模块介绍PHP内核探索:通过mod_php5支持PHPPHP内核探索:Apache运行与钩子函数PHP内核探索:嵌入式PHPP

2015-05-08 15:09:18 482

转载 使用 Redis 实现分布式锁

http://www.oschina.net/translate/redis-distlock

2015-04-20 23:15:55 505

原创 Retrieving RSS feed with tag <content:encoded>

http://stackoverflow.com/questions/3346628/retrieving-rss-feed-with-tag-contentencodedIn , content is the namespace and encoded is the tag name.var_dump($entry->children("content", t

2015-04-16 11:51:03 641

转载 二叉搜索树转为有序双向链表(递归算法与非递归算法)

http://www.cnblogs.com/wangjzh/p/4380333.html

2015-04-01 10:04:52 653

转载 PHP中的Traits详解

PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法。php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组合的Trait名称,而具体某个Trait的声明使用trait关键词,Trait不能直接实例化。具体用法请看下面的代码:<?php trait Drive { public $carN

2014-12-25 11:12:39 508

原创 PHP短文本匹配的排序算法

http://3v4l.org/K0X7m

2014-10-30 17:00:08 763

转载 MySQL的InnoDB索引原理详解

摘要本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请

2014-10-27 14:35:05 722

MYSQL_性能优化篇

MYSQL_性能优化篇MYSQL_性能优化篇

2010-06-28

空空如也

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

TA关注的人

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