通過JUnit源碼分析學習編程的奇技淫巧
打開 Maven倉庫,左邊選項欄排在第一的就是測試框架與工具,今天的文章,V 哥要來聊一聊程序員必備的測試框架JUnit 的源碼實現,整理的學習筆記,分享給大家。 有人説,不就一個測試框架嘛,有必要去了解它的源碼嗎?確實,在平時的工作中,我們只要掌握如何使用 JUnit 框架來幫我們測試代碼即可,搞什麼源碼,相信我,只有看了 JUnit 框架的源碼,你才會讚歎,真是不愧是一款優秀的框架,它的源碼
昵稱 威哥愛編程
打開 Maven倉庫,左邊選項欄排在第一的就是測試框架與工具,今天的文章,V 哥要來聊一聊程序員必備的測試框架JUnit 的源碼實現,整理的學習筆記,分享給大家。 有人説,不就一個測試框架嘛,有必要去了解它的源碼嗎?確實,在平時的工作中,我們只要掌握如何使用 JUnit 框架來幫我們測試代碼即可,搞什麼源碼,相信我,只有看了 JUnit 框架的源碼,你才會讚歎,真是不愧是一款優秀的框架,它的源碼
昵稱 威哥愛編程
本文旨在詳解 Flink TaskManager 的內存模型以及其各部分內存佔比的計算邏輯。首先,結合官網展示了當前 Flink 的內存模型,並在之後結合 JVM 自身內存模型和管理機制結合講解 Flink 內存模型的各個部分,最後結合源碼解釋了各部分內存佔比的計算邏輯。 1 內存模型組成部分 本節摘自官網:https://nightlies.apache.org/flink/flink-docs
昵稱 Mulavar
引言 正如文章標題,本文重點在於剖析ThreadLocal的源碼,先對ThreadLocal下定義 ThreadLocal是線程級別的私有變量 即使你沒有使用過ThreadLocal也可以閲讀,本文會從ThreadLocal最基本的使用入手,結合源碼及圖片由淺入深地分享我在學習ThreadLocal源碼中的收穫和理解,希望對你有幫助. 一、初識ThreadLocalMap 1.1 ThreadLo
昵稱 Andy_Shawshank
前言 我們的項目為了方便移植,所以選擇了阿里雲來進行部署,脱離的公司自己的技術能力平台。項目中使用sentinel做 限流,單原本的sentinel只有基於的內存存儲的單機限流攻擊,無法滿足線上軟件的要求。我們需要在sentinel的基礎上,改造dashboard完成如下能力。 接入Sentinel-Dashboard提供更靈活的限流配置管理和更直觀的查看系統資源的入口。 接入nacos 提
昵稱 jian
在 Nacos console 修改了配置以後,服務端底層怎麼存儲配置?客户端怎麼知道配置修改了?怎麼通知集羣其他節點?讓我來揭開它神秘的面紗。 服務端接收配置更新請求 在控制枱頁面更新一項配置,看看控制枱發送了什麼請求給服務端。 控制枱發送了一個 POST 請求:/nacos/v1/cs/configs,在官方 API指南 可以找到 API 定義。 我 Nacos 源碼是 2.* 版本
昵稱 王大錘
之前的幾篇文章我們介紹了linux中socket相關的系統調用,比如socket、linsten、accept等,這些系統調用更偏向於初始化、分配需要的資源。那麼在這些初始化結束後,tcp兩端進行建連操作時,服務端這邊做了什麼工作呢?點擊以下鏈接瞭解: 原文鏈接:聊聊Linux tcp/ip之建立連接時服務端幹了什麼-從syn-recv到established
昵稱 斯達克
公眾號首發地址:https://mp.weixin.qq.com/s/j5vKNxl2keMF7oPT5M0XnA 最近我寫了一篇講解 context 包源碼的文章《Go 併發控制:context 源碼解讀》,在閲讀源碼的過程中,我在 context 包測試代碼中發現了一個解決循環依賴的小技巧,在此分享給大家。 x_test.go 解決循環依賴 context 包源碼目錄結構如下: https:/
昵稱 江湖十年
single-spa v5.9.3 通過輕量級路由劫持和狀態機設計,實現微前端的動態加載與隔離,主要實現 路由管理:hashchange、popstate、history.pushState、history.replaceState進行劫持,路由變化時,觸發 reroute() 子應用狀態管理:不同執行邏輯轉化不同的狀態,比如 加載流程:toLoadPromise→toBo
昵稱 白邊
整體核心流程 源碼分析 single-spa 存在以下主要的缺點 路由狀態管理不足:無法保持路由狀態,頁面刷新後路由狀態丟失 父子應用間的路由交互以來 postMessage 等方式,開發體驗差 未提供原生的 CSS 和 JS 沙箱隔離,可能導致樣式污染或者全局變量衝突 默認以來 webpack 的構建配置,其他構建工具需要改造後才能兼容 版本兼容性差,如果使用不同的 Vue 版本,
昵稱 白邊
Go 語言的 map 是內置的鍵值對(Key-Value)集合類型,是基於哈希表實現的高效數據結構,用於高效存儲和查找數據。其核心特性如下: 無序性:map 中的鍵值對存儲順序不固定,無法通過索引訪問(區別於切片)。 鍵唯一性:鍵(Key)必須唯一,重複插入同一鍵會覆蓋舊值。 動態大小:map 會根據存儲的數據量自動擴容,無需手動管理內存。 通過深入理解 map 的源碼和內存分配,開發者
昵稱 soroqer
“不要通過共享內存來通信,而要通過通信來共享內存”。這句話精準概括了 Go 併發模型的核心哲學——而承載這一哲學的核心原語,正是 channel(通道)。 要深入理解 channel,我們需要從 runtime 包的源碼層面分析其核心結構、關鍵操作(創建、發送/接收、關閉)的實現邏輯,以及底層如何通過同步機制(鎖、等待隊列)實現協程(Goroutine)間的安全通信。 以下源碼基於 go1.24.
昵稱 soroqer
作者 | 王夕寧 阿里雲高級技術專家 來源 | 阿里巴巴雲原生公眾號 本文將介紹如何使用 ORAS 客户端將具有允許的媒體類型的 Wasm 模塊推送到 ACR 註冊庫(一個 OCI 兼容的註冊庫)中,然後通過 ASM 控制器將 Wasm Filter 部署到指定工作負載對應的 Pod 中。Wasm Filter 部署中的所有步驟都使用聲明方式,也就是説可以創建一個自定義資源 CRD 來描述
昵稱 阿里云云原生
準備工作 假定你已經在本機安裝完成了 brew / composer / php 檢查環境變量 $echo $PATH | grep composer #如果沒有,添加環境變量 $export PATH=~/.composer/vendor/bin:$PATH #檢查一下 $echo $PATH | grep composer /Users/yourname/.composer/vendor/b
昵稱 buildyuan
以前用測試接口就是用PostMan + PHPStorm + Xdebug 進行調試,具體就是配置好PHPStorm+ Xdebug後,用PostMan發送請求時,增加參數:XDEBUG_SESSION_START=PHPSTORM。如下圖: PostMan+Xdebug的方式測試基本也可以了,但是測試粒度還是有點大,每次測試都要正兒八經用 postman發一次請求來驗證結果,稍顯麻煩。
昵稱 Rui_sen
Yii2 Resultful Api 認證 使用access token 作為用户登錄認證信息 1. 修改認證 main.php /*** 認證類 ***/ 'user' = [ 'identityClass' = 'common\models\backend\Admin', 'enableAutoLogin' = true, 'enableSession
昵稱 氷落
1、不通過日誌獲取AR執行的原生SQL語句和打印變量數據 $query = User::find() -select(['username'])-where(['id'=[1,2,3,4]) // get the AR raw sql in YII2 $commandQuery = clone $query; echo $commandQuery-createCommand
昵稱 小兔魚
Leadshop免費開源商城V1.1.5,歡迎下載 下載地址: https://gitee.com/leadshop/leadshop/releases 新增:店鋪裝修--增加公告組件 新增:店鋪裝修--標題組件、選項卡組件、商品組件,可單獨設置背景色 新增:手機店鋪首頁--提示用户收藏小程序 新增:安裝的環境檢測 新增:公眾號商城個人中心可換手機號綁定 優化:手機端
昵稱 Leadshop開源商城
最近在業務場景裏有接收解析用户主動發送的郵件,使用php-imap實現了這一需求,記錄一下。 確定實現方式 讀取郵件的協議有POP3和IMAP兩種,區別:POP3協議允許電子郵件客户端下載服務器上的郵件,但是在客户端的操作,不會反饋到服務器上。IMAP提供webmail與電子郵件客户端之間的雙向通信,客户端的操作都會反饋到服務器上,對郵件進行的操作,服務器上的郵件也會做相應的動作。 需求要求處理完
昵稱 buildyuan
簡介 這個庫提供了生成英文單詞和句子它不涉及到單元測試或者數據模型,它支持自定義詞庫,支持自定義返回單詞\句子長度以及返回類型(字符串、數組、對象、json),它不會因為自定義的大文件詞庫導致你的內存不夠用,輕量級快速幫你生成數據。 安裝 composer require kayw-geek/php-mock -vvv 使用 //mock 單個單詞 $mockWord = new \KaywGe
昵稱 bug開發
首先配置文件新增一組,copy user組件即可 屬性可調整 'components' = [ //其他... 'user' = [ 'identityClass' = 'app\models\User', 'enableAutoLogin' = true, ], 'admin'
昵稱 tangzhangming
目前開發用的yii2基於php7.1.33構建,鑑於7.1已經停止維護,計劃更新php版本到7.4,並且將yii2的版本從2.0.15.1升級到最新的2.0.43。 此文記錄一下修改步驟 object修改 錯誤提示: PHP Compile Error Cannot use yii\base\Object as Object because 'Object' is a special cla
昵稱 buildyuan
一:下載七牛雲SDK composer require qiniu/php-sdk 二:php實現七牛雲demo ?php namespace common\helpers; use common\models\Config; use common\models\VideoApiLog; use Qiniu\Auth; use Qiniu\Processing\PersistentFop; u
昵稱 huaweichenai
['expiration_range_0', 'date', 'timestampAttribute' = 'expiration_range_0', 'format' = 'php: Y-m-d', 'defaultTimeZone' = \Yii::$app-timeZone], ['expiration_range_1', 'date', 'timestampAttribute' = 'ex
昵稱 曾經的少年
8 月 19 日至 20 日,由 VMware 聯合 Kyligence、Intel、EMQ 等合作伙伴主辦的「2022 智能雲邊開源峯會」將於線上舉行。本次峯會邀請了多位開源領域的技術領導者,將分享“人工智能、雲原生、邊緣計算”三大熱門技術趨勢及洞察,共同推進開源技術創新和開源生態繁榮。 屆時,Kyligence 聯合創始人兼 CTO 李揚將在開放創新領導力主論壇分享“Gluten - 原生引擎
昵稱 ApacheKylin