摘要: tar命令 1.命令原型: tar[必要参数][选择参数][文件] 2. 详解: -c:建立打包文件,可搭配 -v 查看过程被打包的文件名。 -x: 解包或解压缩的功能,可以搭配 -C (大写)在特定目录解压,特别留意的的是 -c、-t、-x不可同时出现在一串命令中。 -r:向压缩归档文件末尾追加文 阅读全文
posted @ 2021-02-27 20:21 苏格拉底的落泪 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 例子1 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <stdarg.h> 4 5 char *make_message(const char *fmt, ...) 6 { 7 /* 初始时假设我们只需要不超过100字节大小的空间 */ 阅读全文
posted @ 2021-02-07 22:22 苏格拉底的落泪 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 归并排序算法 1. 分阶段: 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递归拆分子序列的过程,递归深度为logn。2. 治阶段:再来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,比如上图中的最后一次合并,要将 阅读全文
posted @ 2021-01-15 22:03 苏格拉底的落泪 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 继承的构造函数 子类为完成基类初始化,在C++11之前,需要在初始化列表调用基类的构造函数,从而完成构造函数的传递。如果基类拥有多个构造函数,那么子类也需要实现多个与基类构造函数对应的构造函数。 1 class Base 2 { 3 public: 4 Base(int va) : m_value( 阅读全文
posted @ 2020-10-27 22:31 苏格拉底的落泪 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 重载运算符 重载调用调用运算符 #include <iostream> struct absInt { int operator() (int val) const { return val < 0 ? -val : val; } }; int main() { int i = -42; absIn 阅读全文
posted @ 2020-10-17 10:44 苏格拉底的落泪 阅读(152) 评论(0) 推荐(0) 编辑
摘要: vs code 的常用快捷键 1、注释: a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/ b) 取消单行注释:[ctrl+k,ctrl+u] (按下ctrl不放,再按k + u) c) 多行注释:[alt+shift+A] d) 多行注释:/** 2、移动行:alt+up/down 阅读全文
posted @ 2020-10-17 10:35 苏格拉底的落泪 阅读(1156) 评论(0) 推荐(0) 编辑
摘要: string流输入输出 1. istringstream·原型: template <class CharT, class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>> class basic_i 阅读全文
posted @ 2020-10-13 22:08 苏格拉底的落泪 阅读(405) 评论(0) 推荐(0) 编辑
摘要: git branch 1. 查看本地所有分支的命令: git branch 2. 查看远程所有分支命令: git branch -r 3. 查看本地和远程所有分支命令 git branch -a 4. 查看本地分支跟踪的远程分支命令: git branch -vv 5. 新建一个分支,指向指定com 阅读全文
posted @ 2020-10-11 22:29 苏格拉底的落泪 阅读(426) 评论(0) 推荐(0) 编辑
摘要: git merge 与git rebase异同 当要合并两个分叉的分支时,merge的方式是将待合入分支和当前分支不同的部分,在当前分支新建节点,如下图所示 rebase与merge不同,rebase会将合入分支上超前的节点在待合入分支上重新提交一遍,如下图,B1 B2会变为B1’ B2’,看起来会 阅读全文
posted @ 2020-10-11 21:59 苏格拉底的落泪 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 远程仓库配置 git是分布式版本控制系统,所以需要绑定一个用户名和邮箱;以后我们每次提交代码都是用自己的用户提交的,这样就达到了在公司中,分辨多个开发人员提交的代码。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 阅读全文
posted @ 2020-10-11 18:26 苏格拉底的落泪 阅读(102) 评论(0) 推荐(0) 编辑
摘要: RPM安装教程 遇到的常见问题: ./make-srpm.sh: line 11: rpmbuild: command not found 解决方法: yum install rpm-build /home/sunbin01/ceph/src/tools/setup-virtualenv.sh: l 阅读全文
posted @ 2020-09-27 11:49 苏格拉底的落泪 阅读(379) 评论(0) 推荐(0) 编辑
摘要: git remote系列命令 显示所有远程仓库: git remote -v 以下我们先载入远程仓库,然后查看信息 $ git clone https://github.com/tianqixin/runoob-git-test $ cd runoob-git-test $ git remote - 阅读全文
posted @ 2020-09-26 16:42 苏格拉底的落泪 阅读(88) 评论(0) 推荐(0) 编辑
摘要: ceph分布式存储-MON模块内部结构分析 Ceph Monitor PaxosService 阅读全文
posted @ 2020-09-23 16:45 苏格拉底的落泪 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 时间检查 参考资料 1. ceph-mon的timecheck机制 阅读全文
posted @ 2020-09-23 15:25 苏格拉底的落泪 阅读(258) 评论(0) 推荐(0) 编辑
摘要: centos7 安装gcc 8 注意:centos 8 默认安装gcc 8 在centos7安装gcc 11方法如下: yum install centos-release-scl yum install devtoolset-11-gcc devtoolset-11-gcc-c++ scl ena 阅读全文
posted @ 2020-09-22 23:00 苏格拉底的落泪 阅读(703) 评论(0) 推荐(0) 编辑
摘要: std::forward 完美转发 1. std::forward代码原型: template <class T> T&& forward(typename remove_reference<T>::type& t) noexcept { return static_cast<T&&>(t); } 阅读全文
posted @ 2020-09-06 20:48 苏格拉底的落泪 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 141. 环形链表 解法1: 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next( 阅读全文
posted @ 2020-04-20 11:06 苏格拉底的落泪 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 参考资料 1. Linux 查看某一个进程占用内存情况 阅读全文
posted @ 2019-06-26 19:11 苏格拉底的落泪 阅读(159) 评论(0) 推荐(0) 编辑
摘要: std::move std::move函数原型: template <typename T> typename remove_reference<T>::type&& move(T&& t) { return static_cast<typename remove_reference<T>::typ 阅读全文
posted @ 2019-05-11 14:07 苏格拉底的落泪 阅读(207) 评论(0) 推荐(0) 编辑
摘要: #include <pthread.h> #include <stdio.h> #include <unistd.h> void *func(void *data) { while (1) { printf("Speaking from the detached thread...\n"); sle 阅读全文
posted @ 2019-05-10 15:24 苏格拉底的落泪 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 内存分配方式 一、分配方式简介 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆:就 阅读全文
posted @ 2019-05-08 21:26 苏格拉底的落泪 阅读(315) 评论(0) 推荐(0) 编辑
摘要: const 阅读全文
posted @ 2019-04-24 15:08 苏格拉底的落泪 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 分 I/O复用 select和epoll区别 coredump?内存泄漏调试?gdb调试? 阅读全文
posted @ 2019-04-18 21:38 苏格拉底的落泪 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 就 http首部行; 1.0/1.1 阅读全文
posted @ 2019-04-18 21:37 苏格拉底的落泪 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 页面定制CSS代码 博客侧边栏公告(支持HTML代码)(支持JS代码) 博客侧边栏公告(支持HTML代码)(支持JS代码) 页首Html代码 页脚Html代码 阅读全文
posted @ 2019-04-05 15:00 苏格拉底的落泪 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 450. 删除二叉搜索树中的节点 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。示例 1: 输入: 阅读全文
posted @ 2019-04-04 13:33 苏格拉底的落泪 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 344. Reverse String 解题代码: 阅读全文
posted @ 2019-03-29 15:17 苏格拉底的落泪 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 83. 删除排序链表中的重复元素 解法1: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) { 阅读全文
posted @ 2019-03-29 11:38 苏格拉底的落泪 阅读(123) 评论(0) 推荐(0) 编辑
摘要: docker镜像迁移 1.将docker镜像导出为静态文件 :jeecg-boot:lastest为镜像名,lastest:镜像版本号, jeecg-boot.tar为新生成的静态文件名 docker save jeecg-boot:lastest > jeecg-boot.tar 2. 通过将sc 阅读全文
posted @ 2019-03-28 16:34 苏格拉底的落泪 阅读(209) 评论(0) 推荐(0) 编辑
摘要: C++ 编译器优化之 RVO 与 NRVO RVO 即 “Return Value Optimization”,是一种编译器优化技术,通过该技术编译器可以减少函数返回时生成临时值值(对象)的个数,从某种程度上可以提高程序的运行效率,对需要分配大量内存的类对象其值复制过程十分友好。NRVO 全称为 “ 阅读全文
posted @ 2019-03-27 19:03 苏格拉底的落泪 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 一、删除链表的倒数第N个节点 题目:19. Remove Nth Node From End of List 分析:典型的利用双指针法解题。首先让指针first指向头节点,然后让其向后移动n步,接着让指针sec指向头结点,并和first一起向后移动。当first的next指针为NULL时,sec即指 阅读全文
posted @ 2019-03-27 16:00 苏格拉底的落泪 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 线程创建 1.1 通过普通函数创建线程 1. 示例 #include <iostream> #include <thread> using namespace std; void func(int a, double b) { cout << a << ' ' << b << endl; } voi 阅读全文
posted @ 2019-03-27 15:00 苏格拉底的落泪 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 二、寻找旋转排序数组中的最小值 题目:153. Find Minimum in Rotated Sorted Array C++ Soution 1: 阅读全文
posted @ 2019-03-27 14:33 苏格拉底的落泪 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 二、相同的树 题目:100. Same Tree C++ Soution 1: 三、爬楼梯 题目:70. Climbing Stairs 分析: C++ Soution 1: 四、反转字符串 题目:344. Reverse String C++ Soution 1: 阅读全文
posted @ 2019-03-27 10:53 苏格拉底的落泪 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 快速排序的思想是这样的,如果要对数组区间 [p, r] 的数据进行排序,我们先选择其中任意一个数据作为 pivot(分支点),一般为区间最后一个元素。然后遍历数组,将小于 pivot 的数据放到左边,将大于 pivot 的数据放到右边。接着,我们再递归对左右两边的数据进行排序,直到区间缩小为 1 , 阅读全文
posted @ 2019-03-27 10:02 苏格拉底的落泪 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 583. 两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 = "sea", word2 = "eat"输出: 2解释: 第一步将 "sea" 变为 阅读全文
posted @ 2019-03-23 21:29 苏格拉底的落泪 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 5. 最长回文子串 解法: class Solution { public: string longestPalindrome(string s) { if(s.size() < 2) return s; string result; vector<vector<bool>> dp(s.size() 阅读全文
posted @ 2019-03-23 16:11 苏格拉底的落泪 阅读(234) 评论(0) 推荐(0) 编辑
摘要: bind用法(10) 1 using namespace std; 2 using namespace std::placeholders; 3 4 void f(int s1, int s2, int s3, int s4, int s5) 5 { 6 cout << "s1 = " << s1 阅读全文
posted @ 2019-03-20 20:44 苏格拉底的落泪 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 在multimap或multiset中查找元素 第二种方法解释: 输出结果: 阅读全文
posted @ 2019-03-13 17:10 苏格拉底的落泪 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 继承的构造函数 子类为完成基类初始化,在C++11之前,需要在初始化列表调用基类的构造函数,从而完成构造函数的传递。如果基类拥有多个构造函数,那么子类也需要实现多个与基类构造函数对应的构造函数。 1 class Base 2 { 3 public: 4 Base(int va) : m_value( 阅读全文
posted @ 2019-03-13 14:40 苏格拉底的落泪 阅读(639) 评论(0) 推荐(0) 编辑