利用 launchd 实现 Hexo 博客定时自动推送 零、 选择工具:Crontab vs Launchd 在 macOS 上实现自动化推送,通常有两种主流选择: crontab Launchd 1. Crontab (传统的 Unix 定时任务) 操作指令: 在终端输入 crontab -e 进入编辑界面。 添加一行配置(例如每天 22:30 执行): 30 22 * * * /bin/bash /Users/focus/Library/LaunchAgents/auto_push.sh >> /tmp/hexo_cron.log 2>&1 保存并退出即可。 特点: 语法极其简单,配置迅速。但它的致命缺点是不支持“补跑”。如果 22:30 你的 Mac 盖上了盖子处于休眠状态,crontab 任务就会直接跳过,直到第二天同一时间。 2. Launchd (Apple 官方) 特点: 虽然 .plist 的 XML 格式比 crontab 复杂,但其拥有 StartCalendarInterval 机制。如果设定时间点电脑在休眠,l ...
String库 s.find('a') 返回的是位置下标(std::string::size_type,无符号整数),而 std::find(s.begin(), s.end(), 'a') 返回的是迭代器。整数和迭代器类型不匹配,不能用 == 比较。 [TOC] 思维导图 简略版 详细版 语法 string类要包含头文件 #include string类是一个模板类定义如下: typedef basic_string<char> string; 初始化&赋值: 构造初始化:string s1(“Hello”); string s2(8,‘x’); string s3=“March”; string s4; assign(s):全串赋值 assign(s,pos,n):从s的pos位置取n个字符赋值 单字符赋值:s=‘a’ 正确例子: 12345string s1("Hello"),s2(8,'x'),s3;s3.assign(s1);s3.assign(s1,1,3 ...
STL初步 泛型程序设计(generic programming) 设计思想 C++语言的核心优势之一 —— 软件的重用 C++中有两个方面体现重用: 面向对象的思想:继承和多态,标准类库 泛型程序设计的思想: 模板机制 标准模板库 STL 模板机制 将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板 以后不论数据结构里放的是什么对象,算法针对什么样的对象 → 都不必重新实现数据结构,重新编写算法 标准模板库(Standard Template Library) 常用数据结构和算法的模板的集合 无需写过多的标准数据结构和算法 同时可获得非常高的性能 STL的基本概念 容器:可容纳各种数据类型的通用数据结构,是类模板 迭代器:可用于依次存取容器中元素,类似于指针 普通的C++指针就是一种迭代器 算法:用来操作容器中的元素的函数模板 sort() 来对一个数组中的数据进行排序 find() 来搜索一个数组中的对象 算法本身与他们操作的数据的类型无关, 因此他们可以在从简单数组到高度复杂容器的任何数据结构上 ...
Debug记录 注:记录自己在编程时犯的各种错误,以便未来快速编程(不痛哭流涕) 2026/04/11 一、语法 & 基础概念类错误 这是最底层的问题,会导致编译直接失败或逻辑完全偏离。 迭代器解引用的「运算符优先级」错误 错误写法:*it.first 正确写法:(*it).first 或 it->first 原因:. 的优先级高于 *,不加括号会先访问迭代器本身的成员(不存在)。 multimap 插入函数参数错误 错误写法:l.insert(键, 值) 正确写法:l.insert({键, 值}) 或 l.emplace(键, 值) 原因:insert 只接受一个键值对对象(pair),不接受两个独立参数。 自定义比较器的参数类型完全错误 错误写法:bool operator()(pair<ll,ll> a, pair<ll,ll> b) 正确写法:bool operator()(ll a, ll b) (如果 Key 是 ll) 原因:multimap 的比较器只比较 Key(键),不比较整个键值对。 比较器 ...
政治课程笔记
未读以人民为中心核心谈 小慨:🥵🥵 10min一人独占5min, 提问环节5min全权负责
类函数与函数模板 完全匹配的普通函数 > 完全匹配的模板函数 > 需要转换的普通函数 > 需要转换的模板函数 目录 [TOC] 泛型程序设计(Generic Programming) 算法实现时不指定具体要操作的数据的类型 泛型: 算法实现一遍 → 适用于多种数据结构→减少重复代码的编写 大量编写模板, 使用模板的程序设计 函数模板 类模板 函数模板 问题根源:排序或者更广地说,算法完全相同,但被排序数组元素的变量的类型声明不同 两种可能的解法 函数重载 同名函数 编译系统根据参数调用时实参类型,确定实际执行的函数 问题在于:要是类有无数,要重载无数 函数模板 1template<class T> 由编译系统根据sort函数调用时实参的类型,自动生成相应的模板函数 范式 单类型参数 1234567template<class T>void print(const T array[],int size){ //此处T为函数模板的类型参数 int i; for(int i ...
随笔-3 战争伤亡率逻辑:“如果统帅每次都让大家“不惜一切代价”去死,底下人肯定先灭了你 。” 北洋军阀:伤亡率达到 5% 军队建制就垮了,所以打仗烈度有限 。 国民党(黄埔系):因为有主义支撑,伤亡率到 15% 还能打 。 共产党:建制能承受 20%~30% 的伤亡率,这是超越性的价值判断在起作用 。 会议组织的技术:苏俄带给中国政党的不仅是理论,还有一整套会议技术:分组标准、政治报告、人事预设、会议简报和公报等 。 宣传的技术差距:北洋军阀的宣传(如吴佩孚)还停留在“削足适履”等生僻成语上,而共产党的宣传能瞬间击中人心,简单易懂且具有组织力量 。 敢于分螃蟹(尽管是开空头支票) 刘邦与项羽的分封: 项羽虽然平时待人客气,但在分封官职时非常吝啬,刻好的印信拿在手里舍不得给,最后把印章角都磨秃了才送出去;而刘邦则是大开“空头支票”,大家随便来 。
程序设计笔记--c++OOP
未读浅谈图像格式 .bmp 转载自知乎博主:云无月→点击跳转 位图(Bitmap)格式其实并不能说是一种很常见的格式(从我们日常的使用频率上来讲,远不如 .jpg .png .gif 等),因为其数据没有经过压缩,或最多只采用行程长度编码(RLE,run-length encoding)来进行轻度的无损数据压缩。以至于,LaTeX 并不能像插入 .jpg 甚至于矢量图那样便捷地插入 BMP 图片,知乎的专栏封面上传也不支持 BMP。 但是,.bmp 仍然发挥着很重要的角色,而且也确实有拿来聊一聊,进而学习一些更深入的知识的意义。正是因为它没有进行数据压缩,其内部存储的色彩信息(灰度图,RGB 或 ARGB)直接以二进制的形式暴露在外,也十分方便借助计算机软件进行简单或深入的分析。那么,今天,我将带领大家从二进制文件的角度,探索 .bmp 格式的奥秘。 文件头 位图格式的文件头长度可变,而且其中参数繁多。但是我们日常生活中遇到的 .bmp 格式图片的文件头长度绝大多数都是 54 字节,其中包括 14 字节的 Bitmap 文件头以及 40 字节的 DIB (Device Indepen ...











