自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(187)
  • 收藏
  • 关注

原创 解决Windows下Goland的Terminal设置为Git Bash失败

把bash路径加进去试试。

2024-01-21 10:39:03 566

原创 Digital Audio (HDMI)未插入 用Hdmi连接电脑 显示高清数字音频未插入 win10电脑没声音,喇叭上一个叉❌

首先使用系统工具扫描一下,根据建议尝试解决一次。

2024-01-11 08:05:37 2591

原创 【网络】SNAT和DNAT

在网络通信中,当外部网络的主机向内部网络发送数据包时,数据包的目标IP地址会被修改为内部网络的某个主机的IP地址,从而实现数据包的路由。在网络通信中,当外部网络的主机向内部网络发送数据包时,数据包的目标IP地址会被修改为内部网络的某个主机的IP地址,从而实现数据包的路由。当外部网络的主机需要访问内部网络的资源时,数据包的目标IP地址会被修改为内部网络的某个主机的IP地址,从而实现数据包的路由。如果外部网络的主机需要访问内部网络的资源,就需要使用DNAT技术将外部网络的请求路由到内部网络的某个主机上。

2023-04-08 15:40:52 1989 1

原创 剑指 Offer 30. 包含min函数的栈

coding

2023-02-15 21:28:16 141

原创 常用邮件服务器支持端口及加密方法实测

smtp服务

2022-08-03 15:26:23 479

原创 系统调用id对照表syscall=

syscall id

2022-03-28 10:42:34 833

原创 docker基本命令及使用实例

docker基本命令

2022-03-27 23:04:12 6821

原创 command ‘leetcode.signin‘ not found

安装了node.js还不行的话win+rcmdpath看下node.js在哪里path不对,一定要是.exe结尾最后用cookie登录就好了

2022-03-12 00:40:41 5277 2

原创 用BeautifulSoup出现错误TypeError: __init__() got an unexpected keyword argument ‘strict‘

看了下BeautifulSoup的代码出错位置;主要原因是BeautifulSoup和版本不兼容在终端打这个命令就行pip install --upgrade beautifulsoup4如果还不行就升级下python的版本。

2022-03-03 00:37:19 840

原创 【证书】操作大全--证书生成、格式转化、合并、导出、校验

一1.生成秘钥key,运行openssl genrsa -out server.key 20482.创建服务器证书的申请文件server.csr3.执行如下命令,生成凭证crt文件openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt二1.pem 转换成 crtopenssl x509 -in example.pem -out example.crt2.crt 转换成 pemope

2021-10-10 23:20:05 1270

原创 【亲测可用】crt证书转换为pem格式

openssl x509 -in ca.crt -out ca.pem -outform PEM

2021-09-02 17:21:01 10116

原创 【Python学习笔记】----让你的代码更pythonic

# -*- coding:UTF-8 -*-# pythonic"""# 对某个范围进行迭代for i in range(6): print (i**2)# 生成器更加高效for i in xrange(6): print (i**2)"""# 迭代一个集合colors = ['red','green','blue','yellow']names = ['raymond', 'rachel', 'matthew']"""for i in range(len(colors)

2020-12-14 20:21:17 145

原创 【Python学习笔记】----简略版高阶用法

用于记录高阶教程,需要有一门其他语言作为基础理解# -*- coding: UTF-8 -*-# 类"""class Parent: parentAttr = 100 def __init__(self): print ('调用父类的构造函数') def parentMethond(self): print '调用父类的方法' def __setattr__(self, value): Parent.parentAttr

2020-12-14 16:54:17 113

原创 【Python学习笔记】----1000行代码,入门Python

用于记录python的基本语法熟能生巧# coding=GBK# ---- 2020/11/23 9:00 小锋锋学python start----"""# 转义符print ('hello\nworld')print('hello\tworld')print ('hello\rworld')# 防止转义print (r'hello\rworld')import keywordprint(keyword.kwlist)name='小锋锋'print('值',name.

2020-11-25 19:29:18 888

原创 【栈】----栈的压入、弹出序列

1.题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)2.代码class Solution {public: bool IsPopOrder(vector<int> pushV,vector<int> popV)

2020-10-10 00:34:48 260

原创 多路转接IO(select poll epoll )

1.IO类型四种典型IO:阻塞,非阻塞,信号驱动,异步IO阻塞:发起IO调用,如果IO就绪条件不满足,就一直等待非阻塞:发起IO调用,如果IO就绪条件不满足,就立即报错返回。信号驱动:定义IO信号的处理方式,然后可以处理其他的事情,等待收到IO就绪信号的时候,立即去处理IO(自己处理)异步IO:IO顺序不确定,发起IO,然后将给系统处理,最后通过信号通知进程。(交给系统处理)可读事件:一个描述符当前是否有数据可读可写事件:一个描述符当前是否有可写入的数据异常事件:一个描述符是否发生了某些异常

2020-09-23 00:51:20 127

原创 【动态规划】----矩阵覆盖

1.题目我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法:2.代码class Solution {public: int rectCover(int number) { //f(n) = 2*f(n-1)+1;//1-1 2-2 3-3 4-5 5-9 int *dp = new int[number+1]; dp[0] =

2020-09-10 23:45:18 345

原创 【动态规划】----跳台阶

1.题目一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。2.代码class Solution {public: int jumpFloor(int number) { //状态递推 //F(N) = F(N-1)+F(N-2) int *dp = new int[number+1]; //初始值 dp[0] = dp[1] = 1;

2020-09-10 17:11:28 183

原创 【Linux学习笔记】----多线程(进程/线程概念、线程控制、同步与互斥、锁、生产者与消费者模型)

1. 进程线程概念例子:工厂工人加工零件,一个工厂同时只有一个工人干活(单进程),如果需要同时加工多 个零件。1.多建厂房,一个厂房至少一个工人2.一个厂房,多招几个工人什么是进程?进程是操作系统资源分配的基本单位什么是线程线程是CPU调度的基本单位,是进程中的一条执行流,一个线程对应一个pcb,所以线程也成为轻量级进程。线程之间的独有与共享独有:栈、信号屏蔽字、errno、优先级、标识符、寄存器共享:虚拟地址空间、文件描述符、信号处理的回调函数,用户ID/组ID/工

2020-09-06 17:44:07 170

原创 【Linux学习笔记】----生产者与消费者模型(基于信号量实现,基于互斥锁条件变量实现)

1.基于条件变量和互斥锁代码展示/*================================================================ * Copyright (C) 2020 Sangfor Ltd. All rights reserved. * * 文件名称:productor_customer.cpp * 创 建 者:caofeng * 创建日期:2020年09月05日 * 描 述:生产者消费者模型 * ======

2020-09-06 17:42:46 241

原创 【数】----树的子结构

1.题目输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)2.代码/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: bool _HasSubtree(TreeNode*

2020-09-05 16:31:02 96

原创 【Linux学习笔记】----进程信号(分类、相关函数)

1.分类概念信号是一个软中断,用于实现进程事件的通知,打断当前操作,去处理这个事件产生硬件:ctrl+ z(停止)/ctrl+c(退出)/ctrl+|软件:kill -signum pid、kill(pid,signum)、raise(signum)、abort()给自己发送SIGABRT信号alarm(seconds)定时器给自己发送SIGALRM信号分类非可靠信号:1-32号可靠信号:34-64号注册向pcb中的sigqueue中添加新结点,并且修改pendin

2020-08-24 00:13:41 126 1

原创 【C++学习笔记】----C++类型转换(static_cast、reinterpret_cast、const_cast、dynamic_cast)

1.C语言类型转换主要代码void test_c(){ //隐式类型转换 int i = 1; double d = i; printf("i = %d ,d = %.2f\n", i, d); //显式类型转换 int *p = &i; int address =(int)p; printf("p = %p , address = %d\n", p, address);}隐式类型转换可能会出现精度丢失的情况,是有编译器完成显式类型转换是强转得到,代码不够清晰

2020-08-21 00:29:59 122

原创 【链表】----单链表冒泡排序

1.题目请实现list_sort,使用冒泡法将head指向的链表按val值大小排成升序struct node {int val;struct node *next;};void list_sort(struct node *head){}输入描述:第一行为数据个数 第二行为输入的数据,以空格进行分隔输出描述:输出head指向的链表数据,以空格分隔示例1输入1210 22 2 5 9 8 1 33 4 6 7 9输出1 2 4 5 6 7 8 9 9 10 22 332.

2020-08-20 18:22:12 258

原创 【链表】----反转链表

1.题目输入一个链表,反转链表后,输出新链表的表头。2.代码/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) { ListNode* prev = nullptr; ListN

2020-08-20 00:30:03 70

原创 【项目】----基于C语言实现协程

1.协程简介提起协程,我们不免要和多进程和多线程进行比较,我粗浅的理解为用户态的轻量级线程;并且由程序员控制调度策略,非抢占式的特点使得不用加锁,用户态控制执行流,相比于系统调用非常简便。关于多线程和多进程我找了一张图2.设计思路协程的实现,需要一个协程结构体和一个调度器。协程结构体:回调函数,回调函数参数,协程状态,上下文信息,栈协程调度器结构体:指向协程数据的指针,当前运行协程id,协程最大数,主函数上下文信息我们需要用到的函数:getcontext、setcontext、makecon

2020-08-17 23:16:43 516

原创 【C++学习笔记】----特殊类设计、单例模式(饿汉模式,懒汉模式)

1.只能在堆上创建对象1.代码//1.只能在堆上创建的对象class HeapOnly{public: static HeapOnly* CreateObject() { return new HeapOnly; } private: HeapOnly(){} //C++98 只声明不实现 //HeapOnly(const HeapOnly&);public: //C++11 delete HeapOnly(const HeapOnly&) = dele

2020-08-14 17:14:53 183

原创 【数组&二分查找】----旋转数组的最小数字

1.题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2.代码class Solution {public: int minNumberInRotateArray(vector<int> rotateArray) {

2020-08-14 00:13:03 103

原创 【数组】----构建乘积数组

1.题目给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。2.代码暴力求解class Solution {public: vector<in

2020-08-12 00:45:12 93

原创 【二叉树】----二叉树的深度

1.题目输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。2.代码分治法class Solution {public: int TreeDepth(TreeNode* pRoot) { if (pRoot == NULL) return 0; int left =1+ TreeDepth(pRoot->left); int righ

2020-08-12 00:07:04 125

原创 变态跳台阶

1.题目一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2.代码递归class Solution {public: int jumpFloorII(int number) { if (number==1 ||number==0) return 1; vector<int> v(number+1,0); v[0]=v[1]=1; for (in

2020-08-10 01:13:10 88

原创 【栈】两个栈来实现一个队列

1.代码展示class Solution{public: void push(int node) { /*int tmp=0; while (!stack2.empty()) { tmp = stack2.top(); stack2.pop(); stack1.push(tmp); }*/ stack1.push(node); }

2020-08-09 00:00:29 74

原创 【C++学习笔记】----详解异常(异常体系、异常安全问题、异常规范)

1.代码展示#define _CRT_SECURE_NO_WARNINGS 1//锁守卫(RAII)//异常#include<string>#include<iostream>using namespace std;double Div(){ int a, b; cin >> a >> b; if (b == 0) throw string("除0错误");//抛出的是临时对象 return (double)a / (double

2020-08-08 12:30:10 239

原创 【C++学习笔记】----智能指针(auto_ptr、unique_ptr、shared_ptr、weak_ptr、定制删除器)

1.代码展示#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<thread>#include<mutex>using namespace std;namespace xff{ template<class T> class Smartptr { public: Smartptr(T* ptr) :_ptr(ptr) , _pcount(new int(1

2020-08-06 18:10:29 162

原创 【C++学习笔记】----模板进阶(详解非类型参数、模板特化、分离编译)

1.非类型参数代码展示//非类型参数template<class T, size_t N = 10>class Array{public:private: T _a[N];};void test1(){ Array<int> a1;//10 Array<int,100> a2;//100}结果展示总结非类型参数不能是字符串、类对象,或浮点型例如用宏来定义长度的话,需要引入多个宏才能定义出多个不同大小的数组参数必须

2020-08-05 19:25:58 200

原创 【C++学习笔记】----模拟实现栈和队列以及双端队列的分析

1.描述队列&栈队列先进先出,栈后进先出队列、栈的底层都是通过容器适配,双端队列实现的队列、栈由于自身的性质都不支持随机访问双端队列优点:双端队列支持随机访问,增容不需要复制原有空间,直接新开辟空间后增加中控映射头插,头删不移动数据,比vector友好底层是内存块,空间连续,避免空间碎片,比List友好支持迭代器和[ ]访问缺点:deque迭代器是特殊的智能指针,而不是一般指针,它需要在不同的区块之间跳转。遍历的时候需要通过指针去访问每一个内存块,效率比

2020-08-05 00:37:03 275

原创 【C++学习笔记】----模拟实现优先级队列

1.描述1.优先级队列底层是一个堆。2.通过仿函数实现控制升序或者降序,默认升序。2.代码展示#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<vector>using namespace std;namespace xff{ template<class T,class Container = vector<T>,class compare = Less<T>

2020-08-04 23:18:56 134

原创 【Linux学习笔记】----进程间通信(管道(命名管道,匿名管道)、共享内存、消息队列、信号量机制)

1.管道管道本质:管道是内核中的一块缓冲区,用于实现进程间的通信通信过程需要用户态到内核态,再到用户态的情况。特性:(1).半双工通信方式,(可双向传递数据,同一时刻只能单向)(2).生命周期随进程,进程退出,管道释放。(3).以只读方式打开会阻塞,直到文件以写的方式打开,以只写的方式打开会阻塞,直到文件以读的方式打开。(4).如果没有数据,读会阻塞,如果数据慢了写操作会阻塞,管道大小(64k)(5).当所有读端被关闭时,(父子进程),写端会阻塞,当所有写端被关闭时,读端读完数据,读端会

2020-07-23 00:41:42 228

原创 【Linux学习笔记】----基础IO(标准库IO、系统IO、文件描述符、文件系统、动态库与静态库)

1.标准库IO所在库:stdio.h,(库函数有缓冲区,退出时要刷新缓冲区,数据才会显示出来)FILE* fopen(const char* filename, char* mode)作用:打开指定文件指定文件名:filename: “./test”操作权限:r(只读), r+(读写), w(只写), w+(读写), a(追加写),a+ (追加读写),b(二进制操作)r+和w+区别:r+文件不存在时报错返回,w+文件不存在创建,存在就清空。a追加写:不存在,创建新文件。返回值:失败返回NU

2020-07-21 08:11:34 186

原创 【Linux学习笔记】----minishell(C语言版)

1.流程流程标准输入输入字符,并且最后一个字符设置为\0输入解析将输入的字符读取出来,放到字符串指针数组里,进程分离与替换./minishell放到argv[0]的位置,启动程序,后面输入为的命令由于我们获取的字符时,将最后的位置\n获取了,所以置NULL。进程等待.防止子进程变成僵尸进程。2.代码展示#include<stdio.h>//printf#include<sys/wait.h>//wait#include<string.h>//

2020-07-17 23:51:48 400 2

空空如也

空空如也

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

TA关注的人

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