自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Donald Su

博客

  • 博客(198)
  • 资源 (2)
  • 收藏
  • 关注

原创 centos环境提示「openssl/ssl.h: No such file or directory」解决方法

文章目录问题描述解决方法相关问题openssl-devel安装过程中报错参考问题描述在docker镜像(centos系统)中,编译代码时,有如下错误fatal error: openssl/ssl.h: No such file or directory#include <openssl/ssl.h> // SSL_*解决方法找不到 openssl/ssl.h 头文件是因为 openssl-devel 缺失导致的,安装该库即可,可用如下命令:s

2022-02-24 21:54:54 10683

原创 glog保留指定文件个数相关总结

相关需要总结的点:采用multimap进行扫描,采用queue进行存放,这样一个选型路径的演变过程最开始同步 glog 0.5.0 中的方法,但发现其比较复杂,同时 专注 保留天数和文件个数,发现并不需要天数了,只要个数 + 个数的大小进行限制就能解决这个问题后面采用 multimap 进行存放,但由于不想 遍历 dir,所以在write中 scan一次,也导致了问题(写的时候会添加进map中,但scan时又会添加一次,但multimap支持这样的情况,即如下代码:)再后面代码review时提出

2022-01-14 22:25:30 1450

原创 K6压测工具相关总结

K6压测工具:能够利用Go的性能优化,也就意味着内存利用率大大降低,k6中的一个线程不会超过100kb,而JMeter使用的JVM线程则需要默认1MB,是k6的十倍。负载测试工具运行虚拟用户的最简单也是最常见的方法是将一个虚拟用户分配给一个内核或操作系统线程,一个线程一个虚拟用户模式存在严重缺陷,当虚拟用户正在等待响应或正在执行sleep()命令时,线程会被阻止,无法运行其进程。在k6中,每个虚拟用户都在goroutine而不是线程上运行,这有什么区别呢?goroutines可以.

2021-09-29 11:36:19 7176

原创 Ubuntu 20.04 server不能ping,提示“Temporary failure in name resolution”的解决方法

安装了虚拟机,发现不能 ping 域名,如 ping qq.com,提示 在这里插入代码片Temporary failure in name resolution。但可以 可以 ping ip, 如:ping 8.8.8.8。问题类似于:【Ubuntu 20.04 server: Temporary failure in name resolution (LAN only)】文章目录1、相关尝试1-1、修改 `/etc/netplan/00-installer-config.yaml` 文件1-2、.

2021-08-28 22:48:06 55619 9

原创 C++获取文件名(去除后缀)的方法

文章目录1、strtok函数 -- C string函数使用strtok获取文件名strtok函数相关说明2、string相关函数 -- C++ STL 函数关于string中 find_last_of 和 rfind的比较参考:编码中有可能会遇到给定的是含文件后缀的文件全名,如果只展示、输出文件名,需要进行一些处理。以下说的c string函数需要 #include <cstring>;C++ STL string需要 #include <string>1、strtok

2021-08-23 23:39:25 6733

原创 Mac下MySQL常用操作

1、启动、重启、停止、查看 MySQL状态sudo /usr/local/mysql/support-files/mysql.server startsudo /usr/local/mysql/support-files/mysql.server stopsudo /usr/local/mysql/support-files/mysql.server restartsudo /usr/local/mysql/support-files/mysql.server status2、重置密码长时间

2021-08-11 23:46:37 722

原创 利用SQL将查询到的string值分离,以及python实现导出csv文件方法

文章目录1、问题描述2、解决方案2-1、存储过程或函数 -- 待完成2-2、借助python实现2-3、利用MySQL自带函数3、反向操作(多行内容合并)1、问题描述最近一小伙伴需要做一个SQL查询操作:获取到两列A、B,B是一个string,string以,分隔,需要将B拆封,显示 A,B1;A,B2…类似于下面的操作:ps:根据自己对SQL的认识,不使用SQL 函数的情况下很难做到,如果是将查询结果导出,再利用python脚本这种分离非常容易实现。2、解决方案查了一些相关资料

2021-08-11 23:10:26 802

原创 Confluence修改默认语言

最近打开Confluence,默认的是英文,导致在写wiki时部分内容找到,所以需要修改默认语言。通过如下操作即可实现默认语言的修改:在Confluence站点中,点击右上角的 头像,然后选择 Settings在...

2021-08-10 20:58:43 5017

原创 Nebula Graph编译过程总结

编译过程中遇到的错误:1、 提示『c++: fatal error: Killed signal terminated program cc1plus』错误可能会出现程序编译失败的情况,提示『c++: fatal error: Killed signal terminated program cc1plus』错误,如下所示原因分析:查了一些资料,最后发现主要原因是g++编译时需要大量内存,导致内存不足。我编译时,为了加快速度,采用了make -j8 进行编译,但由于是虚拟机中,所以给其分配

2021-08-05 00:21:41 805

原创 牛客网算法之字符串变形

面试中遇到了一个题目:『字符串变形』,后面发现是牛客网原题。题目描述:对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形。首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把着个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。比如"Hello World"变形后就变成了"wORLD hELLO"。输入描述给定一个字符串s以及它的长度n(1≤n≤500)输出描述请返回变形后的字符串。题目保证给定的字符串均由大小写字母和空.

2021-07-05 22:16:34 718

原创 结合CSAPP两个习题说明mmap使用方法

从【man mmap】中可以看到该函数的定义。习题9.14:从文件中读取,然后写入。#include <iostream>#include <fcntl.h>#include <unistd.h>#include <sys/mman.h>using namespace std; int main(int argc, char* argv[]){ int fd = open(argv[1], O_RDWR); // s

2021-07-05 21:49:25 759

原创 【整理完善】vector的erase和remove的区别

首先,vector中并没有remove成员方法,这里说的remove是STL算法中的remove函数vector的erase和remove的区别知道erase,以及存在的问题,会导致迭代器失效⁉️但remove原理真的忘记了,不知道查找了下,remove是std中的算法,vector中没有该方法,两个区别挺大的,因为remove只是移动,并不删除具体,看一下remove的实现就明白了:https://www.cplusplus.com/reference/algorithm/remove/S

2021-07-01 23:57:06 1259

原创 Mac下brew安装软件相关总结

文章目录采用homebrew安装brew安装慢的解决采用homebrew安装以boost库安装为例:安装命令如下所示:brew install boost #安装boostbrew search boost #查看有那些可安装版本brew list boost #查看本机安装boost所在路径brew安装慢的解决...

2021-06-08 04:07:23 515

原创 Mac下vscode配置boost include路径

这里写自定义目录标题配置方法boost库安装方法最近代码开发需要用到boost,需要对齐进行配置,发现通过brew安装的boost不能链接到,网上找了一些方法,但发现不适用,所以自己进行了相关摸索,以下是相关总结。info:vscode 版本:1.56.2boost库版本:1.75配置方法先利用 brew list boost命令找到,本机安装boost所在路径,以下是自己的路径:/usr/local/Cellar/boost/1.75.0_1然后进行如下步骤:打开设置通过键入i

2021-06-08 04:07:17 2490 1

原创 MySQL数据库常见操作命令

创建表创建表时进行判断CREATE TABLE IF NOT EXISTS删除表中的 唯一索引IF语句只能用在存储过程中,见官方文档:An IF … END IF block, like all other flow-control blocks used within stored programs, must be terminated with a semicolon, as shown in this example:from 【IF Statement】在执行新表创建,特别是批

2021-03-13 21:30:09 608

原创 各Linux系统版本信息查看方法

文章目录ubuntu、centOS1. 查看系统distribution信息2. 查看内核版本3. CentOS 查看版本信息Redhat系统其中一个比较通用的方法:使用ls /etc/*release命令,找到当前系统的release versions,之后使用 cat /etc/xxx-release方法进行查看。ubuntu、centOS1. 查看系统distribution信息lsb_release -a该命令的作用为print distribution-specific infor

2021-03-09 19:12:27 1497

原创 Redhat网卡重启失败,提示“Failed to start LSB: Bring up/down networking”

今天打开Redhat机器,发现IP失效了,不能登录,经过下面的折腾,终于解决问题。已经做过的尝试:ip addr查看地址,ens33显示无效IP关闭NetworkManager:systemctl disable NetworkManager.service关闭 NetworkManager.service服务,之后使用 chkconfig NetworkManager off命令,使用chkconfig --list|grep NetworkManager检查NetworkManag

2021-03-09 19:02:44 4220

原创 MySQL报错1075: Incorrect table definition; there can be only one auto column and it must be defined *

MySQL中,添加联合主键时,执行SQL语句时,报错:ERROR 1075: Incorrect table definition; there can be only one auto column and it must be defined as a key。以下是我遇到的问题场景,其他同学场景基本上都类似(涉及到自增列),可以直接跳到“解决方法”部分阅读,查看该问题发生的本质原因以及解决方法。文章目录1、问题发生场景2、解决方法3、参考1、问题发生场景如下数据表中,将原主键modu..

2021-01-21 20:10:14 29318 2

原创 Mac虚拟机默认IP段修改 & 端口映射方法

文章目录VMware配置创建Nat网络修改Nat网络配置虚拟机网络配置虚拟机内配置IP端口映射VMware配置创建Nat网络通过如下步骤配置Nathan网络:VMware Fusion > Preferences,选择Network打开的界面如下所示:1、点击小锁,输入密码 ==> 下面12、点击“+”,就会弹出vmnet2/3等(我这里为vmnet3) ==> 下面2、3所示3、在弹出的框中勾选“允许该网络上的虚拟机连接到外部网络(使用NAT)”和“将Mac主机连接到

2021-01-18 20:26:00 2093

原创 UTF-8转换为GBK编码

直接进行转码std::string zmq_client::Utf8ToGbk(const char *src_str){ int len = MultiByteToWideChar(CP_UTF8, 0, src_str, -1, NULL, 0); wchar_t* wszGBK = new wchar_t[len + 1]; memset(wszGBK, 0, len * 2 + 2); MultiByteToWideChar(CP_UTF8, 0, src_str, -1, wszGBK

2020-12-21 17:13:15 4260

原创 UltraEdit打开文件,中文显示为乱码的解决方法

info:UltraEdit版本 27.10.0.132问题:打开文件,其中中文显示为乱码解决方法:修改编码格式。高级 – 设置 – 编码 – 默认编码格式如果经过如上操作还是显示乱码,也可以字节进行转换,操作如下:...

2020-12-02 15:29:06 11389 2

原创 如何查看win、Linux某端口占用的具体进程

文章目录1. Windows1.1 使用netstat命令1.2 通过工具查看 -- Process Hacker 22. Linux2.1 使用netstat命令使用lsof命令 -- 支持Mac1. Windows1.1 使用netstat命令win+R 调出命令窗口(或者 开始 -- 运行 -- cmd)查找被占用端口进程的PIDnetsstat -aon | findstr 15203,即用到neststat,并用findstr进行查找查找PID对应的进程名tasklist

2020-12-01 19:57:51 685

原创 VS(Visio Studio)相关配置总结-以VS2017为例

一些VS中的宏,如果不知道,可以点击宏进行查看(可以自己编辑,确认无误后,修改)。修改编译文件输出文件夹增加/修改include路径项目属性 — 配置属性 — VC++目录 — 包含路径,如下图中的1增加/修改库路径项目属性 — 配置属性 — VC++目录 — 库路径,如下图中的2配置附加依赖库属性 — 链接器 — 输入 — 附加依赖项,如下图所示遇到的一些问题:修改路径的过程中,发现提示“LINK : fatal error LNK1104: 无

2020-11-30 19:47:46 1271

原创 【待完善】docker常用命令整理

1、docker命令:Docker用户需要sudo权限,可以把用户加入docker用户组,避免每次都输入sudo:sudo usermod -aG docker $USER显示、删除docker镜像# 列出本机的所有 image 文件。docker image ls# 删除 image 文件docker image rm [imageName]docker rmi [imageName] #同于上一条命令image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照

2020-10-22 18:08:56 799

原创 【待完善】一个面试题-- int a = ‘(int)(((int *)0)+4) ’的值是多少?

int a = (int)(((int *)0)+4); 的值是多少?You can get 16, but you can also get a crash.自己算出来是 4,但是值不对,给定的是16,没看清楚是咋回事,同时看到涉及到内存,说了会报错,但是没正面回答其值是多少。最后情况在自己的程序中进行验证,本地确实报错,都没能编译通过。验证了下,用gcc编译有warning(执行结果为 16),用g++是直接出错,不能通过。解释:将(int *)0把整数0强制转换为int *型执.

2020-10-17 15:05:15 781

原创 C++ 输入一行数字(未知个数),对其进行解析(string分割函数 split)

笔试中如果遇到这种,特别麻烦,有时候可能会被在一些细节处出问题,现总结如下。文章目录1、利用“cin + getchar()”2、利用“std::getline() + STL”3、通用代码(多种分隔符的情况)1、利用“cin + getchar()”输入一行,并以空格隔开,空格处理可以留给cin去除,getchar主要判断是否换行(输入结束),代码如下:vector<int> vecint num;while (cin >> num){ vec.push_.

2020-10-14 22:49:59 4672

原创 【待完善】单例模式实现方法

写一个单例模式,自己开玩笑说,还好说的是单例模式,如果是其他模式。。。哈哈哈先说了下思路,后面开始写了一个无锁的单例模式完成后,问这个单例模式存在什么问题? — 不能适用于多线程写了后,后面又提示还有什么问题?如果有多个线程在这里等着,会存在那些问题,然后补上了剩下的代码下面代码中,2、3是根据提示完成的class Sigleton{private: Sigleton(){} static Sigleton *m_pInstance; static mutex.

2020-10-07 21:40:37 708

原创 pthread_once使用 -- 仅初始化一次

文章目录1、函数原型:2、pthread_once_t、PTHREAD_ONCE_INIT定义3、代码实例:4、应用 & 参考1、函数原型:int pthread_once(pthread_once_t *once_control, void (*init_routine)(void));pthread_once的作用为,在给定once_control的情况下,在整个程序中仅调用一次init_routine(在多线程中具体哪一个线程执行不一定)。如果再次调用,pthread_once将不会调

2020-10-07 21:39:29 1928

原创 剑指offer-二进制中1的个数

除法运算效率较低,所以在编程中,尽可能地用移位来代替除法。这个题目中的class Solution {public: int NumberOf1_dead(int num) { if(num == 0) return 0; int cnt = 0; while(num >= 1) { //if(num % 2 != 0) 比较低效,用位运算 .

2020-09-22 22:23:15 625

原创 当fork遇上for循环的问题分析 & fork函数

文章目录Q1:以下代码会输出几个'-'?Q2:以下代码会输出几个'-'?fork函数Q1:以下代码会输出几个’-’?首先看个面试题:以下代码会输出几个’-’?#include <iostream>#include <unistd.h>int main(){ for (int i = 0; i < 2; i++) { fork(); printf("-\n"); } return 0;}

2020-09-16 16:31:28 2036

原创 Kali历史版本下载地址

最新版本下载地址:https://www.kali.org/downloads/1. 历史版本下载地址下载地址:http://old.kali.org/kali-images/建议使用迅雷下载,而不要使用浏览器下载的方式。浏览器下载太慢了。迅雷下载速度:2. 【kali 国内源 与 apt-get update 报错-GPG error的解决方案】解决方法: 下载最新key添加到keylistwget -q -O - https://archive.kali.org/archive-ke

2020-08-28 11:08:21 6829

原创 Chrome浏览器添加自定义搜索引擎-快速进行站内搜索

在使用Chrome时,设置了默认搜索引擎后,如果要切换搜索引擎比较麻烦。下面介绍一种通过关键字快速切换Chrome搜索引擎的方法。打开 “设置” --> “搜索引擎” --> “管理搜索引擎”修改关键字点击1,修改关键字就可以了。...

2020-08-16 10:45:32 10073 2

原创 Kali下不能安装pip3问题的解决方案

Kali最新的版本(2020.2)中安装的是是py3.8,只能安装tf2+。下面先说一下通常的解决方案,这也是Google出来最多的解决方案:更新源,重新安装。也就是下面的1~3步骤,但自己的问题并未解决,最后采用终极解决方案,终于解决问题,成功安装pip3。1、问题描述Kali老版本(4.12.6-1kali6 (2017-08-30))中,使用apt-get install python3-pip安装pip3,安装失败,提示:E: Unable to locate package python.

2020-07-30 00:37:38 3830

原创 ssh连接出现Permission denied, please try again.

使用ssh进行连接,账号密码都没问题,但提示:Permission denied, please try again.(在密码不对的情况下也是该提示)。为了确保密码输入无误,自己修改了新密码,测试后还是不行。在server上,进行ssh 127.0.0.1测试,一样的提示提示:Permission denied, please try again.解决方法vim /etc/ssh/sshd_config打开文件后,在其中添加PermitRootLogin yes,保存退出重启ssh服务:se

2020-07-29 17:35:02 7604

原创 Mac下FileZilla修改特定后缀文件的默认打开方式

用FileZilla编辑远程的文件时,对于py脚本,自动调用Mac上的文本编辑器,没有任何颜色区分,非常不习惯,所以需要修改为自己习惯的编辑器。自己习惯以vscode查看和编辑py脚本,本文以此为例。打开设置:编辑 --> 设置快捷键:cmd + ,打开界面中点击“文本编辑” ,选择“不使用默认编辑器”,即下面的1、2点击上图中的3:“文本格式关联”,将出现下面的自定义格式关联,然后进行编辑,根据自己的偏好进行设置。关联格式的注意事项py "/Applications/

2020-07-27 17:52:45 1613

原创 【待解决】使用su或sudo出现Segmentation fault

一台服务器上,使用sudo会出现Segmentation fault,见下:使用root登录后,使用su命令,一样的会出现Segmentation fault。暂时还未找到答案。相关问题:Segmentation fault after sudo commandsSegmentation fault on root logincan’t “su” to root user - segmentation fault...

2020-07-23 20:50:10 3180 2

原创 使用pip安装TensorFlow & 相关问题

0. 前言TensorFlow 2 软件包现已推出tensorflow:最新稳定版(适用于 Ubuntu 和 Windows),**支持 CPU 和 GPU **(CPU、GPU版本已经合并)tf-nightly:预览 build(不稳定)。Ubuntu 和 Windows 均包含 GPU 支持。旧版 TensorFlow对于 TensorFlow 1.x,CPU 和 GPU 软件包是分开的:tensorflow==1.15:仅支持 CPU 的版本tensorflow-gpu==1.1

2020-07-23 20:00:39 5694 2

原创 彻底解决【“curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused”】错误

用如下命令下载安装msf时,提示curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refusedcurl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall &

2020-07-21 10:17:59 48118 3

原创 Mac启动Cobalt Strike遇到的问题

使用./teamserver 172.16.237.172 admin命令启动CS的服务端,提示Superuser privileges are required to run the team server。出现上诉错误是因为CS运行需要sudo权限,在./teamserver 172.16.237.172 admin命令前加上sudo,即sudo ./teamserver 172.16.237.172 admin,但自己执行后提示sudo: you do not exist in the passwd

2020-07-02 21:21:27 4032

原创 MacOS Catalina下使用gdb进行调试遇到的几个问题

相关版本MacOS版本:10.15.3GNU gdb (GDB) 9.1issue-1:run之后停止进入gdb,打好断点,运行,运行起来后,有如下日志,Starting program: /Users/franzkemmerich/work/42_school/test/a.out[New Thread 0xd03 of process 1661]之后不能继续执行,只能通过ctr+z让该程序在后台运行,之后使用kill命令杀掉该进程。然后再次进入,有可能就运行正常了。问题和 【(gd

2020-06-13 22:42:40 1904

C程序设计语言(第2版_新版)习题解答.pdf

C程序设计语言(第2版_新版)习题解答.pdf

2014-09-11

C语言100个算法经典例题.pdf

本书中例题详细,适合刚接触c语言的初学者用于提高使用

2014-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除