摘要: 经典应用示例 1. 文件结构 NetServer ├── docs │ └── images │ ├── WebBench_hello.png │ ├── WebBench_html.png │ ├── wrk_hello_4_iothread_2_workerthread.png │ ├── wr 阅读全文
posted @ 2021-10-18 23:05 苏格拉底的落泪 阅读(52) 评论(0) 推荐(0)
摘要: project(<PROJECT-NAME> [<language-name>...]) 或 project(<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]] [DESCRIPTION <project-descriptio 阅读全文
posted @ 2021-10-18 22:52 苏格拉底的落泪 阅读(31) 评论(0) 推荐(0)
摘要: # $ cmake --version 设置cmake最小版本号 cmake_minimum_required(VERSION 3.5) # 指定工程名 PROJECT (HELLO) # 现阶段,你只需要了解 SET 指令可以用来显式的定义变量即可 # 将 hello.cpp 赋值给 SRC_LI 阅读全文
posted @ 2021-10-18 22:36 苏格拉底的落泪 阅读(48) 评论(0) 推荐(0)
摘要: cosbench详解 下载地址: wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip unzip 0.4.2.c4.zip 执行项目文件下面: ./cli.sh submit co 阅读全文
posted @ 2021-10-14 11:40 苏格拉底的落泪 阅读(962) 评论(0) 推荐(0)
摘要: pair 1. 示例 #include <iostream> #include <utility> int main() { auto p = std::make_pair(1, 3.14); std::cout << '(' << std::get<0>(p) << ", " << std::ge 阅读全文
posted @ 2021-10-13 21:33 苏格拉底的落泪 阅读(422) 评论(0) 推荐(0)
摘要: ceph osd pool application enable default.rgw.buckets.data rgw ceph osd pool application enable default.rgw.buckets.index rgw ceph osd pool application 阅读全文
posted @ 2021-10-13 17:48 苏格拉底的落泪 阅读(159) 评论(0) 推荐(0)
摘要: Ceph Object Storage Placement 确认当前已经存储的crush rule: $ ceph osd crush rule dump [ { "rule_id": 0, "rule_name": "replicated_rule", "ruleset": 0, "type": 阅读全文
posted @ 2021-10-13 15:06 苏格拉底的落泪 阅读(411) 评论(0) 推荐(0)
摘要: 分割符IFS 在 Bash 中,IFS(内部字段分隔符)的默认值是一个包含空格、制表符和换行符的字符串。具体来说,默认的 IFS 值为: 空格( ) 制表符(\t) 换行符(\n) 这意味着当使用 read 命令或其他处理输入的操作时,Bash 会根据这些字符将输入分割成多个字段。 如果你有一行文本 阅读全文
posted @ 2021-10-12 22:25 苏格拉底的落泪 阅读(390) 评论(0) 推荐(0)
摘要: 几个时间概念 1:Coordinated Universal Time(UTC): 协调世界时,又称世界标准时间,也即格林威治标准时间(Greenwich Mean Time,GMT),中国内地的时间与UTC得时差为+8,也即UTC+8,美国为UTC-5。 2:Calendar Time: 日历时间 阅读全文
posted @ 2021-10-11 22:55 苏格拉底的落泪 阅读(796) 评论(0) 推荐(0)
摘要: std::string_view std::string_view 类原型: template<class CharT, class Traits = std::char_traits<CharT>> class basic_string_view; 构造函数 1. 构造函数原型: constexp 阅读全文
posted @ 2021-10-10 11:10 苏格拉底的落泪 阅读(732) 评论(0) 推荐(0)
摘要: std::begin和std::end 1. std::begin、std::end函数的用法 #include <iostream> #include <vector> using namespace std; int main() { std::vector<int> v{1, 2, 3, 4, 阅读全文
posted @ 2021-10-10 11:08 苏格拉底的落泪 阅读(195) 评论(0) 推荐(0)
摘要: std::optional 1. vlaue_or 函数使用 1 #include <iostream> 2 #include <optional> 3 #include <string> 4 5 std::optional<std::string> create(bool b) 6 { 7 if( 阅读全文
posted @ 2021-09-24 22:25 苏格拉底的落泪 阅读(497) 评论(0) 推荐(0)
摘要: 退出正在调试的函数 #include <stdio.h> int func(void) { int i = 0; i += 2; i *= 10; return i; } int main(void) { int a = 0; a = func(); printf("%d\n", a); retur 阅读全文
posted @ 2021-09-14 21:59 苏格拉底的落泪 阅读(875) 评论(0) 推荐(0)
摘要: 前序遍历 思路:前序遍历算法先访问树的根节点,然后遍历左子树,最后遍历右子树。 解法1 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * Tr 阅读全文
posted @ 2021-09-13 21:05 苏格拉底的落泪 阅读(59) 评论(0) 推荐(0)
摘要: coredump 1. 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump。可以使用命令 ulimit -c unlimited 来开启 core dump 功能,并且不限制 core dump 文件的大小; 如果需要限制文件的大小,将 unlimite 阅读全文
posted @ 2021-09-13 10:21 苏格拉底的落泪 阅读(367) 评论(0) 推荐(0)
摘要: enable_if SFINAE 是 substitution failure is not an error 的缩写,即匹配失败不是错误。就是说,匹配重载的函数 / 类时如果匹配后会引发编译错误,这个函数 /或类就不会作为候选。这是一个 C++11 的新特性,也是 enable_if 最核心的原理 阅读全文
posted @ 2021-09-12 21:37 苏格拉底的落泪 阅读(678) 评论(0) 推荐(0)
摘要: std::declval (c++11 only) 函数模板 template<typename T> typename add_rvalue_reference<T>::type declval() noexcept; 功能描述: 返回一个类型的右值引用,不管是否有没有默认构造函数或该类型不可以创 阅读全文
posted @ 2021-09-12 21:16 苏格拉底的落泪 阅读(212) 评论(0) 推荐(0)
摘要: 折叠表达式 表格4.1列出所有可能的表达式: #include <iostream> #include <string> template <typename ... Ts> auto sum(Ts ... ts) { return (... + ts); } int main() { std::c 阅读全文
posted @ 2021-09-12 21:13 苏格拉底的落泪 阅读(121) 评论(0) 推荐(0)
摘要: 参考资料 1. windows安装OpenSSH支持SSH 阅读全文
posted @ 2021-09-12 15:44 苏格拉底的落泪 阅读(195) 评论(0) 推荐(0)
摘要: 开根号 #include <iostream> #include <stdio.h> using namespace std; double myqrt(double x) { if (x < 0) return -1; constexpr auto eps = 1e-8; double low, 阅读全文
posted @ 2021-09-11 20:15 苏格拉底的落泪 阅读(167) 评论(0) 推荐(0)
摘要: sizeof : 获取内存存储的大小。alignof : 获取地址对其的大小,POD里面最大的内存对其的大小。 1 struct A{ //non-POD type 2 int avg; 3 int avg2; 4 double c; 5 A(int a,int b):avg((a+b)/2){ 6 阅读全文
posted @ 2021-09-07 22:29 苏格拉底的落泪 阅读(440) 评论(0) 推荐(0)
摘要: 智能指针shared_ptr与unique_ptr unique_ptr支持动态数组,而shared_ptr不能直接支持动态数组: std::unique_ptr<int []> ptr(new int[10]); //合法, std::shared_ptr<int []> ptr(new int[ 阅读全文
posted @ 2021-09-07 21:48 苏格拉底的落泪 阅读(264) 评论(0) 推荐(0)
摘要: coredumpctl命令 1. 调用gdb展开函数调用栈: coredumpctl gdb [pid] 参考资料 1. coredumpctl中文手册 阅读全文
posted @ 2021-09-07 18:04 苏格拉底的落泪 阅读(139) 评论(0) 推荐(0)
摘要: ceph fs命令 tyds fs dump ceph fs ls 阅读全文
posted @ 2021-09-02 14:20 苏格拉底的落泪 阅读(97) 评论(0) 推荐(0)
摘要: boost::variant #include <boost/variant.hpp> #include <string> #include <iostream> int main() { boost::variant<double, char, std::string> v; v = 3.14; 阅读全文
posted @ 2021-08-31 10:58 苏格拉底的落泪 阅读(174) 评论(0) 推荐(0)
摘要: std::tuple 1. 实例 #include <iostream> #include <tuple> struct A { std::string _name; size_t _age; A(std::string name, size_t age) : _name(name), _age(a 阅读全文
posted @ 2021-08-30 22:57 苏格拉底的落泪 阅读(280) 评论(0) 推荐(0)
摘要: https://zhuanlan.zhihu.com/p/110079635 https://zhuanlan.zhihu.com/p/42838850https://www.jianshu.com/p/6960811ac89chttps://www.cnblogs.com/shuimuzhushu 阅读全文
posted @ 2021-08-30 16:32 苏格拉底的落泪 阅读(186) 评论(0) 推荐(0)
摘要: 消息队列activemq 安装 java 1. CentOS 7 如何安装 Java 11 2. CentOS 7 安装 JAVA环境(JDK 1.8) 安装包下载:https://activemq.apache.org/components/classic/download/ 1. Statist 阅读全文
posted @ 2021-08-24 15:31 苏格拉底的落泪 阅读(44) 评论(0) 推荐(0)
摘要: 1. ceph rgw元数据分布式改造 阅读全文
posted @ 2021-08-16 11:37 苏格拉底的落泪 阅读(48) 评论(0) 推荐(0)
摘要: 参考资料 1. vscode使用compile_commands.json 2. C/C++工程生成编译数据库文件compile_commands.json 阅读全文
posted @ 2021-08-15 16:30 苏格拉底的落泪 阅读(328) 评论(0) 推荐(0)
摘要: 使用条件变量的原因 如果没有条件变量,那么我们等待一个条件满足则会是下面这样的模型: 首先加锁进入临界区去查看条件是否满足,不满足则解锁离开临界区,睡眠一段时间再继续循环判断。在这种情况下如果刚离开临界区,条件变为满足,那么线程必须还要等一段时间重新进入临界区才能知道条件满足(如果在这段时间内,条件 阅读全文
posted @ 2021-08-10 22:35 苏格拉底的落泪 阅读(336) 评论(0) 推荐(0)
摘要: 在类的成员函数中能不能调用delete this?答案:可以 #include <iostream> #include <vector> using namespace std; class A{ public: void f() { cout<<"delete this"<<endl; delet 阅读全文
posted @ 2021-08-03 11:17 苏格拉底的落泪 阅读(666) 评论(0) 推荐(0)
摘要: boost::statechart 如果是自定义了react消息,表示当前状态接受并处理了EvBingo消息,他有权抛弃事件(discard_event),抛出其他消息但是会延迟到本函数执行完毕后抛出(post_event(xxx)),立即抛出消息(process_event(xxx)),继续向上层 阅读全文
posted @ 2021-07-31 15:53 苏格拉底的落泪 阅读(1420) 评论(0) 推荐(0)
摘要: C++基础 查看代码 #include <iostream> #include <functional> // // 第三步 // 调用普通函数的版本 struct _InvokeFunction { template <typename _Callable, typename... _Types> 阅读全文
posted @ 2021-07-04 15:07 苏格拉底的落泪 阅读(1230) 评论(0) 推荐(0)
摘要: 1 #include <chrono> 2 #include <thread> 3 4 void independentThread() 5 { 6 std::cout << "Starting concurrent thread.\n"; 7 std::this_thread::sleep_for 阅读全文
posted @ 2021-06-28 22:38 苏格拉底的落泪 阅读(274) 评论(0) 推荐(0)
摘要: 编写重载模板 #include <iostream> #include <sstream> #include <string> using namespace std; template <typename T> string debug_rep(const T &t) { ostringstrea 阅读全文
posted @ 2021-06-27 21:15 苏格拉底的落泪 阅读(54) 评论(0) 推荐(0)
摘要: rpm打包错误 Installed (but unpackaged) file(s) found 的解决办法 方法一: 在/usr/lib/rpm/macros文件中有一个定义: %_unpackaged_files_terminate_build 1 解决方法:把1改为0只警告,即改为: %_un 阅读全文
posted @ 2021-06-27 20:39 苏格拉底的落泪 阅读(56) 评论(0) 推荐(0)
摘要: 尾置返回类型 实例1 #include <iostream> #include <vector> #include <string> using namespace std; template <typename It> auto fcn(It beg, It end) -> decltype(*b 阅读全文
posted @ 2021-06-22 22:26 苏格拉底的落泪 阅读(122) 评论(0) 推荐(0)
摘要: git的基本提交流程 git的基本流程,如图所示: Working Tree:本地的工作区。 Index/Stage 暂存区域,和git stash命令暂存的地方不一样,使用git add xx,就可以将xx添加近Stage里面。 Repository 本地仓库区,即使用git commit提交后的 阅读全文
posted @ 2021-06-22 22:04 苏格拉底的落泪 阅读(459) 评论(0) 推荐(0)
摘要: git revert 系列 在使用git管理代码过程中,很多人应该遇到过一些场景:我已经提交了commit信息,但是我想反悔,不想提交了这个信息,或者公共分支上我提交了commit信息,别人也提交了commit,但是我的commit的代码有些问题,想撤回来不提交。 1. 会反做commit-id对应 阅读全文
posted @ 2021-06-22 22:03 苏格拉底的落泪 阅读(213) 评论(0) 推荐(0)