半年没有更新文章了

最近在忙devOps相关的工作。

主要围绕:
1:walle 代码快速部署及回滚系统
2:inception Mysql数据库SQL审核、自动生成回滚SQL、自动执行上线、一键回滚等功能
3:sonar 代码静态分析
4:wrench 业务辅助工具:快速生成配置工具、快速查看实际价格生成原因工具等
5:jenkins 自动化测试、语法检查等

有工具,业务开发效率提高,大家工作更有动力,这些工作就有他的价值。

关于软件授权的思路

过去共享软件做注册码机制,破解软件大行其道,究其原因,算法再牛逼也是对称加密,知道了算法甚至多知道几个结果就能推导出需要哪些数据做参数。
最近肆虐的WanaCrypt0r病毒的如何做到安全加密防破解的呢?
他使用了一种cryptGenRandom的方案,就是对每个文件随机产生加密,用户就很难手动恢复所有文件。而且加密的文件类型涵盖广泛,后缀名
.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pst, .ost, .msg, .eml, .vsd, .vsdx, .txt, .csv, .rtf, .123, .wks, .wk1, .pdf, .dwg, .onetoc2, .snt, .jpeg, .jpg, .docb, .docm, .dot, .dotm, .dotx, .xlsm, .xlsb, .xlw, .xlt, .xlm, .xlc, .xltx, .xltm, .pptm, .pot, .pps, .ppsm, .ppsx, .ppam, .potx, .potm, .edb, .hwp, .602, .sxi, .sti, .sldx, .sldm, .sldm, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .bz2, .tbk, .bak, .tar, .tgz, .gz, .7z, .rar, .zip, .backup, .iso, .vcd, .bmp, .png, .gif, .raw, .cgm, .tif, .tiff, .nef, .psd, .ai, .svg, .djvu, .m4u, .m3u, .mid, .wma, .flv, .3g2, .mkv, .3gp, .mp4, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .mp3, .sh, .class, .jar, .java, .rb, .asp, .php, .jsp, .brd, .sch, .dch, .dip, .pl, .vb, .vbs, .ps1, .bat, .cmd, .js, .asm, .h, .pas, .cpp, .c, .cs, .suo, .sln, .ldf, .mdf, .ibd, .myi, .myd, .frm, .odb, .dbf, .db, .mdb, .accdb, .sql, .sqlitedb, .sqlite3, .asc, .lay6, .lay, .mml, .sxm, .otg, .odg, .uop, .std, .sxd, .otp, .odp, .wb2, .slk, .dif, .stc, .sxc, .ots, .ods, .3dm, .max, .3ds, .uot, .stw, .sxw, .ott, .odt, .pem, .p12, .csr, .crt, .key, .pfx, .der

软件做授权可以参考什么呢?

单项加密或者服务器存储尽可能多的特征来保证认证,把校验数据在软件开发者的服务端留存一份。

用户在安装、升级或迁移时都需要连接到软件开发者的服务端做校验,就杜绝了任何破解的可能性。

当然如果想网开一面,故意让破解可能的话,就学学WanaCrypt0r,提供穷人通道: )

参考资料:http://www.freebuf.com/vuls/134602.html
https://gist.github.com/rain-1/989428fa5504f378b993ee6efbc0b168

web开发常用程序安装提速指南

一、常用的通用方案我们再过一遍,VPN、HTTP/HTTPS代理、Socks5代理、IPv6
二、做php开发离不开composer
composer本身下载是个挺蛋疼的事,我做了一个windows版本的composer安装包,linux、mac用户可以用包管理或者翻墙下载
三、mac用户必备的homebrew
第一步
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git

第二步
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

brew update

注意有的人用的zsh,要注意修改命令生效的文件
参考链接https://www.zhihu.com/question/31360766
四、nodejs
淘宝给我们做了一件大好事
先安装nvm然后

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=https://npm.taobao.org/mirrors/iojs

然后想安装哪个版本的nodejs、npm随便你

nvm install 7
nvm use 7

如果装了新版本的nodejs,以前装的全局npm包可以这么迁移过来

nvm install 7 --reinstall-packages-from=6

五、npm、yarn
搞nodejs、前端js开发的同学用的最多的就是npm和yarn
全局装一个nrm
nrm use taobao
还可以直接去修改.npmrc
# .npmrc
registry=https://registry.npm.taobao.org/
disturl=https://npm.taobao.org/dist

参考链接:http://zqlu.github.io/2016/05/10/taobao-nodejs-mirror/

php资深工程师必备知识

面试php资深工程师相信你已经在这个领域深入耕耘5年以上,有丰富的实践经验和知识深度广度。

作为一个phper,你一定对php和Mysql熟悉的不能再熟悉了,那么必考的知识点有:
php的面向对象的知识、迭代器、协程、流
mysql的引擎区别、索引相关用法、升级mysql实践、安全相关、锁

一般来说你至少还应该熟悉memcached、redis的一种
memcached的cas一致性分布式算法应该有所了解
redis的存储类型、用法、场景也应该门清,要是能把redis的二进制数据存储getbit、setbit搞明白可以加分,redis的备份机制有哪些?有没有看过源代码?

nginx或Apache的相关知识

php-fpm怎么管理php进程的?

如何优化性能?如何debug?这些开放命题就是面试官结合自己的水平给你打分了,你要是能把他忽悠住那你的水平一定比他高

就算你没了解也得知道php APC缓存、opcode cache吧,怎么实现的?

队列是干什么的?实际应用中什么时候用?
用过什么队列?kafka、NSQ、RabbitMQ还有啥?

然后再看看知识的广度

其他的数据库有没有了解运用过?MongoDB有啥特点?为啥不该用MongoDB?ElasticSearch呢?

linux相关业务场景的命令使用

2015年总结

前6个月在windows服务器上把一整套电商团购特卖系统开发并run起来

后6个月接触了很多

restful API开发模式开发

thinkphp+smarty、lumen、yii等框架下开发

phpUnit单元测试

jenkins自动化集成测试

自动打包发布脚本编写

gerrit git workflow

大用户量、大并发下如何防止商品超卖,如何提高并发量

redis、lua相关开发

vagrant+homestead搭建php开发环境

ELK logstash抓日志、elasticsearch做日志索引、kabana做数据分析

linux常见命令使用tailf 、wc、watch

【广告】fancyUI

fancyUI是飞凡前端团队基于angularjs 1.4开发的一套前端组件库,可以为后台管理系统搭建节省大量时间,极大提升开发效率,关注核心业务功能界面开发而非页面公共头部菜单等

PHP源码学习计划1

计划:通过3个月时间把php源码学习完毕

今晚我只看了一个库https://github.com/php/php-svn-helpers
这个库只有两个shell脚步文件
作用是我们从github迁出php代码后需要提交到svn时,把git代码库转换为对应的git-svn库

文件内容非常简单

适合初学shell、git命令的同学阅读

========
更新:我又看了一个库https://github.com/php/pecl-file_system-phdfs
这个是pecl库中的php操作hdfs(Hadoop)的扩展
目测功能单一,不会太复杂

采用的是php license 3.0