筆記Mark日期:2016.04.08-2016.04.20
[業(yè)務解答]:問一個問題laravel 導出excel如果數(shù)據(jù)量特別大,比如5旗们,6萬多條的話 會超時亲配,或者很慢,你們是怎么解決的谁帕?
答:1)[Lonquan]用其他的導出 2)[茄子]后端處理峡继,提前生成
答案不詳細!
[開闊視野]:茄子 -?ES6
[福利分享]:超神 - HTTP API 設計指南
[開闊視野]:Judd - 為什么編輯器不要高亮
[業(yè)務解答]:怎樣強制dingo使用https?
答:[茄子]使用的是 http 還是 https 協(xié)議匈挖,對于dingo 甚至于laravel框架應該是透明的鬓椭。你應該在.htaccess 或者 web 服務器里配置重定向規(guī)則
[程序員必修]:提問的智慧
[推廣]: Laravist教主要組建團隊
[業(yè)務解答]: (Vue.js) Starriv 關于如何點擊當前按鈕 輸出當前的value值
幾個按鈕是
答:Starriv 重新翻了下文檔,發(fā)現(xiàn)還可以這樣用
Starriv的完整解答
看這個代碼會發(fā)現(xiàn)出現(xiàn)了 let 語法,這個據(jù)Starriv講解,是ES6新增的
茄子補充:ES6 里 let 聲明的變量是塊作用域关划,就不用小心翼翼的擔心變量提升引入的問題
群里 Starriv 和 茄子也是前端大神呀
[我們的小插曲] 翻頁 - since_id
即當前頁最后一個數(shù)據(jù)的id.
客戶端負責保存 since_id,用since_id就不會出現(xiàn)普通翻頁可能會出現(xiàn)重復數(shù)據(jù)的情況
[業(yè)務解答]
感覺自己這個分類導航拼url的方式不是很好小染,有什么狀態(tài)管理的方式來處理這種一堆鏈接的導航?
答:Ab兄 ?兩個地方贮折,一個是 active 那里裤翩,我是這樣的,你可以增強一下,放外面能讓 html 直觀一點踊赠。生成 url 呵扛,簡單點的可以和 active 一樣用一個函數(shù)包裝下 http_build_query 方法,更科學的用 guzzle/psr7 庫里面的 uri筐带, 這個類實現(xiàn)了 psr7 合同談判.
[我們的思考] url 與 base64
糾結一個問題今穿,base64_encode生成的字符,要在url中傳輸伦籍,就把結尾的等號給去掉了蓝晒,現(xiàn)在base64_decode的時候,不補等號也會解析成功帖鸦,在糾結要不要補等號了
要是寫php代碼產(chǎn)生了warning芝薇,你是選擇修改代碼消除warning還是加@屏蔽還是選擇修改error_reporting級別不報warning?
url傳輸數(shù)據(jù)也可以用rawurlencode
[福利分享] 超神 - 你懂得
[開闊視野] Starriv - 漂亮的網(wǎng)站設計
[經(jīng)驗分享] Redis緩存問題
Lonquan.Me laravel, 如果用 redis 作為緩存的話, 一定要記得重新 config/cache.php 里面 指定 redis connection 為另一個不是平常存儲數(shù)據(jù)的 connection, 不然執(zhí)行 artisan cache:clear 的時候, 就哭瞎了...因為 他是 直接 $this->connection()->flushdb(); ? ? (服務器阿里云)
Littlehz 別把redis當緩存,而是當存儲.緩存盡量別用,不一致的情況哭瞎.要么是不一致,要么是命中率低,不可能完美.不是用什么,而是邏輯思維.用nosql存儲的方式,把你需要的數(shù)據(jù)直接存儲到redis,需要的時候從redis查詢,數(shù)據(jù)只在這里存一份.而不是緩存思維,將數(shù)據(jù)存儲在mysql,查詢數(shù)據(jù)庫的結果緩存到redis.當然redis并不太適合需要持久化的數(shù)據(jù),持久化的數(shù)據(jù)可以考慮mongodb.redis的持久化不要考慮,rdb會占用雙倍內(nèi)存還會阻塞幾秒,aof恢復起來沒十幾二十分分鐘搞不定.除非你用redis從庫,在從庫里用rdb阻塞.
[開闊視野] NameCheap與GoDaddy
NameCheap是一家領先的ICANN認可的域名注冊和網(wǎng)站托管公司. GoDaddy 擁有超過20年的域名購買和網(wǎng)站主機托管經(jīng)驗
godaddy的首年價和續(xù)費價相差比較大作儿,續(xù)費的時候找優(yōu)惠碼累死人,namecheap的首年和續(xù)費相差不大.namecheap 上買 https 證書也很便宜.
最便宜的泛域名 ssl 去哪找,https泛域名 Comodo Positive SSL Wildcard https://zcmym.com/digital-certificate
1k多的EV(Extended Validation)洛二,GeoTrust BusinessID with EV https://www.namecheap.com/security/ssl-certificates/geotrust/true-businessid-with-ev.aspx
[群友見解] opcache
opcache只有opcode cache和realpath cache,沒有object/data cache攻锰。要是這種命中率都能低晾嘶,就難辦了。
[群友見解] Docker使用見解
Littlehz 其實現(xiàn)在大家都用云主機的話娶吞,并不太推薦Docker,docker的意義在于環(huán)境標準化和統(tǒng)一運維垒迂,環(huán)境標準化 云主機 里 有鏡像功能,統(tǒng)一運維 有 ansible 這樣的工具寝志。云主機本來就是虛擬化的娇斑,再套一層Docker虛擬化。網(wǎng)絡方面云主機是在一個內(nèi)網(wǎng)里的材部,Docker會多做一層NAT端口轉(zhuǎn)發(fā)毫缆。主機A的Docker和主機B的Docker通信要多好幾次轉(zhuǎn)發(fā)。
[經(jīng)驗分享] 解決前端依賴
茄子 有兩種乐导,CommonJS專注后端解決依賴關系苦丁,比如node所有的模塊都是這種格式;AMD專注于在瀏覽器里處理依賴關系物臂,異步加載旺拉。可用的有RequireJS棵磷,還有A廠的SeaJS蛾狗。 我和@Starriv 一樣,也傾向于用構建工具后端打包仪媒。? Gulp是構建工具沉桌,打包還得找對應的插件,比如用gulp-browserify來處理CommonJS規(guī)范的打包。 但是有一個問題留凭,Gulp的插件更新并不很及時佃扼,比如npm出了一個插件laravist,那我還得等 gulp-laravist 插件也出來了才能用蔼夜。? 我傾向于直接用 npm + webpack 的組合來做構建工具
gulp?是構建工具兼耀,webpack是打包工具。gulp有對應的插件求冷,利用webpack來打包.bower解決依賴關系的 ,現(xiàn)在用webpack可以無視bower
[開闊視野]Judd與JellyBool 網(wǎng)站配色網(wǎng)址分享
[群友見解] 超神 - Trait
[開闊視野] Littlehz 發(fā)票
能不開就不開瘤运,能用別人的發(fā)票就用別人的,開了一張發(fā)票后遵倦,麻煩事多著尽超,互聯(lián)網(wǎng)的產(chǎn)品官撼,像賣云存儲的梧躺、租服務器的、開發(fā)軟件傲绣、硬件維護掠哥,開發(fā)票,一般都開技術服務費秃诵,屬于增值稅续搀,一般小公司都是開增值稅普通發(fā)票,沒到那么大規(guī)模不會去做一般納稅人認證所以開不了增值稅專用發(fā)票菠净。大多數(shù)地方增值稅發(fā)票是買開票軟件用針式打印機打印開發(fā)票禁舷,也可以到稅局代開。自己打印毅往,要買稅控盤和開票軟件牵咙,費用各地不一樣,大概就是一千多一年吧攀唯。稅局代開洁桌,那就每次都要排隊等好久。增值稅征收率是3%侯嘀,意味著要交3%的增值稅另凌。但是自己開發(fā)票,每月票面金額3萬以內(nèi)免增值稅戒幔。稅局代開的發(fā)票不免增值稅吠谢,同時占用免稅額度。一旦開了發(fā)票诗茎,就要請會計做賬工坊,每個月的銷售、利潤、固定資產(chǎn)都要做報表給國稅栅组。一個兼職會計怎么也要幾百一個月吧雀瓢。然后還有一個所得稅,是國稅收的玉掸。理論上是你的銷售收入減去各項成本得到的利潤的20%左右吧刃麸,會計可以把利潤做成0那就不會有所得稅。但是不可能司浪,實際上所得稅有預警線泊业,一般會計做賬都會按稅局的要求這么做。批發(fā)銷售行業(yè)所得稅不低于 開票總收入的0.5%啊易,零售行業(yè)所得稅不低于 1%吁伺,像互聯(lián)網(wǎng)行業(yè),哼哼租谈,不低于3.5%篮奄。所以別沒事想著注冊個空殼公司就能怎么樣。大眾創(chuàng)業(yè)萬眾創(chuàng)新只是口號割去,政府根本沒有落到實處窟却,開公司的成本高著呢。沒這么簡單呻逆,沒有穩(wěn)定的業(yè)務往來夸赫,沒有足夠的收入,還是不要注冊公司咖城,即使注冊茬腿,也是盡量不要開第一張票。
[開闊視野]超神 - What is Sass
[開闊視野] Starriv - ?前端代碼規(guī)范
[經(jīng)驗分享] Abraham - call_user_func
call_user_func 主要是運行的時候動態(tài)變更調(diào)用的對象和方法宜雀,圖里可能顯示不出這點切平,只是作者習慣這么寫了。但在其他很多場景下州袒,比如把這個方法提到父類中讓很多子類重用揭绑, 這個技巧可以發(fā)揮作用。用 call_user_func 的方法可以閉包傳參用來解耦郎哭,
[開闊視野] HSTS
HSTS(HTTP Strict Transport Security)國際互聯(lián)網(wǎng)工程組織IETE正在推行一種新的Web安全協(xié)議.
[真的不懂] 但是還是想Mark下
去一個網(wǎng)站申請他匪,審核通過之后,會通過云端下發(fā)到所有chrome瀏覽器的配置列表夸研,然后訪問這個網(wǎng)站就永遠不會嘗試http邦蜜,不管你輸入http還是https,都是走https亥至,http試都不會試悼沈。不過https并不是不用備案贱迟,只是現(xiàn)在的機房檢測備案程序都懶得升級,當然絮供,很有可能阿里云會是第一個檢測的衣吠。https在證書交換階段會暴露明文的域名信息。
[開闊視野] Javascript生態(tài)之亂
[群友分享] 我是一個線程
[群友見解] 超神 - 老生常談的命名
1)請盡量避免使用 data, info 這樣無意義的命名
2)還有就是json 別用駝峰吧,使用類似這種error_message下劃線.
原因:數(shù)組下劃線的原因主要是為了json,與mysql字段保持一致,還有我的函數(shù)也是下劃線命名,與php內(nèi)置函數(shù)一樣,方法壤靶、變量名與類名其它都駝峰.
[群友見解] Abraham - 丟丟丟錯誤
[業(yè)務解答] Post 與 Post
null?請問一下缚俏,android做第三方QQ登陸時,android是將QQ發(fā)給android的數(shù)據(jù)直接發(fā)給后端嗎贮乳?需要android做處理嗎忧换?我做了一個POST路由處理android發(fā)過來的數(shù)據(jù),但是他一直為我要POST格式向拆?QQ給他的就是key亚茬,value啊浓恳?他直接發(fā)給我不行嗎刹缝?
答:Littlehz? 客戶端的開發(fā)者并不理解form post,post有很多種,常見的是 form post奖蔓、文件post赞草,還有自定義消息體的post,raw和binary可以合并稱為一種讹堤,反正都是雙方協(xié)商自定義的格式吆鹤,無所謂文本還是二進制了
[擴展視野]Starriv調(diào)研 ssdb
ssdb是一個高性能的支持豐富數(shù)據(jù)結構的 NoSQL 數(shù)據(jù)庫, 用于替代 Redis.
[擴展視野]歡歡的comodo疑問
comodo 美國的軟件公司,是世界優(yōu)秀的IT安全服務提供商和SSL證書的供應商之一
comodo發(fā)來的ssl文件里并木有key洲守,只有ca?bundle和crt文件
ca?bundle的作用是什么?
Littlehz:?將自己網(wǎng)站的crt與comodo中級證書合并疑务,得到完整的證書鏈,有更好的兼容性
[業(yè)務解答]數(shù)據(jù)交互-Json
Lonquan ?昨天是誰驗證 json 格式來著, json_decode 的時候, 如果傳入的是整形, 是直接返回 對應的值, 所以判斷是不是, 還是得 is_object 跟 is_array 吧
Abraham ?return?is_numeric($str)?&&?null?!==?json_decode($str)
Littlehz ?如果是內(nèi)部函數(shù)調(diào)用梗醇,就不應該設計成參數(shù)是json串知允。如果是對外的API,接收php://input?raw數(shù)據(jù)叙谨,那就粗略檢查下是否以{開通温鸽、以}結尾就行。API的設計不可能沒有key?而直接傳數(shù)組或者數(shù)字或者boolean的
入口的地方粗略檢查完了手负,再調(diào)用json_decode涤垫,然后給驗證類去檢查具體的每個值是否必須,范圍是多少竟终。如果數(shù)據(jù)量大蝠猬,json_decode耗cpu也耗內(nèi)存。先粗略檢查统捶,再驗證具體的key和值
[業(yè)務解答] 獲取微信頭像
在做微信登陸API的時候榆芦,當用戶注冊時要獲取用戶的頭像保存到七牛云柄粹,雖然用戶注冊和頭像上傳都正常,但是android那里報錯timeout匆绣,應該是這一步太耗時了吧驻右?如果用戶的微信或QQ頭像換了,那么之前的頭像url不會出問題吧崎淳?
答:Littlehz? 微信頭像沒有防盜鏈可以直接引用的旺入,QQ空間的QQ登錄,獲取頭像是公開的凯力,并且官方文檔建議直接引用茵瘾,URL地址是以uid為路徑的,永久不變咐鹤。但是微信就沒試過拗秘,你看看官方文檔,或者自己試下頭像URL是不是以uid做了某種hash祈惶。
[業(yè)務解答] PHP Sleep
如果sleep 100秒雕旨,萬一10秒時窗口關閉了 100秒后還會執(zhí)行代碼嗎?
答:Littlehz??
http://php.net/manual/en/misc.configuration.php#ini.ignore-user-abort
瀏覽器關閉捧请,php是否繼續(xù)執(zhí)行凡涩,受到此參數(shù)的影響。默認是瀏覽器關閉疹蛉,php不會繼續(xù)執(zhí)行活箕,當然不是立即停止,而是完成一次`系統(tǒng)調(diào)用`之后才會停止可款。至于怎么認為一次系統(tǒng)調(diào)用育韩,就是觸發(fā)一次?declare(ticks=1);
sleep?100;?關閉瀏覽器php不會立即停止,可能到php完全結束了闺鲸,是沒有觸發(fā)系統(tǒng)調(diào)用筋讨。死循環(huán)?sleep?1;??循環(huán)了幾次,關閉瀏覽器之后摸恍,延遲幾十或幾百毫秒php停止悉罕。
[群友分享] Nginx Https 高階配置? ?一個Web開發(fā)者的博客??