作者歸檔:苗 啟源

關于苗 啟源

Because we hava a dream,so it's easy!

SQL Server 使用 join all 優化 or 查詢速度

一個老項目,加載列表奇慢,超過10秒鐘, 主要涉及兩個表, user表,procuts表。因為涉及多層代理,使用site字段保存目錄。

比如:,master,test, 表示 該用戶為 test 的下級代碼,test登錄后可以看到 test名下的業務和所有下級代理的業務。相關表的結構如下: 繼續閱讀

ASP 和 PHP 文件操作速度的對比

最近一個項目中,有一個讀取某個文件夾下所有文件的功能。使用了ThinkPHP + layui,本地測試沒有問題,到客戶哪里發現速度奇慢,需要10秒以上才能讀取完畢。 經溝通發現一個文件夾有1000+ 個文件,客戶之前有一套asp的老系統,1000多個 文件也能實現秒開。。。

一時竟然沒有頭緒,難道 PHP 不如 ASP快 ??因為項目中代碼太多,編寫單獨的代碼測試。files/1000目錄存放了 1428個文件測試。

繼續閱讀

Python一行代碼實現九九乘法表

最近一個弟弟求作業,要求 一行代碼實現九九乘法表,我給出的代碼如下:

print("".join(['%sx%s=%s%s' % (j, i, i*j, "\n" if i==j else "\t") for i in range(1,10) for j in range(1,i+1)]))

今天收到回復,作業過了,全班就一個這樣實現的。

哈哈,我果然是野生的,和標準答案不一樣。

print('\n'.join(['\t'.join(["%s*%s=%s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))

百度了一下,看了幾十個搜索結果,都是標準答案的方法。。。。

(┬_┬)

———————————-

2019-6-25 更新,增加 lambda版本

print('\n'.join([i for i in map(lambda i:'\t'.join(['%s*%s=%s' % (j, i, i*j) for j in range(1, i+1)]), range(1, 10))]))

談談瀏覽器 iframe 跨域 的沙盒模式

眾所周知,現代的瀏覽器通過iframe調用不同域下的頁面,會觸發沙盒模式,比如: a.com/a.html iframe內框 b.com/b.html,b.com/b.html 的內頁無法通過js操作 a.com/a.html。這樣做可以 防止跨域攻擊,使網絡訪問更安全。如果更復雜的模式,比如 a.com/a.html iframe內框 b.com/b.html,b.com/b.html iframe內框 a.com/c.html,這時 a.com/c.html 可以訪問 a.com/a.html嗎?估計這個大部分人就都不知道了,做一個簡單的實驗:
1、http://www.dezaoju.com/sanbox/ 內嵌 http://www.shuodahua.com/sanbox/
2、http://www.shuodahua.com/sanbox/ 內嵌 http://www.dezaoju.com/sanbox/frame.html
經過測試,無論內嵌多少層,只要是同域的 頁面,測試 IE、Chrome、Firefox 都不會觸發 sanbox
繼續閱讀

分享下 我的 開源項目 Wechat Message

最近做了幾個微信公眾號自動回復的小程序,時間緊促,代碼寫的非?;靵y。

近期閑下來,把代碼重構了,按這個模式就可以 以非常優雅的方式 處理微信消息。只需要 繼承 消息類,重構類的方法(比如:onTextMessage),就可以處理 接收到的文本信息。根據用戶回復,返回 textMessage 即可將文本信息發送給用戶。

現在已經將 相關代碼開源,訪問 https://gitee.com/mqycn/WechatMessage 即可下載,簡單的使用例子如下: 繼續閱讀