学而时习之
学而时习之孔子说:“学而时习之,不亦说乎。”
小时候老师告诉我,这句话的意思是:学过的知识要经常复习,反复背诵,这样就会感到快乐。
我当时就很困惑:反复复习,真的快乐吗?
后来做了 C++ 工程师,我才慢慢觉得,“学而时习之”或许不是让人学完以后拼命复习、不断刷题,把自己卷得精疲力尽。
这里的“习”,可以理解为练习、实践;“时”也不只是“时常”,还可以是“适时”,也就是在合适的时候。
所以,“学而时习之”也可以理解为:
学到一样东西,等到合适的机会亲手用出来。知识从书本走进实践,从“我看懂了”变成“我做到了”,这当然是一件快乐的事。
这种感受,做 C++ 的人应该很熟悉。
你学了指针,刚开始只知道它保存的是一个地址。后来自己写代码,终于弄明白对象为什么会悬空、程序为什么会崩溃,也知道什么时候该用指针,什么时候该交给引用和智能指针。
那一刻,开心。
你学了 RAII,书上说“资源获取即初始化”,看起来只是一句抽象的定义。后来你把文件句柄、互斥锁和网络连接封装进对象,让资源随着生命周期自动释放,再也不必在每个分支里小心翼翼地清理。
代码干净了,泄漏消失了。
开心。
你学了移动语义,知道有左 ...
视觉算法岗位面试复盘
C++/Qt 视觉算法岗位面试复盘本次面试未录用。题目集中在 C++、Qt 多线程、PLC 高频采集、数据一致性、数据库、CI/CD 和开源协议。它们并不是孤立知识点,核心考察的是能否设计一条可靠的数据链路:
123设备采集 -> 请求调度 -> 数据处理 -> 数据存储 -> UI展示 | +-> 实时控制
回答这类问题时,先说结论,再说明线程边界、数据结构、失败策略和验证指标。
一、C++17 有什么新特性,用过什么适合面试的回答我常用的 C++17 特性包括:
结构化绑定:拆分 pair、tuple 或键值结果。
if constexpr:在模板中进行编译期分支。
std::optional:表示可能不存在的解析结果或配置项。
std::variant:表示多种可能的数据类型。
std::string_view:只读字符串视图,减少复制。
std::filesystem:处理配置、日志和归档文件路径。
std::scoped_lock、std::shar ...
windows下载codex指南
解决codex在windows端的下载问题原文解决链接:https://github.com/openai/codex/issues/13993
下面是解决步骤:第一步:打开如下网址:https://store.rg-adguard.net/
在左边选择product
搜索栏中输入codex的产品ID:9PLM9XGG6VKS
右边的 √
第二步:在搜索结果中点击OpenAI.Codex26.429.8261.0_x64_2p2nqsd0c76g0.msix的链接,这个就是微软商店中得到的安装包, 下载 .msix 文件(不要安装), 将其重命名为 .zip, 仅将 app/ 目录下的内容解压到某个文件夹, 然后从该文件夹运行 Codex.exe。如果顺利的话到这一步就下载成功了。
注:有的浏览器无法下载,博主使用的Chrome浏览器就无法正常下载,这就需要转到下一步骤。
第三步:如下是无法正常下载的处理步骤:
1. 右键链接把链接复制下来
2. 打开powershell,运行如下指令:
curl.exe -L “复制出来的微软CDN链接” -o packa ...
2026-05-27 日报
今日完成
跟codex学习ai调用浏览器开发
无产出文档
问题记录
遇到的问题:无
明日计划-
2026-05-25 日报
今日完成
新增后端查询接口的not_match参数
阅读或学习了2028ai预测https://www.citriniresearch.com/p/2028gic
无产出文档
问题记录
遇到的问题:上位机插入数据,后端服务拦截
排查过程:与前端插入数据的方法进行比较
最终结论:不管是插入或者查询必须在metadata.json里面插入对应的列名
明日计划
对后端的所有接口进行更加细致的用户权限管理(具体在access_level和对通用查询,删除和更新接口的权限验证完善)
2026 年第 21 周周报
本周完成
项目进展
技术学习
问题修复
文档沉淀
关键收获
学到了什么
哪些问题以后可以复用经验
遗留问题
还没解决的问题
需要继续跟进的点
下周计划
计划推进的任务
工业数据服务后端项目复盘
C++ 工业数据服务后端项目复盘:从高频数据写入到实时报警推送1. 项目背景这个项目是一个面向工业设备和上位机系统的数据服务后端,主要负责接收电解槽、MEA、CCM 等生产和测试环节产生的数据,并将这些数据稳定写入 PostgreSQL 数据库。
系统除了基础的数据入库,还提供了动态查询、更新、删除、用户登录认证、设备写入权限控制、实时报警推送等能力。整体目标是让前端大屏、上位机、生产管理系统能够通过统一的 HTTP API 访问后端数据。
2. 技术栈
模块
技术
开发语言
C++17
HTTP 框架
Pistache
数据库
PostgreSQL
数据库访问
libpq 原生 C API
JSON 处理
nlohmann/json
并发处理
自定义 ThreadPool、后台 Worker
数据写入
批量队列、事务提交、失败降级
认证
JWT、libsodium 密码校验
日志
spdlog
实时推送
SSE
外部通知
libcurl、飞书机器人 Webhook
构建系统
CMake
配置管理
JSON 配置文件
扩 ...
Ubuntu 服务器 GRUB 引导故障修复与排查记录
Ubuntu 服务器 GRUB 引导故障修复与排查记录日期: 2026-02-03设备: Dell PowerEdge 服务器系统: Ubuntu事件: 系统断电/重启后无法进入系统,报错 Boot Failed。
1.故障现象
开机无法自动进入 Ubuntu,显示 Dell Logo 后可能黑屏或花屏。
尝试使用 Live USB 修复时,报错 EFI variables are not supported。
修复后重启,进入 GNU GRUB 黑色命令行界面,提示符为 grub>,GRUB 菜单未生成。
2. 根本原因分析
直接原因: Ubuntu的驱动文件系统找不到,boot failed:Ubuntu
深层原因: GRUB 引导文件 丢失了。
3.解决方案
制作Ubuntu 启动盘
官网下载ubuntu的iso镜像
用烧录软件rufus把Ubuntu镜像放入硬盘中
使用办法
插入服务器 USB 口。
重启按 F11。
再选择USB启动之前一定要把bootmode改为EFI这个类似的模式,启动项选择: 必须选 UEFI: <U盘名>
选择 USB ...
Samba服务器配置与管理指南
Samba服务器配置与管理指南本文档总结了在Ubuntu服务器上搭建一个多用户、多层级权限的Samba文件共享服务的完整流程和日常管理方法。
一、 初始搭建流程初始搭建主要通过一个自动化脚本、手动设置密码和修改Samba配置文件来完成。
1.1. 自动化脚本 (setup_samba.sh)此脚本负责创建用户组、所有Linux系统用户、完整的目录结构,并为这些目录设置正确的初始文件系统权限。
123456789101112131415161718192021222324252627282930313233#!/bin/bash# 如果任何命令失败,脚本将立即退出set -e# --- 定义变量 ---USERS="hr fin sys admi sto pur mark res"GROUP="sambashare_users"SHARE_BASE_DIR="/samba/user_shares"echo "### Applying new, corrected permissions for all users.. ...
Antigravity安装
Antigravity安装(Ubuntu版)1. 在官网安装antigravity2. GitHub中安装Antigravity Tools https://github.com/lbjlaq/Antigravity-Manager3. 检查clash或者其他代理软件的Tun模式是否能正常运行,检查步骤如下: 确实是TUN模式没有正常启动,我是Linux机器,提供一个排查和解决方法:
1.开启TUN后1ip addr show
会在开启tun模式后增加一个记录,我的是utun
1curl -I https://www.google.com
可以成功建立连接
1ping -c 4 google.com
没法ping通
1ip route get 8.8.8.8
显示 via 192.168.137.1这说明只是代理了HTTP
2.强制系统接管12sudo ip route add 0.0.0.0/1 dev utunsudo ip route add 128.0.0.0/1 dev utun
3.验证1ping -c 4 google.com
可以ping
1ip rou ...
