鍍金池/ 問答/ PHP問答
落殤 回答

react 的render函數(shù)動(dòng)態(tài)生成的模板數(shù)據(jù)! a ul 這些都是標(biāo)簽名 動(dòng)態(tài)生成
441 這屬于它內(nèi)部壓縮給予識(shí)別稱呼,可以理解為一個(gè)編號(hào) 用來識(shí)別它到底是那塊部分的內(nèi)容
n 可能是次數(shù)可能是 框都 也是一個(gè)變量
你光看壓縮文件 很難推斷出來真實(shí)表達(dá)的意思

懷中人 回答

持續(xù)訪問必須快,因?yàn)閚fs網(wǎng)絡(luò)tcp連接在第一次訪問時(shí)已經(jīng)建立,后續(xù)的訪問復(fù)用此次建立的連接。

間斷訪問每一次都會(huì)重新建立tcp連接,過程會(huì)慢,這取決于nfs響應(yīng)速度。

僅個(gè)人見解。

瘋子范 回答

都是單表查詢沒什么問題,應(yīng)該這樣處理,你所說的效率無非是mysql的瓶頸問題,和服務(wù)端的語言沒什么關(guān)系,評(píng)論的話怎么取,這要看你的業(yè)務(wù)了,這里你要注意這么幾點(diǎn)
1、當(dāng)你的翻頁功能只能一頁一頁翻,那么可以取當(dāng)頁的最后一條數(shù)據(jù)的id,使用where id > last_id 這樣的行級(jí)過濾條件,limit這里只需要 limit page_size就可以了,mysqllimit 有個(gè)問題,就是你如果寫limit 100000 10 它會(huì)把這100000 條數(shù)據(jù)都檢索一遍。這樣寫的好處就是你設(shè)置了一個(gè)過濾條件,那么他其實(shí)只會(huì)檢索你設(shè)置的page_size 的數(shù)據(jù)條數(shù),其次是你可以寫多個(gè)條件。
2、如果你是單條件查詢,那么可以使用子查詢,就是在where 行級(jí)過濾條件里使用 子查詢,比如說 select * from table1 where id > (select id from table1 limit current_num, page_size) limit page_size,這里子查詢走的主鍵索引,所以說速度是很快的。
3、當(dāng)涉及單條件和多條件查詢的時(shí)候,組合索引非常重要,比如 select id from table1 where age > 18, 這里索引會(huì)先走where 條件 再走 id,所以按照組合索引的最左原則,你懂得。
4、之后用 In() 取另一張表的數(shù)據(jù)即可,其實(shí)也就查詢兩次數(shù)據(jù)庫,剩下的交給服務(wù)端處理一下就完事了。
5、能設(shè)置定長(zhǎng)的字段可以盡量設(shè)置為定長(zhǎng)。

還要說一點(diǎn)的是,其實(shí)當(dāng)數(shù)據(jù)量真的很大的時(shí)候,其實(shí)會(huì)用分表,索引表,分段查詢這些東西來做select 操作,有的可能會(huì)用sphinx、Solr 這些全文檢索引擎。你可以取研究研究

賤人曾 回答

自己找到方法了,解決了,代碼如下。

$conditions = array(
    'id' => $id
);

$extra = array(
...
);
  
$service = RecordModel::firstOrNew($conditions);
$service->extra = $extra;    
$service->save();

另外這個(gè)方法會(huì)自動(dòng)把沒有變化的字段去掉,只更新有變化的字段,如果待更新的字段全部未變化則不進(jìn)行Mysql更新操作。

心癌 回答

經(jīng)過一頓亂搞解決問題了:安裝php-zip擴(kuò)展
如何發(fā)現(xiàn)問題:在無法解決問題的情況下,嘗試去使用新版本phpspreadsheet,于是準(zhǔn)備加載compose,安裝過程中報(bào)錯(cuò),顯示的大致內(nèi)容是找不到php-zip擴(kuò)展,發(fā)現(xiàn)了問題所在
查詢資料:Microsoft Office EXCEL 2007/2010/2013/2016文檔的擴(kuò)展名。xlsx是從Office2007開始使用的,是用新的基于XML的壓縮文件格式取代了其目前專有的默認(rèn)文件格式,在傳統(tǒng)的文件名擴(kuò)展名后面添加了字母x(即:docx取代doc、.xlsx取代xls等等),使其占用空間更小。

青黛色 回答

input里加一個(gè)參數(shù)rel(隨便起),后端根據(jù)rel判斷取不同的值

情未了 回答

許多機(jī)器在做位移操作的時(shí)候都是只出理低log(w)位,也就是所說的w%k位

(但是,具體有哪些機(jī)器我沒有了解過)

那么,這么處理的原因,在我看來,是由CPU對(duì)位移指令的實(shí)現(xiàn)所決定的。就32位機(jī)器而言,Intel CPU(具體是從哪一代開始我記不清了)會(huì)對(duì)位移量截取低五位。

那么反映到高級(jí)語言層面上,有一些語言標(biāo)準(zhǔn)會(huì)遵循這個(gè)操作,其對(duì)應(yīng)的編譯器或者解釋器便會(huì)按照標(biāo)準(zhǔn)來處理,位移的時(shí)候截取位移量的低log(w)位,比如JavaScript的解釋器。

但是有一些語言規(guī)范是規(guī)避了這個(gè)問題的,比如C語言,這個(gè)操作就是未定義行為,它的編譯器在處理時(shí)就如上面有答主所說過的,將按自己的理解來處理。

非常典型的一點(diǎn)你可以嘗試一下,在C語言中用gcc編譯器試一下這段代碼

int a = 33;
printf("%d", 1 << a); // 2
printf("%d", 1 << 33); // 0

第一種情況,在編譯過程中,由于gcc編譯器不知道變量a的值,所以,位移量為33,CPU執(zhí)行時(shí),會(huì)截取低5位,答案是2
第二種情況,在編譯過程中,如果加上-Wall編譯選項(xiàng),gcc編譯器會(huì)提醒你,位移量大于類型的寬度,所以,按照gcc自己處理的來,得到的答案是0,就是你的想法。

至于為什么要截取低log(W)位,這大概是和CPU處理字長(zhǎng)有關(guān)

我的理解是這樣,如果有錯(cuò)誤,忘請(qǐng)指正

耍太極 回答

首先你的一個(gè)思維是很好的,就是利用traits復(fù)用代碼,traits本身設(shè)計(jì)解決PHP無法多繼承和代碼復(fù)用

不過你上面的設(shè)計(jì),我想到的一些問題:

  1. 如何同時(shí)存在一個(gè)服務(wù)的不同版本(難道你又維護(hù)一個(gè)不同版本的traits)
  2. 如何你的類只是繼承了不同功能traits,那為什么直接用相應(yīng)的基類做,要用traits來做,這個(gè)問題值得你思考
  3. traits在實(shí)際開發(fā)中,更多的是充當(dāng)一些抽象的公用部分,比如一個(gè)抽象A類和抽象B類, 他們可能同時(shí)要公用一些方法或什么,你可以用traits
  4. 你提出這個(gè)問題的時(shí)候,我這邊感受到的是你更多要去思考的是怎么設(shè)計(jì)類和怎么設(shè)計(jì)你的軟件架構(gòu)問題
青裙 回答

單純的顏色轉(zhuǎn)換用canvas可以實(shí)現(xiàn)。

但是我覺得更難的地方在于如何判斷出需要轉(zhuǎn)換的顏色,也就是識(shí)別問題。

以你的圖為例,人一眼能看出來是把路由器的白色變成了其他顏色,可是在實(shí)際代碼中需要有一個(gè)明確的顏色值來決定是否轉(zhuǎn)換,這個(gè)值不可能是用戶提供的,只能靠自己去判斷,也就是自己去找出這個(gè)白色的顏色值。

可以靠面積,但是這可能跟背景沖突。

可以靠形狀,這樣難度就上升了幾個(gè)數(shù)量級(jí)。

實(shí)際情況中需要替換的顏色不一定是同一個(gè)值,有可能受光照、陰影等影響,會(huì)造成細(xì)微的顏色差別,這也是要考慮的。

完整地把這一套實(shí)現(xiàn)下來,可能就相當(dāng)于一個(gè)小型美顏算法了??雌饋磉@也是個(gè)邊角需求,可以去找找開源實(shí)現(xiàn),節(jié)省一些力氣。

孤巷 回答

建議改hosts方便點(diǎn)
curl代理方法如下:

curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:1080');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
初念 回答
  1. 你自己也說了php是弱類型語言,所以他在傳參檢查上面做的并不嚴(yán)格,不管好與壞,這就是他的特點(diǎn)

  2. 我建議如果不是必要的情況下,沒有必要對(duì)之前的所有代碼進(jìn)行覆蓋的傳參檢查,這樣不僅工作量大,而且可能會(huì)引起新bug

  3. 雖然php不在傳參的時(shí)候檢查類型,但是一般如果需要類型確定的情況下的話,一般也會(huì)在具體函數(shù)里面判斷的,這就是個(gè)人寫代碼嚴(yán)不嚴(yán)謹(jǐn)了,跟語言關(guān)系不大

  4. 你覺得加了檢查會(huì)導(dǎo)致代碼冗余,這就是第一點(diǎn)說的每個(gè)語言都有他的特點(diǎn),我覺得吧,必要的參數(shù)加檢查就好了,沒有必要每個(gè)函數(shù)的每個(gè)參數(shù)都加檢查,這樣既達(dá)到嚴(yán)謹(jǐn)?shù)男Ч膊粫?huì)覺得太冗余

溫衫 回答

加密算法是不分語言的。嗯,特地寫了下證明這個(gè)問題,大膽用吧。
clipboard.png

clipboard.png

北城荒 回答

1,一層一層props傳,比較麻煩
2,通過公共事件總線bus轉(zhuǎn)發(fā)
3,上vuex

笑忘初 回答

http是默認(rèn)會(huì)帶的,即使你不加,瀏覽器也會(huì)自動(dòng)加的,只是可能沒有給你顯示出來而已

陪妳哭 回答

建議后端做301跳轉(zhuǎn),前端消耗太大

厭惡我 回答

倉庫基本要用的功能:出庫、入庫、盤點(diǎn)
入庫功能:商品提供方、入庫管理員、入庫商品各項(xiàng)信息、入庫時(shí)間 等
出庫功能:出庫接收方,出庫管理員,出庫商品,出庫時(shí)間 等
盤點(diǎn)功能:盤點(diǎn)人、盤點(diǎn)時(shí)間、盤點(diǎn)商品、庫存是否有錯(cuò)誤 等

倉庫系統(tǒng)、圖書館系統(tǒng)基本一樣,網(wǎng)上也有很多這類的源碼,自己可以去搜索看看