主要是數(shù)據(jù)庫要設(shè)計(jì)好。其他諸如memcached/redis,rabbitmq都可以日后再加,這個(gè)是對性能的提升操作(也就是沒有這些東西,系統(tǒng)功能也是完整的,不過性能可能不怎么樣)
數(shù)據(jù)庫沒設(shè)計(jì)好以后的問題會(huì)越改越多。
解碼轉(zhuǎn)成字符串
img_string = img.decode('utf-8')
錯(cuò)了。img 已經(jīng)是“字節(jié)”了。
還有,base64 是“編碼”,不是“加密”。
你所有都是滿足你package.json中指定的版本范圍中的最新的話,就不會(huì)有響應(yīng),因?yàn)橐呀?jīng)是最新的沒有可以更新的包。
npm update如果不指定包名(比如npm update lodash)會(huì)更新指定位置(local或global)的所有模塊。但是它會(huì)按照你package.json中的模塊的版本號來更新,這是一個(gè)好特性,如果什么都不考慮直接全部都更新到最新版本,容易出現(xiàn)兼容問題。
比如你的模塊依賴為 "dep1": "~1.1.1",它表示dep1的包版本為>=1.1.1,<1.2,這樣即使有2.0.0的新版本,你也更新不上去。
具體看npm-update
寫在一起吧,直接分個(gè)后臺模塊不就可以了,也省得去搭建版本庫,自動(dòng)部署了,總體的是一個(gè)項(xiàng)目,還是在寫在一起方便一些
聚合查詢在分組前,先使用aggregation 的project將時(shí)間提取出來,類似Aggregation.project("要提取的字段").andExpression("數(shù)據(jù)庫時(shí)間字段").extractDayOfYear().as("day"),然后在通過Aggregation.group("day").count().as("count"));這樣來分組。
spring技術(shù)內(nèi)幕
后經(jīng)排查,發(fā)現(xiàn)是由于 xml 文件沒找到的原因。
因?yàn)槲以诠こ汤锝ǖ?mapper.mysql 是個(gè)文件夾的名字,而不是包名,不符合 mapper-locations: classpath*:mybatis/mapper/mysql/**/**.xml 。
另說明,在 IDEA 里,resources下的目錄,包名和文件名都可以使用 . ,見如下截圖:
一般不會(huì)加密數(shù)據(jù),交給https(畢竟人家自己要看自己操作生成的數(shù)據(jù)也沒什么好阻止的),只是加密cookie等,目的也只是為了增加破解難度。
原來還是maven 得配置問題:
在 pom.xml <project>標(biāo)簽下添加
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
原文鏈接:
我在Run/Debug Configurations窗口,勾選上了“Enable debug output”。這樣就能調(diào)試了,重啟也沒問題了。
但這不應(yīng)該是默認(rèn)的嗎?我手頭只有這一個(gè)編輯器,不知道其他人這個(gè)選項(xiàng)是不是默認(rèn)選中的?
有人知道希望告知下
跨域情況下如何發(fā)送cookie
瀏覽器的安全基石“同源策略”在一定程度上避免了一些漏洞。其目的是為了保證用戶信息的安全,防止惡意的網(wǎng)站竊取數(shù)據(jù)。在同源策略的基礎(chǔ)上,如果是非同源的話,將限制以下三種行為:
CORS(跨域資源共享)是目前的一個(gè)W3C的標(biāo)準(zhǔn),允許瀏覽器向跨域服務(wù)器發(fā)送請求。相對于其他的幾種跨域方式,CORS應(yīng)用范圍廣。在CORS請求中,其默認(rèn)不發(fā)送Cookie和HTTP認(rèn)證信息,如何將cookie添加到請求頭部發(fā)送給服務(wù)器,一方面需要服務(wù)器同意,指定 Access-Control-Allow-Credentials 字段。
Access-Control-Allow-Credentials: true
另一方面,需要客戶端在發(fā)送請求時(shí),設(shè)置 withCredentials屬性。
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
或者
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
注意:跨域發(fā)送Cookie時(shí),Access-Control-Allow-Origin就必須指定明確的域名,不能指定為星號。
函數(shù)調(diào)用需要使用棧,如果函數(shù)調(diào)用鏈很深(遞歸的時(shí)候很常見),棧的空間不夠就會(huì)出StackOverflow。
動(dòng)態(tài)擴(kuò)展就是在??臻g不夠的時(shí)候,自動(dòng)加大棧的空間,避免StackOverflow,JVM是沒有實(shí)現(xiàn)這個(gè)功能的。
動(dòng)態(tài)棧通常有兩種方法:Segmented stack和Stack copying。
Segmented stack可以簡單理解成一個(gè)雙向鏈表把多個(gè)棧連接起來,一開始只分配一個(gè)棧,這個(gè)棧的空間不夠時(shí),就再分配一個(gè),用鏈表一個(gè)一個(gè)連起來。
Stack copying就是在棧不夠的時(shí)候,分配一個(gè)更大的棧,然后把原來的棧復(fù)制過去。
使用Hiberate的驗(yàn)證的注解會(huì)在 hibernate-validator-.jar 和 validation-api-.jar 里面。
除了常用的為空,大小等驗(yàn)證外,你還可以自定義驗(yàn)證注解來滿足實(shí)際的業(yè)務(wù)邏輯。
默認(rèn)的驗(yàn)證錯(cuò)誤信息會(huì)在 BindingResult bindingResult 里面
正常來講,你php當(dāng)前的目錄所屬組或者所屬人是誰,生成的文件就是誰的
使用BigDecimal類來進(jìn)行計(jì)算
我的理解這算是數(shù)據(jù)分析的需求了,OLAP的需求依賴一條數(shù)據(jù)庫查詢直接產(chǎn)出結(jié)果不是很容易,如果是SQL可能會(huì)考慮存儲過程,MongoDB可選的方法有Map/Reduce和Aggregation,優(yōu)先選擇后者。性能問題在這里先不討論,先看看是否能達(dá)到你想要的效果。第二種數(shù)據(jù)結(jié)構(gòu)應(yīng)該沒有問題,第一種結(jié)構(gòu)我的解決方案如下:
db.test.aggregate([
{$project: {brands: "$brands", brands2: "$brands"}},
{$unwind: "$brands"},
{$unwind: "$brands2"},
{$project: {pair: ["$brands", "$brands2"]}},
{$group: {_id: "$pair", count: {$sum: 1}}}
]);
這種方式先復(fù)制一個(gè)brands出來,然后做$unwind相當(dāng)于brands集合自己與自己排列,而你需要的是組合。比如你的示例數(shù)據(jù):
{"brands" : [ "西門子", "ABB", "GE" ]}
出來的結(jié)果是:
{ "_id" : [ "GE", "GE" ], "count" : 1 }
{ "_id" : [ "GE", "ABB" ], "count" : 1 }
{ "_id" : [ "GE", "西門子" ], "count" : 1 }
{ "_id" : [ "ABB", "ABB" ], "count" : 1 }
{ "_id" : [ "ABB", "西門子" ], "count" : 1 }
{ "_id" : [ "ABB", "GE" ], "count" : 1 }
{ "_id" : [ "西門子", "GE" ], "count" : 1 }
{ "_id" : [ "西門子", "ABB" ], "count" : 1 }
{ "_id" : [ "西門子", "西門子" ], "count" : 1 }
有些額外的數(shù)據(jù),比如[ "ABB", "ABB" ],[ "西門子", "ABB" ]/[ "ABB", "西門子" ]。我暫時(shí)還沒想到很好的辦法直接在aggregation pipeline中直接過濾掉這些數(shù)據(jù),不過應(yīng)該不影響你使用。如果有想到更徹底的辦法我再回來補(bǔ)充。
求助了一下場外觀眾,aggregation確實(shí)很強(qiáng)大。你可能需要查一下:$map, $reduce, $let, $range這些操作符的用法
db.test.aggregate({
$project: {
tuples: {
$reduce: {
initialValue: [],
input: {
$range: [0, {
$subtract: [{
$size: "$brands"
}, 1]
}]
},
in: {
$let: {
vars: {
i1: "$$this"
},
in: {
$concatArrays: ["$$value", {
$map: {
input: {
$range: [{
$add: [1, "$$i1"]
}, {
$size: "$brands"
}]
},
in: [{
$arrayElemAt: ["$brands", "$$i1"]
}, {
$arrayElemAt: ["$brands", "$$this"]
}]
}
}]
}
}
}
}
}
}
}, {
$unwind: "$tuples"
}, {
$sortByCount: {
$setUnion: "$tuples"
}
})
這個(gè)管道操作本質(zhì)上的意義就是:
for(var i = 0; i < array.length - 1; i++)
for(var j = i + 1; j < array.length - 1; j++) {...}
執(zhí)行結(jié)果:
{ "_id" : [ "GE", "西門子" ], "count" : 1 }
{ "_id" : [ "ABB", "GE" ], "count" : 1 }
{ "_id" : [ "ABB", "西門子" ], "count" : 1 }北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(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ù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。