這篇文章使用來(lái)記錄一些篇幅很短,不能說(shuō)上是話題的知識(shí).
問(wèn):php可以操作二維碼掃描槍嗎 我想用來(lái)做識(shí)別會(huì)員卡的
Little答
掃描槍跟php沒(méi)毛線關(guān)系惑芭,掃描槍不用裝驅(qū)動(dòng)蚪拦,就是個(gè)鍵盤项乒。掃出來(lái)一堆數(shù)字自動(dòng)填到當(dāng)前焦點(diǎn)的input/textarea就好扮念。你寫個(gè)js突雪,掃描槍按鈕按下的時(shí)候會(huì)產(chǎn)生一個(gè)keydown事件什黑,你debug看看這個(gè)keycode是什么崎淳。然后綁定keycode到,觸發(fā)的時(shí)候讓input focus()愕把,然后一堆數(shù)字字母就批量填上去了拣凹。
分割線 ---------------------------------------------------
Walle??v1.1?發(fā)布了
支持ansible,并發(fā)傳輸文件恨豁、并發(fā)執(zhí)行命令嚣镜,多機(jī)器環(huán)境下縮短發(fā)布時(shí)間?1/2?以上
分割線 ---------------------------------------------------
問(wèn):laravel 分布部署的時(shí)候.... 日志怎么處理....
多人整合后的觀點(diǎn):分機(jī)存放(日志不需要統(tǒng)一); 別寫共享磁盤(因?yàn)槁?;monolog有rsyslog?
考量:要查的時(shí)候.. 不就苦逼了么
針對(duì)考量:這不該做成常態(tài)化的。臨時(shí)調(diào)個(gè)問(wèn)題橘蜜,外網(wǎng)能復(fù)現(xiàn)菊匿,那肯定所有機(jī)器都能復(fù)現(xiàn),隨便找一臺(tái)機(jī)器debug就行
分割線 ---------------------------------------------------
問(wèn):bootstrap的javascript源碼计福,在function前寫個(gè)?+?號(hào)跌捆,是何用途?
答:
只要是個(gè)操作符就行,告訴解析器象颖,這是表達(dá)式佩厚,可以直接執(zhí)行(傳統(tǒng)的是先聲明,再調(diào)用)
分割線 ---------------------------------------------------
安正超與Little 之 命名規(guī)范
安正超
去掉無(wú)意義的詞語(yǔ):info, data,order?就是?order,?別?orderInfo,orderData之類的
Little
重新考慮變量的命名说订,動(dòng)詞 + 名詞抄瓦,過(guò)去分詞 + 名詞這樣的形式,刪掉超神說(shuō)的無(wú)意義的info克蚂、data詞闺鲸,按駝峰處理大小寫
Laravel 獲取 route:list
route::list 這個(gè)命令就是使用的getRoutes
public function __construct(Router $router)
{
parent::__construct();
$this->router = $router;
$this->routes = $router->getRoutes();
}
分割線 ---------------------------------------------------
Laravel token csrf
little
crsf僅用于防止跨越腳本提交,跟xss有關(guān)聯(lián)但也不是一回事埃叭。crsf并不保證只提交一次摸恍,只保證是自己的頁(yè)面/腳本提交,而防止別人惡意引入了一個(gè)頁(yè)面或者js來(lái)提交
Abraham
laravel?的?csrf?策略和?yii?不一樣赤屋,?yii?是每個(gè)請(qǐng)求重新生成立镶,?laravel?則是在同一個(gè)?session?固定的生命周期內(nèi)(有過(guò)期時(shí)間)。
這樣做有好處也有壞處类早。
好處顯而易見媚媒,?1?不必每次都生成占用資源。?2?當(dāng)用戶在表單提交后點(diǎn)擊瀏覽器的后退按鈕后涩僻,再次提交則不必失敗缭召。?3?如果用戶打開多個(gè)?tab??csrf?不會(huì)互相干擾(可以規(guī)避但是還要額外設(shè)計(jì))栈顷。
壞處是當(dāng)系統(tǒng)有其它高危漏洞的時(shí)候(比如能讓第三方有機(jī)會(huì)獲得用戶?session?比如?xss),這時(shí)候是有危險(xiǎn)的嵌巷,黑客會(huì)根據(jù)?session?取得用戶?token??萄凤。如果能規(guī)避這點(diǎn)。?每個(gè)請(qǐng)求和每個(gè)?session?沒(méi)什么區(qū)別搪哪。?這也是安全界一段時(shí)間以來(lái)的爭(zhēng)議靡努。?laravel?決定不使用每個(gè)請(qǐng)求變更的做法。
固定時(shí)間更新是被設(shè)計(jì)出來(lái)的晓折,不是缺陷惑朦。
安小超
Token驗(yàn)證后才會(huì)變
分割線 ---------------------------------------------------
Xdebug 錯(cuò)誤
Abraham
xdebug.max_nesting_level=9999
分割線 ---------------------------------------------------
打印快遞單
littlehz
用電子面單,110mm正方形熱敏紙的那種漓概。打印速度快一秒鐘可以出來(lái)幾張漾月,順豐網(wǎng)站上有模板下載。不過(guò)電子面單要和業(yè)務(wù)員談垛耳,簽協(xié)議的栅屏,單號(hào)什么都是你自己生成。針式打印機(jī)打印速度太慢堂鲜,而且那種三四聯(lián)的快遞單還要幾塊錢一份買栈雳。
問(wèn)題背景: 現(xiàn)在是網(wǎng)站后臺(tái)訂單那有個(gè)打印快遞單的功能,說(shuō)是用針式的打,打快遞單那種.這樣就得做個(gè)頁(yè)面
用lodop插件慢慢套.
如果是自己的電商用,那就向老板強(qiáng)推電子面單缔莲,你會(huì)省很多事哥纫,另外打印速度快,耗材省痴奏,整體好處多的多蛀骇。如果是你做一個(gè)通用的后臺(tái),給各個(gè)客戶用的读拆,要兼容各種快遞單擅憔,那就只能慢慢折騰吧。據(jù)我的了解檐晕,連順豐每年都會(huì)更新至少三種快遞單格式淘汰舊的暑诸。其他小快遞更是模板經(jīng)常變,每個(gè)地區(qū)也不一樣辟灰。
分割線 ---------------------------------------------------
查看PHP擴(kuò)展
輸入 php --ri + 擴(kuò)展名,輸出版本號(hào)和 num
分割線 ---------------------------------------------------
Mysql優(yōu)化經(jīng)驗(yàn)
Little
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)更重要;
nosql思維來(lái)做mysql个榕,至于那個(gè)優(yōu)化,熟讀一遍my.cnf的配置芥喇,常用的幾個(gè)調(diào)優(yōu)參數(shù)不超過(guò)10個(gè);
數(shù)據(jù)結(jié)構(gòu)不合理西采,各種復(fù)雜條件查詢,就是上了SSD也幫不了你;
盡可能只用主鍵操作继控。索引查詢都盡可能少用械馆。即時(shí)用索引查詢胖眷,也讓第一個(gè)查詢條件出來(lái)的結(jié)果集在1000行以內(nèi)。非索引查詢狱杰、LIKE禁止使用瘦材。聯(lián)表也不用。--- 這就是用nosql的方式來(lái)做mysql
只按主鍵查詢仿畸,水平擴(kuò)展很容易,要分庫(kù)分表吧朗和,好做错沽。用戶表太大,想換mysql到mongodb眶拉,也好做千埃,想加緩存,非常容易忆植。至于復(fù)雜的結(jié)果放可,后臺(tái)要看數(shù)據(jù)怎么辦?離線分析spark朝刊、hadoop耀里。要搜索怎么辦,上ES搜索引擎
分割線 ---------------------------------------------------
Little:編譯
這種核心模塊還是靜態(tài)編譯吧拾氓,核心模塊編譯成so總感覺(jué)不好,這只是個(gè)人強(qiáng)迫癥冯挎。可以借助tmux/screen無(wú)視ssh斷開咙鞍,還可以借助ansible/puppet來(lái)批量在多臺(tái)機(jī)器上執(zhí)行命令房官。