鍍金池/ 問(wèn)答/ 網(wǎng)絡(luò)安全問(wèn)答
墻頭草 回答
location ^~ /qr {
        alias /Users/whj/web/qr/public;
        try_files $uri $uri/ @qr;
        index index.php index.html index.htm;

        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/tmp/php-cgi.sock;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /Users/whj/web/qr/public/index.php;
        }
    }

    location @qr {
        rewrite /qr/(.*)$ /qr/index.php?/$1 last;
    }

這是我localhost下子目錄qr的nginx配置,你可以參考下

獨(dú)白 回答

LastReplyUser User
改成
LastReplyUser *User
go里的結(jié)構(gòu)體零值不是nil,指針才是

枕頭人 回答

官方描述

注意:onWorkerStart是在子進(jìn)程啟動(dòng)時(shí)運(yùn)行的,如果開(kāi)啟了多個(gè)子進(jìn)程($worker->count > 1),每個(gè)子進(jìn)程運(yùn)行一次,則總共會(huì)運(yùn)行$worker->count次。

因?yàn)槭?進(jìn)程,各子進(jìn)程內(nèi)資源不共享。所以單例模式在此無(wú)效;解決方法:在父進(jìn)程執(zhí)行,傳入子進(jìn)程即可。

傲寒 回答

開(kāi)多進(jìn)程要fork,開(kāi)銷(xiāo)算是非常大的,相當(dāng)于你重新打開(kāi)了一個(gè)python??梢圆婚_(kāi)多進(jìn)程就不開(kāi)多進(jìn)程,可以用線(xiàn)程代替進(jìn)程,CPython還有GIL這種東西,有時(shí)候開(kāi)了多進(jìn)程或多線(xiàn)程CPU利用率反倒會(huì)降低(調(diào)度和規(guī)劃沒(méi)做好的話(huà))。

嘟尛嘴 回答

var arr =[{

        source: "天津海泰科技發(fā)展股份有限公司", target: "天津海泰方成投資有限公司"
    },{
        source: "天津海泰科技發(fā)展股份有限公司", target: "天津海泰方成投資有限公司"
    },{
        source: "天津海泰科技發(fā)展股份有限公司", target: "天津海泰方成投資有限公司"
    },{
        source: "天津華苑科技產(chǎn)業(yè)開(kāi)發(fā)建設(shè)有限公司", target: "天津海泰方成投資有限公司"
    },{
        source: "天津華苑科技產(chǎn)業(yè)開(kāi)發(fā)建設(shè)有限公司", target: "天津海泰科技發(fā)展股份有限公司"
    },]
var arr1=[];
for (var i=0;i<arr.length;i++) {
if (arr.indexOf(arr[i])==-1) {
arr1.push(arr[i])
}
}
傻叼 回答

拋磚引玉。

async function getTitle(url) {
  let response = await fetch(url);
  let html = await response.text();
  return html.match(/<title>([\s\S]+)<\/title>/i)[1];
}
(async function () {
  for (let i = 0; i < 2; i++) {
    let urls = `https://tc39.github.io/ecma262/`

    let result = await getTitle(urls).then(function (title) {
      console.log('22222', title, i)
      return title
    })
    console.log(result,Date.now())
  }
})()
苦妄 回答
  • 要看這些接口的關(guān)系,如果這些接口都是從一個(gè)數(shù)據(jù)庫(kù)讀東西,一般不會(huì)只失敗一個(gè),比較適合提供一個(gè)總的接口。
  • 如果這些接口的后臺(tái)比較分散,相互比較獨(dú)立,可能會(huì)出現(xiàn)失敗一個(gè)的情況。
  • 還有一個(gè)方案就是允許其中一些信息獲取不到,用一個(gè)默認(rèn)值或者報(bào)錯(cuò)信息替代,后臺(tái)設(shè)置一個(gè)超時(shí)時(shí)間,超時(shí)后就統(tǒng)一返回默認(rèn)值或者錯(cuò)誤信息
傻叼 回答

location /xxx {

try_files $uri $uri/ /xxx/index.php?$query_string;

}

巴扎嘿 回答

反了吧 分鐘 小時(shí)

crontab 分 時(shí) 日 月 星期 要運(yùn)行的命令

  • 第1列分鐘0~59
  • 第2列小時(shí)0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列要運(yùn)行的命令

crontab

墻頭草 回答

參考java文檔: Method References

大致意思是說(shuō), java會(huì)把傳遞給方法的第一個(gè)參數(shù)作為實(shí)例去調(diào)用這個(gè)方法.

clipboard.png

clipboard.png

影魅 回答

我一直在用json-server + mock 可以使用依賴(lài)函數(shù) 這么寫(xiě)就好

{  
  // 隨機(jī)選擇
  'role': '@PICK([0, 1])',
  'roleValue': function() {
    // 拿到role的值
    let role = this.role
    return role === 0 ? '管理角色': '普通角色'
  }
}
痞性 回答
  1. addslashes
  2. htmlspecialchars
  3. htmlentities

看一下這三個(gè)用法,用特別的符號(hào)處理,

你如果是中文的話(huà)就用正則替換吧

$str = 'A:"How are you" B:"I am fine", "';

echo $str."\n";

$str = preg_replace('/"([^"]*)"/', '“${1}”', $str);

echo $str."\n";
久不遇 回答

'Access-Control-Allow-Origin' 是跨域錯(cuò)誤:

協(xié)議://域名:端口 要保持一致才算是同一域的訪(fǎng)問(wèn)。

一些高版本瀏覽器中,已經(jīng)支持跨域請(qǐng)求,不過(guò)需要后端進(jìn)行配置,后端允許某域的請(qǐng)求。具體如何配置,又是另外的一個(gè)問(wèn)題了。

不懂的話(huà),下面評(píng)論我再詳細(xì)解答

問(wèn)題的原因找到了:

  • 首先是要排除代碼中的基本警告和錯(cuò)誤,確?;镜倪壿嬤\(yùn)行;
  • 然后就是檢查代碼有無(wú) 死循環(huán)遞歸導(dǎo)致的棧溢出;

我的代碼是因?yàn)榇嬖?遞歸導(dǎo)致的棧溢出,進(jìn)而導(dǎo)致視圖布局出錯(cuò)。我的項(xiàng)目中存在一個(gè)側(cè)邊菜單,我使用當(dāng)前路由對(duì)象的 matched 數(shù)組進(jìn)行菜單比對(duì),結(jié)果導(dǎo)致了棧溢出。

最終的解決辦法是:在比對(duì)菜單的時(shí)候優(yōu)先比對(duì)路徑(path),如果路徑一致,則繼續(xù)比對(duì)參數(shù)(query),修改后的代碼僅有10幾次循環(huán)操作,頁(yè)面在沒(méi)出現(xiàn)嵌套出錯(cuò)的情況了。類(lèi)似查找某人,先排除姓、再排除名,最后確認(rèn)性別,逐漸縮小循環(huán)的層級(jí)。

久舊酒 回答

你的第一個(gè)例子:router.delete('/:id',function(req,res){}) 是符合REST接口規(guī)范了

第二個(gè)例子:是個(gè)人寫(xiě)的,按照的是個(gè)人習(xí)慣

這個(gè)沒(méi)什么特別的規(guī)則,如果你們有團(tuán)隊(duì)要求了,就得按照要求寫(xiě)了

大濕胸 回答

拼寫(xiě)錯(cuò)了

exports.create = ...

一般情況下不要#include.c文件?。?!
在編譯的時(shí)候,首先工作的是預(yù)處理器,預(yù)處理器將#include展開(kāi)成對(duì)應(yīng)文件的內(nèi)容,這里你的SeqList.c文件里的函數(shù)定義就會(huì)被放進(jìn)main.c中。
接著編譯器會(huì)實(shí)際編譯被預(yù)處理器處理過(guò)的main.cSeqList.c,然后就得到了兩份SeqList.c中的函數(shù)定義對(duì)應(yīng)的匯編/機(jī)器碼。
接著會(huì)鏈接,有兩組名字一樣的函數(shù)定義,自然就鏈接不上了……
解決方案就是另外做一個(gè)SeqList.h放函數(shù)的聲明,然后#include .h文件
Linux不會(huì)報(bào)錯(cuò)大概是編譯器的容錯(cuò)機(jī)制做的好吧……