類型/子類型,例如:application/pdf 表示的就是 application下面的pdf
通過(guò)上面3個(gè)知識(shí)點(diǎn),再來(lái)回答你的疑惑:
/ 前面表示的是類型主要有下面這些:
application audio image message text video x-world不過(guò)需要注意的,在`script`標(biāo)簽中,type只支持 `JavaScript MIME type`,也就是說(shuō)這個(gè)時(shí)候支持的類型只有 `text`和`application`
/本身并沒(méi)有太多的含義,只是被用來(lái)區(qū)隔類型和子類型擴(kuò)展:script中的type除了可以設(shè)置為JavaScript MIME type外,還可以設(shè)置其他2種:
module表示的是當(dāng)前是一個(gè)模塊腳本,通過(guò)javascript Module進(jìn)行解析,這個(gè)目前應(yīng)用的不多JavaScript MIME type的MIME type,都是表示當(dāng)前是個(gè)數(shù)據(jù)塊,不會(huì)被瀏覽器解析展示給用戶,這個(gè)在很多模版引擎中有使用到websocket在手機(jī)webview中不可用.
遇到過(guò)這種需求, 我的解決方案是在手機(jī)端使用native原生socket來(lái)實(shí)現(xiàn), 做成混合app.
"判斷數(shù)據(jù)" === null
你需要再配置個(gè)NGINX作為靜態(tài)服務(wù)器
先說(shuō)答案: 有可能。但是需要調(diào)用者傳入更多的信息。
先來(lái)分析一下排序需要指導(dǎo)哪些信息:
我們看一下v8引擎給我們提供的接口,Array.prototype.sort():
sort() 方法在適當(dāng)?shù)奈恢脤?duì)數(shù)組的元素進(jìn)行排序,并返回?cái)?shù)組。 sort 排序不一定是穩(wěn)定的。默認(rèn)排序順序是根據(jù)字符串Unicode碼點(diǎn)。arr.sort() arr.sort(compareFunction)
這個(gè)接口要求我們傳入一個(gè)compareFunction。也就是我前面所說(shuō)的campare,那么swap和len呢?因?yàn)槭菍?duì)數(shù)組進(jìn)行排序,那么Array這個(gè)類型信息中已經(jīng)包含了這倆個(gè)function,swap 就是直接交換。 len 就是 Array.length。所以你可以模仿這這個(gè)接口完成你自己的排序功能,進(jìn)行比較的時(shí)候,調(diào)用函數(shù)傳入的campare function 而不是 '<'或者 '>'。那么問(wèn)題你的問(wèn)題就解決了。排序函數(shù)的調(diào)用者每次為自己的類型多寫一個(gè)campare function 就可以復(fù)用 這個(gè)排序函數(shù)。看一下你給出來(lái)的c++的例子,運(yùn)算符重載'<',不正是傳進(jìn)去的那個(gè)campare function 嗎? 只是語(yǔ)言的語(yǔ)法不同導(dǎo)致的表達(dá)方式的不同而已,所需要的信息從來(lái)沒(méi)有變過(guò)。
既然說(shuō)到了這里,就展開來(lái)說(shuō)一下len, 和 swap 怎么使用。 前面我們所講的都是多數(shù)組進(jìn)行排序。我想為自己寫的一個(gè)鏈表進(jìn)行排序,怎么辦呢? 那么你再傳入len, swap 就可以了len 獲取長(zhǎng)度,swap 交換元素。我們的排序函數(shù)就能更好的復(fù)用了。當(dāng)然了這樣寫的話就會(huì)顯得又臭又長(zhǎng),而且js中我們一般也不會(huì)自己去寫一個(gè)鏈表,Array可以當(dāng)鏈表用。
開拓一下眼界,看看在別的語(yǔ)言是怎么做的。在java中因?yàn)橛薪涌谶@一語(yǔ)法,所以就讓你實(shí)現(xiàn)comparable 這個(gè)接口,這個(gè)接口中有什么函數(shù)呢?就一個(gè)campareTo;golang中 讓你去實(shí)現(xiàn)sort.Interface這個(gè)接口,這個(gè)接口中有我前面提到的三個(gè)函數(shù)。
<textarea maxlength="100"></textarea >。想改為其他長(zhǎng)度直接改maxlength的值就行了
同求.解決了只會(huì)我一聲
platform unsupported chokidar@1.7.0 鈥?fsevents@^1.0.0 Package require os(darwin) not compatible with your platform(linux)
This is an ignored error. fsevents is an optional dependency, is only used on macOS and not on Windows or Linux. You can simply ignore it!
如果是固定格式的json的話,還是定義一個(gè)Bean比較好,還可以直接作為參數(shù)傳給其他方法
maven依賴中央類庫(kù),所以你只要有maven組件,并且在maven配置依賴能讀取到相應(yīng)的jar包 就可以用了
為什么還是不行
id是自增的啊,不能給''吧
touch事件,給你個(gè)簡(jiǎn)單的事例吧,返回動(dòng)畫什么的你自己完成吧,我是直接返回的。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0,user-scalable=no">
<title></title>
<style>
*{
margin: 0;
padding: 0;
}
html{
width: 100%;
height: 100%;
}
body{
width: 100%;
height: 100%;
position: relative;
/* touch-action: none; */
}
.box{
width: 100px;
height: 100px;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
background: #000;
}
</style>
</head>
<body >
<div class="box" id="box"></div>
</body>
<script>
touch('box');
function touch(id){
var obj = document.getElementById(id);
obj.addEventListener('touchstart', function(event) {
// 如果這個(gè)元素的位置內(nèi)只有一個(gè)手指的話
if (event.targetTouches.length == 1) {
var touch = event.targetTouches[0];
// 把元素放在手指所在的位置
var disX=touch.pageX-obj.offsetLeft;
var disY=touch.pageY-obj.offsetTop;
obj.addEventListener('touchmove',move);
function move(event){
//event.preventDefault();
document.documentElement.style.touchAction = 'none';
var touch2=event.targetTouches[0];
//var l=touch2.pageX-disX;
var t=touch2.pageY-disY;
// if(l<0){
// l=0;
// };
// if(l>document.documentElement.clientWidth-obj.offsetWidth){
// l=document.documentElement.clientWidth-obj.offsetWidth
// };
if(t<0){
t=0;
};
if(t>document.documentElement.clientHeight-obj.offsetHeight){
t=document.documentElement.clientHeight-obj.offsetHeight;
};
//obj.style.left=l+'px';
obj.style.top=t+'px';
};
obj.addEventListener('touchend',chend);
function chend(event){
if(obj.offsetTop<150){
alert('成功');
obj.style.top='auto';
obj.style.bottom='0px';
}else{
obj.style.top='auto';
obj.style.bottom='0px';
};
document.documentElement.style.touchAction = 'auto';
obj.removeEventListener('touchmove',move);
obj.removeEventListener('touchend',chend);
};
};
}, false);
};
</script>
</html>
看了一下Microsoft.Extensions.Configuration的源碼,
發(fā)現(xiàn)JsonConfigurationProvider的基類ConfigurationProvider里有個(gè)protected void OnReload(),
所以解決方案就很明朗了。
繼承JsonConfigurationProvider建一個(gè)新的Provider,然后override OnReload方法。
然后在Program.cs中
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((builderContext, config) =>
{
IHostingEnvironment env = builderContext.HostingEnvironment;
var c = config as Microsoft.Extensions.Configuration.ConfigurationBuilder;
//c.Sources刪除默認(rèn)的appsettings.json 的 JsonConfigurationProvider
//在c.Sources里添加自定義的Provider,c.Sources是一個(gè)List,注意添加位置
})
.UseStartup<Startup>();大家有什么好的方式呢?
刪除vendor文件夾和composer.lock,重新composer install即可
給form加個(gè) class form-inline
可能你看的例子寫得就不正確。
從設(shè)計(jì)的角度講你的session跟db.col集合沒(méi)有任何關(guān)聯(lián),系統(tǒng)怎么會(huì)知道這個(gè)session怎么會(huì)作用于這個(gè)集合上呢?真實(shí)環(huán)境中會(huì)有多個(gè)session,多個(gè)集合,系統(tǒng)必須有一定的方法來(lái)知道對(duì)應(yīng)關(guān)系,所以現(xiàn)在的寫法肯定是欠妥的。正確的寫法是:
s = db.getMongo().startSession();
s.startTransaction();
s.getDatabase("<database>").col.insert({name: 'mongo'});
s.abortTransaction();
db.col.find();
事實(shí)上在你commit之前都不應(yīng)該在集合中查詢到新插入記錄。所以之前的寫法這點(diǎn)就已經(jīng)不吻合了。
更多實(shí)例參考MongoDB官方文檔:Session.startTransaction
一般來(lái)說(shuō),如果有需要異步初始化的操作的話。都是在constructor中調(diào)用異步函數(shù),初始化完畢用事件去提醒外部,外部只需要監(jiān)聽事件,如果是非事件型的對(duì)象,外部可以多寫一個(gè)await他的初始化函數(shù)來(lái)讓其完成異步的數(shù)據(jù)調(diào)用。
另一個(gè)答案的方法也很好,通過(guò)一個(gè)函數(shù)預(yù)先拿到初始化數(shù)據(jù)再實(shí)例這個(gè)類
webpack不可以實(shí)現(xiàn)!
請(qǐng)自己實(shí)現(xiàn)
北大青鳥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)開發(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ū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(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)師。