hxndg Blog

Thinking will not overcome fear but action will.

2025-03-21-微软的Proxy学习

NS

微软的Proxy学习 这几天看下https://github.com/microsoft/proxy,学习下如何避免使用继承的情况下,高效方便地使用C++多态( polymorphic programming)的方法。先对着README.md看看怎么阅读这个源代码(实际上就是翻译了一下README.md)。 怎么使用Proxy库?这里不展示整个的用法了,只把抽象那块的东西抽出来: 最关...

2025-01-24-The Asio asynchronous model

NS

The Asio asynchronous model 我这几天在看这篇论文《The Asio asynchronous model》,里面会穿插一部分官方文档(https://www.boost.org/doc/libs/1_87_0/doc/html/boost_asio/overview/core.html),官方文档会打散穿插到这篇论文里面,如果看到标题带有Plus或者++那就是官...

2024-07-04-C++20设计模式

C++越来越好用啦

C++20 设计模式 0 基础概念 1 (CRTP)奇异递归模板 如何理解CRTP,CRTP我觉得最大的问题是理解难度:一个类怎么能继承自己(是派生类参数)呢?阅读这个链接https://stackoverflow.com/questions/49708984/why-curiously-recurring-template-pattern-crtp-works 什么是CRTP,如何...

2024-06-02-bazel从入门到中级

I'm programmer

bazel从入门到中级 这个本来是写在gitbook上的内容,发现编辑起来很费劲,就写到了博客。因为历史比较久,所以可能有一些地方有些陈旧,我会后面逐渐更新。 另外,一些具体名词我不会翻译为中文,因为英文更明确,避免二义性。但是其意义我会用中文表达,从而方便理解。下面的内容可能有点多,可以先大致浏览理解概念,以后再回来细看。 为什么使用Bazel 有些人喜欢争辩Cmake比Bazel...

2024-05-10-suricata

I'm programmer

Suricate 0 Suricata原理解释 0.1 Suricata提供的App检测关键字解释 Suricata有非常多方便的检测关键字,这些关键字可以针对Payload或者Applayer的内容。下面列出来这些关键字的含义,我理解如果基于这些关键字做匹配,那么需要知道能提供的能力范畴 content:cont...

2023-12-21-数据库基础知识

I'm programmer

数据库基础知识 POSTGRESQL基础部分 1.1 SQL语法 SQL是一种声明式语言,和命令式编程语言不通,声明式编程语言是描述用户需要做什么,需要得到什么结果,而不是像命名式编程语言给出过程怎么做,过程是什么。类比join,就能反映出来,join实际上是将不同的行拼凑为了新的结果,并最终执行检索操作。 SQL分为三种分类 DQL DML 插入 ...

2023-08-21-工程师修养

I'm programmer

工程师修养 0 灵魂型工程师修养 技术是为了灵魂服务的,术服务于道,在当前我认为有两点需要工程师具备 云原生技术层面素养 安全服务(价值观)技术层面素养 什么才是灵魂型工程师呢,我摘抄自瑞典马工的公众号消息 决策层需要提出有说服力的价值主张。 产品团队需要管理企业客户需求。 行销团队需要明确企业客户的画像。 销售队伍需要和企业客户真实对话的能力。 ...

2023-06-11-程序员修养

I'm programmer

开发个人检查清单 下面的内容我实际上是抄的代码大全2检查清单的内容,因为没看到哪里有所有的检查清单的内容。所以利用OCR+AI来拿出来所有的文字,除此之外,补上了部分我自己的检查内容,斜体是我自己的内容。 1 需求 具体的功能需求 是否指定了系统的所有输入,包括其来源、精度、值的范围和出现频率? ...

2023-03-31-架构之路

I'm programmer

架构之路 经历 华耀面临的难题是非常具体的技术问题,面向协议,语言层面。需要对tls,密码学基础知识,计算机体系结构比较熟悉。一个难题的例子是移植ZX5580CPU遇到的汇编无符号证书除法稳定出错的问题,表现形式为证书生成失败,难度在于从私钥/公钥计算,证书签发中等一系列流程怎么精确找到出错的地点,毕竟出错的地方是一个特定条件才会触发的div汇编除法错误。 技...

2023-03-28-devsecops实践

I'm programmer

devsecops实践 1 SAST实践 1.1.1 SAST PARTS 目前问题总结 目前CI的Clang-Tidy Check开启的Checker不充足,需要扫描代码库检查存在哪些代码问题,从而判断开启哪些Checker。 Clang-Tidy Check只针对用户编辑的文件进行扫描,用户不编辑的文件无法发现问题。 使用场景: 每天定时触发一次对onboard ...