Laravist群友杂谈 --- 这个真的很杂!

这篇文章使用来记录一些篇幅很短,不能说上是话题的知识.

问:php可以操作二维码扫描枪吗 我想用来做识别会员卡的

Little答

扫描枪跟php没毛线关系,扫描枪不用装驱动,就是个键盘。扫出来一堆数字自动填到当前焦点的input/textarea就好。你写个js,扫描枪按钮按下的时候会产生一个keydown事件,你debug看看这个keycode是什么。然后绑定keycode到,触发的时候让input focus(),然后一堆数字字母就批量填上去了。

分割线 ---------------------------------------------------

Walle  v1.1 发布了

支持ansible,并发传输文件、并发执行命令,多机器环境下缩短发布时间 1/2 以上

分割线 ---------------------------------------------------


问:laravel 分布部署的时候.... 日志怎么处理....

多人整合后的观点:分机存放(日志不需要统一); 别写共享磁盘(因为慢);monolog有rsyslog 

考量:要查的时候.. 不就苦逼了么

针对考量:这不该做成常态化的。临时调个问题,外网能复现,那肯定所有机器都能复现,随便找一台机器debug就行

分割线 ---------------------------------------------------


问:bootstrap的javascript源码,在function前写个 + 号,是何用途?

Laravist群友杂谈 --- 这个真的很杂!_第1张图片

答:


Laravist群友杂谈 --- 这个真的很杂!_第2张图片

只要是个操作符就行,告诉解析器,这是表达式,可以直接执行(传统的是先声明,再调用)

分割线 ---------------------------------------------------


安正超与Little 之 命名规范

安正超

去掉无意义的词语:info, data,order 就是 order, 别 orderInfo,orderData之类的

Little

重新考虑变量的命名,动词 + 名词,过去分词 + 名词这样的形式,删掉超神说的无意义的info、data词,按驼峰处理大小写

Laravel 获取 route:list

route::list 这个命令就是使用的getRoutes

public function __construct(Router $router)

{

parent::__construct();

$this->router = $router;

$this->routes = $router->getRoutes();

}

分割线 ---------------------------------------------------


Laravel token csrf

little

crsf仅用于防止跨越脚本提交,跟xss有关联但也不是一回事。crsf并不保证只提交一次,只保证是自己的页面/脚本提交,而防止别人恶意引入了一个页面或者js来提交

Abraham

laravel 的 csrf 策略和 yii 不一样, yii 是每个请求重新生成, laravel 则是在同一个 session 固定的生命周期内(有过期时间)。

这样做有好处也有坏处。

好处显而易见, 1 不必每次都生成占用资源。 2 当用户在表单提交后点击浏览器的后退按钮后,再次提交则不必失败。 3 如果用户打开多个 tab  csrf 不会互相干扰(可以规避但是还要额外设计)。

坏处是当系统有其它高危漏洞的时候(比如能让第三方有机会获得用户 session 比如 xss),这时候是有危险的,黑客会根据 session 取得用户 token  。如果能规避这点。 每个请求和每个 session 没什么区别。 这也是安全界一段时间以来的争议。 laravel 决定不使用每个请求变更的做法。

固定时间更新是被设计出来的,不是缺陷。

安小超

Token验证后才会变


分割线 ---------------------------------------------------

Xdebug 错误

Laravist群友杂谈 --- 这个真的很杂!_第3张图片

Abraham

xdebug.max_nesting_level=9999

分割线 ---------------------------------------------------


打印快递单

littlehz

用电子面单,110mm正方形热敏纸的那种。打印速度快一秒钟可以出来几张,顺丰网站上有模板下载。不过电子面单要和业务员谈,签协议的,单号什么都是你自己生成。针式打印机打印速度太慢,而且那种三四联的快递单还要几块钱一份买。

问题背景: 现在是网站后台订单那有个打印快递单的功能,说是用针式的打,打快递单那种.这样就得做个页面

用lodop插件慢慢套.

如果是自己的电商用,那就向老板强推电子面单,你会省很多事,另外打印速度快,耗材省,整体好处多的多。如果是你做一个通用的后台,给各个客户用的,要兼容各种快递单,那就只能慢慢折腾吧。据我的了解,连顺丰每年都会更新至少三种快递单格式淘汰旧的。其他小快递更是模板经常变,每个地区也不一样。

分割线 ---------------------------------------------------


查看PHP扩展

输入 php --ri + 扩展名,输出版本号和 num

分割线 ---------------------------------------------------

Mysql优化经验

Little

数据结构设计更重要;

nosql思维来做mysql,至于那个优化,熟读一遍my.cnf的配置,常用的几个调优参数不超过10个;

数据结构不合理,各种复杂条件查询,就是上了SSD也帮不了你;

尽可能只用主键操作。索引查询都尽可能少用。即时用索引查询,也让第一个查询条件出来的结果集在1000行以内。非索引查询、LIKE禁止使用。联表也不用。--- 这就是用nosql的方式来做mysql

只按主键查询,水平扩展很容易,要分库分表吧,好做。用户表太大,想换mysql到mongodb,也好做,想加缓存,非常容易。至于复杂的结果,后台要看数据怎么办?离线分析spark、hadoop。要搜索怎么办,上ES搜索引擎

分割线 ---------------------------------------------------


Little:编译

这种核心模块还是静态编译吧,核心模块编译成so总感觉不好,这只是个人强迫症。可以借助tmux/screen无视ssh断开,还可以借助ansible/puppet来批量在多台机器上执行命令。

你可能感兴趣的:(Laravist群友杂谈 --- 这个真的很杂!)