自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 docker 安装 redis cluster

创建三个节点的单副本 redis 集群,按顺序执行下列三个脚本,注意按需修改参数。

2023-03-08 15:41:08 137 1

原创 gin 使用 prometheus metrics

更新指标调用 MetricsAgentNum 对应类型的相关操作接口。

2022-09-26 11:23:46 847

原创 Ubuntu vim ctags/cscope 迁往 gtags

gtags 使用pip install pygmentssudo apt install libncurses5-dev libncursesw5-devwget http://tamacom.com/global/global-6.6.5.tar.gztar -xzf global-6.6.5.tar.gzcd global-6.6.5/./configure && make && sudo make installcp gtags.vim ~/.vim/

2020-12-01 12:12:28 667

原创 golang 任务超时控制

package mainimport ( "context" "fmt" "time")func main() { ret := TaskWithTimeout(DoSomething, time.Second*3) fmt.Println("ret:", ret) time.Sleep(time.Second * 4) // 等待,若无则看不到最后一行打印}func TaskWithTimeout(task func(), duration

2020-10-22 15:41:36 638

原创 golang mysql 操作

func OpenDB(mysql_conf string) *sql.DB { db, err := sql.Open("mysql", mysql_conf) // user:password@tcp(127.0.0.1:3306)/dbname if err != nil { beego.Error("open mysql fail:", err) return nil } db.SetConnMaxLifetime(time.Minu

2020-10-20 20:14:18 113

原创 beego log 设置

func init() { runMode = "prod" logDirName := "logs" logFileName := "myapp.log" parentDirPath, _ := os.Getwd() // 这边的逻辑是向上层找日志目录,为了解决 go test 时,执行文件在子目录,无日志目录 for { logDirPath := path.Join(parentDirPath, logDirName)

2020-10-20 20:04:14 1143

原创 golang redis cluster 操作

1 创建客户端func NewClient(redis_conf string) *redis.ClusterClient { client := redis.NewClusterClient(&redis.ClusterOptions{ Addrs: ["10.1.11.17:6379", "10.1.11.18:6379"], // master node ip list }) return client}2. 基本命令func Get(rd

2020-10-20 19:55:32 1679

原创 golang 周期性执行

func PeriodicRoutine(period int, f func()) { ticker := time.NewTicker(time.Second * time.Duration(period)) go func() { defer func() { if p := recover(); p != nil { beeg

2020-09-30 15:30:52 899

原创 python rotating logger

按文件大小进行滚动def get_rotating_file_logger(name, log_level_, log_path, log_max_byte, log_backup_count): log_level = log_level_ ch = RotatingFileHandler(log_path, maxBytes=int(log_max_byte), backupCount=int(log_backup_count)) ch.setLevel(log_level.

2020-09-29 10:43:37 213

原创 python 按日期统计折线图

代码from datetime import datetimeimport matplotlib.dates as mdatesimport matplotlib.pyplot as pltdata_map_list = [ {'2020/03/16': [16, 21, 27, 69]}, {'2020/03/17': [19, 11, 37, 65]},]# ...

2020-03-17 10:30:10 3179

原创 docker 安装 ceph 集群

机器10.10.10.10 master10.10.20.20 slave10.10.10.30 slave条件1. 均安装了 docker2. ceph 数据盘挂载在 /home/service/var3. 目录存在 /var/lib/docker/设置 master 通过 ssh 免密登陆 slavesssh-keygenmodify sl...

2020-03-05 19:27:26 684

原创 centos 安装最新稳定版 docker

yum remove \ docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engineyum install -y ...

2020-03-04 20:42:58 170

原创 iozone 安装使用

环境centos 7安装wget http://www.iozone.org/src/current/iozone-3-489.src.rpmrpm -ihv iozone-3-489.src.rpmcd /root/rpmbuild/SOURCEStar -xvf iozone3_489.tarcd iozone3_489/src/current/make linux-ia...

2020-03-04 10:36:35 1339

原创 静态库通过动态库菱形链接共享

菱形可执行程序 test动态库 libcat.so libdog.so静态库 libstatic.alibcat.so 依赖 libstatic.alibdog.so 依赖 libstatic.atest 依赖 libcat.so libdog.so问题:静态库 libstatic.a 中的变量和函数会在 test 中存在两份吗?答案:只会使用一份工程结构···.├...

2019-11-21 20:44:19 285

原创 排序算法 c++ 实现

代码#include <iostream> ...

2019-11-06 18:47:18 120

原创 valgrind 交叉编译 android arm/arm64 平台

源代码目录运行编译脚本#!/usr/bin/env bashexport NDKROOT=~/opt/android-ndk-r14b/export AR=$NDKROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-arexport LD=$NDKROOT/to...

2019-11-05 16:02:58 1060

转载 C++虚函数表结构

原文 C++ 虚函数表解析相同类的不同对象共享同一虚函数表。任何函数指针通过 cout 直接输出为 1,与原文描述有出入,也未找到 linux 每个表的结尾统一表示,待研究。用long 类型指针,应其长度和所在机器指针长度一致。$ g++ test.cpp -o test && ./test==== vitual function table ==== [0] ...

2019-06-10 16:32:18 847

转载 线程安全查找表

// thread_safe_lookup_table.h#ifndef THREAD_SAFE_LOOKUP_TABLE_H#define THREAD_SAFE_LOOKUP_TABLE_H#include <atomic>#include <vector>#include <string>#include <sstream>#i...

2019-06-03 20:45:22 234

转载 线程安全队列

// thread_safe_queue.h#ifndef THREAD_SAFE_QUEUE_H#define THREAD_SAFE_QUEUE_H#include <string>#include <memory>#include <mutex>#include <atomic>#include <sstream>...

2019-05-31 19:39:36 672

转载 CAP 理论

what设计一个大规模可扩展的网络服务时要考虑三个特性:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance),三者不可能都实现。证明假设两个节点集{G1, G2},由于网络分片导致G1和G2之间所有的通讯都断开了,如果在G1中写,在G2中读刚写的数据, G2中返回的值不可能是G1中写的值。由于A的要求,G2一定要返回这次读请...

2019-04-17 09:14:30 133

原创 python获取文件最后一行

how文件分大小两种情况,大文件从文件末尾逆序获取,为防止文件过大,通过 size_limit 控制返回;小文件直接从头读取。def get_last_line_of_file(file_name, size_limit=-1): file_size = os.path.getsize(file_name) with open(file_name, 'rb') as f:...

2019-04-17 08:00:45 5415

转载 python子线程异常被主线程捕获

WhyThread 中抛出的异常,无法在主线程中通过 try… except… 捕获。class ExceptionThread(Thread): def run(self): self.exc = None try: if hasattr(self, '_Thread__target'): #...

2019-04-17 07:03:35 2148

转载 ardb 类图

@startumlskinparam stereotypeCBackgroundColor YellowGreenclass Runnable { +{abstract} void Run()}class SoftSignalHandler { +{abstract}void OnSoftSignal()}class ChannelService { ...

2019-02-15 19:03:54 189

转载 ardb IO event 处理流程

@startumlactivate EventLoopEventLoop -&gt; Channel: IOEventCallback()activate ChannelChannel -&gt; Channel:OnRead()activate ChannelChannel -&gt; ardb:fire_message_received&lt;Buffer&gt;()ac...

2019-02-15 18:59:07 183

转载 ardb 启动流程图

@startumlactivate mainmain -&gt; Ardb: Ardb()activate Ardbmain &lt;-- Ardb: Ardb()deactivate Ardbmain -&gt; Ardb: init()activate ArdbArdb -&gt; Engine: create_engine()activate EngineArdb ...

2019-02-15 18:53:53 343

转载 计算机系统中延迟时间比较

L1 cache reference ..................................... 0.5 nsBranch mispredict ........................................ 5 nsL2 cache reference ....................................... 7 nsMutex lo...

2019-02-13 08:22:45 622

转载 消息传递框架与完整的ATM示例

消息传递框架与完整的ATM示例How to buildCodeHow to buildg++ -std=c++11 atm.cpp -o atm -lpthreadCode#include &amp;amp;lt;mutex&amp;amp;gt;#include &amp;amp;lt;condition_variable&amp;amp;gt;#include &amp;amp;lt;queue&amp;amp;gt;#i

2019-02-12 19:55:05 532

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除