nomadli Blog

Thinking will not overcome fear but action will.

cmake

make file 相关

./CMakeLists.txt 需要cmake版本大于等于3.13 隐含调用cmake_policy(VERSION 3.13)指定策略,指定版本低于2.4时策略使用2.4 判断是否作为子项目,获取父目录如果变量被定义则表示是子项目 添加编译子目录 第二个可选参数EXCLUDE_FROM_ALL,将目录从默认目标中排除,即需要明确指定才会编译 如果存在CMP0...

算法

算法 笔记

时间复杂度 大O表示法 二分查找 选择排序 快速排序 散列表数据结构 广度优先搜索 迪克斯特拉算法(Dijkstra’s algorithm) 贪婪算法 动态规划 k最近邻算法(KNN) k-nearest neighbours 朴素贝叶斯分类 树 反向索引 傅里叶变换 分布式算法 布隆过滤器 HyperLogLog ...

spring

spring 介绍

Spring Boot Spring Framework Spring Cloud Spring XD Spring Data Spring Batch Spring Security Spring Integration Spring Social Spring AMQP Spring HATEOAS Spring Mobile Spr...

Protobuf

protobuf 使用

source tips gen proto3 source protobuf protogen tips 没有数据长度,需要自己包一层 gen protoc –go_out=. *.proto //cpp_out csharp_out java_out js_out objc_out ruby_out proto3 syntax...

GO 内核

GO 源码剖析

分析常用命令 golang 内核 M 线程 P 调度器 G 协程 分析常用命令 go build -gcflags “-N -l” xx.go 禁止优化及内联 go tool objdump xxx 转汇编 gdb 单步调试汇编 golang 内核 asm_amd64.s 可执行程序入口地址 runtime.schedinit 初始调度...

perl 语法

IDE

基本语法 $定义变量 my 局部变量 local 局部变量,并对其调用的子域可见 our 当前package 全局变量,可以忽略默认为全局变量 {xxx => xxx,}; hash map 定义 sub 定义函数 @_ 函数参数按顺序存储在这个数组 $_[0] 函数第一个参数 @{$multi_array->[0]}多维数组的第一行 ...

VS Code 插件

IDE

定制性 VS Code不允许访问UI域,速度快,进程隔离 Atom 定制性强,速度慢,进程隔离 插件 插件在独立Node进程中运行(extension host process),能够访问VS Code扩展API 懒加载,在注册activation events事件触发下激活 onLanguage:${language} 打开特定语言的文档 onCommand...

网络相关

网络相关

减少用户态与内核态的内存拷贝 read换mmap,读文件共享内核内存 pip unix_sock socketpair 风险:当mmap多进程/线程使用时,后续操作可能因其他进程/线程修改mmap导致crash 处理:1.捕捉SIGBUS信号并直接返回,后续操作也被终止 2.fcntl(fd, F_SETSIG, RT_SIGNAL_LEASE) fcntl...

服务发现与配置中心

服务发现与配置中心

Consul Etcd 选择Consul 全部服务自建,无需第三方服务 服务发现及配置中心为一体 跨机房、跨云 自带web界面 Consul 基本信息 端口占用 8300 其他consul的传入请求。仅限TCP 8301 LAN中的raft协议。TCP和UDP。 83...

数据库

数据库持续交付

flyway 只适合比较小型的项目,可以使用java代码管理数据库 Liquibase