摘要:参考 使用keynote画图 https://www.yrunz.com/p/用keynote画出手绘风格的配图/ 使用plantuml进行设计
阅读全文
摘要:参考 http://home.ustc.edu.cn/~hqp/RootClass/AddFiles2/Google%20C++%20Style%20Guide.pdf https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-
阅读全文
摘要:前言 使用常用的googletest脚本,编写出易用的,可维护的业务代码 贯穿TDD的思想。 googletest简介 mockcpp简介 基本流程 参考 googletest user gide https://www.cnblogs.com/sinojelly/archive/2010/11/2
阅读全文
摘要:前言 cmake是c语言开发中常用的编译工具,同时也是大多数工程常用的编译工具,流行、高效。跨平台,易用。 使用cmake可以生成makefile脚本,便于工程迁移。 本帖,仅用于自行搭建一个易用的工程,不具有普适性,是个人使用经验的总结。 基本语法
阅读全文
摘要:获取容器id #!/bin/bash now=$(date +%s) dockerids=$(docker ps | grep xx-pod | grep yy-container | awk '{print $1}') for item in ${dockerids[@]}; do echo "d
阅读全文
摘要:编译选项 当-Wxx时,指的是,针对某个类型产生告警,特殊的-Wall是对所有的编译可能的错误,产生告警,当指定为-Werror=xx时,此告警转换为error。因此,我常用的方式是开启下面的策略 -Wall -Werror=xx -Wall 显示所有编译器认为的告警 -Wextra GCC对编译选
阅读全文
摘要:前言 语言格式化是工程的一部分 C&C++ clang-format clang-format -style=file main.cpp // 以LLVM代码风格格式化main.cpp, 结果输出到stdout clang-format -style=LLVM main.cpp // 以LLVM代码
阅读全文
摘要:前言 我们在写脚本时,经常遇到,需要复用脚本功能的情况,如根据参数,决定要指定执行哪部分功能,这里我们使用shell的case语句实现。 选项 脚本内容 #!/usr/bin/env bash para=$1 if [ ! -n "$1" ];then echo "no para" exit -1
阅读全文
摘要:https://github.com/TarsCloud/Tars
阅读全文
摘要:程序员的自我修养 线程,有时候是等同与LWP的(ligthweigth process) 状态机的学习
阅读全文
摘要:前言 链接、装载与库。 编译、链接、装载与库,之类的知识。
阅读全文
摘要:没有调查就没有发言权 事前调研,事倍功半 找规律,寻求事物本质 凡事都是规律,一定要找到规律 实践 实事求是,在实践中检验 持以乐观积极的态度,永不气馁
阅读全文
摘要:概述 消息队列 mqueue.h mq 信号量 semaphore.h sem 共享内存区 sys/mman.h shm IPC 名字 mq、sem、shm
阅读全文
摘要:context库简介 一些场景 多线程处理任务 v01版本,等待 package main import ( "fmt" "time" ) func main() { start := time.Now() go func(name string) { time.Sleep(time.Second
阅读全文
摘要:goplantuml -recursive $GOPATH/src/github.com/AsynkronIT/protoactor-go > protoactor.plantuml https://github.com/jfeliu007/goplantuml
阅读全文
摘要:前言 业务中,大量使用了protoactor-go框架作为消息处理,用来避免高并发。现对其进行学习。 actor模型与csp模型 《unix 网络编程-进程间通信》,提到,有消息传递、共享内存等两大类实现方法。其中消息传递(前提是内容拷贝)避免了并发;同时共享内存则面临着同步问题(如:并发访问带来了
阅读全文
摘要:https://baijiahao.baidu.com/s?id=1709259327958538327&wfr=spider&for=pc
阅读全文
摘要:https://www.bilibili.com/read/cv5709796/
阅读全文
摘要:https://zhuanlan.zhihu.com/p/445804080 https://blog.51cto.com/u_15127570/2708395 https://istio.io/latest/docs/
阅读全文
摘要:https://grpc.io https://zhuanlan.zhihu.com/p/389328756 https://zhuanlan.zhihu.com/p/411315625
阅读全文
摘要:UNP-unix网络编程-第二卷-进程间通信 C专家编程 linux shell脚本攻略 设计模式
阅读全文
摘要:史前阶段 先有linux再有C语言,B语言->C语言。 早期体验 数组下标从0开始,而非从1,这是因为偏移量的概念根深蒂固。 基本数据类型和底层相对应。C语言一开始不支持浮点数,直到硬件支持。 auto关键字显然是摆设。 表达式的数组名可以看作是指针。简化了一些操作,将数组传递到函数中,不用忍受拷贝
阅读全文
摘要:这是一本我觉得十分值得推荐的书,里面涉及的很多开发细节让我受益匪浅。
阅读全文
摘要:概述 传统的消息传递,以及最新的共享内存。共享内存需要同步。 消息传递 管道 System-V消息队列 posix消息队列 RPC 同步 记录上锁 system-v信号量 posix信号量 互斥锁和条件变量 读写锁 进程、线程与信息共享 进程共享 文件共享。穿越内核 管道共享。在内核中 内存共享。不
阅读全文
摘要:shebang #!/usr/bin/env bash #!/bin/bash #!/usr/bin/python find find . -name "*.txt" find . -name "*.txt" -type f -exec ls -l {} \; grep grep -in "xxx"
阅读全文
摘要:克隆 git clone 切换分支 git checkout 提交 git commit -m "xx" rebase git rebase 推送 git push
阅读全文
摘要:167. Two Sum II - Input Array Is Sorted func twoSum(numbers []int, target int) []int { tmpMap := make(map[int]int, 10) for idx, val := range numbers {
阅读全文
摘要:算法和数据结构是编程的灵魂 算法和数据结构是编程的灵魂,我们需要奠定好基础,才能更好地产出优质、可靠的工程代码。 计划 语言 主要以Go语言为主,有必要的话,也会使用C语言,或者是Python 范围 按标签来,优先算法,其次数据结构。 每天两道题目,坚持就是胜利。 题目来源 Leetcode,主要是
阅读全文