原创 從0搭建屬於自己的Jenkins持續集成平臺

前言   Jenkins在日常工作中佔據了一個非常重要的角色,幫助我們節省了大量用於構建的時間。有些公司有運維大哥對Jenkins進行維護,如果沒有那隻能自己動手了。俗話說的好自己動手豐衣足食,所以本文就從0開始搭建屬於自己的J

原创 SpringBoot統一參數校驗

前言   在日常的開發中,參數校驗是非常重要的一個環節,嚴格參數校驗會減少很多出bug的概率,增加接口的安全性。也會減少對接時不必要的溝通。比如說:在對接的時候前端動不動就甩個截圖過來說接口有問題,你檢查了半天發現前端傳遞的參數

原创 面試問到IOC我該如何回答呢?

前言   相信在面試中,只要問到Spring,基本都會拋出一個問題,說說你對Spring IOC理解吧?雖然在日常的開發經常會使用到,但是要回答起來,並不簡單。大腦經過簡單的頭腦風暴後,蹦出了控制反轉、依賴注入這樣的詞語。顯然這

原创 一個基礎的SpringBoot項目該包含哪些

前言   建立一個全新的項目,或者把舊的龐大的項目,進行拆分成多個項目。在建立新的項目中,經常需要做一些重複的工作,比如說拷貝一下常用的工具類,通用代碼等等。所以就可以做一個基礎的項目方便使用,在經歷新項目的時候,直接在基礎項目

原创 Insert into select語句引發的生產事故

前言   Insert into select請慎用。這天xxx接到一個需求,需要將表A的數據遷移到表B中去做一個備份。本想通過程序先查詢查出來然後批量插入。但xxx覺得這樣有點慢,需要耗費大量的網絡I/O,決定採取別的方法進行

原创 SpringBoot多郵件源發送郵件

前言   最近由於業務需要,需要使用郵件對用戶進行通知,但是單個郵箱有發送限制,當推送量過多時,經常會出現失敗,於是考慮使用多個郵箱進行發送,由於spring-boot-starter-mail不支持同時配置多個郵件源,所以決定

原创 線上千萬級大表排序優化

前言   大家好我是不一樣的科技宅,每天進步一點點,體驗不一樣的生活,今天我們聊一聊Mysql大表查詢優化,前段時間應急羣有客服反饋,會員管理功能無法按到店時間、到店次數、消費金額 進行排序。經過排查發現是Sql執行效率低,並且

原创 搭建屬於自己的內網穿透

前言   大家好我是不一樣的科技宅,每天進步一點點,體驗不一樣的生活。今天給大家帶來的是用 frp 搭建屬於自己的內網穿透,方便在我們日常的開發中進行調試。同時是 frp 是開源並且是免費的,只需要一臺雲服務器即可搭建。 什麼是

原创 SpringBoot異步方法

前言   最近呢xxx接到了一個任務,是需要把AOP打印出的請求日誌,給保存到數據庫。xxx一看這個簡單啊,不就是保存到數據庫嘛。一頓操作猛如虎,過了20分鐘就把這個任務完成了。xxx作爲一個優秀的程序員,發現這樣同步保存會增加

原创 處理線上RabbitMQ隊列阻塞

前言   那天我和同事一起喫完晚飯回公司加班,然後就羣裏就有人@我說xxx商戶說收不到推送,一開始覺得沒啥。我第一反應是不是極光沒註冊上,就讓客服通知商戶,重新登錄下試試。這邊打開極光推送的後臺進行檢查。後面反應收不到推送的越來

原创 面試問到AOP就該這樣回答

前言   相信各位小夥伴在準備面試的時候,AOP都是無法繞過的一個點,經常能看到動態代理、JDK動態代理、CGLIB動態代理這樣的字眼。其實動態代理是代理模式的一種。代理模式有靜態代理、強制代理、動態代理。所以在認識AOP之前需

原创 設計模式-簡單工廠

前言   大家好我是不一樣的科技宅,每天進步一點點,體驗不一樣的生活,今天我們聊一聊簡單工廠模式,雖然不在23種設計模式中。但是可以認爲是工廠模式的一種特殊實現,並且在日常中使用廣泛,所以還是值得我們去學習的。 定義 簡單工廠