简介Charles 是在 Mac 下常用的截取网络封包的工具,在做 iOS 开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。Charles 主要的功能包括:支持 SSL 代理。可以截取分析 SSL 的请求。支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。支持 AJAX 调试。可以自动将 json 或 xml 数据格式化,方便查看。支持 AMF 调试。可以将 Flash Remoting 或
相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一本周有个朋友公司需要一个类似github的代码仓库管理系统,本人选择了gitlab(没有什么对比了,好像目前就gitlab最好了并且维护也不错了),下面就来说说搭建私有github系统的过程服务器设备信息如下Ubuntu 14.04(64)    memory:8G    cpu:4    disk:100G    bandwidth:2Mbit/s下载gitlab-ce-8.3.4.deb官网地址:https://about.gitlab.com/downloads/ (下载比较慢还要翻墙,下面有一个云盘下载地址)访问密码 1091  https://yunpan.cn/crywEZAg
什么是opcodeopcode(operate code)是计算机指令中的一部分,用于指定要执行的操作,指令的格式和规范由处理器的指定规范指定opcode是一种php脚本编译后的中间语言,就像java的ByteCode,或者.NET的MSL为什么要使用opcode缓存opcode cache的目的是避免重复编译,减少CPU和内存开销的。如果动态内容的性能瓶颈不在于CPU和内容,而在于IO操作,比如数据库查询带来的IO开销,这个时候opcode cache的性能提升是非常有局限的。无论如何既然opcode cache 可以降低cpu和内存的开销,这当然是好事了目前PHP中常见的opcode cahce模块如下APCOptimizer+(目前已开源并与php5.5+集成了opcache)xcacheeAcceleratorOpcode原理例如有如下一段代码<?php echo 'Hello World'; $a = 1 
  公司有个群发短信的小项目,项目上线了很久也没有什么问题,最近有商家说 我短信群发不能用现象是:发现有时候可以发送,有时候不可以发送,看截图发送的手机数量不一样通过调试php代码发现 php 只接受了1000个 请求参数,然后参看nginx的access 状态是200,正常。在查看php的error log 发现有句提示如下Unknown: Input variables exceeded 1000这句提示就是 最多1000 的请求参数,这个在某些项目中1000可能满足不了需求,所以我们需要修改下,找到php.ini文件 ,搜索关键字  max_input_vars  根据项目需求设置满足你需求的值
  大公司一般都会做自动化覆盖测试,会用到不需要节目的浏览器环境,下面有一些开源工具有时间尝试下软件名介绍支持语言Awesomium基于Chromium无图形界面浏览器引擎。C++, .NETbenvBenv是node.js开发的无界面浏览器测试环境,用于测试客户端代码。JavaScriptbrowser-launcherBrowser-Launcher可以检测系统上的所有浏览器版本,并在一个独立的配置文件中启动它们,用于自动测试。JavaScriptbrowser.rb无界面 Ruby 浏览器。RubyBrowserjet无界面webkit浏览器,采用node.js接口。JavaScriptBrowserKit可模拟浏览器的行为。PHPCasperJSCasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit
最近公司做一个客户导入会员的功能,以前导入都是使用csv格式导入的,但是客户反应问题挺多的,普遍是乱码(由于各种系统各种环境可能引起编码问题)。最近想着就把这个导入完全改成excel导入,就研究了下phpexcel,发现读取excel还是挺方便的,这样也方便客户了,比较excel 无论用office 还是 wps 打开都是没有问题的示例读取代码如下/*  * $path excel文件路径  * $header_mapping 文字和数据库字段的对应关系  * excel第一行 是 字段标准(通常是汉字),  * example  * $header_mapping = [ '姓名' => 'uid' ];  *  */ privat
  服务器经常会产生各种各样的日志文件,我们需要定期清理日志的分类系统日志应用日志系统日志例如系统的history 历史信息   crontab的运行日志  一般系统日志系统都帮我们运维好了,不需要额外配置应用日志例如nginx  的access 和 error 日志 ,php框架的运行日志,这些日志是我们排查问题的有力证据工具logrotatelogrotate是什么logrotate是大多数linux系统自带的日志切割工具logrotate的适用场景logrotate常用来切割仍在被写的“动态”文件,它支持 按时间间隔或文件大小 来触发文件的自动切分(automatic rotation)实战按天保存一周的Nginx日志压缩文件,保留30天,配置文件为「/etc/logrotate.d/nginx」最后代码如下(本人ubuntu系统)/data/logs/nginx/*.log {      &nb
常用浏览器google chrome 有很多优秀的插件,寂寞的时候想看看人家是怎么实现的,说是快那就动手吧插件代码位置本人mac笔记本,chrome 插件位置如下$ cd  /Users/vincent/Library/Application\ Support/Google/Chrome/Default/Extensions $ ls -al drwxrwxr-x   3 vincent  staff   102 Jun 24 13:33 bnoamnljhdaigfhafpomkflkebegjfci drwx------   3 vincent  staff   102 Jul 25&n
最近在做项目的过程中,发现很多JS报错没有引起重视,我就想想把JS错误捕获了,然后展示在我们一个平台上具体实现代码:window.onerror = function(message, url, lineNumber,columnNo,error) {     var data = {         'message':message,         'url':url,         'error':error.stack     }; &
所见所得编辑器网址:http://wangeditor.github.io/ datepicker datetimepicker网址:https://github.com/xdan/datetimepicker google-code-prettify 网址:https://github.com/google/code-prettify Google Code Prettify是一个JavaScript库,用来对各种页面上的源码进行语法着色高亮显示。Google Code Prettify很小巧,解压后也只有85K的大小。支持大部分常用的语言。不需要指定语言syntaxhighlighter网址:https://github.com/syntaxhighlighter/syntaxhighlighter JavaScript语法着色库
接着上一篇博文继续 【No.1】监控Linux性能25个命令行工具10:mpstat -- 显示每个CPU的占用情况该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的mpstat -P ALL 1 Linux 3.13.0-75-generic (lnmp)  06/25/2016  _x86_64_ (2 CPU) 02:28:59 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest&nb
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位topvmstatlsoftcpdumpnetstathtopiotopiostatuptimedmesg | tailmpstat -P ALL 1pidstat 1free -msar -n DEV 1sar -n TCP,ETCP 1IPTrafpsacct 或者 acctMonitNetHogsiftopMonitorixArpwatchSuricataVnStat PHPNagios Zabbix1:Top-Linux进程监控Linux下的Top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令。Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小
以前注册很多网站密码都使用简单密码,但是由于今年频繁曝出密码不安全问题,所以要使用更加复杂的密码。但是好多个账号,密码也不能设置成一样的,防止一个被盗全部不安全了,记密码就成了意见很头疼的事情。在手机上有个1password软件,非常好,不过收费的。本着节约和利用自己的技能,自己就想到开发一个加密的账号功能在php中有个ssl 加密功能,本文就是用此功能。步骤如下前提:什么样的秘密才安全密码没有绝对安全的说数字,字符,特殊字符结合,长度大于10位定期更换密码一:生成私钥和公钥$config = array(    "digest_alg" => "sha512",    "private_key_bits" => 4096,    "private_key_t
为什么要使用HTTPS主要是为了安全,虽然没有100%的安全,但是我们可以尽量提高安全级别,目前大型网站都已经使用HTTPS了注册StartSSL注册页面  选择国家 和 输入 邮箱  他们会通过邮箱地址给你个验证码,在这期间不要关闭选项卡或浏览器 , 所以你只要保持打开状态,知道获得验证码并贴上它点击注册,设置证书密码下载证书到本地,点击证书文件,提示输入密码就输入上一步设置的密码,然后点击下图第三个框的here进行登录生成证书准备工作现在,我们需要使得StartSSL相信我们拥有自己的域名,我们想要为他生成一个新的证书。从控制面板中,点击“Validations Wizard”到此域名认证就通过了生成证书下载证书到本地,然后根据自己webserver使用不同的文件Nginx 配置server {     listen       80; &nbs
最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下HTTPS简介什么是HTTPS?百科是这样解释的。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。现在它被广泛用于互联网上安全敏感的通讯,例如交易支付等。使用openssl生成证书安装openssl本人ubuntu14.04已经安装了生成ca证书创建证书目录  mkdir ~/ssl/拷贝 CA.sh到证书目录 cp /usr/lib/ssl/CA.sh ~/ssl/生成证书cd ~/ssl/ && sh CA.sh -newca根据提示填写信息完成后,在demoCA下会生成证书文件,其中demoCA/private/cakey.pe
  1. 修改root密码     passwd   root2.新建用户    useradd  vinentguo3.配置免密码登陆 。使用新建用户登陆vps。mkdir ~/.ssh/chmod -R ~/.ssh/touch ~/.ssh/authorized_keys  && chmod 644 ~/.ssh/authorized_keys将公钥 放入 新建的 authorized_keys 文件中4.禁止root登陆sudo vim /etc/ssh/sshd_config 将 PermitRootLogin 改成no5. 挂载磁盘(切换到root账号)哥的数据已经没有了,注意注意fdisk /dev/sdb 输入n 新建分区 输入p 输
Ngrok是什么Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放为什么要使用Ngrok可以让任何PC成为服务器,提供互联网应用服务。例如使用微信开发者模式,调试太麻烦了,每次代码都要同步到服务器上才能使用,有了Ngrok可以直接在开发者的url中填写ngrok分配的网站,直接本地调试代码下载Ngrok 我下载的是linux版本,如需其他版本点击 这里下载其他版本$ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip $ unzip ngrok-stable-linux-amd64.zip实战将本地网络开放给外网,就是说可以通过某种映射,可以让互利网上的用户访问个人电脑的网页$ ./ngrok http&n
今天给我们自己的发布系统增加一个新建分支的功能,操作比较简单,但是使用php执行shell命令的时候总是无法push分支到远程,但是登陆服务器执行却是可以的新建分支命令如下git fetch --all git checkout -b pmt_20160624_v10.7.4 origin/master  git push origin pmt_20160624_v10.7.4:pmt_20160624_v10.7.4php大概代码如下,执行这个php文件是定时执行的<?php $cmd = [     "cd /data/xxx",     "git fetch --all",    
  关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦。研究了一下这个算法,总的来说可以归纳为以下三点:1,动态性,同一字符串使用相同的key,每次加密的密文都不一样,而解密方法只有一个,其实就是把解密的信息放到了密文上面。2,时效性,可以自己加一个限期参数,以秒为单位,这个其实就是在密文里加入了有效时间。3,统一性,加密和解密都用同一个函数,而且用了比较简单的异或算法。由于该函数具有以上功能,所以适用的环境也很多,一般用于用户登陆和开发API时防刷接口等。 代码如下<?php /**  * $string: 明文 或 密文  * $operation:DECODE表示解密,其它表示加密  * $key: 密匙  * $expiry:密文有效期  *
     查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpkg -S filename 查找文件属于哪个包:apt-file search filename 查询软件xxx依赖哪些包:apt-cache depends xxx 查询软件xxx被哪些包依赖:apt-cache rdepends xxx 增加一个光盘源:sudo apt-cdrom add 系统升级:sudo apt-get update;sudo apt-get dist-upgrade 清除已删除包的残馀配置文件:dpkg -l |grep&
  最近公司网站被竞争对手用爬虫频繁访问,所以我们这边要禁止这些爬虫访问,我们通过nginx 指令就可以实现了方法一:直接在LB机器上封IP1.在 blocksip.conf 文件中加入要屏蔽的ip或者ip端$ sudo vim /etc/nginx/blocksip.conf deny 180.168.74.26; deny 91.212.45.0/24;2. 在nginx.conf中包含这个文件$ sudo vim /etc/nginx/nginx.conf http { ....... ....... include /etc/nginx/blocksip.conf; }3.重启服务$ sudo /etc/init.d/nginx reload方法二:直接在APP业务机器上操作(有时候LB并不能直接操作)这个时候我们不能通过$remote_addr获取ip
我们开发就是喜欢各种酷炫的东西,对于有洁癖的我,连命令行都不放过了先上图看效果,命令行显示高亮部分实现过程:第一步:.bash_prompt脚本  # ~/.bash_prompt # This prompt inspired by gf3, sindresorhus, alrra, and mathiasbynens. # but customized to me. <3 default_username='paulirish' #eval "$(thefuck --alias)" if [[ -n "$ZSH_VERSION" ]]; then  # qui
  在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理Yii2 web应用1 配置如下  其中errorHandler就是错误处理配置,执行ErrorController的actionError'components' => [     "urlManager" => require (__DIR__ . '/router.php'),     'errorHandler' => [         'errorAction' => 'erro
  我们都知道  浮点型 不是很精确的,所以在进行类型转化的时候就会出现很多意向不到的问题我使用php给大家用代码说说这事$a = 2.01; var_dump(sprintf('%.20F', $a * 100));//string(24) "200.99999999999997157829" var_dump( intval( $a * 100) );//int(200)上面的结果很出人意料吧,2.01 * 100 应该是201吧,居然是200.99999999....  这样就可以解释 为什么 后面的转化成整形变成200了如何解决这种问题了?   float => int  之前先使用round$a = 2.01; var_dump(sprintf('%.20F'
最近七牛CDN不知道咋啦的,一下子就不行了,提示错误信息如下 ”upload image source key fail: unexpected EOF“找客服提交工单都没有解决,反正就是无头公案了,不了了之了,自己分析日志大概原因知道了: 超时并且返回Content-length长度有问题,以前都很快的,不知道七牛spider做了什么,反正就不行了工单系统的回答我是十分无语的,服务方式和态度就不说了,想起来了一句话:一颗老鼠屎,坏了整锅汤虽然我是免费用户,但是切换到其他cdn还是有点麻烦的,为了省事,我通过对比发现百度的云加速不错,可以作为我的cdn代理中转站(百度云加速从我的网站请求文件非常快),流程图如下( 看来要练习流程图 :(   )中心思想就是使用  百度云加速作为 代理中转站 百度云加速配置 ,本人使用cname的方式总结一句:七牛的CDN伤透了我的心,我以后如果想购买服务也不会购买此家的参考资料:百度云加速:http://su.baidu.c
  Vagrant 默认的 VirtualBox 共享目录方式读写性能表现并不好,好在 Vagrant 支持 NFS 文件系统方式的共享,我们可以启用 NFS 提升性能开启方法首先要把虚拟机的网络设置成 :private_network 模式。然后确认宿主机系统是否安装了 nfsd,Mac OS X 默认是集成了的,部分 Linux 需要安装对应 package 才能支持(以 Ubuntu 为例):$ sudo apt-get install nfs-kernel-server nfs-common同时,虚拟机里的系统也要安装对应的 package:$ sudo apt-get install nfs-common接下来编辑配置文件 Vagrantfile,将共享的目录 nfs 设置为 true,如下:Vagrant.configure(&qu
  公司说年假不用要过期的,所以今天我继续休息一天,总要在这天留点什么作为回忆,所以今天做年度总结吧2013年和我告别了,同时迎来了新的一年2014。2013年的离去给我生命上画下了岁月的痕迹,但是同时给我工作和生活上的添加了不少色彩,所以我想分四部分来总结我的2013—感恩篇,生活篇,工作篇,2014年计划感恩篇首先我要感谢的是我在家乡的父母,这几年父母为了我非常劳累,每年过年回家看到父母头上的白头发我内心其实都是很伤感的,老爸老妈我想对你们说:爸爸妈妈辛苦了,感谢你们这么多年的无私付出。其次我要感谢的是我的女朋友,感谢你这一年的陪伴,感谢你这一年的包容和体谅,你为我俩背后付出的我都知道,感谢有你,不能后面遇到什么困难,我都会站在你的身旁,一切有我。我想对你说:老婆,I love you forever再者我要感谢我工作上的导师,这三个人我一定要提出来—吴志山,卢现升,杨勇。你们三位是我人生和工作中的三位启蒙导师,你们的每一句话对我来说都是我2013年的收获。你们对我的帮助只有我自己知道,
  好像明白为什么元旦要放3天假了第一天是聚会的第二天是静下来思考的第三天是总结并预备再次启程2015年是我印象很深刻的一年,这一年过的真快,快到还没有反应过来就结束了。今年的总结是:一半欢乐一半忧。主要有下面几件事情:咻的一下单身了换了一份工作业余时间跟着大姐头做了点小慈善看书计划没有完成NO.1:咻的一下单身了    这个应该是今年最意想不到却咻的一下就发生了,一句话:缘分未到!!NO.2 :换了一份工作    15年4月份离开了老东家安居客,来到了一家创业公司。安居客3年遇到的上级都是我的贵人,在初期为我指明方向,在后期教会我去寻找方向。在这三年里打好了技术基础,我遇到的同事都是包容的,乐于帮助他人的,用行动做事的人。在这三年里,培养了我的自信心,我不知道自信心别人怎么看待,我觉得对我很重要。“天下无不散之筵席” 我离开了安居客,开始了新的工作,感谢3年里一起合作,撕逼过得朋友们。在新公司主要经历了两个阶段
  不知道什么时候开始喜欢刘德华的,一路听他的歌,特别是听了“17岁” 的演唱会之后发现真的被感动了,这里记录下华仔的演唱会《96红磡演唱会》《刘德华99红磡演唱会》《刘德华2001夏日Fiesta演唱会》《刘德华2002你是我的骄傲 香港演唱会》《刘德华2004Vision Tour 香港演唱会》《刘德华2004-2005幻影中国巡回演唱会》《刘德华2007Wonderful World 香港演唱会》《刘德华2008上海演唱会》刘德华充分诠释了知乎金句——以大多数人的努力程度之低,根本轮不到拼天赋。梁朝伟充分诠释了——只有真正努力过,才明白天赋的重要。参考链接:刘德华演唱会列表
  1.查看文件的二进制xxd -b test.wav2.所有占用的端口sudo lsof -i -P | grep -i "listen"
  • 微信公众号 微信小程序
  • 微信机器人
  • 群1:1046090432
  • 群2:585567981