C++的编译链接过程 在linux环境下开发C++时,理解编译、链接的原理和过程对于linux C++程序来说是一项基本功。将代码转变为可执行程序的过程大致可分为如下阶段:预编译,编译和链接。 预编译 预编译过程主要处理那些源代码文件中的以“#”开始的预编译指令。比如“#include”、”#define”等,主要的处理规则如下: 1.将所有的#define删除,并展开所有的宏定义 2...
2020阅读书单
书单 技术 C++语义和性能分析 从Paxos到Zookeeper分布式一致性原理与实践 古今数学思想(套装共3册) 重构与模式 Erlang程序设计 第2版 事件流实战 JavaScript ES6 函数式编程入门经典 ES6标准入门 第3版 Linux内核观测技术BPF 程序员修炼之道 第2版 现代操作系统:原理与实现 重构 改善既有...
shell技巧
linux后台运行 & 要是关闭终端那么脚本也停了, 加nohup 既使把终端关了,脚本也会跑,是在服务器那运行的。 脚本名称叫test.sh 入参三个: 1 2 3 运行test.sh 1 2 3后 $*为”1 2 3”(一起被引号包住) $@为”1” “2” “3”(分别被包住) $#为3(参数数量) Makefile有三个非常有用的变量。分别是$@,$^,$<代表...
深以为然的话
一个知识越贫乏的人,越是拥有一种莫名其妙的勇气和自豪感。因为知识越贫乏,你所相信的东西就越绝对,因为你根本没有听过与此相对立的观点。夜郎自大是无知者、好辩者的天性。 不要轻易地去论断他人,因为我们的认识能力是有限的 不要过分放纵自己,因为快乐来得越容易越廉价,就越不能长久 不要沉溺在对结果没有直接帮助只是因为自己遭受...
设计模式(行为型)
中文名 英文名 适应场景 观察者 Observer 模板 Template 策略 Strategy 职责链 ...
设计模式(结构型)
中文名 英文名 描述 适应场景 代理 Proxy 为其它对象提供一个代理以控制对这个对象的访问 让你能够提供对象的替代品或其占位符 桥接 Bridge 将对象部分与它的实现部分分离,使它们都可...
简化条件表达式
程序中经常要写条件式,有的条件逻辑十分复杂,使用如下技巧可以简化条件逻辑: 分解条件表达式 - 将if段落提炼出来,各自构成一个独立函数 - 将then和else段落提炼出来各自构成一个独立函数 回调 - 根据回调函数不同采取不同的行为,移除if-else 利用多态代替条件表达式 - 根据对象的不同类型而采取不同的行为 case-switch语句 - 预计后继会要增加条件判断...
RabbitMq权限管理
概述 在RabbitMQ中,用户是访问控制(Access Control)的基本单元,包含用户角色与用户权限二个部分。用户角色是RabbitMQ预置的用户权限组,设置某个角色即获得对应的用户组的权限,使单个用户可以跨越多个vhost进行授权。用户权限是权限控制则是以vhost为单位的,对exchange,queue的操作权限控制,包括配置权限,读写权限。配置权限。 RabbitMQ用户角色 ...
觉见逻辑错误
常见逻辑错误 人身攻击-攻击其人而不是其观点:你是个烂人,所以你的观点也是错的。 主观怀疑-因为只是对你而言不容易理解而反对一个观点:这说法太复杂太乱了,一听就不像真的。 诉诸传统-一直都被认为正确的观点就是对的 捡好的说-只使用那些对你的观点有利的论据 转进如风-持续地要求越来越多的证据 举证责任-因为缺少证明而断定一个论述是对的或者错的 以果推因:相关性不...
2020资源列表
资源 技术 程序员技术资源分享群内容整理 设计模式-refactoringguru Git学习 DvaJs Redux JavaScript基础教程 ES6教程 博客 为什么这么设计-面向信仰编程 木子