元素上bindtap方法:(選擇圖片)
chooseImgHandler: function (e) {
var that = this;
that.count_img = count_img; //允許上傳的圖片數(shù)目
if (that.isGoing) return;
that.isGoing = true;
if (count_img) {
wx.chooseImage({
count: count_img,
sizeType: ['compressed'],
sourceType: ['album', 'camera'],
success: function (res) {
var tempFilePaths = res.tempFilePaths;
wx.showLoading();
that.uploadimg(tempFilePaths);
},
fail: function () {
// App.serverErrorTip("圖片選擇失敗...");
that.isGoing = false;
}
})
} else {
App.serverErrorTip('已達到上傳圖片上限啦~');
that.isClicking = false;
}
},
//拿到用戶選擇的圖片的臨時文件路徑數(shù)組以后,循環(huán)上傳到自己的服務(wù)器
//上傳多圖
uploadimg: function (data) {
var that = this,
zero = 0,
i = data.i ? data.i : zero,
success = data.success ? data.success : zero,
fail = data.fail ? data.fail : zero,
count_img = that.count_img;
wx.uploadFile({
url: '自己服務(wù)器的地址',
filePath: data[i],
name: 'file',
formData: {服務(wù)器需要接受的參數(shù)},
success: function (resp) {
if (resp.statusCode == 200) {
if (!resp.data || resp.data.indexOf("errcode") != -1) {
var msg = "";
try {
var json = eval("(" + resp.data + ")");
msg = '上傳圖片失敗:' + json.errmsg;
} catch (e) {
msg = '上傳圖片失敗'
}
that.wetoast.toast({
title: msg,
duration: 3000
})
fail++;
wx.hideLoading();
} else {
//成功后的回調(diào)
//自己的事件方法
that.count_img = count_img;
if (i == (data.length - 1)) {
wx.hideLoading();
}
}
} else {
if (i == (data.length - 1)) {
wx.hideLoading();
}
App.serverErrorTip('上傳圖片失敗');
}
},
fail: function (res) {
fail++;
if (i == (data.length - 1)) {
wx.hideLoading();
}
},
complete: function () {
i++;
if (i == data.length) { //當圖片傳完時,停止調(diào)用
console.log('執(zhí)行完畢');
console.log('成功:' + success + " 失?。? + fail);
that.isClicking = false;
} else {//若圖片還沒有傳完,則繼續(xù)調(diào)用函數(shù)
data.i = i;
data.success = success;
data.fail = fail;
that.uploadimg(data);
}
}
});
},
github僅支持靜態(tài)文件
你這個是超時了,先ping一下服務(wù)器,確保能ping通,然后再看看服務(wù)器防火墻是不是沒有開放端口,定位出問題的點
export 指向 module.export
export default === export.default
import 的時候會默認導(dǎo)入 default
如果沒有 default 會導(dǎo)入 所有的export值,需要用 * as name,或者{name}來接收
主要是因為你的biglist是list?的 只能捕獲變量 不能調(diào)用方法
7.0 以上的手機,必須在app里面設(shè)置信任證書配置,不然沒法過 ssl 驗證
參考 :https://www.charlesproxy.com/...
mode="multiple"
Docker的四種網(wǎng)絡(luò)模式:
當Docker進程啟動時,會在主機上創(chuàng)建一個名為docker0的虛擬網(wǎng)橋,此主機上啟動的Docker容器會連接到這個虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機類似,這樣主機上的所有容器就通過交換機連在了一個二層網(wǎng)絡(luò)中。
從docker0子網(wǎng)中分配一個IP給容器使用,并設(shè)置docker0的IP地址為容器的默認網(wǎng)關(guān)。在主機上創(chuàng)建一對虛擬網(wǎng)卡veth pair設(shè)備,Docker將veth pair設(shè)備的一端放在新創(chuàng)建的容器中,并命名為eth0(容器的網(wǎng)卡),另一端放在主機中,以vethxxx這樣類似的名字命名,并將這個網(wǎng)絡(luò)設(shè)備加入到docker0網(wǎng)橋中。可以通過brctl show命令查看。
bridge模式是docker的默認網(wǎng)絡(luò)模式,不寫--net參數(shù),就是bridge模式。使用docker run -p時,docker實際是在iptables做了DNAT規(guī)則,實現(xiàn)端口轉(zhuǎn)發(fā)功能。可以使用iptables -t nat -vnL查看。
bridge模式如下圖所示:
如果啟動容器的時候使用host模式,那么這個容器將不會獲得一個獨立的Network Namespace,而是和宿主機共用一個Network Namespace。容器將不會虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機的IP和端口。但是,容器的其他方面,如文件系統(tǒng)、進程列表等還是和宿主機隔離的。
Host模式如下圖所示:
這個模式指定新創(chuàng)建的容器和已經(jīng)存在的一個容器共享一個 Network Namespace,而不是和宿主機共享。新創(chuàng)建的容器不會創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個指定的容器共享 IP、端口范圍等。同樣,兩個容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進程列表等還是隔離的。兩個容器的進程可以通過 lo 網(wǎng)卡設(shè)備通信。
Container模式示意圖:
使用none模式,Docker容器擁有自己的Network Namespace,但是,并不為Docker容器進行任何網(wǎng)絡(luò)配置。也就是說,這個Docker容器沒有網(wǎng)卡、IP、路由等信息。需要我們自己為Docker容器添加網(wǎng)卡、配置IP等。
Node模式示意圖:
更多請自行閱讀: http://www.a-site.cn/article/...
PHP中float轉(zhuǎn)int是將小數(shù)位全部棄掉,(0.1+0.7)*10的結(jié)果內(nèi)部的表示其實是類似7.9999999999999991118…,于是強行轉(zhuǎn)換為int值時,結(jié)果為7。
如果實在要轉(zhuǎn),最好使用round,進行四舍五入避開浮點數(shù)精度的坑
echo (int)((0.7+0.1)*10); // 輸出7
echo round((0.7+0.1)*10); // 輸出8
注意:永遠不要相信浮點數(shù)結(jié)果精確到了最后一位,也永遠不要比較兩個浮點數(shù)是否相等。如果確實需要更高的精度,應(yīng)該使用任意精度數(shù)學(xué)函數(shù)或者 gmp 函數(shù)。
加一個咯,ip addr add 127.0.0.1/8 dev lo
另外,盡可能使用 iproute2 包的相關(guān)命令,不要再使用 ifconfig、netstat 等命令了
分布式事務(wù)了解一下
1.server send event
2.websocket
因為InnoDB其他方面的優(yōu)點可以完全碾壓MyISAM,比如崩潰恢復(fù)快,支持事務(wù),支持行級鎖,支持真正的熱備份等等。多了這么多功能當然更耗資源羅
可以看看這本書 https://segmentfault.com/a/11...;
如果評論里的邏輯是對的。應(yīng)該做有改無增的操作,而id不同的時候你并沒有push。
// 簡化版本
var miniCartListArr = []
var miniId = {}
function dataHandler (opt) {
if (miniId[opt.skuId] !== undefined) {
// 有改
miniCartListArr[miniId[opt.skuId]] = opt
} else {
// 無增
// 存 id:索引,方便下次有改
miniId[opt.skuId] = miniCartListArr.length
miniCartListArr.push(opt)
}
}
arr2 = [...arr1]
這么寫并不是個真的深拷貝。
var arr1 = [{name:1}]
arr2 = [...arr1]
arr2[0].name = 2
arr1[0].name // 1
arr1 === arr2 //false
arr1[0] === arr2[0] //true你在首頁界面掛載前判斷是否存在某個session 然后跳轉(zhuǎn)路由唄 不一定非得重定向把 加載路由把
無非你請求后臺返你數(shù)據(jù) 如果怎么樣 符合 那就
this.$router.push('/新路徑')
不就相當于重定向
你這個需求 和重定向的意義關(guān)聯(lián)不大吧這應(yīng)該不是說的 SWAP 分區(qū)吧。
Linux 的 SWAP 分區(qū)的話,你沒有在/etc/fstab指定或者你剛剛分區(qū)完的話那就得自己啟用,分區(qū)格式化成 swap 后sudo swapon /dev/sdaX就行了。
你好,我也是遇到一樣的問題。在docker中master命令后上傳沒問題,將9000端口映射出來到宿主機9000后,訪問hdfs://localhost:9000使用java api上傳,出現(xiàn)跟你一樣的問題。文件是上傳上去了,但是大小是0.eclipse報錯跟你的一樣。請問你的問題解決了嗎?搞了好久沒解決
如果你的php是用brew安裝的那么按照樓上說的使用brew安裝memcache;如果是手動編譯安裝的那么我不確定brew安裝是否可行。如果你的memcache是手動安裝的,你在安裝的時候要先掛起phpize和configure
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。