原创 MySQL使用規範備註

如下規範來源於58到家數據庫30條軍規解讀和阿里巴巴JAVA開發手冊,以及自己在實際項目應用匯總。 1.基礎規範 1.必須使用InnoDB存儲引擎 支持事務、行級鎖、併發性能更好、CPU及內存緩存頁優化使得資源利用率更高。 2.新庫必須使

原创 SonarQube靜態代碼分析實戰

Sonar是一個用於代碼質量管理的開源平臺,用於管理源代碼的質量,可以從七個維度檢測代碼質量,可以通過使用插件機制與 eclipse 和 JIRA 等其他外部工具集成,從而實現了對代碼的質量的全面自動化分析和管理。支持包括java,C#,

原创 Spring Boot探路者之應用配置

spring boot支持properties和yaml兩種配置格式,properties在spring項目中很常見,key value形式配置參數,而yaml 是一種通用的數據串行化格式,專門用來寫配置文件的語言,比 JSON 格式方便

原创 Jenkins集成findbugs插件靜態代碼分析

FindBugs 是一個靜態分析工具,它檢查類或者 JAR 文件,將字節碼與一組缺陷模式進行對比以發現可能的問題。有了靜態分析工具,就可以在不實際運行程序的情況對軟件進行分析。不是通過分析類文件的形式或結構來確定程序的意圖,而是通常使用

原创 如何利用redis key過期事件實現過期提醒

redis自2.8.0之後版本提供Keyspace Notifications功能,允許客戶訂閱Pub / Sub頻道,以便以某種方式接收影響Redis數據集的事件。 可能收到的事件的例子如下: 所有影響給定鍵的命令。 所有

原创 RabbitMQ學習之exchange總結

前面介紹了幾類exchange的作用,這個總結一下: direct:消息會被推送至綁定鍵(binding key)和消息發佈附帶的選擇鍵(routing key)完全匹配的隊列。默認有”AMQP default”,它用一個空字符串表示,

原创 Spring event應用

當我們在實現某些特定業務邏輯時,通常會通過發送事件的方式實現代碼解耦,這也是觀察者模式的一種體現。從spring 3.0.5爲我們實現了用annotation實現event和eventListner。 一個事件包含:事件發佈、監聽、和事

原创 RabbitMQ學習之隊列監控

對於RabbitMQ的監控,除了服務器基本信息(硬盤、CPU、內存、IO等)以及MQ的進程和端口,我們也可以通過請求url訪問管理API監控其集羣和隊列的情況。在java api 3.6.0以後,channel接口爲我們提供瞭如下接口:

原创 簡易DNS服務器搭建,適用小型公司

dnsmasq是一個小巧且方便地用於配置DNS和DHCP的工具,適用於小型網絡,相比bind和dhcpd,配置起來更簡單。dnsmasq能夠提供本地解析和外部dns服務器代理,通常將將其作爲一個DNS中繼代理。openstack就是採用的