- 博客(306)
- 资源 (1)
- 收藏
- 关注
原创 [LINUX]定时清理nohup.out日志信息
① 清理nohup.out日志: cp /dev/null /home/xxx/nohup.out② 定时清理:while : ;do cp /dev/null /home/xxx/nohup.out && sleep 300; done③ 建立定时清理后台任务:将定时清理脚本保存成clean.shnohup ./clean.sh &...
2021-04-30 16:44:07 2405 3
原创 [LINUX]查看当前后台运行的任务信息
命令行输入:> jogs[1]+ Stopped vim dd/ (wd: ~/db)[4] Running nohup ./Redis &
2021-04-30 16:02:42 515 1
原创 [C/C++]代码查看
这里主要是大的架构学习,细节只能是一个一个去看。就是类比,和之前已经比较熟悉的架构去列表,找到相同,记录不同的地方去理解即可。如果有复杂的,可以自己来设计一下,然后和实际代码的流程做类比,看看是否理解的一样即可。大的架构一定是从整体来理解整个代码框架,不关心一些细节信息的。这点需要注意一下。主要目的是从全局角度有一个了解。任何一个有一定规模的,几十万行的系统,一定是包含了很多细节,很多小的trick的,如果一开始就将注意力放在这些细节上面,是一定会出问题的,对于这些细节的查看,大部分时间都是在浪费,而且.
2021-01-21 09:45:40 517 2
原创 [C/C++]变量作用域
编译器解析顺序,作用域:①C++主要是类,面向对象,所以从类的角度来看,通常,类也分为声明和定义,声明主要是一些成员变量、成员函数、而定义则是定义函数的具体内容。首先明确一个顺序,编译器在编译某个.o文件的时候,是先统一处理声明,然后再处理定义的顺序进行的,这也是为什么类的成员函数中可以非常方便的访问类内部的各个成员的原因,因为所有的声明在处理定义的时候都已经处理完毕并且记录下来了。②如果声明过程中,用到了之前的声明(比如声明一个函数,其返回值是之前的某一个typedef),这个时候还是按照顺序来解析
2021-01-12 08:00:43 218
原创 [C/C++]gtest+mockcpp,修改mockcpp以支持C++中类成员函数的mock
① 修改mockcpp的接口文件(追加一个宏),在mokc.h中追加MOCKER_CPP宏:#define MOCKER_CPP(api, TT) MOCKCPP_NS::mockAPI(#api, reinterpret_cast<TT>(api))② 使用例子:#ifndef SAMPLE_H#define SAMPLE_H#include <gtest/gtest.h>#include <mockcpp/mockcpp.hpp>#include &
2020-12-24 14:12:24 5152 8
原创 [WINDOW]git不区分大小写问题
windows git默认不区分大小写,运行以下命令关闭:git config core.ignorecase false
2020-12-18 17:59:13 507 2
原创 [SHELL]LINUX查看某个service的运行日志
查看某个service的运行日志:journalctl -u xxx.service
2020-12-17 14:32:44 10329
原创 [PYTHON]REPO增加自定义命令
repo中新增命令:repo采用的插件模式,只需要在subcmds文件夹下新增文件即可。文件名称必须要和命令同名。文件内容可以参考subcmds下各种命令的实现,比如最最简单的version.py命令是repo version命令的实现。基本上就是实现一个Execute函数调用,同时维护命令说明。命令运行方面,可直接调用subprocess命令执行命令行来实现。...
2020-12-15 16:17:09 294 1
原创 [SHELL] xargs简单使用
如果没有传递过来参数,则不执行后面的命令:加上-r即可:git branch | grep “AAA” | xargs -r git checkout只使用传递过来的第一个参数:xargs -I{} cmd,加上-I{}表示占位符:git branch | grep “AAA” | xargs -r -I{} git checkout...
2020-12-14 09:21:40 282
原创 [C/C++]尽量减少使用shared_ptr
shared_ptr用于所有权的共享,是一种覆盖在普通指针上面的wrapper。进行了->符号重载,因此可以像普通指针一样使用。微观上的性能影响,和普通指针相比,主要是多了一层 函数调用,以及在share_ptr赋值的那一行需要进行原子操作的引用计数,除非很多线程同时操作,一般情况下,性能影响几乎可以忽略不计。所以性能并不是主要的问题,shared_ptr主要的问题是所有权共享 这种机制和所有权独享,会带来更多的并发编程隐患,多个线程同时持有一个对象,早就了过多的编码自由度,往往带来变量访问的条件竞争
2020-12-11 09:18:19 581
原创 [GITLAB]规避使用https进行默认的仓库同步导致证书更换时出现问题
关闭自带的方式,yml文件中设置,设置variables:GIT_STRATEGY: none方法是在gitlab-runner的ci配置config.toml中,加入pre_build_script项,给个最基本的例子,其他内容可以自定义,这里有一个前提,就是如果用ssh,需要对应的docker镜像支持ssh,生成了ssh的privatekey和publickey;在gitlab-runner的config.toml文件中加入:pre_build_script = ''' # Fetch.
2020-12-10 09:12:01 652
原创 [C/C++]dynamic_cast最好不要使用
dynamic_cast简介:dynamic_cast是将一个基类对象指针(或引用)转换到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。RTTI简介:RTTI(Run-Time Type Identification)是面向对象程序设计中一种重要的技术。C++中的指针或引用(Reference)本身的类型,可能与它实际代表(指向或引用)的类型并不一致。有时我们需要将一个多态指针转换为其实际指向对象的类型,就需要知道运行时的类型信息,这就产生了运行时类型识别的要
2020-12-08 10:00:34 980
原创 [C++] noexcept关键字简介
简介:noexcept关键字,说明函数不会抛出任何异常,如果该函数在运行过程中违反了noexcept约定,试图抛出异常,C++会调用std::terminate函数终止程序运行。noexcept优缺点:优点:1.调用noexcept函数时不需要记录exception handler,所以编译器有更高的自由度,提升了生成更加高效的执行代码的可能性;2.确保代码中不使用throw和try…catch的方式在函数执行过程中抛出异常。而是通过函数返回值和出参的方式返回异常,在外部显式的处理异常..
2020-12-04 15:39:23 3249
原创 [PYTHON]从字典中删除一个key
如果确定这个key存在,用del my_dict[key]即可;如果不确定是否存在,也不想判断:用my_dict.pop(‘key’, None);
2020-12-02 18:59:52 6852
原创 [DOCKER]docker-compose设置每次重启机器时启动container
在docker-compose.yml文件中设置restart属性 restart: always
2020-12-02 18:57:56 1273
原创 [DOCKER]docker-compose设置每次重启机器时启动container
在docker-compose.yml文件中设置restart属性 restart: always
2020-12-02 18:56:15 1391
原创 [PYTHON]在json文件中描述正则表达式时进行转义
如果在json文件中遇到需要转义的正则表达式字符,需要用’\‘双反斜杠的方式进行转义{ “regex_expression”: ".*\\[Error\\].*"}
2020-12-02 18:51:34 1092
原创 [LINUX]find避开多个目录
linux find 排除多个目录:find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print
2020-11-19 11:18:27 484
原创 [PYTHON]统计函数运行耗时的装饰器
使用时在函数前加上@Titaimport loggingclass Tita: def __init__(self, func): self._func = func self._counter = {} def __call__ (self, *args, **kwargs): logging.debug("function {} args: {} start".format(self._func.__qualname__, args)) start = datetime.dat
2020-11-05 09:55:24 378
原创 [LINUX]sed查找不包含某个字符串的行,并进行替换
sed 查找不包含某个特性 sed -i "/src/!s/xxx/bbb/g" xxx将不包含src的行中的xxx替换为bbb
2020-11-04 09:16:36 5881
原创 [PYTHON]字典生成可阅读的json文件
dd = {}# 添加字典内容with open("a.json", "w") as f:f.write(json.dumps(dd, ensure_ascii=False, indent=4, separators=(',', ':')))
2020-11-03 09:08:36 351
原创 [umijs]前端设置启动端口
设置umi启动端口:修改package.json文件中的start命令,加上PORT=xxx前缀,类似环境变量设置。
2020-10-29 09:48:33 3064
原创 [PYTHON]将任意字符串转换成日期格式
import osimport sysimport timeimport datetimeif __name__ == "__main__":data = 'Wed Apr 22 10:14:20 2020 +0800'data = data.replace(' +0800', '')time_format=datetime.datetime.strptime(data,'%a %b %d %H:%M:%S %Y')print(datetime.datetime.strftime(time_
2020-10-26 09:12:50 1552
原创 [RUST]linux docker安装rust环境
下载安装rust镜像:docker search rust获取官方版本的rust镜像,如果网卡,设置一下docker源apt-get update安装vim(可选,主要用于编辑一些配置文件)设置~/.bashrcalias ll='ls -alF'export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-staticexport RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rus.
2020-10-16 20:00:04 2326
原创 [DOCKER]修改源
docker修改源,进行加速:在 /etc/docker/daemon.json中添加:"registry-mirrors": ["http://hub-mirror.c.163.com"]
2020-10-14 20:22:20 237 1
原创 [WINDOWS]将任意程序最小化到系统托盘
下载 Trayconizer (http://www.whitsoftdev.com/files/trayconizerw.zip)修改需要启动的程序的快捷方式,将Trayconizer作为wrapper:右键点击快捷方式选中目标,将Trayconizer.exe放在原来的启动程序之前: "D:\Tools\trayconizerw\Trayconizer.exe" "D:\Program Files\VMware\VMware Workstation\vmware.exe"点击应用保存.
2020-10-14 20:12:49 5103 1
原创 [Web]Antd环境在docker ubuntu:18.04中的安装
docker run -itd --name antd ubuntu:18.04docker exec -it antd bashapt-get updateapt-get install vim git nodejs npmnpm install -g create-react-appcreate-react-app hello-worldcd hello-world; npm install antd --save;之后可以参考antd官网进行web框架搭建;...
2020-09-30 14:19:46 213
原创 [Nginx]设置反向代理
安装nginx:sudo docker run --name nginx -p 80:80 -d docker.io/nginx查看需要反向代理的容器ip:docker inspect container_name配置nginx反向代理docker exec -it nginx /bin/bash修改/etc/nginx/conf.d中default.conf;加入pass的ip和端口号;运行nginx -t 测试配置是否有效;运行nginx -s stop退出ngin.
2020-09-29 15:56:13 104
原创 [DOCKER]将rootfs.tar.gz制作成docker image
运行命令:docker import xxx.tar imagename:tag即可(注意路径需要是一个tar文件不能是一个tar.gz文件);如果是gz文件,可以用gunzip命令将tar.gz文件解压为tar文件;
2020-09-28 09:17:33 1797 1
原创 [PYTHON]打印出错后的详细信息
python3import tracebacktry: passexcept Exception as err: traceback.print_exc()
2020-09-27 13:13:55 513
原创 [C/C++]so加载和卸载的时候运行函数:
宏调用:INITIALIZER(FunctionName) {}#define INITIALIZER(f) \ static void f(void) __attribute__((constructor)); \ static void f(void)#define DEINITIALIZER(f) \ static void f(void) __attribute__((destructor)); \ static void f(void)#endif
2020-09-25 14:33:33 820
cppreference查询手册2019.chm
2019-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人