抓包工具WireShark使用记录 实际工作中,在平台对接,设备对接等常常需要调试接口,PostMan虽然可以进行先期接口验证,但是在实际项目部署后会因为各种环境问题数据无法互通,此时WireShark抓包是一个真有效的接口抓包调试,避免扯皮的网络工具。
创建型模式-----建造者模式 软件构建过程中有时候一个复杂的对象的构建可分解为多个子对象按照一定的算法逻辑进行构建,这种构建算法基本稳定但构建的子部件却经常变化。创建者模式则是将构建的算法和子组件分开,将变化和不变分开,当子组件变化时只影响子组件本身不影响构建算法本身,加强了构建算法的封闭性,提升了组件的扩展性。
项目中spdlog库的使用 spdlog支持跨平台(Windows、Linux、Mac、Android),主要开发语言是C++ ,headonly引入方式,主打高性能,支持单线程/多线程、同步/异步阻塞非阻塞模式,也可自己扩展。被顶层调用来输出日志的类,一个logger可以存储多个sink,输出时遍历所有sink的log(log_msg)函数进行输出;set_level(level_enum):设置logger日志输出最低等级,如果logger所包含的sink没有设置最低等级,则该设置起效。
PostgreSql的备份和升级 该数据库版本主要分为主要版本和次要版本,大版本基本每年发布一次,小版本则每几个月即发布,更新较快。在10.0之前所使用的数据库版本由三个数字组成,如pms所使用9.5.2,主要版本为9.5,次要版本为2,即9.5版本第二次发布;在10.0之后版本由两位数字组成,如10.16,10为主要版本,16为次要版本,同一个主版本由于数据的存储结构相同,且总是前后版本兼容,因此升级只需要将旧版本的data文件替换到新的data文件即可;而跨越主版本升级则会因为存储结构的改变而不能简单的进行data替换。
Qt程序国际化 Ts文件格式上实际是xml,记录界面的字符和代码中tr包含的字符的具体位置(文件位置,行号列号等)和翻译替换项;qt转换为qm文件进行加载。首先通过Qt设计师画好界面,生成ts文件。生成qm文件,加载,刷新ui文件。
Boost中线程的使用 boost::thread_group 实际利用list<thread>管理一组线程,方便批量管理;不是线程池,没有线程池的自动伸缩等功能。threadpool是基于[boost]库实现的一个线程池子库 .与std的条件变量一样会有虚假唤醒问题,同样需要谓词处理。
最长递增子序列问题 目录最长递增子序列问题合唱队问题应用:最长公共子串LCS::最长递增子序列问题问题:给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.dp法:设长度为N的数组为{a0,a1, a2, ...an-1)...
计算机网络——传输层(2) 目录16位端口号:TCP的特点:TCP报文首部TCP C/S模型过程:TIME_WAIT 2MSL:TCP可靠传输手段:滑窗机制ARQ超时重传:拥塞控制Keepalive和HeartBeat:Nagle算法和粘包问题:TCP SYN泛洪攻击交换机和路由器区别:网络编程一般步骤参考文献网络边缘的节点才有运输层,网...
字典树-Trie 目录Trie树基本概念力扣208:实现前缀树实现代码测试结果:Trie树基本概念Trie 树,也叫“字典树”。顾名思义,它是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。它的key都为字符串,能做到高效查询和插入,时间复杂度为O(k),k为字符串长度,缺点是如果大量字符串没有共同前缀时很耗内存。它的核心思想就是通过最...
关于滑动窗口解决子串问题 目录滑窗思想:滑窗编程范式:力扣76:最小覆盖子串力扣438:找字符串中所有异位词力扣3:无重复最长子串:滑窗思想:在解决字符串子串问题时,可以采用滑窗的思想;1,在字符串S中使用双指针中左右指针技巧,初始化left = right = 0,把索引[left,right]成为一个窗口2,不断增加right指针扩大窗口[left,right],直到窗口中字符...
利用allocator 和c++11的initializer_list封装vector容器 内存相关的 allocate 和 deallocate;构造相关的 construct 和 destroy。(两者分离)进行内存分配管理;实现vector,测试基本功能和STL常见算法一同测试