摘要: 原創出處:www.bysocket.com 泥瓦匠BYSocket 希望轉載,保留摘要,謝謝!
在你成爲領導者以前,成功只同自己的成長有關。
當你成爲領導者以後,成功都同別人的成長有關。
1.聊聊併發插入&代碼
場景:業務中有些ERP第三方調用該接口,導致多組同樣的數據包會調用同一個插入接口。一般都是XXXParamList,一個批量插入的接口。
首先聊聊批量插入的代碼,一般都會這樣搞,僞代碼
for(XXXParam xxx : XXXParamList)
validationXXXParam(xxx);
XXXDao.batchInsert(XXXParamList)
a.前端 – 灰色按鈕
就是提交的時候控制,不能重複條form或者ajax。
b.後端 – 分佈式鎖
分佈式鎖的資料上次分享過:傳送門 ->
http://www.cnblogs.com/PurpleDream/p/5559352.html
c.數據庫 – UK
在數據庫建表中設計時,設置 SQL UNIQUE 約束:傳送門->
http://www.w3school.com.cn/sql/sql_unique.asp
2.繼續說說數據庫字段設計
技巧1 關係表 -> JSON Text字段
場景:比如商品詳情頁面,白色Apple,金色Apple…對應的圖片顯示。這樣針對goods寸一條記錄,記錄着有個字段是 sku_image:
goodsid {[“白色”:“url”],[“金色”:“url”]}
而且Text字段是不對的。應該約定好大小,比如 VARCHAR(1000)
爲啥呢?其實每次get都是流量,轉換成流量方向想,那就是帶寬,大字段如果在高流量高併發的情況下,容易造成查詢量太大,會造成網關超過帶寬。
有時候登錄線上數據庫PM後臺,忘記了某表的字段,但只知道某表。我是這樣幹去取代 DESC table_name 或 SHOW CREATE TABLE table_name,SQL 很簡單
SELECT * FROM XXX WHERE 1 LIMIT 1;
直接可以看到列名,修改下 WHERE 裏面的條件就可以查詢你想的查詢的。
3.grep 命令
一般日誌用過日誌中心查詢,但是更多情況下,單機下都會跑到服務器上直接找到自己想要的日誌相關。
我是這樣的,找到某異常XXXException
cat xxx.log grep ‘XXXException’
然後顯示該行上下幾行內容,使用 -C 參數輸出匹配行的前後各4行
cat xxx.log grep ‘XXXException’ -C 4
grep 小命令 詳解:傳送門
https://linux.cn/article-5453-1.html
4.Maven 骨架工程
來到公司,發現小項目一個接一個地上。說罷就想起前東家的骨架工程。
很簡單的就能生成 HelloWorld 項目,XXXarchetype 是我開發的估計工程依賴。生成骨架項目關鍵代碼:
mvn archetype:generate -DgroupId=com.TT -DartifactId=helloworld -DarchetypeGroupId=com.TT -DarchetypeArtifactId=com.TT.XXXarchetype -DarchetypeVersion=0.0.1-SNAPSHOT -DinteractiveMode=false
詳細教程,傳送門->
http://www.voidcn.com/blog/aosica321/article/p-5764716.html
5.DO BO 互轉工具
一般這種都是代碼生成器,兼Java配置項。作用於兩種業務model的互轉:
mapstruct(效率最高)、orika(最快)、dozer(用的多)
詳細教程,傳送門
http://www.tianshouzhi.com/api/tutorials/mapstruct
http://blog.csdn.net/a258831020/article/details/48247187
如以上文章或鏈接對你有幫助的話,別忘了在文章結尾處評論哈~ 你也可以點擊頁面右邊“分享”懸浮按鈕哦,讓更多的人閱讀這篇文章。