2016-05-15 Laravist 群友杂谈 主讲代码规范

[经验看法] (安正超)对代码规范的理解

我们以前给雅虎做商城的时候,是严格要求一个方法不能超过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://laypage.layui.com分页组件

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 为傲的。很久没关注了。

http://riotjs.com/ 


[业务疑问] (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 代表数字字母下划线 , - 代表中横线


以后固定两个星期更新一次.  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • (centos7+nginx1.9+mysql5.6+php7) 1.准备工作: 1)把所有的软件安装在/data...
    Tshare_XUN阅读 591评论 0 0
  • 1. Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单...
    rosekissyou阅读 10,202评论 5 124
  • 这种方法详细记录了登录过系统的用户、IP 地址、shell 命令以及详细操作的时间。并将这些信息以文件的形式保存在...
    angerskon阅读 681评论 0 0
  • 在7月1日到10月31日是赛装节,在此期间,九寨千古情景区为游客免费提供藏羌风情的民族服装。景区内高大的藏碉直冲云...
    落榜进士阅读 785评论 1 1