- 博客(102)
- 资源 (2)
- 收藏
- 关注
转载 《Python中神奇的第三方库:Faker》
【导读】:开发项目的时,为了测试常需要造假数据,经常要尽量的模拟真实环境,通常要费大量手工而且造出来的数据,而且通常手工造出来的看起来也很别扭,费时又费事,有没有更好的办法?有,这里给大家介绍一个“专业造数“库Faker,满足你对模拟数据的所有需求。项目开发初期,为了测试方便,我们总要造不少假数据到系统中,尽量模拟真实环境。比如要创建一批用户名,创建一段文本,电话号码,街道地址、IP地址等等。平时我们基本是键盘一顿乱敲,随便造个什么字符串出来,当然谁也不认识谁。现在你不要这样做了,用Faker就能满足你
2020-10-22 09:44:04
491
原创 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
5770
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
1161
原创 使用 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
884
转载 终于有人把“TCC分布式事务”实现原理讲明白了!
之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不...
2020-04-23 15:10:12
187
原创 死信队列、延迟队列、消息可靠投递方案
【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
213
原创 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
1956
原创 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
6799
1
转载 PHP7 中的 Hashtable 的实现
本文中所有的知识介绍和内容总结都基于下面的实际案例。构造一个含有100000个不重复的整型元素的数组并且测量其占用的内存数量,实现代码如下:// 记录开始内存状态$startMemory = memory_get_usage();// 生成包含1-100000为数据元素的数组$array = range(1, 100000);// 获取数组占用的内存空间大小(单位字节:byt...
2019-09-23 11:37:47
636
转载 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
882
原创 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
2347
转载 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
868
原创 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
3574
原创 golang日志 logrus的使用
一、安装方法:go get github.com/sirupsen/logrus二、遇到问题: 如果没有翻墙无法下载golang.org/x/sys/unix包, 请参考:https://blog.youkuaiyun.com/wsliangjian/article/details/97253595,其他无法下载的golang.org的包均可参照此方法尝试...
2019-07-25 13:23:30
1955
原创 遇到了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
5452
转载 使用RabbitMQ实现延迟任务
场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时。场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。上述类似的需求是我们经常会遇见的问题。最常用的方法是定期轮训数据库,设置状态。在数据量小的时候并没有什么大的问题,但是数据量一大轮训数据库的方式就会变得特别耗资源。当面对千万级、上亿级数据量时,本身写入的IO就比较高,导致长时间查询或...
2019-07-23 11:49:29
177
转载 操作系统内存管理——分区、页式、段式管理
计算存储的层次结构:当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 1. 内存管理方法
2016-10-11 16:39:20
465
转载 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
2505
转载 如何优雅地删除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
31853
1
原创 Imagick 图片压缩质量(优于writeImages)
<?phpfunction setCompressionQuality($imagePath, $quality) { $backgroundImagick = new \Imagick(realpath($imagePath)); $imagick = new \Imagick(); $imagick->setCompressionQuality($quality);
2015-12-30 17:14:54
3209
转载 JS模块加载
VM.define(‘模块名称’,{url:‘模块路径’,requires:‘模块依赖项’(可以是模块名的字符串,或者数组)}); VM.use(‘模块名称’,‘回调函数callback’);一个是定义模块,一个是使用模块;使用的模块都必须先定义,定义的时候不会加载模块,只有在使用的时候才加载模块;1、不会出现重复加载的模块,调用过的模块不会再append第二次,
2015-09-15 18:05:19
417
转载 银联支付 - 手机控件支付和WAP网页支付
文章只是实现了消费功能。主要的代码清单如下:1234567891011121314151617181920212223242526272829
2015-09-15 12:00:04
6532
原创 siege 使用
使用Siege格式,我们将模拟一个负载测试,5个并发用户在10秒内访问网站www.example. com。需要说明一下,使用Siege时的并发被称为事务。因此我们要模拟的测试是使用Siege命令让Web服务器在10秒的时间内一次满足5个同时发生的事务.结果说明: Lifting the server siege…
2015-07-30 11:45:37
1247
原创 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
3916
转载 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
663
转载 Redis设计与实现(一~五整合版)
前言项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串。但是一直听说redis是一个很牛的开源项目,很多公司都在用。于是我就比较奇怪,这玩意不就和 memcache 差不多吗?仅仅是因为memcache是内存级别的,没有持久化功能。而redis支持持久化?难道这就是它的必杀技?带着这个疑问,我在网上搜了一圈。发现有个叫做huangz
2015-05-24 22:36:18
3786
转载 php rsa加密解密实例(非对称加密)
php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以)下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其
2015-05-20 10:11:47
5616
转载 高效Linux bash快捷键及alias总结
习惯使用编辑的快捷键可以大大提高效率,记忆学习过程要有意识的忽略功能键、方向键和数字小键盘。以下快捷键适用在bash处于默认的Emacs模式下。如果你有set -o vi,就处于 vi 模式就不适用了。另外下面的内容并不包含所有快捷键,只是我个人适用频率最高的几种,但相信已经可以大大提高工作效率了:Ctrl + l :清除屏幕,同clearCtrl + a :将光标定位到命令的开头
2015-05-19 17:12:49
571
转载 Nginx工作原理和优化、漏洞
1. Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第
2015-05-19 08:54:55
556
转载 PHP内核中的神器之HashTable
一、哈希表定义哈希表(或散列表),是将键名key按指定的散列函数HASH经过HASH(key)计算后映射到表中一个记录,而这个数组就是哈希表。这里的HASH指任意的函数,例如MD5、CRC32、SHA1或你自定义的函数实现。二、HashTable性能HashTable是一种查找性能极高的数据结构,在很多语言内部都实现了HashTable。理想情况下HashTable的性
2015-05-17 22:58:11
1060
原创 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
554
转载 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
620
原创 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
493
原创 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
511
原创 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
675
转载 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
549
转载 MySQL的InnoDB索引原理详解
摘要本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请
2014-10-27 14:35:05
766
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人