那你就用能用的唄,糾結(jié)啥。
報(bào)錯(cuò)報(bào)的是/app/src/Application/controllers/Favicon.ico.php,是Favicon.ico.php,你針對(duì)favicon.ico的規(guī)則應(yīng)該沒(méi)有生效,所以建議你先看看php重定向那里有沒(méi)有問(wèn)題
這幾句話分別控制了上面下拉刷新條和下面上拉刷新條,道理是一樣的,對(duì)于上面的下拉刷新條來(lái)說(shuō),他有兩種狀態(tài):
也就是說(shuō)對(duì)于函數(shù)里面前兩個(gè)判斷其實(shí)就是確定什么時(shí)候變成什么狀態(tài),比如第一個(gè)條件 this.y > 5 && !pullDownEl.className.match('flip') ,就是滑動(dòng)到一定距離(大于5)并且上面的下拉刷新條沒(méi)有flip的時(shí)候執(zhí)行,即改變圖標(biāo)方向,改變顯示文字(之所有有后面第二個(gè)條件是為了不重復(fù)執(zhí)行,因?yàn)榛瑒?dòng)是不停執(zhí)行的,而改變狀態(tài)只需要執(zhí)行一次)。然后第二個(gè)條件就是什么時(shí)候再變回來(lái),圖標(biāo)旋轉(zhuǎn)加文字改變。第3,4個(gè)條件是針對(duì)于下面的上拉刷新條,道理是一樣的
你請(qǐng)求的是jsonp類型,期望中返回的應(yīng)該是被 callback 包圍的一段函數(shù)調(diào)用語(yǔ)句,如 callback({"status":1,"data":0}),你這個(gè)直接返回的是json,自然會(huì)提醒類型錯(cuò)誤
Jsonp原理:
首先在客戶端注冊(cè)一個(gè)callback, 然后把callback的名字傳給服務(wù)器。此時(shí),服務(wù)器先生成 json 數(shù)據(jù)。
然后以 javascript語(yǔ)法的方式,生成一個(gè)function , function 名字就是傳遞上來(lái)的參數(shù) jsonp. 最后將json 數(shù)據(jù)直接以入?yún)⒌姆绞?,放置?function 中,這樣就生成了一段 js 語(yǔ)法的文檔,返回給客戶端。客戶端瀏覽器,解析script標(biāo)簽,并執(zhí)行返回的 javascript 文檔,此時(shí)數(shù)據(jù)作為參數(shù),傳入到了客戶端預(yù)先定義好的 callback 函數(shù)里.(動(dòng)態(tài)執(zhí)行回調(diào)函數(shù))
program就是node的主線程所占用cpu的時(shí)間
的確是這樣的.
A memory access is said to be aligned when the datum being accessed is n bytes long and the datum address is n-byte aligned. When a memory access is not aligned, it is said to be misaligned. Note that by definition byte memory accesses are always aligned.
n 字節(jié)的數(shù)據(jù), 其地址要按照 n 字節(jié)來(lái)對(duì)齊.
int i 4字節(jié), 默認(rèn)處于處于 0, 對(duì)齊的.short c 2字節(jié), 默認(rèn)處于 4, 對(duì)齊的.
指針 p 8字節(jié), 默認(rèn)處于 6, 沒(méi)有按照8字節(jié)對(duì)齊, 所以在需要在其前面補(bǔ)兩個(gè)字節(jié).
alias貌似做不到吧,或者做得到哪位前輩給我說(shuō)下?
或者我覺(jué)得可以寫(xiě)個(gè)函數(shù)放在.bashrc 里面,也不是很難
rmt(){
mv "$@" /tmp
}其實(shí)MJ的這個(gè)也有你說(shuō)的那種功能,文檔里面應(yīng)該有說(shuō)明。原理可以參見(jiàn)我的這篇博文,之前看mj的視頻寫(xiě)的。和樓上的大同小異,只是判斷的是距離。http://blog.csdn.net/leleyuan...
scrollView.contentInset包含如下屬性:CGFloat top, left, bottom, right;
在scrollView中,top是上面額外的高度,bottom是下面額外的高度,中間包含的是contentView的contentSize。
scrollView的contentOffSet計(jì)算的是頂部偏移量的距離,當(dāng)向上滾動(dòng)時(shí),contentOffSet.y將隨著視圖內(nèi)容而增大。比較contentSize.height和offset.y的值,就可以實(shí)現(xiàn)這個(gè)自動(dòng)加載下一頁(yè)的功能。
以下的東西被認(rèn)為是空的:
"" (空字符串)
0 (作為整數(shù)的0)
0.0 (作為浮點(diǎn)數(shù)的0)
"0" (作為字符串的0)
NULL
FALSE
array() (一個(gè)空數(shù)組)
$var; (一個(gè)聲明了,但是沒(méi)有值的變量)
總結(jié):
有版本區(qū)分;
不會(huì)產(chǎn)生警告;
判空條件;
等價(jià)于 if (!isset($var) || $var == false);
參考:empty
此種情況 $var 可能會(huì)發(fā)生隱式轉(zhuǎn)換,即從其他類型轉(zhuǎn)為 boolean。
轉(zhuǎn)換情況如下:
當(dāng)然,如果 $var 未定義,從語(yǔ)法角度來(lái)說(shuō),會(huì)有 Notice
參考:Boolean 布爾類型
設(shè)置顏色之后需要更新視圖
對(duì)應(yīng)Layer.changed()
或者
對(duì)應(yīng)Layer.getSource().changed()$types = empty($types)? array('jpg', 'gif', 'png', 'jpeg'):$types;
$img = str_replace(array('_','-'), array('/','+'), $request->input('image'));
$b64img = substr($img, 0,100);
if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $b64img, $matches)){
$type = $matches[2];
if(!in_array($type, $types)){
return array('type'=>'0','msg'=>'圖片格式不正確','url'=>'');
}
$img = str_replace($matches[1], '', $img);
$img = base64_decode($img);
$photo = 'upload/links/'.md5(date('YmdHis').rand(1000, 9999)).'.'.$type;
file_put_contents(env('IMAGE_URL').'/'.$photo, $img);
$thumbnail=self::resizeImage('0.5',$photo,'thumbnail');
$min =self::resizeImage('0.2',$photo,'min');
return ['type'=>'1','url'=>'/'.$photo,'thumbnail'=>$thumbnail,'min'=>$min];
}看了一下深入了解JAVA虛擬機(jī)。這個(gè)時(shí)候會(huì)執(zhí)行空間分配擔(dān)保策略。他的原話是這么說(shuō)的:把survivor無(wú)法容納的對(duì)象直接進(jìn)入老年代。所以應(yīng)該是存滿survivor2.然后把剩下的1M存入老年代。
括號(hào)內(nèi)是擴(kuò)展,你可以跳過(guò)(順便多說(shuō)幾句。在minorgc時(shí)。jvm都會(huì)檢查老年代剩余空間是否大于本次gc存活的對(duì)象大小。例如上面剩下的1M對(duì)象。老年代空間不足一兆。那么檢查虛擬機(jī)是否允許承擔(dān)風(fēng)險(xiǎn)(HandlePromotionFailure參數(shù))。如果允許。還會(huì)檢查過(guò)去幾次晉升到老年代的平均大小是否小于目前老年代最大連續(xù)可用空間。如果小于。將嘗試minorgc 。否則直接進(jìn)行fullgc。)
還有你說(shuō)的第二種情況。會(huì)執(zhí)行jvm的大對(duì)象直接進(jìn)入老年代策略(前提是-xx:PretenureSizeThreashold參數(shù)的值是大于5M的)。如果老年代無(wú)法容納這兩個(gè)對(duì)象。就會(huì)進(jìn)行fullgc。如果fullgc后還不行。再進(jìn)行fullgc
可以登錄成功之后,服務(wù)器就根據(jù)這個(gè)唯一的用戶名和當(dāng)前時(shí)間生成一個(gè) UUID 或者 MD5 之類的簽名返回給客戶端,作為自定義的 session_id,然后客戶端每次請(qǐng)求的時(shí)候都會(huì)帶上這個(gè) session_id,并且后端會(huì)給這個(gè) session_id 設(shè)定一個(gè)多久不操作就過(guò)期的時(shí)間。
在colModel里加了sorttype:'integer'排序就正常
aes.js 里引入 import tripledesfrom './tripledes.js'
vue組件里引入 import aes'./aes.js'
各種 Web 框架中都有 secret base key 的設(shè)置,有什么具體目的和作用?
并沒(méi)有“各種 web 框架”
不設(shè)置會(huì)怎樣?
你要看在具體的某個(gè)框架中,這玩意是干嘛的。
官方文檔或源碼中有沒(méi)有相關(guān)實(shí)現(xiàn)不是很清楚,但是就算沒(méi)有實(shí)現(xiàn)自己實(shí)現(xiàn)也是可以的。
相關(guān)實(shí)現(xiàn)大概率會(huì)通過(guò)decorator來(lái)做,所以自己寫(xiě)一個(gè)decorator就可以了
import functools
import flask
@bp.route('status', methods=['GET'])
def status():
celery_task.delay()
return flask.jsonify({'status': 'ok'})
def my_task(fn):
@functools.wraps(fn)
def func_wrapper(*args, **kwargs):
try:
session = DB_Session()
res = fn('session', *args, **kwargs)
except:
pass
finally:
session.close()
return res
return func_wrapper
@app.task
@my_task
def celery_task(session):
pass因?yàn)镴DBC沒(méi)有這種類型,所以你必須自己去實(shí)現(xiàn)Hibernate的UserType接口,自己實(shí)現(xiàn)這個(gè)映射綁定。
Grails的postgresql插件了解一下?它的源碼可以做參考,實(shí)現(xiàn)了postgresql的jsonb類型和array類型。
這個(gè)插件基本支持了postgresql的各種數(shù)據(jù)類型,是通過(guò)自己定義UserType搞定的,源碼在這個(gè)包下面: https://github.com/kaleidos/g...
asyncData的文檔里提到:
asyncData is called every time before loading the component (only for page components). It can be called from the server-side or before navigating to the corresponding route.
asyncData會(huì)在組件加載前獲取,可以在服務(wù)端或者在路由跳轉(zhuǎn)時(shí)執(zhí)行。
所以頁(yè)面跳轉(zhuǎn)就會(huì)這樣... asyncData應(yīng)該是用于影響SEO的內(nèi)容,也就是需要讓爬蟲(chóng)讀取的內(nèi)容,否則直接讓瀏覽器發(fā)ajax請(qǐng)求即可.
如果想要瀏覽器先顯示沒(méi)有數(shù)據(jù)的頁(yè)面在發(fā)請(qǐng)求,你可以讓SSR的時(shí)候請(qǐng)求asyncData,瀏覽器跳轉(zhuǎn)的時(shí)候發(fā)ajax請(qǐng)求。
具體做法是:
// 根據(jù)process.server判斷是否是SSR,如果是就asyncData獲取
asyncData (context) {
if(process.server){
// 發(fā)請(qǐng)求,獲取{userInfo:{name:"fake",age:10"}
}
}
然后在mounted中根據(jù)有無(wú)獲取某個(gè)值來(lái)決定是否發(fā)起請(qǐng)求
mounted(){
if(!this.userInfo){
// data里沒(méi)有這個(gè)字段,那么就是路由跳轉(zhuǎn),手動(dòng)發(fā)請(qǐng)求
}
}
這樣看起來(lái)比較累贅,不過(guò)我想不到別的辦法了。 個(gè)人理解,如果數(shù)據(jù)需要用于SEO,或者沒(méi)有某個(gè)數(shù)據(jù)影響渲染才使用asyncData,否則讓瀏覽器發(fā)ajax請(qǐng)求即可。 你感到卡頓說(shuō)明這個(gè)請(qǐng)求可能需要一定時(shí)間,那么在服務(wù)端渲染時(shí)nodejs也需要等待那么久的時(shí)間,用戶也會(huì)覺(jué)得你的頁(yè)面加載的很慢。 所以盡量不使用asyncData..個(gè)人建議
官方的example是為了要獲取列表,如果不在asynData里獲取搜索引擎就看不到內(nèi)容...
猜測(cè)線上和本地用的根本不是一個(gè)數(shù)據(jù)庫(kù)
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(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)師。