2019-11-15

1.map是轉類型,reduce是排序和相加。

2.常量和變量進行字符串比較時,常量放前面。swich不能用于比較字符串

3.查看接口的訪問時間,可以在調(diào)試f12中看

4.每次修改了接口,哪怕是很小很小的地方,也要和前端溝通好,不溝通好往往會造成一些問題;

5.在body自動更新的時候,沒有傳遞相應的字段會導致一些問題。

今天沒有傳遞整改單下面的問題的state,因為出于整改單問題狀態(tài)字段在政府流程下沒用就沒傳,但是出現(xiàn)了數(shù)據(jù)庫自動補全狀態(tài)導致整個整改單狀態(tài)的變化的情況

6.stringutils.isnotempty包括了為空和""的情況。

7.前端body傳來的內(nèi)容,作為map,它的value不是只能為string,可以是對象或者list,要取List直接取就好了。

8.foreach和stream.collect.map()的區(qū)別是,。collect要返回結果,是往外走的,或者是map轉后的結果,而foreach是不斷往里走的,對每個個下面的每一個進行操作

9.在mongodb中每個文檔都有一個objectId。

10.記得每天備份一下數(shù)據(jù)庫

11.criteria的in和nin其實是計算兩個集合的交集

12.查詢數(shù)據(jù)返回異常信息的時候要和前端溝通好,返回空信息的方式最好一致,不要一個是異常信息的no data,一個是result為空的正常信息

13.page分頁返回的數(shù)據(jù)在前端調(diào)用時,是每一頁就調(diào)一次接口。返回page的data是當前頁的數(shù)據(jù),count是所有的數(shù)據(jù)條目。所以在查到分頁數(shù)據(jù)以后再

進行篩選會出現(xiàn)問題。也就是count和顯示的條目不一樣。

13.sorted((x, y) -> (int) (y.getSmoke().getTotalAmount() - x.getSmoke().getTotalAmount()))

這是降序,從大到小

14.Paging.of(mongoTemplate.find(Query.query(criteria).with(new PageRequest(page, size)).with(new Sort(Sort.Direction.DESC,"createdTime")), Message.class),

? ? ? ? ? ? ? ? mongoTemplate.count(Query.query(criteria), Message.class));

15.db.getCollection('user').update({"number":{"$regex":"^1013"}}, {$set:{"banned":true}}, false, true)

db.getCollection('user').remove("":"");

15.itext的chunk不換行,phrase會換行,paragraph能設置段前段后距離

16.一定要記得改了前端ip以后,要把Ip加入security中

17.消息隊列是存放請求的隊列的,不是發(fā)送消息

18.每天提交一次代碼。增加一個新功能就提交一次代碼,描述要寫清楚,增加的類要寫清楚注釋,直觀。像配置文件的一些信息,不用提交

19.項目從穩(wěn)定到又一次開發(fā),需要新建分支

20用map和foreach的關系。如果用map沒有用變量來裝結果,根本不會執(zhí)行

21.公司的共用庫里面的update(id,T)方法,更新時可能會丟失內(nèi)部嵌套對象的id轉成objectId。

22.flatmap可以把多個流合并成一個流。它的返回值必須是流

23.db.getCollection('score').update(

? ? // query

? ? {

? ? ? ? "pollutionSourceId" : "5d75b9032797da0340668294"

? ? },


? ? // update

? ? {$set: {"isRemoved":true}

? ? },


? ? // options

? ? {

? ? ? ? "multi" : true,? // update only one document

? ? ? ? "upsert" : false? // insert a new document, if no existing document match the query

? ? }

);

24.ctrl+f表內(nèi)查找

25.nosql不適合多表關聯(lián)查詢。mysql可以

26..stream之前的list為空會報錯嗎

不會。但是如果是有積極求值的操作,就會出錯,比如get().但是很奇怪,max等是可以的。

27.criteria中的字符串為某個值,使用的is

28.javabean中的字段,在使用lomba時,boolean不會自動生成get函數(shù),有set。但是int,long可以有get和set

29.switch可以比較字符串

30.jpa就是持久層礦建,把javabean中的數(shù)據(jù)持久到數(shù)據(jù)庫,并提供與sql沒有緊密耦合的crud操作語句。是接口,hibernate是它的底層實現(xiàn)。

31.前端傳requestParam時,字符串不用加雙引號。所以postman這種情況不用加雙引號

32.@configuration是加載容器時,配置上的。@component是只要有容器,就會有這個,相當于xml文件中的<bean>

33. 啟動本地服務

mongod -f "C:\Program Files\MongoDB\Server\4.0\mongo.conf"

備份恢復

mongorestore -h <hostname><:port> -d dbname <path>

34.db.getCollection('user').update(

? ? // query

? ? {

? ? ? ? $and:[{"username":{$ne:"panqi"}},{"username":{$ne:"admin"}}]

? ? },


? ? // update

? ? {$set:{"isRemoved":true}

? ? },


? ? // options

? ? {

? ? ? ? "multi" : true,? // update only one document

? ? ? ? "upsert" : false? // insert a new document, if no existing document match the query

? ? }

);

35.c盤的權限操作,我是user用戶

36.

mongoexport --host 192.168.0.121 --port 27017 --db env-assistor --collection polygon --out polygon.json

mongoimport --host 127.0.0.1 --port 27017 --db env-assistor --collection polygon --file polygon.json

37.

.map(ExhaustFacility::getTubeNumber)

ids.stream().forEach(this::delete);

!user.getRoles().stream().anyMatch(Consts.ROLE_ADMINISTRATOR::equalsIgnoreCase)

.map(ObjectId::new)

38.list.addall();

39.能用lamda的盡量用lamda。lamda中的map等可以寫成上面形式的盡量寫成上面形式。lamda中可以用表達式的盡量不要用方法體。

40.if else太長,可以用switch

41.記得用了redis以后,要開啟redis服務。還要有相應的配置(yml文件中的以及相應的@configuration類)

redis-server.exe redis.windows.conf

42,windows中的路徑用\,linux中用/,在程序語言中用\\

43. productPlans.stream()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .map(ProductPlan::getName)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .collect(Collectors.joining(",")))

44.user.getRoles().stream().noneMatch(Consts.ROLE_ADMINISTRATOR::equalsIgnoreCase))

45.stream的peek和map相比,就是多了返回值。

46. try {

? ? ? ? ? ? future.get();

? ? ? ? } catch (InterruptedException | ExecutionException e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? }

47.Collections.singletonList("VOCs")集合轉成list

48.一個 if 語句的括號從文件頭到文件尾,并且大多數(shù)情況下,我們要進行驗證的假設,只是屬于偶然性事件,又或者我們僅僅想測試一下,一些最壞情況是否發(fā)生,所以這里有了 assert()。

assert 宏的原型定義在 assert.h 中,其作用是如果它的條件返回錯誤,則終止程序執(zhí)行。

49.對于值為boolean的表達式在if語句中,不用讓結果==true/false,直接根據(jù)值返回就可以。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容