在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答
涼薄 回答

main函數(shù)結(jié)束了之后,gorouter才會被關(guān)閉

涼汐 回答

Spring Boot是什么?

All in all, Spring Boot is a project built on the top of the Spring framework. It provides a simpler and faster way to set up, configure, and run both simple and web-based applications.

總而言之,Spring Boot是一個建立在Spring框架之上的項目,它提供了一種簡單快速的方法來配置和運行web應(yīng)用程序。傳統(tǒng)的web開發(fā)要求首先安裝配置好Tomcat,然后再把自己的程序放到Tomcat的webapp里去執(zhí)行。Spring Boot反其道而行之,首先寫好web應(yīng)用程序,然后Spring Boot幫你啟動內(nèi)嵌的Tomcat(或者其它web服務(wù)器,例如Undertow或者Jetty)來運行。它使得web應(yīng)用程序不再是web服務(wù)器的客人,而變身為web服務(wù)器的主人。

Netflix是什么?

Netflix,是一間在世界多國提供網(wǎng)絡(luò)視頻點播的OTT服務(wù)公司,并同時在美國經(jīng)營單一費率郵寄DVD出租服務(wù)。

為什么會從Spring Boot跳到Netflix公司?這是因為在基于Spring Boot的微服務(wù)架構(gòu)Spring Cloud中用到的一個很重要的組件Eureka,它是Netflix公司的產(chǎn)品,它提供了整個微服務(wù)架構(gòu)最重要的服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能,可以說是微服務(wù)的核心。

Pivotal是什么?

Pivotal公司是由EMC和VMware聯(lián)合成立的一家新公司。EMC持有VMware 80%的股權(quán),而Dell又已經(jīng)收購了EMC,所以Pivotal目前是Dell公司的子公司。

Pivotal公司的主要產(chǎn)品是Cloud Foundry,Cloud Foundry是一種開源“平臺即服務(wù)(PaaS)”產(chǎn)品,它的作用就相當(dāng)于是一個巨大的盒子,在這個盒子里可以輕松創(chuàng)建和運行Spring Boot應(yīng)用以及提供Spring Cloud服務(wù)。從2016年以后遇到了強勁的競爭對手:來自Google公司的Kubernetes,因為Kubernetes提供的是基于目前如日中天的Docker容器的管理和服務(wù),受到開源社區(qū)的火爆追捧,對Pivotal公司的產(chǎn)品Cloud Foundry構(gòu)成極大威脅。

舊螢火 回答

uuid太長了,還不是遞增的還不能排序,萬條左右的數(shù)據(jù)當(dāng)然是數(shù)據(jù)庫主鍵自增了.就算數(shù)據(jù)量大也不會用uuid的.
理由前面說過了

刮刮樂 回答

32位系統(tǒng)最大支持4G內(nèi)存??紤]一下指針,32位系統(tǒng)指針是int類型,2**32 byte = 4G

舊酒館 回答

看看你的package.json文件的內(nèi)容

扯不斷 回答

槽就是分區(qū),數(shù)據(jù)都是存放在分區(qū)里面的(這里的分區(qū)策略是哈希,所以叫哈希槽),然后分區(qū)與機器進(jìn)行動態(tài)綁定

糖豆豆 回答

直接cast肯定是不對的,
正確的寫法是:

using func=int(*)(int);
using FuncType = std::function<int(int)>;
FuncType f{reinterpret_cast<func>(dlsym(libHandle, "func"))};
空白格 回答

搜索引擎對meta標(biāo)簽看得不是很重, keyword這個標(biāo)簽已經(jīng)被完壞, 百度幾年前好像有表示過, 不太看中

舊顏 回答

Object.assign()是一重深度的深拷貝
第一個方法沒有改變vue.http.defaults實例,
返回的還是vue.http.defaults對象

Object.assign({}, Vue.http.defaults, config)或者{...Vue.http.defaults, ...config}
返回了一個全新的對象{},這個對象和axios.defaults完全沒有任何關(guān)系了

具體請見 MDN關(guān)于 object.assign()的文檔


不知道了!

喜歡你 回答

本來想詳細(xì)講解一下的,想想還是算了,簡單列一下登錄認(rèn)證過程中,就應(yīng)該能理解了

客戶端: 我要查看用戶資料
服務(wù)端: 你沒有憑證(cookie),請先獲得憑證再來,獲得憑證需要你提供用戶名密碼。
客戶端: 好的,這是我的用戶名和密碼
服務(wù)端: 驗證通過,現(xiàn)在為你生成憑證,請保管好,以后只認(rèn)憑證,就算阿貓阿狗拿著你的憑證來查資料,我也會給他。
。。。
客戶端:我要查用戶資料,這是我的憑證.
服務(wù)端:好的,請稍等,我確認(rèn)一下你的憑證是否真的,OK,是真的,資料拿去。
。。。
客戶端:我要查用戶資料,這是我的憑證.
服務(wù)端:對不起,你的憑證已經(jīng)過期失效了,請重新提供用戶名密碼獲得新的憑證。

OK,再來講一下怎么生成憑證和怎么驗證憑證:

生成的條件是驗證用戶提供的用戶名和密碼是對的,

a. 生成隨機唯一的session_id, 比如md5(用戶id+毫秒數(shù))

b. 生成session內(nèi)容,并建立session_id與session內(nèi)容的對應(yīng)關(guān)系

即服務(wù)端拿一本帳本,記錄下這個憑證(根椐標(biāo)識)對應(yīng)的用戶名(一般是用戶ID)是誰,類似:
abcd123 => 'Tim',
ee22343 => 'You'

(這個對應(yīng)關(guān)系,可以保存在文件、memcache、數(shù)據(jù)庫等等,這就是用不同介質(zhì)保存session的原理)

c. 將session_id加密、簽名,寫到憑證中,返回客戶端。

用通俗語言來描述這個過程就是:

驗證用戶名密碼正確后

服務(wù)端拿出一張紙,隨機寫上一個標(biāo)識(比如像醫(yī)生寫病歷,有一定的防偽性) ---- session_id
再拿出帳本,寫上這個“標(biāo)識”與“用戶”的關(guān)聯(lián),表示這個標(biāo)識就等同于用戶A ----session_id與session內(nèi)容關(guān)聯(lián)
給這張紙蓋上大印 ----session_id加密和防偽
將這張紙作為憑證,交給用戶 ---- 將加密后的session_id作為cookie返回。

最后,用戶下次來請求,帶上了憑證,服務(wù)端驗證過程:

  1. 有憑證
  2. 看看大印是否自己的(驗證有效性)
  3. 讀取憑證中的標(biāo)識(嗯,一般只有醫(yī)生能讀懂自己寫的東西)
  4. 拿出帳本,查找標(biāo)識對應(yīng)的用戶,有找到,驗證成功,返回相關(guān)內(nèi)容

其它:
憑證有效期:比如可以約定,一天后就沒有用了
帳本有效期:session也是可以有效期的,比如我每隔一小時就刪除一些沒有用到的session,清理之后,就算你的憑證是真實的,但也無效了。

最后,cookie是標(biāo)準(zhǔn)實現(xiàn),無所謂自己實現(xiàn)(你可能只是需要封裝操作指令),要自己實現(xiàn)session的話,無非就是解決這幾個問題:
1)決定你的帳本(用什么方式保存)
2) 實現(xiàn)寫帳本(根據(jù)session_id寫數(shù)據(jù))
3) 實現(xiàn)讀帳本(按session_id讀數(shù)據(jù))
4) 實現(xiàn)清理帳本過期數(shù)據(jù)

import random
import datetime
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()

def yourfunc():
    print(datetime.datetime.now().strftime('%Y-%m-%d %X'))


def myfunc():
    scheduler.remove_job('my_job_id')
    yourfunc()
    t = random.randint(1,5) # 1~5秒隨機
    scheduler.add_job(myfunc, 'interval', seconds=t, id='my_job_id') # seconds可以換成minutes 隨機個60~200分鐘的估計就滿足你的需求了吧

   
scheduler.add_job(myfunc, 'interval', seconds=1, id='my_job_id')
scheduler.start()
巫婆 回答

這個file并不是一個json數(shù)據(jù)吧,你可以了解下html5 的FileReader 對象
https://developer.mozilla.org...
https://www.cnblogs.com/tianm...

悶油瓶 回答
可以不用js實現(xiàn),我知道的一種是urls.py通過正則匹配實現(xiàn)跳轉(zhuǎn).
澐染 回答

好吧漏看了一個規(guī)則: selector-class-pattern
模式用這則去匹配就行了。
下面官網(wǎng)這個問題也寫的很詳細(xì):https://stylelint.io/user-gui...

雨蝶 回答

tab-click的那個handle方法會回傳你一個index告訴你點擊的是哪個tab

離夢 回答

安裝babel-polyfill, 并在App.uve里面引入:

<script>
import "babel-polyfill";
export default {
  name: "app"
};
</script>
舊酒館 回答

定義一個變量clickNextBtn ,默認(rèn) false,點擊下一步按鈕 clickNextBtn=true。然后

beforeRouteLeave (to, from, next) {
    if (this.clickNextBtn) {
        next()
    } else {
        this.$confirm(...)
    }
}