摘要:
有意义的命名遵循: 名副其实 避免误导 做有意义的区分 单元测试 遵循构造-操作-检验 模式 每个测试一个断言 阅读全文
摘要:
刚开始主要是熟悉业务,代码很多也很冗长,gin框架也有些不太熟悉,看着很难受,后面看懂了,慢慢逻辑也就明晰了,看着也更有意思,也更有收获了。特别是授权策略这一块,将数据库中的关系加载到内存中用map套rbtree这种结构来表示,十分生猛。 跟着leader去开bug讨论会,听大家的bug进度,听着很 阅读全文
摘要:
编写了32篇 restful接口API文档 文档内容主要包括,URL,请求响应参数及其类型和解释。请求响应示例等 阅读全文
摘要:
产品:可以把堡垒机理解为一个代理网页,字符,图形,文件,数据库等资产的解决方案,主要控制运维人员可以在什么时间段,那些地点访问设备,以及访问设备的时候有哪些命令的执行权限(认证+授权)toB业务。 项目架构:(python+go)多个服务进程跑在后台,不同服务间通过HTTP相互传递数据。superv 阅读全文
摘要:
【容易出现用户认证失败】初步排查怀疑是etcfg模块中请求etcd服务时处理超时导致(设置了context超时取消 原10秒),当前增加接口请求etcd超时时间(60秒),后续继续跟踪看是否有所解决 【在线会话数4000的左右,某个概览接口容易出现报500】初步排查怀疑是django overvie 阅读全文
摘要:
编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的mutex保护。 race condition:在即将析构一个对象时,从何而知此刻是否有别的线程正在执行该对象的成员函数?如何保证在执行成员函数期间,对象不会在另一个线程被析构?在调用某个对象的成员函数之前如何 阅读全文
摘要:
并发编程有两种基本模型:message passing & shared memory。 线程同步的四项原则: 首要原则是最低限度的共享对象,减少需要同步的场合,一个对象能不暴露给别的线程就不要暴露,如果要暴露,优先考虑immutable对象,实在不行才暴露可修改的对象,并用同步措施来充分保护它。 阅读全文
摘要:
STL中算法 是 function template。 算法看不见容器,对其一无所知,所以它所需要的一切信息都必须从itertor取得,而iterators(由容器提供)必须能够回答算法的所有提问,才能搭配该算法的所有操作。 迭代器的分类: struct input_iterator_tag {}; 阅读全文
摘要:
vector 容器的增长是当容量不够时,就找到一块二倍大的空间,将原来的内容复制到新空间。每一次复制伴有大量的拷贝构造和析构函数的调用,开销大。vector 里面有 begin end end_of_storge 三个迭代器(指针)。 list本质是一个双向链表,list类模版里面含有迭代器,lis 阅读全文
摘要:
STL六大部件 容器 (class template) 分配器(为容器服务,class template) 算法 (function template) 迭代器(泛化的指针,容器和算法之间的桥梁)(class template) 适配器 (class template) 仿函数 (class tem 阅读全文