鍍金池/ 問答/ PHP問答
互擼娃 回答

【結(jié)貼】iv小程序端請求的時(shí)候用encodeURIComponent函數(shù)進(jìn)行urlencode就好了(空格其實(shí)是符號:+ ?)

骨殘心 回答

C++來湊個(gè)熱鬧。

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

template <class It>
std::vector<std::vector<int>> Solution(It first, It last) {
  std::vector<std::vector<int>> result;
  while (first != last) {
    auto ite = std::adjacent_find(first, last, [](int l, int r) {return l != r-1;});
    if (ite != last)
      ++ite;
    if (std::distance(first, ite) > 1)
      result.emplace_back(first, ite);
    first = ite;
  }
  return result;
}

int main() {
  std::vector<int> vtr = {1, 2, 3, 5, 1, 2, 1};

  for (const auto &result : Solution(vtr.begin(), vtr.end())) {
    std::copy(result.begin(), result.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
  }

  return 0;
}
背叛者 回答

在阿里云后臺的安全組中添加你的端口配置

clipboard.png

安若晴 回答

多看文檔
`是命令執(zhí)行符

臭榴蓮 回答

session可以存數(shù)組的,沒登錄你就先給他扔session里面,離開頁面就消失了;如果登錄了你就把他同步到登錄的這個(gè)人的信息里面

薄荷綠 回答

個(gè)人覺得,這種整段的文字應(yīng)該有更好的格式的特征.而正則表達(dá)式應(yīng)該用在字符特征明確且規(guī)則復(fù)雜的短文字上.
根據(jù)問題給出的例子,我覺得應(yīng)該逐行讀取文本,
第一步,查看行中是否存在中文標(biāo)點(diǎn)符號,如果有,即可判斷為中文行,進(jìn)入下一行的判斷
第二步,如果沒有中文標(biāo)點(diǎn),逐字判斷是否為漢字,若發(fā)現(xiàn)漢字則認(rèn)為是中文行,否則為英文行.
第二步其實(shí)沒有必要做完整的遍歷,隨機(jī)抽取其中部分字符做判斷段就好了.

我甘愿 回答

原來在thinkphp5下的Model.php實(shí)現(xiàn)了JSON 序列化接口, 調(diào)用了Model.php的toArray方法,所以json_encode才會輸出這樣的數(shù)據(jù)出來.

實(shí)現(xiàn) JsonSerializable 的類可以在 json_encode() 時(shí)定制他們的 JSON 表示
// JsonSerializable
public function jsonSerialize()
{
    return $this->toArray();
}

參考資料:
JSON 序列化接口

陌如玉 回答

你存儲二叉樹的這個(gè)方法沒什么問題。你說從redis拿到了所有的子孫節(jié)點(diǎn)的id,然后去數(shù)據(jù)庫用in過濾當(dāng)天的新增節(jié)點(diǎn)。是這樣嗎? select * from tab where id in (ids) and date =sysdate; 那么就是如果子孫節(jié)點(diǎn)很多,這個(gè)ids就會非常大。我不知道你是不是想這個(gè)樣。但是你現(xiàn)在存在redis的id和score都可以做關(guān)系型數(shù)據(jù)庫的索引(id相當(dāng)于主鍵,distinct(score)最大是2),所以沒必要存在非得用redis。再針對業(yè)務(wù)中經(jīng)常出現(xiàn)的查詢條件做一下hash,比如這個(gè)日期就可以。如果每天新增的數(shù)據(jù)量很多的話甚至可以做一下分表。

抱緊我 回答

黑心企業(yè),才不告訴你o(′^`)o

爛人 回答

存儲過程的優(yōu)點(diǎn)主要包括以下幾點(diǎn):

第一點(diǎn),性能提高。這是相對于不適用存儲過程來說的,因?yàn)榇鎯^程在創(chuàng)建的時(shí)候就編譯好了,而后每次調(diào)用都不會再次編譯,這相對于傳統(tǒng)的SQL語句中每次調(diào)用都需要編譯的情況來說,性能提高了何止一點(diǎn)兩點(diǎn)。

第二點(diǎn),重用性強(qiáng)。存儲過程使用名字即可使用,也就是傳說中的“一次編寫,隨便調(diào)用”。這樣不僅提高了重用性,還減少了出錯(cuò)的幾率,也會加快開發(fā)速度,可以說是一件非常好的事情。

第三點(diǎn),減少網(wǎng)絡(luò)流量。這一點(diǎn)對于小數(shù)據(jù)量的時(shí)候一般體現(xiàn)不出來,那么當(dāng)數(shù)據(jù)量較大的時(shí)候,我們會發(fā)現(xiàn)由于使用存儲過程比使用SQL語句會使用更少的字節(jié)數(shù),因此它會降低傳輸?shù)臄?shù)據(jù)量。

第四點(diǎn),安全性提高。由于存儲過程也可以使用權(quán)限控制,而且參數(shù)化的存儲過程可以防止SQL注入攻擊,也在一定程度上保證了安全性。

第五點(diǎn),靈活性增強(qiáng)。由于存儲過程可以使用流程控制語句來編寫,導(dǎo)致它有著很強(qiáng)的靈活性,可以根據(jù)實(shí)際情況來執(zhí)行不同的SQL語句,而不是只能單純的簡單的執(zhí)行命令。而且該存儲過程還可以修改其邏輯而其他部分不用改變,也就是說,我們的表的結(jié)構(gòu)改變了,我們只需要修改相應(yīng)的存儲過程即可,我們的Java或者PHP等程序不需要改變。

第六點(diǎn),當(dāng)業(yè)務(wù)復(fù)雜的時(shí)候,存儲過程會減少工作量,為什么呢,原因很簡單,如果我們不適用存儲過程,那么就會導(dǎo)致我們先從數(shù)據(jù)庫中取出來數(shù)據(jù),然后經(jīng)過計(jì)算,再放入到數(shù)據(jù)庫中,這個(gè)開銷還是蠻大的,這中間的開銷包括我們的Java或者PHP程序連接數(shù)據(jù)庫獲取結(jié)果集等若干操作,如果我們使用了存儲過程,那么就沒有那么多事了,直接在mysql內(nèi)就搞定了。

缺點(diǎn):
第一點(diǎn),工作量加大。這里并不是說我們把程序該做的事讓mysql去做不好,而是mysql本身并沒有很像樣的IDE來開發(fā)我們的存儲過程,我們很多時(shí)候還是需要手寫,這樣就會比較麻煩,而且存儲過程的調(diào)試也是一個(gè)問題,沒有很像樣的調(diào)試工具。

第二點(diǎn),優(yōu)勢不明顯。運(yùn)行速度上,對于大多數(shù)的語句緩存來說,編譯sql的時(shí)間開銷并不是很大,但是執(zhí)行存儲過程還需要檢查權(quán)限等一些其他開銷,所以,對于很簡單的sql,存儲過程并沒有很大優(yōu)勢。

第三點(diǎn),贅余功能。對web程序來說,我們連接數(shù)據(jù)庫的用戶往往就是同一個(gè),不需要太多的安全機(jī)制,所以,對于安全上的檢測看上去很好,實(shí)際上優(yōu)點(diǎn)多余。

第四點(diǎn),小型程序完全無用。對于小型web應(yīng)用來說,它的使用價(jià)值就更小了,反而會拖累開發(fā)進(jìn)度。

第五點(diǎn),對于運(yùn)維上。當(dāng)我們的程序要更換數(shù)據(jù)庫的時(shí)候,它的移植性相對于不適用存儲過程要復(fù)雜一些,對于維護(hù)上,由于是在db端,因此比server端的程序更好維護(hù)一些。

熟稔 回答

1,一般來說,現(xiàn)在workman和swoole框架下都有人做直播網(wǎng)站,以我這垃圾水平,沒辦法一兩句講得清,你可看看這兩個(gè)框架的教程。關(guān)于這兩個(gè)框架的直播demo和教程很多,但前提是先學(xué)會這兩個(gè)框架。
2,你可以看下WebRtc技術(shù),這個(gè)是直播的核心
3,1G視頻播放100次是不是就要100G流量?
這個(gè)不一定,這個(gè)涉及到壓縮算法,你1g的東西壓縮后才會傳過來,不過也省不了太多的帶寬,服務(wù)器最燒錢的地方永遠(yuǎn)都是帶寬,這是沒辦法的事
4,目前騰訊、阿里、網(wǎng)易等平臺都提供視頻存儲服務(wù),你可以自己搭建流媒體服務(wù)器來節(jié)省開支,這又是另一門技術(shù)了
5,安全方面,一般來說這也是另一個(gè)技術(shù)了,主要是考慮ddos攻擊,剩下的什么sql注入,xss攻擊都是老生常談了
6,盜版侵權(quán)……無解,誰有這本事早就被優(yōu)酷愛奇藝挖了

歆久 回答

提問是JAVA 解析?

function s(x) {return x.charCodeAt(0);}
"test.message".split('').map(s);

汐顏 回答

setTimeout(code, milliseconds, param1, param2) // ie9+

或者

setTimeout((function(param1, param2){
    return function() {
        func(param1, param2)
    }
}(param1, param2)), milliseconds)
陌璃 回答

Tp3.2沒碰到過,不清楚。不過可以這樣寫:
SELECT IF(status=1,'成功','失敗')as res FROM DB WHERE id=1;

SELECT CASE status WHEN 1 THEN '成功' ELSE '失敗' END as res FROM DB WHERE id=1;

舊螢火 回答

因?yàn)槭切」?單程序員,所以我這里只給出你一個(gè)人就能完成的事情:

  1. 上線部署流程完全使用自動化實(shí)現(xiàn);
  2. 除代碼之外的運(yùn)行環(huán)境全部使用 Docker 來實(shí)現(xiàn);
  3. 既然是阿里云那就開啟阿里云的定時(shí)快照;

聽起來挺嚇人的,但是實(shí)際學(xué)習(xí)成本非常低,而且學(xué)習(xí)收益非常大。不論你是php-web還是java-web還是node-web還是py-web,這套東西都適用。

以下是會涉及到的知識點(diǎn):

  1. (基礎(chǔ)的基礎(chǔ),大前提)Linux基本常識,Shell腳本編寫
  2. Git版本控制,GitHub/GitLab版本倉庫,CI/CD持續(xù)化部署(Jenkins)
  3. Docker(Docker cmd、Dockerfile、Docker-compose),不用學(xué)K8s等集群相關(guān)的
  4. 虛擬機(jī)使用和管理,VMWARE系的,在本機(jī)裝一個(gè)vmware workstation,或者用公司服務(wù)器裝一臺vmware exsi(免費(fèi)的,極為推薦),學(xué)習(xí)一下虛擬機(jī)的管理

這些都是一個(gè)人就能搞定的事情,學(xué)習(xí)資料多,個(gè)人收益大。

安于心 回答

redis本身不支持這樣的操作!那你還不如使用elasticsearch