[经验看法] (安正超)对代码规范的理解
我们以前给雅虎做商城的时候,是严格要求一个方法不能超过30行的,
之前我刚被那些规则强制要求的时候也觉得屎,
我们整个团队48个开发人员,都觉得好不习惯,有的离职了,也有新人进来.
面对从未见过的严格要求,精确到数组元素锁进少一个空格都会拒掉,不是人工的检验规范,整整花了4个月,整个团队的编码问题才基本调整完毕,也就意味着他们花了4个月工资,只为了代码规范,然后后面7个月开始写业务,不要依赖格式化工具.
感慨:
在编程问题上,工具,应该是将本来你就具有的能力加速,而不是替你存储能力,
所以,我指的不要依赖工具,是说你应该具备这些知识与技能而不是说不要使用工具,
随时换任何人的电脑都能写出一样的代码才是好的.
这不是要求,所以没必要统一大家的看法。做好自己即可,我会强制要求自己去尽力做到,还在努力中
(Abraham)
的确,每天都遇到不明白的,然而过了一阵子,会恍然大悟原来之前他那么写,是因为这个。。。
还是自己太嫩,就像这个理论一样,可能不同的时候,不同的人,读起来感觉都不一样吧,有的感觉总结的好棒,有的感觉纯粹是胡扯啊
否则大家互相改代码,空格都不一样, git diff 会相当难看
我之前一直是 psr2 的,但是发现随着自定义的地方越来越多,越来越趋向于 Symfony 风格了
现在我的编辑器格式化,和 php cs fixer 格式化的是一模一样的。。。
懂的,如果用肉眼看,还是能看出差异,比如前两天突然发现 (int)$var 括号后面的空格没了。。。给我急的这家伙
写一写就郁闷了,同样是 psr2 的,风格迥异太多了,主要是空格和换行
要是多几个人一起写东西,还是把什么地方不该换行都说明白
[小技巧] (Littlehz) 搬服务器,删数据
为了避免下一个租户用了能恢复数据
[网站/项目分享]
http://www.freebuf.com/ 关注黑客与极客
https://github.com/kalcaddle/KODExplorer Coding ide前端是用semantic ui写的
KodExplorer是一款开源的基于Web的在线文件管理、代码编辑器。
(null)http://www.iconfont.cn/阿里巴巴矢量图标库
http://robo.li/一个任务组件
(安正超)https://unsplash.com/壁纸网
(Jellybool)https://pixabay.com/壁纸网2
(茄子)http://mp.weixin.qq.com/s?__biz=MjM5MjAyNDUyMA==&mid=2650491226&idx=1&sn=306ac95dff72424614f63f243eb48060&scene=23&srcid=0513XMbnlDiXX4zpXmeneE78#rd壁纸网3
(安正超) http://www.uisdc.com/free-hd-picture-website 壁纸网4
(安正超) http://www.freeimages.com/ 壁纸网5
(安正超) https://unsplash.com/ 壁纸网6
(Starriv)https://asciinema.org/回放终端操作的
(安正超)https://github.com/ScienJus/qqbot qq聊天机器人
(安正超)http://t.cn/Rq8dbWl屏蔽百度推广谷歌浏览器插件
http://insights.thoughtworkers.org/setup-ie-series-testing-environment/ 快速搭建IE测试环境
[博客分享] (Tomoe)
http://yish.im/
https://tangguangyao.github.io/
[超神推荐] (安正超)
http://weibo.com/ttarticle/p/show?id=2309403973633306419124redis实战
[话题讨论] 哪个渲染大数据最快
http://gold.xitu.io/entry/570f6cfa1ea493006b5e8401
http://mithril.js.org/ 最快的,但是这个库维护者少,缺推广和社区。但是我记得它们的简介里一直是以秒杀 react 为傲的。很久没关注了。
[业务疑问] (AceForce)
我前天在vuex还是vue-router文档里看到,可以把vue-router的转态保存到vuex,这回有找不到在哪里有提到过。终于把 vue + vuex + vue-router + vue-resource + jquery + Scene + Shine 跑通了,现在剩下 vue-validator还没弄
(Tomoe)https://github.com/vuejs/vuex-router-sync
[业务疑问] (null) 队列
消息队列并行执行,然后又有顺序依赖 ,那啥时候需要多个进程呢
(Littlehz) 你只开一个进程做任务那就不会存在并行执行咯. 一个进程处理不过来的时候就开多个进程啊,但是多个进程就是抢任务,虽然队列本身能保证fifo,但是哪个工作进程能先执行完就不能保证了
(Abraham) 分布式的队列并不能保证 fifo,不过也差不太多,还是要在出站的时候处理
FIFO(First Input First Output),即先进先出队列。
[经验分享] (Lonquan) Laravel redis使用心得
如果使用 redis 作为cache,记得一定要指定一个不是存放业务数据的 db
不然, cache:clear 的时候, 就会哭瞎了
laravel, 如果用 redis 作为缓存的话, 一定要记得重新 config/cache.php 里面 指定 redis connection 为另一个不是平常存储数据的 connection, 不然执行 artisan cache:clear 的时候, 就哭瞎了...
因为 他是 直接 $this->connection()->flushdb();
我的放的不只 cache, 还有一些频繁读取修改的配置项
[Redis疑问] (Abraham) 自建Redis
(Littlehz)
普通主机,自建redis. 非持久化的队列可以用redis的 rpush、lpop 或者 lpush、rpop。持久化的rabbitmq、kafka都不错. 一个redis进程可以有16个db,可以换一个用嘛
(Abraham) 我后来是这么做的,因为我的数据库非常小,可以说也就不到 100m 的核心配置,除了 redis,你有更好的办法吗?他那个不支持链表,几万个元素的数组,属于那种“最近被访问过的n条数据”,做定期统计用
(littlehz) 鸟哥不是有个配置分发系统嘛,yaconf
如果数据结构简单,每条数据设置成定长,存入到 xxx.db 文件,php直接读字节偏移量也是很快的
[经验分享] (Littlehz) Nginx 新版本 注意点
升级了nginx新版本,好像对 document_root 设置的文件夹如果是软链,有些变化了。假设 document_root 是 /data/web/www,而 /data/web/www 软链 -> /data/release/version1。
以前的nginx版本,在index.php里拿到的 __DIR__ 是 /data/web/www,新的nginx版本,拿到的是 /data/release/version1。
如果用的发布系统是基于软链更新代码的,比如发布新版本由 /data/release/version1 切换到 /data/release/version2。
那么nginx好像有缓存,永远不会生效新的代码,改了软链后 index.php 拿到的 __DIR__ 依然是 /data/release/version1 不会变成 version2,只能 service nginx reload。与 php 的opcache无关。
然后我试了下设置 fastcgi参数,
把 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
改成 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
这个软链就可以自动更新了,index.php 拿到的 __DIR__ 是最新的。
我的是啊,这样方便出问题快速回滚代码到某个历史版本。但是升级nginx版本之后发现这样做没用了,所以debug了下这个问题,貌似是这样的结论。
是,某个版本的nginx开始缓存了document_root软链地址,要nginx reload才生效。或者不用 $document_root 变量,换成 $realpath_root 变量
[经验分享] (Tomoe) 类3D的360度全景图
他這個比較簡單,每10度一張圖之類的,偵測滑鼠移動去算現在角度是哪張圖
基本上都這樣實現的XD
除非真的要到全角度之類的功能,可能就要建模然後用WebGL render之類的
不會難,真的,基本上就是把圖片先cache起來,然後再寫個算法處理滑鼠拖曳之類的,之前幫學校項目寫過,代碼量不多
http://codepen.io/suprsidr/pen/rltni
(Vikin)http://www.netfoucs.com/article/jia20003/52664.html 360度全景图文章
(Littlehz) 证书
这个 cacert.pem 应该就是所有信任的 root ca ,只要装好了 openssl 包,应该就会带上所有信任的 root ca。还是要想办法把系统环境装好,要不然执行 curl 命令什么也会有问题吧
apt-get install --reinstall ca-certificates
yum install ca-certificates
把 root ca 装好,一劳永逸
windows不熟悉,但我觉得应该用自己系统的ca,php内指定ca总感觉不妥。
[疑问] 微信不是会验证 服务器 地址么?不是有 安全域名什么的?
(Littlehz)
在这个提示的问题,意思是 服务器请求 https://api.weixin.com 时,系统认为 api.weixin.com的https证书不信任,找不到 root ca。所以需要先配置下信任的root ca,正常情况应该是用系统环境里的root ca就可以,不用额外在请求时或者在php.ini里指定root ca。
[拓展视野] sketchs ui 设计软件
[拓展视野]
beanstalkd 一个高性能、轻量级的分布式内存队列系统. 教主新视频有介绍哦
kafka 一种高吞吐量的分布式发布订阅消息系统.
rabbitmq RabbitMQ是由 LShift提供的一个 Advanced Message Queuing Protocol (AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang写成(因此也是继承了这些优点)
(安正超) oh-my-fish
[小问题]
\w 代表数字字母下划线 , - 代表中横线
以后固定两个星期更新一次.