李迟的专栏

何日抱娃归家去,山头斜照读牛经。

排序:
默认
按更新时间
按访问量

关于我的文章说明及联系方式

  我写博客主要是为了进行技术积累,顺便能为大家解决一二问题。坚持了多年,认识了一些技术好友,也有很多网友通过邮件、QQ、微信,或向我请教问题,或探讨生活。 所写所录,都是自己做过的东西,因此涉及很多方面,也因为这个原因,很多文章不成系统。曾想过对一些系列进行系统的研究,但限于时间和精力,只好...

2011-03-24 11:59:00

阅读数:1714

评论数:2

nvidia cuda工具包更新9.0版本记录

因工作需要,对公司2台服务器升级cuda到9.0版本。本文记录其过程。

2018-09-14 22:26:23

阅读数:12

评论数:0

docker实践录2:使用dockerhub中转站下载cuda安装包

最近,算法小组使用最新版本的tensorflow,需要用到cuda9,去年安装的是cuda8,已经不合适了,于是要在服务器上升级。由于是服务器,我不敢让其它人做,我就自己来升级。去年因为有同事安装cuda把python搞坏,我修复半天不行,ubunut一层一层的依赖关系太绕了,最后重新安装系统。

2018-09-14 21:51:48

阅读数:19

评论数:0

docker实践录1:使用dockerhub中转站下载k8s安装压缩包

最近,领导让我重新搞k8s,我想后台服务进入了调试阶段,没多少新的功能添加了,就决定重新部署。k8s版本更新太快了,最新稳定的版本是1.11.2,以前部署的是1.9版本,现在要使用最新的版本部署。 不过,第一步下载安装包就没法正常进行了,因为众所周知的原因,对于一些外面的网站是无法正常访问的。在下...

2018-09-09 09:48:06

阅读数:45

评论数:0

Linux系统C/C++通用错误码实现模板

公司C++项目初期是安排不同的人编写不的模块,有嵌入式ARM的,有socket通过的,有mysql的,有redis的,不同人风格不同。由于当时我还在运维小组搞docker,没参与规则的制定,后来我接手时,确定了编码规范,也建立了Git管理,Git尝试过sub modules,不过太过繁琐,最终弃用...

2018-09-01 23:47:25

阅读数:30

评论数:0

阿里云ECS修复ubuntu 16.04漏洞过程

某次登陆阿里云网站后台,收到漏洞提醒信息。 按提示查看,内容如下: 标题: CPU处理器内核存在Spectre漏洞 CVSS分值: 7.9 CVSS: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N 披露时间: 2018-01-03 00:00:00 ...

2018-09-01 13:26:55

阅读数:29

评论数:0

linux gcc编译器误用-MM导致出现linker input file unused because linking not done

昨晚深夜,音视频群有网友发消息给我,反馈我写的Makefile模板工程有一个bug,输入make之后,提示:linker input file unused because linking not done,并且没有生成a.out文件。 毕竟是自己一直维护的代码,出现bug就修正。

2018-08-31 22:38:48

阅读数:75

评论数:0

遇到一个valgrind自身的bug

背景 公司C++项目代码使用了cppcheck做静态代码检查,也使用valgrind检查是否有内存泄漏问题。我多次强调要做到0警告,虽然有了CICD的Jenkins自动检查,也将结果通过邮件发给项目人员,但有的人还是没去修正警告,由于不是自己管辖范围,不好多说什么。 最近使用valgrind测...

2018-08-30 22:23:05

阅读数:34

评论数:0

linux系统C语言实现域名解析功能

背景 后台项目划分几个小服务,分别部署到不同的docker容器中,不同服务通过socket连接,docker的IP地址是由dockerd自动分配的,当然,也可以固定IP,但这样不好。因此,为了方便部署和维护,考虑通过容器别名的方式。容器名通过ini配置文件传递到程序里,程序需要根据容器名解析出对...

2018-08-17 13:31:47

阅读数:59

评论数:0

新公司入职这一年

自去年8月正式入职至今天,整整一年了。值此之际,写一写入职一年来的事。 一年前,有很多家事、小孩事等烦心事,对未来也忧心忡忡,现在,看着会叫爸爸的李大锤越来越顽皮,心里石头也放下了。 这一年,体验过几次民族大道的午夜,也见过几次民族大道的夕阳。路过繁华闹市,也路过冷清小巷。

2018-08-09 23:50:59

阅读数:106

评论数:0

我的docker随笔8:docker容器相互访问

很多时候,同一台机器上,需要运行多个docker容器,前文提到的docker-compose就是方便同时管理多个容器的工具,那么,容器与容器之间如何访问、通信呢?本文对此问题进行探讨。...

2018-08-04 00:24:01

阅读数:156

评论数:0

我的docker随笔7:docker容器与主机之间文件拷贝

背景 Docker提供cp命令,用于主机和容器之间相互拷贝。 docker cp命令 下面所有示例的命令都是在主机进行的。 命令形式如下: docker cp <主机目录或文件的路径> <容器ID:容器路径&a...

2018-07-26 13:14:52

阅读数:98

评论数:0

程序分身:根据不同程序名执行不同函数

背景 最近在看某开源项目源码,发现代码里对main函数的参数做了处理,根据传入的程序名称(即argv[0]),调用不同的函数。笔者认为这个小技巧挺不错的,本文就整理实践一下。 完整源码 main.c源码如下: /** 作用: 只有可执行程序文件名是foo或bar时才能正常执行,...

2018-07-26 00:57:23

阅读数:44

评论数:0

Linux C简单日志打印代码示例

背景 项目代码的打印函数,有的用printf,有的用std::cout,风格不统一,也不方便查看,因此需要编写一个统一的函数接口。 需求及实现 时间戳 该打印函数需要有时间戳,精确到毫秒。这样能直观观察程序运行时间。获取时间使用localtime函数,毫秒的获取使用gettim...

2018-07-26 00:55:18

阅读数:74

评论数:0

Linux C解析命令行参数代码

背景 Linux下解析main函数参数,使用getopt,依赖头文件:#include <unistd.h>。 代码如下: static char g_deviceid[32] = {0}; std::string g_s...

2018-07-25 12:58:37

阅读数:83

评论数:0

我的docker随笔6:docker命令自动补齐

背景 在笔者自己制作并安装的ubuntu16.04系统上(参考笔者网站关于debootstrap的文章),无法使用docker自动补齐功能,即输入docker命令后,按Tab键无法列出子命令(或参数)的候选项。于是在网上找了些资料,实现了这个功能,形成本文。 机制 Linux系统许多命令...

2018-07-19 13:25:47

阅读数:157

评论数:0

我的docker随笔5:docker-compose的安装与使用

由前文知,运行容器的命令比较简单,但是,当有复杂的应用时,比如设置环境变量、挂载目录、映射端口,命令就变得比较长了。如果有多个docker镜像同时配置使用的话,单独执行docker run会显示比较麻烦。因此,本文就介绍多容器编排的一个简单工具:docker-compose。 安装 doc...

2018-07-03 23:43:47

阅读数:47

评论数:0

我的docker随笔4:docker常用命令

学习docker,必须要熟练掌握docker命令,如果基础不牢的话,是无法进一步提高的。docker有很多命令,但常用的却不多。本文结合实际情况讲讲常用的命令。 docker服务相关 docker客户端相关 创建镜像 运行镜像(变成容器) 删除镜像 进入容器 ...

2018-07-03 23:39:54

阅读数:36

评论数:0

Linux Makefile模板的继续改进

上一文章的Makefile,存在一个比较大的问题,那就是生成可执行的二进制文件时,会链接所有的目标文件(.o文件),这样的后果是,二进制文件体积比较大,经过调查,发现静态链接可以解决此问题。 Makefile内容 在原来基础上,添加中间临时静态库libfoobar.a(编译规则为lib...

2018-07-02 18:51:34

阅读数:67

评论数:0

Makefile模板的改进

以前写的Makefile,有一些地方不够人性化,头文件或源码文件比较多的情况,要手动输入很多个地方。这次参考了一些资料,完善一下。 存在问题 原来的做法: # !!!=== INC1 = ./ INC2 = ./inc INC3 = INCDIRS := -I$(INC1) -...

2018-07-01 15:37:56

阅读数:45

评论数:0

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