鍍金池/ 問答/ Linux問答
厭惡我 回答

證書都是有免費(fèi)的哦,阿里云之前是可以申請(qǐng)免費(fèi)的....我剛剛?cè)フ伊艘幌?,入口沒了......不知道是他關(guān)了還是咋的,別的地方也可以申請(qǐng)免費(fèi)的證書哦,留個(gè)地址。

免費(fèi)SSL證書申請(qǐng)戳戳戳

孤巷 回答
客戶端從socket 讀取文件內(nèi)容,如何知道什么時(shí)候讀到文件的結(jié)尾? 以及接受到讀到的文件是否完整?

無法知道?;蛘哒f,只有“你”才知道。

你能知道的信息,是收到了多少字節(jié),收到的內(nèi)容是什么,至于是否“結(jié)尾”,是否“結(jié)束”,那是你邏輯上的事。

而傳輸協(xié)議如何設(shè)計(jì),可以簡單去了解一下 HTTP 就明白了。

測(cè)試代碼發(fā)現(xiàn)有時(shí)候,接收到的文件是原文件的兩倍大小,怎么回事?

你代碼有問題。

若相惜 回答

Ubuntu 18.04 網(wǎng)易云音樂無法打開,解決辦法

將當(dāng)前用戶加入 sudoer

sudo visudo -f /etc/sudoers.d/username

并輸入:

username ALL=(ALL:ALL) NOPASSWD:ALL

如果不習(xí)慣使用nano編輯器可以 更換為vim

使用 sudo 運(yùn)行網(wǎng)易云音樂

編輯啟動(dòng)文件:

sudo gedit /usr/share/applications/netease-cloud-music.desktop

在第11行前加上 sudo

Exec=sudo netease-cloud-music %U

大功告成!點(diǎn)擊圖標(biāo)即可啟動(dòng)!

系統(tǒng)版本:Ubuntu 18.04.1
軟件版本:netease-cloud-music 1.1.0
原文鏈接:https://notes.ijustplay.cn/so...

瘋子范 回答

shell中你直接使用全路徑 /usr/bin/php5.6 調(diào)用不就行了
update-alternatives就是管理管理這些命令的符號(hào)鏈接而已,你說鏈接到哪個(gè)具體文件就鏈接到那個(gè)具體文件。
你直接使用update-alternatives改一下就行了,可以指向任何文件。

#先建立候選
update-alternatives --install /usr/bin/php php /usr/bin/php7 50
update-alternatives --install /usr/bin/php php /usr/bin/php5.6 100
# 想切換哪個(gè)就切換哪個(gè)
update-alternatives --config php
歆久 回答

8888是Apache的端口,9000是PHP的端口,你這哪里是負(fù)載均衡啊。。。upstream應(yīng)該配置兩臺(tái)Apache,然后下面的location也不使用fastcgi_pass了,而是使用proxy_pass

孤巷 回答

簡單說下思路

第一步,在服務(wù)器上創(chuàng)建一個(gè)git遠(yuǎn)程倉庫

cd /home/username
mkdir -p repositories/projectname.git
cd repositories/projectname.git
git init --bare .

第二步,在服務(wù)器上編寫post-receiveGit Hooks)自動(dòng)部署腳本

touch /home/username/repositories/projectname.git/hooks/post-receive
chmod +x /home/username/repositories/projectname.git/hooks/post-receive

實(shí)際可能需要更加復(fù)雜的邏輯,這里只做說明

#!/bin/bash
/usr/bin/git --work-tree=/var/www/projectname --git-dir=/home/username/repositories/projectname.git checkout -f
/home/username/.virtualenvs/virtualenvname/bin/python /home/username/.virtualenvs/virtualenvname/bin/uwsgi --reload /path/to/uwsgi.pid

備注:用戶username必須擁有/var/www/projectname目錄的讀寫權(quán)限

第三步,在本地添加遠(yuǎn)程倉庫

cd /path/to/projectdir
git remote add production username@myhostname:/home/username/repositories/projectname.git
# 本地代碼提交后,更新到遠(yuǎn)程倉庫
git push production master
# 遠(yuǎn)程倉庫接收完成后,將執(zhí)行post-receive腳本,以達(dá)到自動(dòng)化部署的目的
夏木 回答

大概像這樣:

# data
log = """
[t=123]xyzzda, x=abc
[t=126]sdjljs, x=abc
[t=140]sdsws, x=abc
[t=239]dsjdjs, x=wvu
[t=248]sdsdess, x=wvu
"""
# code
import re
from collections import defaultdict

dic = defaultdict(list)
golden_x, golden_t = None, None

for line in log.split('\n'):
    line = line.strip()
    if not line:
        continue
    m = re.match('\[t=(\d+)\](.+), x=(.+)', line)
    t, c, x = m.groups()
    if x == golden_x:
        dic[x].append((c, int(t) - golden_t))
    golden_x, golden_t = x, int(t)
    
for key, ct in dic.items():
    print(key+':')
    for c, t in ct:
        print(c, 't='+str(t))
    print()
# results
abc:
sdjljs t=3
sdsws t=14

wvu:
sdsdess t=9

我回答過的問題: Python-QA

陪她鬧 回答

uwsgi文檔很坑, 把你的項(xiàng)目目錄的權(quán)限改成www-data就行了, 另外, 可以考慮用gunicorn, 性能不比uwsgi差多少, 但是文檔寫的很清晰

局外人 回答
ctx.model.Article.findById(id,{include:[{model:ctx.model.ArticleComment,include:[{model:ctx.model.User]}]});

一級(jí)model怎么include,子級(jí)就怎么include

孤影 回答

extension=sockets.so
這樣行不行???

這里講解一下git fetch的原理吧。
git fetch是將代碼從遠(yuǎn)程倉庫讀取過來并且覆蓋本地倉庫的內(nèi)容。
git分為三個(gè)部分workspaceindexrepository
workspace是指你的工作區(qū)域,一般是IDE中的代碼
index是指本地的緩存,通過add操作將文件的更新添加至index
repository是指本地git倉庫,這個(gè)倉庫中的代碼是通過commit添加的,push到遠(yuǎn)程倉庫的代碼也是這個(gè)位置的代碼

所以git fetch更新的是repository部分的代碼,workspace和index暫時(shí)還沒有更新。如果想要看到最新的代碼,只需要在master(或者其它相應(yīng)的)分支上執(zhí)行g(shù)it merge指令,解決掉沖突再提交一遍就可以了。

git也提供了快捷指令git pull,可以直接用遠(yuǎn)程倉庫的內(nèi)容覆蓋workspace的內(nèi)容。但是不推薦這個(gè)指令,因?yàn)楹芸赡軙?huì)覆蓋掉你尚未提交的更新。

故林 回答
  1. getaddrinfo是解析域名失敗,如果一直失敗,請(qǐng)檢查系統(tǒng)DNS配置以及這個(gè)域名是不是可以解析。
  2. 如果是間歇性失敗,請(qǐng)降低并發(fā)curl的數(shù)量
茍活 回答

https://segmentfault.com/n/13... 這是我一篇筆記,可以參考參考,是個(gè)白話故事形式的講解,我覺得挺生動(dòng)的,希望幫到你

git mv project1 我的測(cè)試文件夾
git commit
git push
解夏 回答

1, 盡量少操作dom,尤其是jq??梢酝ㄟ^數(shù)據(jù)去驅(qū)動(dòng)視圖改變,這是vue的特點(diǎn),實(shí)在不行可以用ref或原生js去操作,但是也不推薦。
2,你的需求是常見的列表渲染,用v-for可以較方便地實(shí)現(xiàn),具體可以參考列表渲染
3,如果涉及到一些組件內(nèi)狀態(tài)、組件間通信,推薦使用vuex,具體可以參考官方文檔,文檔寫得很好的!
4,建議不要這么快一下子跳轉(zhuǎn)到vue實(shí)際開發(fā)中,可以先試試官方的小例子,計(jì)數(shù)器,todo什么的,詳見:vue.examples。數(shù)字流程之后再開始構(gòu)建項(xiàng)目,到時(shí)候無論是體驗(yàn)還是效率都會(huì)高很多。

僅供參考,謝謝。

骨殘心 回答

不適合。

  1. 消息量并不大而且實(shí)時(shí)性要求并不太高
  2. 主要是你要處理下發(fā)結(jié)果來確定后續(xù)操作,而消息隊(duì)列處理消息結(jié)果是很復(fù)雜的事

不要為了消息隊(duì)列而消息隊(duì)列

陌上花 回答

給組建B設(shè)置ref

<leave ref="componentB"></leave>

然后在click方法里調(diào)用

// 通過$refsk可以獲取組建B的方法、屬性
this.$refs.componentB.leaveDialog**