摘要: 开根号 #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 苏格拉底的落泪 阅读(159) 评论(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 苏格拉底的落泪 阅读(432) 评论(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 苏格拉底的落泪 阅读(250) 评论(0) 推荐(0)
摘要: coredumpctl命令 1. 调用gdb展开函数调用栈: coredumpctl gdb [pid] 参考资料 1. coredumpctl中文手册 阅读全文
posted @ 2021-09-07 18:04 苏格拉底的落泪 阅读(133) 评论(0) 推荐(0)
摘要: ceph fs命令 tyds fs dump ceph fs ls 阅读全文
posted @ 2021-09-02 14:20 苏格拉底的落泪 阅读(94) 评论(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 苏格拉底的落泪 阅读(169) 评论(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 苏格拉底的落泪 阅读(275) 评论(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 苏格拉底的落泪 阅读(175) 评论(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 苏格拉底的落泪 阅读(42) 评论(0) 推荐(0)
摘要: 1. ceph rgw元数据分布式改造 阅读全文
posted @ 2021-08-16 11:37 苏格拉底的落泪 阅读(47) 评论(0) 推荐(0)
摘要: 参考资料 1. vscode使用compile_commands.json 2. C/C++工程生成编译数据库文件compile_commands.json 阅读全文
posted @ 2021-08-15 16:30 苏格拉底的落泪 阅读(315) 评论(0) 推荐(0)
摘要: 使用条件变量的原因 如果没有条件变量,那么我们等待一个条件满足则会是下面这样的模型: 首先加锁进入临界区去查看条件是否满足,不满足则解锁离开临界区,睡眠一段时间再继续循环判断。在这种情况下如果刚离开临界区,条件变为满足,那么线程必须还要等一段时间重新进入临界区才能知道条件满足(如果在这段时间内,条件 阅读全文
posted @ 2021-08-10 22:35 苏格拉底的落泪 阅读(326) 评论(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 苏格拉底的落泪 阅读(645) 评论(0) 推荐(0)
摘要: boost::statechart 如果是自定义了react消息,表示当前状态接受并处理了EvBingo消息,他有权抛弃事件(discard_event),抛出其他消息但是会延迟到本函数执行完毕后抛出(post_event(xxx)),立即抛出消息(process_event(xxx)),继续向上层 阅读全文
posted @ 2021-07-31 15:53 苏格拉底的落泪 阅读(1356) 评论(0) 推荐(0)
摘要: C++基础 查看代码 #include <iostream> #include <functional> // // 第三步 // 调用普通函数的版本 struct _InvokeFunction { template <typename _Callable, typename... _Types> 阅读全文
posted @ 2021-07-04 15:07 苏格拉底的落泪 阅读(1216) 评论(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 苏格拉底的落泪 阅读(263) 评论(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 苏格拉底的落泪 阅读(48) 评论(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 苏格拉底的落泪 阅读(41) 评论(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 苏格拉底的落泪 阅读(109) 评论(0) 推荐(0)
摘要: git的基本提交流程 git的基本流程,如图所示: Working Tree:本地的工作区。 Index/Stage 暂存区域,和git stash命令暂存的地方不一样,使用git add xx,就可以将xx添加近Stage里面。 Repository 本地仓库区,即使用git commit提交后的 阅读全文
posted @ 2021-06-22 22:04 苏格拉底的落泪 阅读(422) 评论(0) 推荐(0)
摘要: git revert 系列 在使用git管理代码过程中,很多人应该遇到过一些场景:我已经提交了commit信息,但是我想反悔,不想提交了这个信息,或者公共分支上我提交了commit信息,别人也提交了commit,但是我的commit的代码有些问题,想撤回来不提交。 1. 会反做commit-id对应 阅读全文
posted @ 2021-06-22 22:03 苏格拉底的落泪 阅读(181) 评论(0) 推荐(0)
摘要: git log 系列 显示当前分支的版本历史 git log git log -2 //显示2次记录 当前分支的变更,每次变更用一行内容显示 git log --pretty=oneline 输出: 4. 显示当前分支的变更,每次变更用一行内容显示 git log --pretty --onelin 阅读全文
posted @ 2021-06-22 21:55 苏格拉底的落泪 阅读(162) 评论(0) 推荐(0)
摘要: git clone 1. git clone不指定分支,所有分支全部下载,并切换至master分支(main 分支) git clone http://10.1.1.11/service/tmall-service.git 2. git clone 指定分支,所有分支全部下载,并切换至dev分支 g 阅读全文
posted @ 2021-06-22 21:52 苏格拉底的落泪 阅读(427) 评论(0) 推荐(0)
摘要: fast-forward 如果待合并的分支在当前分支的下游,也就是说没有分叉时,会发生快速合并,从dev分支切换到master分支,然后合并dev分支。 git checkout master git merge dev 注意:而我们平常什么都不加的时候,则使用默认的 --ff , 即 fast-f 阅读全文
posted @ 2021-06-21 21:45 苏格拉底的落泪 阅读(581) 评论(0) 推荐(0)
摘要: git pull git pull指令做了两件事情:git fetch 和 git merge。 如图: 一次同步所有分支 git pull --all origin 参考资料: 1. 小姐姐用动画图解Git命令,一看就懂! 阅读全文
posted @ 2021-06-21 21:33 苏格拉底的落泪 阅读(115) 评论(0) 推荐(0)
摘要: git fetch 一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。 1. 将某个远程主机的更新全部取回本地, git fetch 命令通常查看其他人的进程,因为取回的代码对你本地的分支开发代码没有应影响。 git fetch 阅读全文
posted @ 2021-06-21 21:07 苏格拉底的落泪 阅读(1700) 评论(0) 推荐(0)
摘要: 升级git 确认当前版本 git --version 切换root账号 su root 配置源:启用wandisco git源,在此之前我们先写入新yum存储库配置文件,在终端输入: cat > /etc/yum.repos.d/wandisco-git.repo << 'EOF' [wandisc 阅读全文
posted @ 2021-06-20 19:26 苏格拉底的落泪 阅读(264) 评论(0) 推荐(0)
摘要: 当我们修改了代码准备提交时,本地的改动可能包含了不能提交的调试语句,还可能需要拆分成多个细粒度的 patch。 本文将介绍如何使用 git add -p 来交互式选择代码片段,辅助整理出所需的 patch。 官方介绍 先贴个帮助信息供参考 英文版本: -p, --patchInteractively 阅读全文
posted @ 2021-06-20 19:08 苏格拉底的落泪 阅读(375) 评论(0) 推荐(0)
摘要: git push系列命令 git push命令用于从本机的分支版本上传到远程并合并。 git push [远程主机名] [本地分支名]:[远程分支名] 如果本地分支名与远程分支名相同,则可以省略冒号: git push [远程主机名] [本地分支名] 1. 将当前分支推送到origin主机的对应分支 阅读全文
posted @ 2021-06-20 18:52 苏格拉底的落泪 阅读(398) 评论(0) 推荐(0)
摘要: grep命令 单引号和双引号 单引号:可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。 双引号:把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在 阅读全文
posted @ 2021-05-25 21:32 苏格拉底的落泪 阅读(190) 评论(0) 推荐(0)
摘要: 安装docker 我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以——这个可以试试) 1. 卸载旧版本 sudo yum r 阅读全文
posted @ 2021-05-23 20:48 苏格拉底的落泪 阅读(310) 评论(0) 推荐(0)
摘要: awk命令 awk命令格式: awk内置变量: 内置变量 含义 $n 表示当前行(记录)的第n个字段,比如$1表示第一个字段,$2表示第二个字段,以此类推 $0 表示执行过程中当前行(记录)的文本内容 FILENAME 表示当前行(记录)所在的文件名称 FS 表示字段分隔符,默认为空格 NF 表示字 阅读全文
posted @ 2021-05-22 23:59 苏格拉底的落泪 阅读(67) 评论(0) 推荐(0)
摘要: compare_exchange_strong 函数原型: bool compare_exchange_weak(T &expected, T desired, std::memory_order success, std::memory_order failure); bool compare_e 阅读全文
posted @ 2021-05-22 23:01 苏格拉底的落泪 阅读(7883) 评论(0) 推荐(0)
摘要: CRUSH数据分布算法 placement rule Cluster Map反映了存储系统层级的物理拓扑结构,placement Rules决定了了一个PG的对象副本如何选择的规则,通过这些自己设定的规则,用户可以设定副本在集群中的分布,其定义格式如下: rule <rulename> { rule 阅读全文
posted @ 2021-05-17 21:41 苏格拉底的落泪 阅读(316) 评论(0) 推荐(0)
摘要: 标签tag 列出所有tag git tag 新建一个tag在当前commit git tag [tag] 新建一个tag在指定commit git tag [tag] [commit_id] 删除本地tag git tag --delete v1.0.0 git tag -d v1.0.0 git 阅读全文
posted @ 2021-05-13 15:54 苏格拉底的落泪 阅读(63) 评论(0) 推荐(0)
摘要: git describe 如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。 比如说,我们想为我们的 runoob 项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签。 - 阅读全文
posted @ 2021-05-10 21:59 苏格拉底的落泪 阅读(255) 评论(0) 推荐(0)
摘要: 设置日志级别 查询配置命令: ceph --admin-daemon /var/run/ceph/ceph-mon.node02.asok help 输出如下: 查看代码 [root@node02 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.node 阅读全文
posted @ 2021-04-19 22:12 苏格拉底的落泪 阅读(1002) 评论(0) 推荐(0)
摘要: 命令comm显示两个文件差异 区别如下: 参考资料: 1. 图解Linux命令之--comm命令 阅读全文
posted @ 2021-04-19 10:45 苏格拉底的落泪 阅读(59) 评论(0) 推荐(0)
摘要: s3cmd、aws的使用 aws --endpoint=http://<ip:port> s3api get-object --bucket=<bucketname> --key=<objectname> <filename> 在/root目录下,创建.s3cfg文件: [default] acce 阅读全文
posted @ 2021-04-07 17:44 苏格拉底的落泪 阅读(183) 评论(0) 推荐(0)
摘要: 参数 参数意义 Summary 本软件的主要说明,例如上表中说明了本软件是针对 NTP 的软件功能与工具等啦! Name 本软件的软件名称 (最终会是 RPM 文件的文件名构成之一) Version 本软件的版本 (也会是 RPM 文件名的构成之一) Release 这个是该版本打包的次数说明 (也 阅读全文
posted @ 2021-04-05 20:41 苏格拉底的落泪 阅读(126) 评论(0) 推荐(0)