當(dāng)前的服務(wù)器是堡壘機(jī)嗎?重新配置一下ssh免輸入登陸呢
注意:python3以后才支持yield from
語(yǔ)法
import collections
def flatten(d, prefix="", sep="_"):
def _take_prefix(k, v, p):
if p:
yield from flatten(v, "{}{}{}".format(p, sep, k))
else:
yield from flatten(v, str(k))
if isinstance(d, dict):
for k, v in d.items():
if isinstance(v, str) or not isinstance(v, collections.Iterable):
if prefix:
yield "{}{}{}".format(prefix, sep, k), v
else:
yield k, v
elif isinstance(v, dict):
yield from _take_prefix(k, v, prefix)
elif isinstance(v, list):
for i in v:
yield from _take_prefix(k, i, prefix)
else:
pass
else:
pass
dic = {your dataset}
for key, value in flatten(dic):
print("{}: {}".format(key, value))
結(jié)果如下,應(yīng)該能拍平了
status: changed
dataset_id: 5a4b463c855d783af4f5f695
dataset_name: AE_E
dataset_label: 1- ADVERSE EVENTS - Not Analyzed
details_variables_variable_id: 5a4b4647855d783b494f9d3f
details_variables_variable_name: CPEVENT
details_variables_variable_label: CPEVENT
details_variables_status: changed
details_variables_details_r_type_new_value: unary
details_variables_details_r_type_old_value: factor
details_variables_message: Variable with different R Type
details_variables_variable_id: 5a4b4647855d783b494f9d25
details_variables_variable_name: CPEVENT2
details_variables_variable_label: CPEVENT2
details_variables_status: changed
details_variables_details_r_type_new_value: unary
details_variables_details_r_type_old_value: binary
details_variables_message: Variable with different R Type
details_variables_variable_id: 5a4b4647855d783b494f9d26
details_variables_variable_name: CP_UNSCHEDULED
details_variables_variable_label: CP_UNSCHEDULED
details_variables_status: changed
details_variables_details_r_type_new_value: undefined
details_variables_details_r_type_old_value: unary
details_variables_message: Variable with different R Type
details_variables_variable_id: 5a4b4647855d783b494f9d02
details_variables_variable_name: VISIT_NUMBER
details_variables_variable_label: VISIT_NUMBER
details_variables_status: changed
details_variables_details_r_type_new_value: unary
details_variables_details_r_type_old_value: integer
details_variables_message: Variable with different R Type
details_variables_variable_id: 5a4b4647855d783b494f9ccf
details_variables_variable_name: VISIT_NUMBER2
details_variables_variable_label: VISIT_NUMBER2
details_variables_status: changed
details_variables_details_r_type_new_value: unary
details_variables_details_r_type_old_value: binary
details_variables_message: Variable with different R Type
details_many_visits: None
針對(duì)你修改后的問(wèn)題, 再加個(gè)函數(shù)就搞定:
# 這個(gè)fuck_all函數(shù)比較特例, 完全是針對(duì)你要區(qū)分的dataset下面的N個(gè)變量信息這種需求
def fuck_all(dic, prefix="details_variables"):
lst = list(flatten(dic)) # flatten函數(shù)則比較通用,任何嵌套數(shù)據(jù)集都可以用它拍平
lines = []
top = {k: v for k, v in lst if not k.startswith(prefix)}
index = 0
for key, value in lst:
if not key.startswith(prefix):
continue
else:
if not lines:
lines.append(top.copy())
if key in lines[index].keys():
index += 1
lines.append(top.copy())
lines[index][key] = value
return lines
d = {your dataset}
for i in fuck_all(d):
print(i)
結(jié)果長(zhǎng)這樣,應(yīng)該是能滿足你需求了
{'status': 'changed', 'dataset_id': '5a4b463c855d783af4f5f695', 'dataset_name': 'AE_E', 'dataset_label': '1- ADVERSE EVENTS - Not Analyzed', 'details_many_visits': None, 'details_variables_variable_id': '5a4b4647855d783b494f9d3f', 'details_variables_variable_name': 'CPEVENT', 'details_variables_variable_label': 'CPEVENT', 'details_variables_status': 'changed', 'details_variables_details_r_type_new_value': 'unary', 'details_variables_details_r_type_old_value': 'factor', 'details_variables_message': 'Variable with different R Type'}
{'status': 'changed', 'dataset_id': '5a4b463c855d783af4f5f695', 'dataset_name': 'AE_E', 'dataset_label': '1- ADVERSE EVENTS - Not Analyzed', 'details_many_visits': None, 'details_variables_variable_id': '5a4b4647855d783b494f9d25', 'details_variables_variable_name': 'CPEVENT2', 'details_variables_variable_label': 'CPEVENT2', 'details_variables_status': 'changed', 'details_variables_details_r_type_new_value': 'unary', 'details_variables_details_r_type_old_value': 'binary', 'details_variables_message': 'Variable with different R Type'}
{'status': 'changed', 'dataset_id': '5a4b463c855d783af4f5f695', 'dataset_name': 'AE_E', 'dataset_label': '1- ADVERSE EVENTS - Not Analyzed', 'details_many_visits': None, 'details_variables_variable_id': '5a4b4647855d783b494f9d26', 'details_variables_variable_name': 'CP_UNSCHEDULED', 'details_variables_variable_label': 'CP_UNSCHEDULED', 'details_variables_status': 'changed', 'details_variables_details_r_type_new_value': 'undefined', 'details_variables_details_r_type_old_value': 'unary', 'details_variables_message': 'Variable with different R Type'}
{'status': 'changed', 'dataset_id': '5a4b463c855d783af4f5f695', 'dataset_name': 'AE_E', 'dataset_label': '1- ADVERSE EVENTS - Not Analyzed', 'details_many_visits': None, 'details_variables_variable_id': '5a4b4647855d783b494f9d02', 'details_variables_variable_name': 'VISIT_NUMBER', 'details_variables_variable_label': 'VISIT_NUMBER', 'details_variables_status': 'changed', 'details_variables_details_r_type_new_value': 'unary', 'details_variables_details_r_type_old_value': 'integer', 'details_variables_message': 'Variable with different R Type'}
{'status': 'changed', 'dataset_id': '5a4b463c855d783af4f5f695', 'dataset_name': 'AE_E', 'dataset_label': '1- ADVERSE EVENTS - Not Analyzed', 'details_many_visits': None, 'details_variables_variable_id': '5a4b4647855d783b494f9ccf', 'details_variables_variable_name': 'VISIT_NUMBER2', 'details_variables_variable_label': 'VISIT_NUMBER2', 'details_variables_status': 'changed', 'details_variables_details_r_type_new_value': 'unary', 'details_variables_details_r_type_old_value': 'binary', 'details_variables_message': 'Variable with different R Type'}
送佛送到西好了
from functools import reduce
import json
import pandas as pd
with open("your dataset file", "r") as fh:
dic = json.load(fh)
df = pd.DataFrame(reduce(lambda x, y: x + y, (fuck_all(i) for i in dic)))
df.to_csv("out.csv", index=False)
成品
@admin.route('/ImageUpdate', methods=['POST'])
def getimage():
file = request.files['wangEditorH5File']
請(qǐng)編輯 Grunt 的配置文件 Gruntfile.js,參考下面的代碼:
module.exports = function (grunt) {
grunt.initConfig({
jshint: {
all: 'js/*.js',
options: {
jshintrc: true
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.registerTask('default', ['jshint']);
};
然后,運(yùn)行 grunt
dns里面設(shè)置url轉(zhuǎn)發(fā),或者做全站301都可以啊
WeixinJSBridge.call('closeWindow');
微信JSSDKwx.closeWindow();
去mysql設(shè)置對(duì)應(yīng)字段的默認(rèn)值
是的,這種寫(xiě)法的確是創(chuàng)建了很多的線程池。
但是當(dāng)我們使用Executors.newXXXThreadPool()的時(shí)候是我們需要有這么一個(gè)線程池。
如果你想在全局中使用同一個(gè)線程池中的話,可以試著去配置一個(gè)spring的bean作為線程池
然后通過(guò)@Autowired 注入
` @Autowired
@Qualifier("poolTaskExecutor")
Executor executor;
`
使用線程中管理的線程
PureComponent的本質(zhì)是幫你寫(xiě)了一個(gè)shouldComponentUpdate,做一層淺比較,實(shí)現(xiàn)渲染時(shí)優(yōu)化。
如果是簡(jiǎn)單類(lèi)型的比較,就不用自己寫(xiě)shouldComponentUpdate了。
需要注意的是:PureComponent和shouldComponentUpdate不能共存
可以監(jiān)聽(tīng)el-carousel的change事件,示例如下:
<el-carousel height="320px" @change="onChange">
...
</el-carousel>
...
methods: {
onChange(currentIndex, oldIndex) {
console.log(`當(dāng)前索引:${currentIndex},原索引:${oldIndex}`);
}
}
&表示參數(shù)+1;你可以理解為 ,url : this.apiUrlSaveFavourite ,data:{questionid:questionId,userid:userId}
window.getSelection().toString()
這個(gè)能取到選中的文本
大佬們,看得明白我的描述嗎?請(qǐng)問(wèn)為什么會(huì)這樣子呢?很急,一直沒(méi)解決,幫幫忙,會(huì)的幫忙解答一下了,謝謝!!
我寫(xiě)了一個(gè)demo
,在你那上面精簡(jiǎn)了不少,思路就是這樣,你運(yùn)行看看效果:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>example</title>
</head>
<body>
<div id="app">
<div class="total">
<span>總共 {{totalCount}} 道</span>
<span>合計(jì): ¥ {{totalPrice}}</span>
<p>選擇的折扣:<span>{{selectDiscount}}</span></p>
折后金額:<span>{{afterDiscount}}</span>
<p>選擇折扣:</p><span v-for="item in discount" :key="item.id" @click="addDiscount(item)" style="cursor:pointer;"> {{item.name}}</span>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script type="text/javascript">
new Vue({
el: "#app",
data: {
totalCount: 5,
totalPrice: 155.24,
selectDiscount: null,
discount: [{
id: 1,
name: 0.9
}, {
id: 2,
name: 0.8
}, {
id: 3,
name: 0.7
}, {
id: 4,
name: 0.6
}, {
id: 5,
name: 0.5
}, {
id: 6,
name: 0.4
}]
},
computed: {
afterDiscount() {
return (this.totalPrice * this.selectDiscount).toFixed(2);
}
},
methods: {
addDiscount(item) {
return this.selectDiscount = item.name;
}
}
})
</script>
</body>
</html>
樓主是需要自己搭建服務(wù)器嗎,自己部署私有云?工作量怎么來(lái)說(shuō)呢?沒(méi)有辦法給一個(gè)具體的定位,還是要看你的具體的需求。網(wǎng)上相關(guān)的開(kāi)源代碼也是挺多的,比如webrtc開(kāi)源了所有的代碼,比如tucodec免費(fèi)提供了SDK。你在這些SDK的基礎(chǔ)上,完成自己服務(wù)器搭建和UI設(shè)計(jì)就可以了~
lazyload
是一個(gè)插件功能,不能一個(gè)事件~,所以不存在委托什么的
你可以在批量添加完一批圖片時(shí),統(tǒng)一的添加上一個(gè)自定義的標(biāo)識(shí)類(lèi)
例如.watched,避免已經(jīng)被lazyload標(biāo)識(shí)過(guò)的被再次lazyload.可能這個(gè)特性在lazyload中已經(jīng)存在,我相應(yīng)會(huì)有的
然后通過(guò)
$(".img.lazy:not(.watched)").lazyload({
effect : "fadeIn"
});
lazyLoad
基本上使用如下方法實(shí)現(xiàn)
function lazyLoad(imgDOM,resultCallback){
var imgSrc,tempImg;
if($(imgDOM).hasClass("watched")||$(imgDOM).attr("data-loaded")==="done"){
return;
}
imgSrc=$(imgDOM).attr("data-origin-src");
tempImg=new Image();
tempImg.onload=function(){
$(imgDOM).attr("src",imgSrc);
$(imgDOM).attr("data-loaded","done");
doneFlag=true;
resultCallback&&resultCallback.apply(imgDOM,[]);
tempImg=null;
}
tempImg.src=imgSrc;
}
連接池有初始連接數(shù)
你這路由 很厲害啊。。。 path / 就 三個(gè)。。。。
去掉這行試試clipboard.png 重定向了把 然后你path 3個(gè)
參考playground源碼
<input type="file" @click="open">
methods:{
open:function(){
console.log('open')
}
}
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥(niǎo)中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過(guò)二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(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
曾工作于聯(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)師。