原创 探索DevOps文化

採用DevOps文化需要在企業層面改變思維方式、流程和文化。許多人認爲採用DevOps只是在不同的團隊之間劃分任務,併爲團隊成員分配特定的角色。然而,恰恰相反,它需要在實施最佳實踐的同時,致力於更長遠的事業。因此,轉向DevOps不是一個瞬

原创 Ethereum WebSocket接口實踐

之前在學習Ethereum的infura API時候看到有WebSocket,但是翻了很久都沒找到很完整的接口文檔和實踐文檔。當時比較迷,沒太在意,以爲是區塊鏈接口的性能還用不上WebSocket,HTTP完全支持沒問題。 後面在更深入學習

原创 UUID意想不到的block

UUID(Universally Unique Identifier,通用唯一標識符)是一種用於標識信息的128位標識符。Java開發人員傾向於使用 java.util.UUID#randomUUID API來生成UUID編號(類似4c88

原创 copilot使用體驗

最近在深度體驗了copilot工具之後,真心體會到了AI工具的強大之處。雖說之前也都使用過ChatGPT及其不同代號的分身,當時覺得比搜索引擎強太多,但在工作中直接使用倒是沒有體會到效率極大提升。 在與copilot相互磨合當中,逐步感受A

原创 可重入鎖ReentrantLock在性能測試常見用法

在進行Java多線程編程的過程中,始終繞不開一個問題:線程安全。一般來說,我們可以通過對一些資源加鎖來實現,大多都是通過 synchronized 關鍵字實現。 在做性能測試時,如果TPS或者QPS要求沒有特別高, synchronized

原创 性能測試中數據處理經驗分享

在性能測試中,有一個無法避免的問題,就是如何處理性能測試用例使用到的數據,其中包括前置數據、運行時數據和後置髒數據清理。 相信大家在做性能測試中也會遇到跟我相同的問題,我分享一下自己的思路和解決方案,僅供參考。僅僅根據個人經驗,我將性能測試

原创 Java-WebSocket vs Netty-WebSocket 資源佔用

在進行WebSocket協議連接或者WebSocket接口測試的時候,一旦遇到超大連接數量的場景中時,之前使用過的實現 Java-WebSocket 以及 Netty-WebSocket 兩種實現就會顯示出巨大的性能差距。當然 Netty-

原创 Java虛擬線程簡介

Java虛擬線程是Java 19中引入的一項新功能,允許開發人員創建輕量級線程,也稱爲纖程或者協程。這可以提高Java應用程序的可伸縮性和效率,特別是那些需要處理大量客戶端連接或併發請求的應用程序。 虛擬線程是使用一種稱爲Continuat

原创 全部自動化可行嗎?

軟件測試耗費時間和資源是事實。可以從不同的角度觀察軟件的測試。可以根據我們測試的內容來劃分。例如,項目中的每個可交付成果,如需求、設計、代碼、文檔、用戶界面等,都應該進行測試。 此外,我們可能會根據用戶和功能要求或規範對代碼進行測試,即黑盒

原创 性能最佳實踐

最佳實踐(Best Practices)是指在特定領域或特定任務中,被廣泛認可並被認爲是最有效、最高效、最安全的方法或做法。它們是基於經驗、實踐和研究得出的,旨在提供一種可靠的指導,以幫助人們在特定情境下取得良好的結果。 性能最佳實踐 在互

原创 身心健康,我們最大資本

最近看到馮唐一則短視頻,其中部分內容讓我大爲震驚。他講他在麥肯錫工作的時候,可以每週工作80~100個小時,連續2年。 然而勞動法規定: 第三十六條 國家實行勞動者每日工作時間不超過八小時、平均每週工作時間不超過四十四小時的工時制度。 差不

原创 Ethereum Web3j網上衝浪

最近Ethereum又學了一點點,學會了主網衝浪和錢包的地址和私鑰的生成。分享一點點學習成果,分爲3部分: 申請infura主網的apikey 使用Web3j API網上衝浪 錢包生成和概念釋疑 因爲是初學小白,所以這中間又進行了一些基

原创 netty WebSocket客戶端實踐

在之前的Socket學習中,主要都是基於兩個Socket客戶端:WebSocket和Socket.IO。在做測試的時候也是基於WebSocket消息的發送和接收爲主要測試對象。但是對於超多Socket連接沒有涉及。 在實踐中會發現,這兩個實

原创 Go語言協程池實現第二彈

之前寫了Go語言協程池的實踐以及動態QPS的實現,本來計劃就是開始做一些測試了,但是發現協程池的實現有些問題也有一些BUG,所以連夜修改了部分功能。 爲了不咋不明真相的讀者造成困擾,趕緊寫篇文章報告一下。 缺陷&BUG 這裏先把測試中遇到的

原创 Web3j異步導致JVM無法退出BUG分享

最近在學習和使用Web3j的過程中,發現一個非常奇怪的現象,當我使用了sendAsync()方法後,JVM進程一直無法退出。 一開始懷疑自己的代碼有問題(因爲引入了FunTester框架的jar包),開始註釋了自己寫的學習性質的測試代碼後,