同樓上,用對(duì)象映射比去數(shù)組里查下標(biāo)快多了,ES6的話(huà)直接用Set
var arr = ["蘋(píng)果", "蘋(píng)果", "西瓜", "蘋(píng)果", "西瓜", "香蕉", "香蕉"];
var resolveArr = function () {
var obj = {};
arr.forEach(function (v) {
if (!obj[v]) {
obj[v] = 1;
}
});
return Object.keys(obj);
};
console.log(resolveArr(arr));
//是不是很弱智,這么長(zhǎng),hhh
var obj = {};
var arr = ["蘋(píng)果", "蘋(píng)果", "蘋(píng)果", "西瓜", "蘋(píng)果", "西瓜", "香蕉", "香蕉"];
var newArr = [];
var l = arr.length;
for (var i = 0; i < l; i++) {
var item = arr[i];
if (!obj[item]) {
newArr.push(item);
obj[item] = 1;
}
}
console.log(newArr);由前端的controller向后傳遞啊,脫離用戶(hù)訪問(wèn)的上下文session是沒(méi)有意義的。
把最后一行
return redirect(url_for('/upload'))
改成
return render_template('你的html')watch這個(gè)數(shù)組,變化的時(shí)候判斷是哪一項(xiàng)變了,記錄索引然后綁定個(gè)樣式,用css3自己寫(xiě)個(gè)動(dòng)畫(huà)就好了
用一個(gè)變量存儲(chǔ)定時(shí)器,每次觸發(fā)之前先清除掉就行了
拼寫(xiě)錯(cuò)誤
關(guān)鍵兩點(diǎn):
1.別用尾遞歸,計(jì)算的n的值稍微大一點(diǎn)就會(huì)爆棧。
2.python中數(shù)組的添加元素的過(guò)程
參看鏈接:http://hyry.dip.jp/tech/slice...
額外分配的內(nèi)存與數(shù)組的大小成正比
建議了解下底層數(shù)組的實(shí)現(xiàn)(為什么占用空間會(huì)比較大),以及計(jì)算機(jī)程序大致是怎么運(yùn)行的(為什么尾遞歸會(huì)出現(xiàn)爆棧問(wèn)題)。
對(duì)搜索結(jié)果進(jìn)行排序的話(huà),用filter 試試,
下面貼一個(gè)我真實(shí)用到的一個(gè)dsl,包含排序,聚合,過(guò)濾等。
{
"size":2,
"_source":["title","ptitle","gentuanyouid","startline","hits","daytype"],
"sort":{
"updatetime":{
"order":"desc"
}
},
"query":{
"bool":{
"filter":{
"bool":{
"must":[
{
"match_phrase":{
"startline":"|5993-5958"
}
},
{
"term":{
"online":"1"
}
},
{
"term":{
"shenhe":"1"
}
}
,
{
"term":{
"del":"0"
}
}
]
}
}
}
},
"aggs":{
"tongjis":{
"terms":{
"field":"endline.keyword",
"size":20
}
}
}
}彈出框定位(fixed),頂部和底部絕對(duì)定位,中間的overflow:scroll
你如果對(duì)於 decorator 還有疑問(wèn)的話(huà), 可以參考 這篇文章
關(guān)於 decorator, 基本上一共有三個(gè)函數(shù):
decorator: 裝飾器/修飾器/修飾函數(shù)
orifunc: 原函數(shù)/被修飾函數(shù)
wrapper: 新函數(shù)/取代函數(shù)
簡(jiǎn)單地可以表達(dá)為:
def decorator(orifunc):
# do something here (register...)
def wrapper(*args, **kwargs):
# do something before (preprocess)
result = orifunc()
# do something after (postprocess)
return result
return wrapper
他們的關(guān)係是:
wrapper = decorator(orifunc)
可以用甜頭寫(xiě)法表示為:
@decorator
def orifunc(*args, **kwargs):
# do something...
decorator 在執(zhí)行裝飾的時(shí)候,只會(huì)將 orifunc 包裝並回傳, 其實(shí)就是用 wrapper 取代掉。
修飾這個(gè)步驟呼叫的的是 decorator, 傳遞的參數(shù)是 orifunc, 返回值是 wrapper, 這個(gè)時(shí)候 orifunc (或是他的包裝替代品 wrapper 都還沒(méi)被呼叫, 只有 decorator 被呼叫), 所以原函數(shù) orifunc 的參數(shù)根本不會(huì)傳遞進(jìn)修飾函數(shù)(decorator) 中。
只有當(dāng)我們呼叫裝飾過(guò)後的函數(shù) wrapper 時(shí)才需要傳入 orifunc 需要的參數(shù) (orifunc 和 wrapper 的參數(shù)介面應(yīng)當(dāng)一致)。
回到你的問(wèn)題, 當(dāng) property 被呼叫的時(shí)候, 調(diào)用的函數(shù)是 property, 傳入的參數(shù)是原函數(shù) cookies, 返回值是 wrapper, 這時(shí)跟 self 都還沒(méi)有關(guān)係。
當(dāng)我們呼叫被修飾過(guò)的函數(shù) wrapper(也就是property(cookies)) 才需傳入與 cookies 相同的參數(shù), 此時(shí) self 才被傳入。
self.cookies() <=> property(cookies)(self)
^^^^^^^^^^^^^^^^^
修飾的這步尚與 self 無(wú)關(guān)
<=> wrapper(self)
^^^^^^^^^^^^^
調(diào)用 wrapper 時(shí)才與 self 有關(guān)
P.S. property 是 python 的內(nèi)建函數(shù), 並非 tornado 特有的東西, 你可以在 python doc 中找到說(shuō)明。
我回答過(guò)的問(wèn)題: Python-QA
給上傳圖片添加fileName。
在做你所述以上事情之前需要明確一點(diǎn),那就是CPU架構(gòu)問(wèn)題。
PC系統(tǒng)和嵌入式系統(tǒng)的CPU架構(gòu)不同,你可能需要了解:i386、x86_64、arm32、arm64、armv7、armv8(aarch32、aarch64)等cpu架構(gòu)的區(qū)別
很明顯,樹(shù)莓派屬于嵌入式系統(tǒng),使用的是arm架構(gòu),樹(shù)莓派3以上(包含3b和3b+)可支持64位cpu,也就是采用的是armv8架構(gòu),armv8支持兩種屬性,即:aarch32、aarch64,通俗的說(shuō)就是最新發(fā)行的樹(shù)莓派已經(jīng)可以支持64位,而以往的版本僅支持32位
如果你的Docker是裝在PC上的或者是PC上的虛擬機(jī)里的(比如vm虛擬機(jī)之類(lèi)的)那么Docker所使用的硬件是與宿主機(jī)共享硬件核心,所以,宿主機(jī)的硬件核心決定了docker的核心,換句話(huà)說(shuō)就是docker并非虛擬機(jī),并不能虛擬出一套與宿主機(jī)不同cpu架構(gòu)的硬件,即便是vm虛擬機(jī),也是不能運(yùn)行arm版本的操作系統(tǒng)的
在樹(shù)莓派中可以安裝centos系統(tǒng),并且centos官方有img鏡像,但僅是32位的。
在樹(shù)莓派中運(yùn)行的centos系統(tǒng)一樣可以安裝Docker,值得注意的是Docker官方的文檔中指出:不建議嵌套Docker,也就是在Docker中創(chuàng)建一個(gè)centos鏡像容器,然后在此容器中又安裝一個(gè)Docker,雖然支持但不建議這樣做。
想要實(shí)現(xiàn)如你所述的測(cè)試環(huán)境,可以參考以下做法:
1、使用和樹(shù)莓派同樣cpu架構(gòu)的真機(jī),也就是arm架構(gòu)的真實(shí)測(cè)試機(jī)器
2、使用qemu虛擬機(jī),qemu是一個(gè)軟件模擬環(huán)境,可以模擬運(yùn)行arm架構(gòu)的操作系統(tǒng),不過(guò)據(jù)說(shuō)性能堪憂(yōu)
3、使用交叉編譯環(huán)境,也就是讓pc上的Linux具有編譯不同cpu架構(gòu)程序的能力,程序經(jīng)過(guò)交叉編譯后即可移植到arm架構(gòu)的機(jī)器上去
以上所述如有偏頗或不同方案,希望不吝賜教。
This is just called Forward declaration
refer this: http://en.cppreference.com/w/...
hashcash的一種通俗易懂的表述,利用了部分哈希碰撞算法的性質(zhì):
Goods.find({},(function(ctx){return function(err,doc){
ctx.response.type='json';
ctx.response.body={
status:'2',
msg:'Hello World'
}
if(err){
ctx.response.type='json';
ctx.response.body={
status:'1',
msg:'Hello World'
}
}else{
ctx.response.type='json';
ctx.response.body={
status:'2',
length:doc.length,
msg:doc
}
}
}
})(ctx))H5內(nèi)置的頁(yè)面么? 一般用click 不行用tap , 反正都是HTML結(jié)構(gòu) , 你用zepto都會(huì)幫你封裝好了手機(jī)端的觸摸事件的
監(jiān)聽(tīng)onmousewheel 事件 就好了。
可以將<el-upload>包裹在一個(gè)v-for循環(huán)指令中,然后確定按鈕來(lái)控制v-for循環(huán)的數(shù)組長(zhǎng)度,就可以實(shí)現(xiàn)動(dòng)態(tài)改變上傳標(biāo)簽的數(shù)量;這種方案比較麻煩,你看如果能修改成一次上傳多張圖片可以使用<el-upload>的multiple屬性
首先, apache 的 mode_php5 ,這點(diǎn)我不太確定,我猜,可能是像 java 的 servlet 一樣, apache + mode_php5 更像是一個(gè)“容器”的角色,提供了直接運(yùn)行 php 的能力。
然后, php-cgi ,這個(gè),可能是 php 的 cgi 協(xié)議實(shí)現(xiàn)?現(xiàn)在已經(jīng)基本不用 cgi ,而是 fastcgi 這些, Django 也多是 fastcgi 方式部署。 fastcgi 是一個(gè)通用的網(wǎng)關(guān)協(xié)議, nginx 通過(guò) fastcgi 協(xié)議與后面的 Python, php 等應(yīng)用層通信。(類(lèi)似的, Python 方面,有 wsgi , Java 的 servlet 我覺(jué)得也算)
網(wǎng)關(guān)協(xié)議(cgi , fastcgi 等),的作用,就是把 web 服務(wù)器抽出來(lái),分離“應(yīng)用”。
因?yàn)樵诟鱾€(gè)語(yǔ)言上,實(shí)現(xiàn) cgi 或 fastcgi ,要比實(shí)現(xiàn)一套完整的 http 要容易得多(最重要的一點(diǎn)是不用關(guān)心訪問(wèn)的“調(diào)度”了)。進(jìn)一步說(shuō), Python 中的 Tornado 雖然自己有實(shí)現(xiàn) http ,正式環(huán)境部署的時(shí)候,也會(huì)在前端部署 nginx ,從這里也可以看到, nginx 這類(lèi) web 服務(wù)器,除了實(shí)現(xiàn) http 協(xié)議,還有其它相關(guān)的功能(反向代理,負(fù)載均衡,fastcgi 支持,uwsgi 支持等)。而通過(guò)通用的網(wǎng)關(guān)協(xié)議,把這些層分開(kāi),各自就可以更關(guān)注自己的領(lǐng)域,實(shí)現(xiàn)更穩(wěn)定,強(qiáng)大的服務(wù)質(zhì)量。
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。