摘要: 【目录】 [toc] 最近负责开发一个自动发现主机信息的应用。应用中数据流向复杂,处理逻辑冗余堆积。项目技术栈选择的是Django + Vuejs。前端使用 Webpack打包,模块化管理,主要是展示数据。后端涉及的模块多、处理规则多、数据表多,每次涉及之前功能修改时,都消耗大量时间进行code r 阅读全文
posted @ 2019-04-30 14:20 robert871126 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 方法一 yum y remove python 2.7.5 76.el7.x86_64 卸载掉冲突的文件,安装新的文件。如果由于由于依赖关系导致要卸载很多软件,那可以优先考虑下一个方法。 方法二 rpm ivh python27 2.7.9 1.x86_64.rpm replacefiles 安装的 阅读全文
posted @ 2019-04-26 10:34 robert871126 阅读(6978) 评论(0) 推荐(1) 编辑
摘要: GitLab CI持续集成介绍 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。gitlab一般用Gitlab CI,而github一 阅读全文
posted @ 2019-03-07 17:34 robert871126 阅读(1039) 评论(0) 推荐(0) 编辑
摘要: Gerrit简介 Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。 一、创建gerrit用户 二、安装gerrit 三、安装步骤 四、nginx安装配置 五、创建登陆认证文件 阅读全文
posted @ 2019-02-22 10:06 robert871126 阅读(4956) 评论(0) 推荐(0) 编辑
摘要: SSH登陆linux服务器,显示 警告: setlocale: LC_CTYPE: 无法改变区域选项 (UTF 8)(warning: setlocale: LC_CTYPE: cannot change locale (UTF 8): No such file or directory)。 解决方 阅读全文
posted @ 2019-02-14 14:26 robert871126 阅读(2793) 评论(0) 推荐(0) 编辑
摘要: 1. FastDFS介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS服务端有两个角色:跟踪器(tracker) 阅读全文
posted @ 2019-01-22 16:47 robert871126 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 本文是对官方文档的翻译,然后截取了一篇非常优秀的文章片段来帮助理解,本人英文水平有限,基本都是直译,如果有不理解的地方请参考英文官方文档,参考的文章链接在文章末尾 protocal buffers简介 protocol buffer是google的一个开源项目,它是用于结构化数据串行化的灵活、高效、 阅读全文
posted @ 2019-01-22 15:18 robert871126 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 1.引言 git 和 svn 的一个显著区别就是提供更丰富的分支特性,我们今天就要说一下如何管理这些分支。关于 git 的分支管理,Vincent Driessen 有一篇文章说的非常好,地址在参考[1]。我这里主要就是参考他的文章。 2. 总览 git 的分支整体预览图如下。 从上图可以看到主要包 阅读全文
posted @ 2018-12-19 20:42 robert871126 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 简介 定义 以下是维基百科对猴子补丁的定义 The term monkey patch refers to dynamic modifications of a class or module at runtime, motivated by the intent to patch existing 阅读全文
posted @ 2018-12-12 11:07 robert871126 阅读(2887) 评论(0) 推荐(1) 编辑
摘要: monkey patch指的是在运行时动态替换,一般是在startup的时候. 用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候可以跟平常一样使用,无需修改任何代码,但 阅读全文
posted @ 2018-12-12 10:50 robert871126 阅读(540) 评论(0) 推荐(0) 编辑