原创 推薦的源碼管理策略-gitlab flow

文章目錄0x00 寫在前面0x01 gitlab flow 推薦的做法1. 基礎:功能驅動式開發 & 在 feature 分支中進行問題跟蹤2. (線上)持續發佈項目建議使用的 gitlab flow3. (線下)版本發佈項目建議使用

原创 問題解決:找不到 libthrift.so 中的 getPending、TServerSocket、updatePending函數

解決方案: 使用C++11進行編譯 解決過程: 使用 nm 進行查看: 有問題的庫: [root@cf0428daeba8 lib]# aarch64-himix100-linux-nm -C libthrift.so |grep

原创 【性能看板】AIDash-面向 AI 應用的性能看板需求分析

筆者所在團隊目前主要負責研發 AI 引擎,日常工作中常常需要解答如下問題: 某個版本提特徵的併發是多少 某個版本在 5000W 規模得數據庫上的檢索併發是多少 某個版本的識別率如何 現在識別率最高的版本時哪個 … 雖然團隊已經開發

原创 實戰:解決C++ AI引擎代碼倉庫難以維護的問題

0 背景 我們團隊目前主要負責研發 AI 引擎(主要用 C++ 實現),簡單說來就是將算法 SDK 及模型進行封裝,對外提供統一的接口方便後續的應用開發。相信有這類工作的經歷的人都會明顯感覺到有如下特點: 對外接口基本不變 算法 S

原创 Golang 項目通過 gitlab-ci 接入 Sonar

在 《The Continuous Delivery Maturity Model》中,着重強調了 report 在 CI/CD 中的重要性,而且特別提到了要求做到做到歷史 report 趨勢的分析。gitlab-ci 由於本身設計的

原创 問題解決:Conan 使用 Python3.4 報 NameError: name 'implementation_name' is not defined

解決方案: 不使用系統默認 pip $ conan Traceback (most recent call last): File "/usr/lib/python3.4/site-packages/pkg_resources/_

原创 問題解決:Conan 報"'ascii' codec can't decode byte 0xe5 in position 36: ordinal not in range(128)"

解決方案: 注意文件名的編碼 解決過程: 在用 Conan 編譯 C++過程中遇到報錯"‘ascii’ codec can’t decode byte 0xe5 in position 36: ordinal not in range

原创 【性能看板】Logkit + InfluxDB + Grafana- 開源時序數據看板解決方案

文章目錄Logkit + InfluxDB + Grafana 性能看板解決方案Logkit:數據採集InfluxDB:數據持久化Grafana:數據可視化Logkit + InfluxDB + Grafana 性能看板的優缺點分析優

原创 【性能看板】Octopus- 騰訊自研性能看板解決方案

文章目錄淵源Octopus整體方案數據協議前端展示Octopus 性能看板的優缺點分析優點缺點 淵源 筆者在騰訊工作時,曾參與自動化測試平臺 UTP 的研發,由於 UTP 使用了 內部自研項目 Octopus(八爪魚)平臺作爲整個 U

原创 【速度與質量】敏捷團隊快速交付高品質軟件的經驗與教訓:導讀

文章目錄1. 哲學終極三問1.1 這是個啥?1.1.1 主題1.1.2 包含的內容1.2 素材來自於哪?1.3 寫這個的目的是啥?2. 目錄及鏈接(後續更新+持續更新) 1. 哲學終極三問 據說,西方哲學有三大問題:我是誰?我從哪裏來

原创 《程序開發人員測試指南:構建高質量的軟件》讀後簡記

關於敏捷測試四象限(或稱測試四象限) 有人對此名稱持反對意見,不過還是很認可其對於測試技術的劃分,它是一個“通用的軟件測試策略”的描述,也可以說,它是一個自動化測試的整體策略的描述,可以幫助測試人員更好地理解: 哪些測試更適合自動

原创 【性能看板】Catapult- Chromium性能看板解決方案

本文內容主要來自於:https://chromium.googlesource.com/catapult/+/HEAD/README.md 文章目錄Catapult 性能看板 = Telemetry + Performance D

原创 清理 git commit 歷史中的大文件

起因 晚上一到家就聽同事說,git倉庫拉不下來了,於是VPN上去看了一下: 哎,肯定是哪位大爺又在作妖了,後悔當初沒有設置單文件大小。不過事情已經發生,當務之急肯定是如何解決問題,消除影響。 方法 Step 0:查看空間佔用 git

原创 Golang 環境搭建的小技巧:讓 go get 基於 ShadowSocks 進行代碼包遠程導入

令 Golang 開發者最痛苦事情之一便是在國內無法直接使用go get命令更新 golang.org 以及 gopkg.in 的 package。目前,大家比較穩定的梯子是 ShadowSocks,但是如果不進行設置, go get

原创 Conan 中的“包”概念

Conan 作爲 C++ 包管理軟件,最重要的功能就是“包”,因此我們需要仔細看看其包管理的基本概念。 定義:“包” 與 “二進制包” Conan 最主要的功能就是可以管理好預編譯好的二進制文件用於後續打包。關於“包”這裏有兩層定義: