摘要:
当C++系统依赖模块多了之后,构建系统本身的工程质量就成为了重要的瓶颈,这方面开源项目里做的最好的是Chromium项目。 全局视角 构建系统有很多东西,从全局视角来说,这是一个目录 理解 C/C++ 代码的基本编写 理解 C99 理解 C++ 11/14/17/20 标准 理解 C++ 现代多线程 阅读全文
摘要:
0x00 最新博文 C++工程如何系列: 如何排查C++链接库之间链接顺序问题 如何解决库链接出现符号重定义问题 如何证明一个静态库没有使用 malloc 0x01 工具/技术 工具 工具(1): 极简Word排版示例(Example by Word2013) 工具(2): 极简MarkDown排版 阅读全文
摘要:
GCC 动态链接库链接查找 https://www.cprogramming.com/tutorial/shared-libraries-linux-gcc.html It looks in the DT_RPATH section of the executable, unless there i 阅读全文
摘要:
下面是一组和GPT的对话,通过逐个排查,我们知道只有一种情况会导致符号重定义。以下假设在 CMake 配置环境。 Q:如果一个静态库a,链接了b,这个时候 c 链接了 a 和 b ,会导致 b 符号重复定义么? A: 任何库(静态或动态)本身都不链接其他库。他们可能有对其他库的依赖性,但实际上并不包 阅读全文
摘要:
今天我还做了另外一个有趣的事情: 有一个客户要求我们提供的一个 libxxx.a 文件不能使用 malloc 动态分配内存。研发排查了下代码都没有用到 malloc。 但是客户说他们还是可以看到 malloc 符号,但是他们把malloc的实现hook成空的也能跑。所以他们相信我们应该没有调用mal 阅读全文
摘要:
今天浪费了8个小时排查了一个 C++ 库编译后依赖的cuda符号找不到的问题。后面在凑巧的情况下在 链接库的地方加了一个可能会用到的库,结果就通过了。但是凑巧肯定是有更深刻的原因,再反复验证,实际上是这样的: link(A) link(B) link(mm) 我加的 mm 库后链接就通过了。但是 m 阅读全文
摘要:
https://abuseofnotation.github.io/category-theory-illustrated/01_set/ 阅读全文
摘要:
这些博客仍然非常值得读,虽然再也不会更新了: Vamei: https://www.cnblogs.com/vamei/ 一个程序员被骗去养猪 左耳朵耗子:https://www.coolshell.cn/ 我做系统架构的一些原则 程序员技术练级攻略 阅读全文
摘要:
## CMAKE 配置 protobuf Q: protobuf_generate_cpp 是 CMake 的内置函数么? A: 不是的。protobuf_generate_cpp 不是 CMake 的内置函数,而是由 FindProtobuf.cmake 模块提供的一个函数,用于从 .proto 阅读全文
摘要:
在编写 Python 程序的时候,很容易直接调用 system, subprocess.Popen, subprocess.run, subprocess.call, subprocess.check_call, subprocess.check_output 等方法执行命令。但是如果一个系统里充满 阅读全文
摘要:
#### [flatten-json](https://pypi.org/project/flatten-json/): 将object, dict, array 压缩成一维 一个有趣的用法: ```python from flatten_json import flatten def __flat 阅读全文
摘要:
语言入门,循序渐进: C语言: CCF中学生计算机程序设计 入门/基础/提高 三册,由于面向中学生,适合一开始的时候先一步步建立概念,它的IDE用的是古典的DevCPP,如果能改成用Visual Studio Code 会更好。 阮一峰-网道: C语言教程 C程序设计语言: [美] Brian W. 阅读全文
摘要:
批量资源创建是一种典型的数据处理流程。这样的数据处理流程典型步骤是 * 加载输入数据集 * 遍历数据集,对每个条目,创建目标资源,目标资源可能是一种,也可能是嵌套的有层次结构的树状结构的一系列资源。 这样的处理流程,如果不做任何错误处理,整个程序处于脆弱状态。应该考虑哪些问题呢? * 首先需要考虑的 阅读全文
摘要:
当C++系统依赖模块多了之后,构建系统本身的工程质量就成为了重要的瓶颈,这方面开源项目里做的最好的是Chromium项目。 全局视角 构建系统有很多东西,从全局视角来说,这是一个目录 理解 C/C++ 代码的基本编写 理解 C99 理解 C++ 11/14/17/20 标准 理解 C++ 现代多线程 阅读全文
摘要:
Five things you need to know about: mRNA vaccine safety Five things you need to know about: mRNA vaccines Understanding mRNA COVID-19 Vaccines Why are 阅读全文
摘要:
上一篇:技术的极限(12): 探索编译器 目录: ** 0x01 Mozilla的Areweyet ** 0x02 做小的决策 ** 0x03 细胞地图 ** 0x04 rga: 多文件类型行搜索 ** 0x05 Kaitai|又一个多语言二进制编解码器生成器 ** 0x06 命令行程序开发指南 * 阅读全文
摘要:
notes for learning and using typescript 阅读全文
摘要:
语言核心 ECMAScript® 2019 Language Specification 阮一峰:ES6 入门教程 The Modern JavaScript Tutorial 中文版:The Modern JavaScript Tutorial Deep JavaScript typescript 阅读全文
摘要:
notes for python 阅读全文
摘要:
notes for learning and using rust 阅读全文
摘要:
最强战力,永不停歇的测试:always_run 许多工程师写完程序后,都不愿意对自己的程序做仔细测试。 很多测试说会做自动化测试,可能工作好几年都没真做过多少自动化测试。 我们的解决方案是,在系统的测试环境里,常驻跑一个always_run程序来做质量保证以及有效发现问题。 always_run 程 阅读全文
摘要:
原文:https://www.apmreports.org/episode/2019/08/22/whats-wrong-how-schools-teach-reading 传统的阅读三部曲:记住单词、通过上下文猜单词、猜不出来跳过去 memorizing words using context t 阅读全文
摘要:
上一篇:技术的极限(10): 考虑技术的伸缩性 下一篇:技术的极限(12): 探索编译器 目录: ** 0x01 达夫设备 ** 0x02 switch+goto ** 0x03 硬件加速 ** 0x04 O(1)大数据传输 ** 0x05 C语言的异常跳转 ** 0x06 非欧几里得引擎 ** 0 阅读全文
摘要:
题目:实现一个日志查看页面,如图所示 要求: 使用Vue/React框架或者HTML5开发。 基本功能(基本布局/性能): 左侧【导航】列表 点击【实时日志】显示日志列表 日志列表每行一条日志,日志有trace/debug/info/warn/error/fatal等类型,不同类型有不同的图标。 底 阅读全文
摘要:
在一个技术群里,遇到一个网友提了一个问题,这种场景我曾经遇到过,提供一种解法,这需要去构建,但是如果需要的是【立即有效】的解法,可能不存在。这个方式,最小的情况下3人的迷你小team就可以实施,所以可以说是一个面向小企业的团队的介绍。麻雀虽小,五脏俱全,要用好的调度、原则、自动化工具带来效率和自由。 阅读全文
摘要:
阅读全文

摘要:
算法笔记(1):【通过测试用例的累积和回归测试导向算法的正确】 有一次,我做了一道算法题:https://leetcode.com/problems/regular expression matching/ 最终的代码,我用JavaScript写了300多行代码,通过的时候我本地的测试用例有50几个 阅读全文
摘要:
原文 : "The Wall of Technical Debt:A method for making technical debt visible and negotiable" Published on 22 January 2020 by "@mathiasverraes" 翻译 : 0x0 阅读全文
摘要:
前端开发,指只做过HTML、CSS、JavaScript以及具备使用在此基础上构建的各种Web类型的UI框架开发的能力,例如React、Vue、Elm等Web框架,同时对NodeJS生态下的Gulp、Webpack等打包工具链、有所熟悉。前端开发人员还需要对PC端网页渲染、移动端网页渲染,或响应式渲 阅读全文
摘要:
如果一个团队的成员都是资深程序员,是不是就能保证项目开发质量和效率是最佳的呢?答案是未必。 如果一个团队的成员都是新手,是不是项目的开发质量和效率就是“新手水平”呢?答案是未必。 由于人的惰性是会滋生的,更有破窗效应在背后默默起作用。一个团队如果没有人担起责任,推进紧凑的开发节奏,强力推进进度,那么 阅读全文
摘要:
假设一个完整的项目,包含了6个不同的【端】:PC客户端、移动端、官网、支付页面、活动页面、以及后端、以及底层的核心功能组件开发。 假设有5个人分别负责5个【有脸】的【端】:PC客户端、移动端、官网、支付页面、活动页面;假设1个人负责开发后端,实际多少人不知道,这1个人是一个代表;假设2个人负责开发底 阅读全文
摘要:
在项目开发中,存在的无数的任务分解,问题管理,流程跟踪。因为直接说话或者直接在IM里喊话是很容易的,所以在一个还没有习惯使用issue管理软件的团队中,直接说话或者直接在IM里AT,就在某些时候变成了主要的任务通知渠道。 就像为什么我们不能用IM传递代码给别人,让别人覆盖到自己项目里一样。事实上我们 阅读全文
摘要:
软件开发是很分裂的,只有不断使用原则和规律,才能带来质量。 只要不是玩具性质的项目,项目应该可以大概划分为0 1,1 10,10 100,100 1000四个种重要阶段。其中,0 1是原型验证性的;1 10是Demo展示性的;而10 100是项目的最小功能集,可以让产品初步达到可以第一次发布的阶段; 阅读全文
摘要:
原文:http://jeremymikkola.com/posts/2019_03_19_rules_for_autocomplete.html 翻译(0.1): 使用已知选项做文本的自动完成似乎是一件简单的事情,但是许多UI的文本自动完成都做错了。这种情况太频繁了,就不一一吐槽了,于是我专门写了这 阅读全文
摘要:
目的 好工具索引&要点记录 SOP 工具和结构化 工具集合 笔记 Notion 思维导图: xmind , mindmanager, freemind IDE C/C++: Visual Studio 2017 community, Eclipse for C++ Developer, Code:: 阅读全文
摘要:
** 0x01 反馈循环(Feedback loop) | How to see System in everyday life
** 0x02 如何像视频游戏一样剖析你的人生?| 打怪升级这么简单?
** 0x03 个性的可塑性 | The Big Five of personality traits
** 0x04 强迫症AB面 | Inconsistency-Avoidance Tendency
** 0x05 为什么对成人来说时间越来越快?| 交互式体验
** 0x06 刻板印象(stereotypes) | AI偏见(AI Bias) 阅读全文

摘要:
** 0x01 用户名和密码
** 0x02 密码管理器的基本原理
** 0x03 多因素认证
** 0x04 双因素认证(two-factor-auth)的基本原理。
** 0x05 [OpenID] vs [OAuth]
** 0x06 [IDToken] vs [JWT, JWS, JWE] 阅读全文
摘要:
** 0x01 [哈希函数] vs [加密哈希函数]
** 0x02 [哈希碰撞] vs [生日问题]
** 0x03 [哈希表] vs [分布式哈希表]
** 0x04 [欧式距离] vs [三角不等式]
** 0x05 [异或距离] vs [前缀路由表]
阅读全文

摘要:
** 0x01 数据和App分离
** 0x02 蒸汽朋克/赛博朋克/密码朋克
** 0x03 20年的数学与5年的Excel
** 0x04 随机数生成器(RNG)
** 0x05 争论中谁更可能是对的?| Mellow Heuristic
阅读全文

摘要:
原文 : "the worst mistake of computer science" 注释 :有些术语不知道怎么翻译,根据自己理解的意思翻译了,如有不妥,敬请提出:) 致谢 : "@vertextao" "@fracting" 比windows反斜杠还丑,比 还古老,比PHP还常见,比跨域资源共 阅读全文