- 博客(65)
- 资源 (1)
- 收藏
- 关注
原创 阿里云Ubuntu服务器无法ssh连接
今天由于安装apache导致服务器无法ssh连接解决如下#查看防火墙ufw app list#查看当前ufw状态ufw status#开启sshufw allow 'OpenSSH'
2021-08-02 22:02:31 244
原创 CSDN列模式编辑操作记录
首先ctrl+shift+alt + 上下箭头选中要编辑的列然后通过ctrl+ 左右箭头控制单词的移动通过ctrl+shift+左右箭头控制选中单词通过ctrl+x 或 ctrl+c 剪切或复制单词进入另一块列操作然后ctrl+左右箭头进入要插入的地方ctrl+v完成编辑我遇到的编辑情景 目的: "pages/index/index", "pages/category/category", "pages/goods_list/goods_list", "pages
2021-05-04 14:59:24 125
原创 改变vscode的代码折叠样式为+
在交流群一位大佬教的方法链接如下https://stackoverflow.com/questions/58073299/vs-code-folding-code-with-sign-instead-of-the-default-%E2%88%A8https://marketplace.visualstudio.com/items?itemName=ElAnandKumar.el-vsc-product-icon-theme安装两个插件教程都在第二个链接里了感谢那个大佬教我效果如下.
2021-05-04 12:35:17 1062 1
原创 含有sqlite3数据库的提取
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#include <netinet/in.h>#include<iostream>#include"sqlite3.h"using namespace st.
2021-04-19 20:02:59 424
原创 Makefile的简单编写
nameserver=servernameclient=clientserver:gccserver @./${nameserver}gccserver: @gcc server.c -o ${nameserver}client:gccclient @./${nameclient}gccclient: @gcc client.c -o ${nameclient}clean: @rm -rf *.o ${nameserver} ${nameclient}
2021-04-19 19:48:47 57
原创 c++的运算符重载
c++的运算符重载#include<iostream>using namespace std;class Myint{public: Myint(int num) { m_num = num; } void showNum() { cout << m_num << endl; } int getNum() { return m_num; } void setNum(int num) { m_num = num
2021-04-12 15:33:18 64
原创 解决端口别占用
在做socket udp编程时,强制停掉server会导致端口被占用解决方案命令行netstat -aon|findstr “端口”查到占用端口进程的PID后进入任务管理器,结束进程即可
2021-04-11 22:34:10 311
原创 crc C语言 && 硬件实现
今天遇到crc校验,因为逻辑电路图没有看太明白,就想要通过编程来熟悉这个过程,、然后与C语言写了一个产生crc编码的代码/* * @Author: zhifeiyu * @Date: 2021-04-02 18:22:45 * @LastEditTime: 2021-04-02 20:01:22 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \VS\计算机组
2021-04-02 20:04:36 156
原创 vim常用命令
跳转到文件行数vim a.txt +num基于单词的移动w,b,e,genw,nb,ne,nge文本选择框和选择区vib,vab,vi",va"移动hj,k,lnh,bj,nk,nl插入a,A,i,o,O跳转gg //跳转到首部G //跳转到尾部nG //跳转到n行撤销uctrl+r复制删除剪切dwdaw //多删一个空格ndd //剪切n行ywyawnyy //复制n行cwcawncc //删除n行并在原地插入==>ndd,i
2021-03-31 19:15:58 112
原创 map关于键盘的映射
1.列模式我的vim里ctrl+v是copy,与列模式冲突,我的列模式是ctrl+shift+b,太过繁琐,于是可以将其映射为Bnoremap <S-C-v> B2.运行,用于查看.vimrc是否生效map R :source $MYVIMRC<CR>3.简单的退出保存map S :w<CR>map Q :q<CR>4.配置上移下移行noremap J 5jnoremap K 5k5.回到行首行尾noremap H 0nor
2021-03-31 17:38:44 148
原创 我的第一次简单vi配置
let mapleader=" "syntax onset numberset cursorline "lineset wrapset showcmdset wildmenuset hlsearchexe "nohlsearch"set incsearchset ignorecaseset smartcaseset foldenable "argee foldset foldmethod=manual "manual folding set nocompatibleset
2021-03-31 16:35:28 67
原创 我的Ubuntu环境配置
ubuntu 18.04工具//管理员打开文件夹sudo apt install nautilus-adminnautilus -qsrs配置apt intall gitsudo apt install gcc make python p7zip-full -ycd srs-master/trunk/./configure && make//运行 ./objs/srs -c conf/srs.conf./scripts/stop.hFFmpeghttp://
2021-03-27 20:12:16 61
原创 NFA->DFA(不含空闭包)c++实现
完成不含空NFA到DFA的转换示例输入3 311 -11 2 -11 2 3 -121 2 -12 3 -11 2 3 -13-1-1-1示例输出/* * @Author: zhifeiyu * @Date: 2021-03-25 14:56:43 * @LastEditTime: 2021-03-25 15:54:26 * @LastEditors: Please set LastEditors * @Description: In User Settings
2021-03-25 15:59:31 540 1
原创 PHP图片缩放函数的实现
代码如下缩放图片并进行保存<?php //调用 $r = thumb("./1.jpg",'thumb',100,100); var_dump($r); //图片缩放 //地址,路径,缩放的宽高,前缀 function thumb($srcImage,$path,$w,$h,$pre='s_'){ //0.判断图片类型 //1.获取图片后缀.jpg .jpeg .png .gif $suffix = ltrim(strrchr($srcImage,'.'),'.');.
2021-03-14 19:57:44 131
原创 imagcreatefromjpeg找不到路径
imagcreatefromjpeg今天使用这个函数表示找不到文件,但我反复确定路径没有问题,最后发现是我的整体路径当中有一个文件夹里面使用了逗号,用英语重命名文件夹,问题就解决了使用这个函数一定要注意路径里是否有非法字符...
2021-03-14 19:55:33 79
原创 PHP验证码函数
今天做网页时发现需要使用php里面的验证码函数,照猫画虎写了一个,默认用的是系统字体,可以通过修改fontfamily路径使用自定义字体<?php //$fontFamily = 'C:\phpstudy_pro\WWW\shop15.com\shop15\home\msyh.ttf'; //vcode($fontFamily); vcode(); //函数验证码 //参数:字体,宽,高,验证码字符数 function vcode($fontFamily = '',$w = 100,$h
2021-03-13 16:26:27 147
原创 关于负数补码转换为原码的思考
今天关于(负数)补码为啥是符号位不变,其余位取反加一转换为原码比如1 0101取反1 1010+1 1 1011其实(10101)补 = -(10000)原 + (00101)这里注意下面都用原码表示10000 = 01111 + 00001由于是最后结果一定是负数所以必定为1xxxx的形式那么,我只有计算出后面正的xxxx即可所以求正数10000-00101变一下01111+00001-00101去掉第一位1111-0101+0001显然1111-0101就是对0101取反
2021-03-09 14:33:30 1095 1
原创 有趣的网站效果搭建
这里打算放一些我认为比较有趣的人家搭建的网站,我打算照猫画虎哈啊哈哈1.这里面有一个小人https://www.cnblogs.com/Smileing/p/11552961.html
2021-02-17 10:53:26 211
原创 解决无法引用sqlite库的问题
sudo apt-get install libsqlite3-dev然后gcc program.c -o executable -lsqlite3./executable参考网站https://stackoverflow.com/questions/9389344/error-undefined-reference-to-sqlite3-open
2021-02-15 12:21:47 472
原创 Apache 没法start
/etc/init.d/apache2 start在安装好Apache2后执行上面的命令,或者start换成restart,出现报错apache2.serviceJob for apache2.service failed. See “systemctl status apache2.service” and “journalctl -xe” for details.failed!经过查找资料运行下面两条语句就可以解决这个问题sudo apt-get install psmiscsudo ls
2021-02-14 19:50:08 212
原创 直接创建数组与malloc申请内存创建数组
有关直接创建数组与通过malloc二级指针创建数组的区别如果是直接创建的,那么函数引用时形式为matrix[][col],倘若是通过指针申请的,那么函数可以直接引用(int** matrix)至于为什么,不太明了首先理解:直接创建的数组matrix[][]之所以需要col,是因为寻找matrix[i][j]是通过寻觅*(matrix+i*3+j)去确定数据的位置的,那么作为晕了1.二维数组是一个一维指针数组以及若干一维数组共同构成的2.#include<stdio.h>#inc
2021-01-29 09:10:30 970
原创 爬取文章
import requestsfrom lxml import etreefrom bs4 import BeautifulSoupimport osresp = requests.get('http://www.748219.com/')resp.encoding = 'utf-8' #编码方式#print(resp.text)book = resp.texthtml = etree.HTML(book)#提取详情页链接book_url = html.xpath('//div[@
2021-01-28 21:54:43 113
原创 剑指offer面试题11
学到了//比照书上敲的代码,数据比较难看int minArray(int* numbers, int numbersSize){ if(numbersSize <= 0 || numbers == NULL)//invalid input exit(-1); int left = 0; int right = numbersSize-1; int mid = (left+right)/2; /*考虑单调数组*/ if(numbers.
2021-01-28 16:14:17 75
原创 剑指offer面试题10
//这种思路是避免递归,1其实也可以fib[n]=fib[n-1]+fib[n-1],不过需要多使用一些空间int fib(int n){ int result[2] = {0,1}; if(n < 2) return result[n]; //fib3 = fib1+fib2 int fib1 = 0; int fib2 = 1; int fib3; int modnum = 1e9+7; for(int i = 2;
2021-01-28 15:06:50 45
原创 剑指offer面试题09
一个很大的收获是对于函数内调用free的认识加深引用指针是在栈中复制了一个与原指针相同的镜像,但是二者都是指向同一片空间,free只需要通过参数得到空间的地址,因此效果是一样的,而创建链表时,修改了指针参数,free函数本质上没有修改指针参数#define STACK_SIZE 10001typedef struct { int stack1_len; int stack2_len; int* stack1; int* stack2;} CQueue;CQue
2021-01-27 18:40:30 49
原创 面试题7:重建二叉树
面试题7题目给定前序与中序,依此返回树/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */struct TreeNode* buildTree(int* preorder, int preorderSize, int* inorder, int inord
2021-01-19 21:52:11 54
原创 面试题6:从尾到头打印链表
面试题6int* reversePrint(struct ListNode* head, int* returnSize){ if(head == NULL ) { *returnSize = 0; return NULL; } int nums = 0; struct ListNode* temPtr = head; while(temPtr != NULL) { nums++; te
2021-01-17 16:20:45 54
原创 面试题5:替换空格
代码有点冗长关于realloc,只能在堆上追加内存,不能在栈上追加,所以我一开始打算用realloc就出了大问题,原数据应该是直接初始化的,在栈上,然后malloc申请的内存不因函数结束而被释放,因为在堆中,千万不能画蛇添足加free,否则这片空间就变成无主之地了char* replaceSpace(char* s){ if(!s) return NULL; //无输入 int i,j; int length = strlen(s); //字符串长度 int space
2021-01-17 14:42:33 58
原创 面试题4:二维数组中的查找
面试题41.从右上角或者左下角开始删除行与列2.或者这样理解从左下或右上出发,不妨从左下出发,规定只能往右和上前进,无路可走则查找失败bool findNumberIn2DArray(int** matrix, int matrixSize, int* matrixColSize, int target){ int row,col,row0,col0; row = matrixSize; col = *matrixColSize; /*从右上角开始排除*/ r
2021-01-17 11:37:53 85
原创 面试题3:数组中重复的数字
思路1:创建一个数组,将原数组元素当做下标统计次数int findRepeatNumber(int* nums, int numsSize){ int nums_harsh[numsSize]; /*init nums_harsh*/ for(int i = 0;i < numsSize;i++) { nums_harsh[i] = 0; } /*count times*/ for(int i = 0;i < numsSi
2021-01-16 21:57:57 58
原创 爬
爬图可以多学习爬虫今天弄了个爬图片的代码照猫画虎,能用,最后学习一些能爬动网的爬虫技术import osimport reimport requestsimport timeheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}web = 'https://www.v
2021-01-14 21:11:00 92
原创 python正则表达式简单163邮箱
import re#邮箱前缀部分的规则是6~18个字符,可使用字母、数字下划线,需要以字母开头#1234567891234567890@163.commail_rule = re.compile('^[a-zA-Z]\w{5,17}@(163\.com)$')mail_name = input("please input the mail name:")result = mail_rule.search(mail_name)if result != None: print('right
2021-01-13 21:28:28 581
原创 KMP及其优化C语言代码
马上就要考试了,又看了一遍KMP算法,发现之前自己理解的和老师讲的不太一样,于是有总结了一下老师讲的,并添加了老师的优化算法next数组有两种理解方式,一是之前说的模式串长度为 i 的最长相同前后缀长度为next[i]的值,另一种就是当我的模式串与原串匹配时,模式串i与原串j位置匹配失配,那么原串的j肯定还是要匹配的呀,i已经不行了,那么就换next[i]上老师PPT就是这个意思算法如下#include <stdio.h>#include <stdlib.h>#d
2020-12-27 12:58:56 173
原创 KMP算法理解C语言
前天解除KMP算法,今天磕磕绊绊编了出来,讲一下我自己的理解吧分为以下几点首先,明白执行过程比如例子Aabbabaabaaba例子Babcabedfghabcabhjabcabhj上面是子串,下面是模式串,用i指向子串的字符,j指向模式串的字符避免回溯,就是避免i回退,这样效率就高指针都从0开始,i=0,j=0我们需要弄清楚执行过程,以B为例第一次比较abcabedfghabcabhjabcabhj第二次比较abcabedfghabcabhjaaaaaxxxabcabh
2020-12-24 20:36:07 111 3
原创 森林与二叉树的转换
记住一个原则对于森林来说,左子是孩子,右子是兄弟那么转换就很简单了推理:孩子的兄弟依旧是孩子那么森林 —> 二叉树所有父母与左子的右子连接,左子的右子的右子连接……)因为左子与右子,左子与右子的右子都是兄弟嘛,自然都是父母的孩子,然后把原本所有父母与右子的连线断开二叉树到森林兄弟相连,右子断开2020 12.18...
2020-12-18 08:59:48 91 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人