ePubFile
epub crate example //open use epub::doc::EpubDoc; let doc = EpubDoc::new("path/to/file.epub"); assert!(doc.is_ok()); let doc = doc.unwrap(); //get doc metadata let title = doc.mdata("title"); ...
epub crate example //open use epub::doc::EpubDoc; let doc = EpubDoc::new("path/to/file.epub"); assert!(doc.is_ok()); let doc = doc.unwrap(); //get doc metadata let title = doc.mdata("title"); ...
RAII惯用法 RAII:Resource Acquisition Is Initialization,资源获取即初始化。在C++中,RAII是一种资源管理的技术,通过在对象的构造函数中获取资源,然后在对象的析构函数中释放资源,来管理资源的生命周期。RAII的核心思想是:将资源的生命周期与对象的生命周期绑定在一起,通过对象的构造和析构来管理资源的生命周期。 简单来说就是资源的获取都在构造函...
RAII惯用法 RAII:Resource Acquisition Is Initialization,资源获取即初始化。在C++中,RAII是一种资源管理的技术,通过在对象的构造函数中获取资源,然后在对象的析构函数中释放资源,来管理资源的生命周期。RAII的核心思想是:将资源的生命周期与对象的生命周期绑定在一起,通过对象的构造和析构来管理资源的生命周期。 简单来说就是资源的获取都在构造函...
老师你好! 我叫蔡俊源,来自华南理工大学软件学院,就读的专业是软件工程,目前是大三在读。很荣幸这次能够参加微信后台开发岗的面试。 首先,我想简单介绍一下我的项目经验,我一共有三段项目经验,分别是在一个叫DragonOS的开源操作系统社区里进行持续性的代码贡献,这个操作系统项目所用的语言是RUST,涉及的模块主要是网络相关的。在社区工作的期间一共完成三个功能的贡献,一是完成alarm系统调...
哈希 解决哈希表问题的精髓就在如何设计键。利用键的唯一性去解决问题。 cpp数据结构 unordered_map std::unordered_map<int, std::string> myMap; myMap[1] = "One"; // 插入或更新 myMap.insert({2, "Two"}); // 插入 myMap.erase(1...
unix unix socket unix - 用于进程间通信的socket 描述 AF_UNIX socket family 用于在同一台机器中的不同进程之间的通信(IPC)。unix socket地址现支持绑定文件地址,未支持绑定abstract namespace抽象命名空间。 目前unix 域中合法的socket type有:SOCK_STREAM, 提供stream-or...
双指针 当需要多次重复的遍历数组时,使用指向头尾的双指针并同时移动它们可以大大减少重复遍历的次数。 双指针的作用就在于可以跳过无用解。通过使用两个指针(通常一个指向数组的开始,另一个指向数组的末尾)并根据一定的条件同时移动这两个指针,可以有效地在遍历数组时减少不必要的重复遍历,从而提高算法的效率。此外,双指针技术还可以帮助跳过那些不满足特定条件的无用解,进一步优化搜索或计算过程。 两数之...
分享在存在多个类似的操作或运算时的封装方式: 函数封装器和lambda表达式 unordered_map<string,function<int(int,int)>> map={ {"+",[](int a,int b){return a+b;}}, {"-",[](int a,int b){return a-b;}}, ...
二叉树 二叉树基础及其常见类型 二叉树的重要性将贯穿开发始终。很多实用且复杂的数据结构式基于二叉树的,比如红黑树(二叉搜索树)、多叉树、二叉堆、图、字典、并查集,二叉树是非常重要的基础。如果你想掌握上面的数据类型,掌握二叉树的重要性不言而喻。 同时很多算法思想可以被抽象为二叉树。常见的是回溯算法、动态规划,其过程可以视为二叉树的深度遍历。 满二叉树 中间节点都有左右子节点。深度...
链表 tip:链表旋转操作如果是自己的size整数倍,等于没有操作。所以需要先把旋转次数对size取余。 time %= size LRU缓存机制 Leetcode 146 使用双向列表和哈希表: 双链表存储一个节点被使用(get或者put)的时间戳,且按最近使用时间从左到右排好序,最先被使用的节点放在双链表的第一位,因此双链表的最后一位就是最久未被使用的节点; 哈希表存储ke...