自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一个值得纪念的状压问题。

//柳总牛批#include <bits/stdc++.h>#define P pair<int,int>#define fr first#define se secondusing namespace std;typedef long long ll;const int maxx=20;const int inf=0x3f3f3f3f;const ll...

2020-04-26 22:17:29 188

原创 笔记 --持续更新

1、地址总线,控制总线,数据操作,用于cpu控制内存。系统结构:I/O桥南桥接低速,北桥接高速设备。实际场景:当我们运行一个程序,cpu发中断信号,然后首先把程序读到内存中来。读到内存这一步不需要cpu直接干预,由dma机制(直接内存存取)完成,磁盘控制器通过dma控制器接管总线从磁盘中读数据到内存。2.一开始没有进程的概念,有了中断之后出现分时操作系统。 任务...

2020-02-26 20:25:55 217

原创 记一次开发软件的灵感或者说冲动

我灵感的来源:  常用TCP和UDP的人都知道,编写客户端或者服务端程序,在本机测试还需要再编写相对应的程序进行测试(客户端程序需要编写简单的服务端接收连接,服务端程序需要编写客户端进行测试)。  当然,市面上现在存在一些测试软件,我找到的一个是测试tcp和udp的SocketTool,一个是测试http接口的Postman。前面的SocketTool创...

2020-02-13 09:46:58 564 3

原创 Python导包的路径问题

1.问题发现问题背景: 如下是我的文件夹目录,本项目入口文件是main.py,我们只需要关注Util里面的config.py和log.py,和外面的main.py三个文件。问题: python main.py运行代码,main.py中from Util import config,log,没什么问题,但是config.py中import log报模块没找到。两个文件在一个目录下,为什么找不到呢?2.问题解决Python执行文件后,被执行的文件作为根目录,也作为包搜索路径。如图是打印出包路径,是个列

2021-03-19 17:37:38 2456 1

原创 配置Vim自动补全心得

背景:不知怎么得,突然心血来潮想配置下Vim,下载了vimrc所谓的终极配置vimrc,但是这是别人用的多年的习惯配置,我需要花费很大精力去习惯别人的习惯,So sad。vim还是要按照自己的习惯,慢慢的去配置,去完善。我最初的构想是vim配置成标签化的编辑器类似网页这种,打开多个文件。但是发现vim中open file只能相对路径,很不方便,在从别人的vimrc摘取了一些不错的配置之后,我踏上了不归路。vim的自动补全是必要的,不然很大程度上就不会去用vim。平时用vim也只是写一些小东西,关于自动补

2020-12-06 22:21:33 1438

原创 C++ istringstream简单用法

#include <iostream>#include <sstream>using namespace std;int main(){ string str = "I'm a boy"; istringstream ss(str); string s; while(ss>>s){ cout<<s<<endl; } return 0;} 把一个字符串复制过来作为...

2020-11-26 21:08:01 399

原创 线程的阻抗匹配原则,即线程池开多大的问题

T=C/P 开线程的数量为 CPU数量除计算密集型任务占比 可以上下50%浮动, 如果P太小取订制。 5*C.

2020-11-20 11:12:26 208

转载 Python logger模块

推荐:https://www.cnblogs.com/qianyuliang/p/7234217.html

2020-11-18 11:10:47 111

原创 日常递归学习

做一个事情,往往发现需要学很多东西,舒服的是以后遇到类似问题思路来得更快些.

2020-10-27 18:39:12 134

原创 2020-10-15

搭建自己的云网盘本文无详细过程,主要提供一个思想一、Needed1.有公网IP的服务器2.服务器配置mysql或者Maridb3.方式一:tank包 from https://github.com/eyebluecn/tank这个是用Go做的后端提供上传下载等文件 方式二:nextcloud 用nginx做服务监听+php做后端文件传输这个方式配置相对复杂 https://github.com/nextcloud二、最终效果(方式1)感觉还好,不过自己的云一共4.

2020-10-15 00:36:51 169

原创 保研回顾——我的华南理工

一、背景    本科zzu,一直处于保研边缘状态(从大一下学期了解保研这种事开始)。面对有些个人觉得没有意义的科目,外加很长时间准备竞赛,所以第五六个学期的成绩让我有种自己无法保研的感觉。60人保8,我从7滑到9,再滑到10,慢慢有种无所谓的感觉。    在五六月份,各个学校夏令营陆续开始报名,当时春招已拿到大厂实习开始工作,另外关注保研事情有点分身乏术(想着大概率保不了了),参加了中科大计算所夏令营难顶不要我,也参加了东北

2020-10-12 01:52:48 2310 9

原创 LRU实现方法

/* * Copyright (c) 2020 wcx * All rights reserved. *//* 关于LRU实现的四种方法: LRU(least recently used最近最久未使用) (1)数组实现,利用时间戳每次删除最大的,但是切换次数多了可能就爆int (2)链表插入删除(每次找到就插入到前面,没有就直接插入) (3) unorder_map+链表 o(1)实现*/#include <bits/stdc++.h>#i

2020-09-06 16:08:04 1296

转载 TortoiseSVN使用教程[多图超详细]

下载Windows 端程序:http://tortoisesvn.net/downloads。一般而言,如果是32-bit的Windows XP 应该使用TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 这个档案。如果是64-bit 的操作系统,则应该使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x.msi 这个档案。 执行下载回来的TortoiseSVN 安装程序,就会进行TortoiseSVN 的安装。正确安装后,应该进行一次的重开.

2020-06-21 21:37:19 544

转载 为Linux命令设置快捷键

最近有在Linux下编程,但是发现有很多命令太长,例如clone或push等命令使用时,带的参数一般都会很长。每次重复操作时,都会付出较多的时间。所以,专门查阅了一些资料,来总结Linux下设置命令的快捷键。以此记录,方便查阅:目前总结到的有两种方式,一种是临时快捷键,一种是永久快捷键。1)临时快捷键: 使用alias命令设置别名,有点像c语言中的#define定义例如,想用".."替代“cd ..”那么可以在命令行输入:$alias ..='cd ..'即可实现,以后在用到cd ..时,只需

2020-06-10 15:23:56 2395

原创 成为深漂

1、前情提要  从6月2号飞机在深圳宝安机场落地,我正式成为一名深漂。来这边公司实习,是来之前一直在想的,深圳有更好的互联网公司,有更好的平台,可以接触更多的新鲜事物,认识更多的人。   关于租房子的事情,我一直不太想租单间,一直在找和别人合租的房子。三天阳光下奔走后,最后和同事合租了两室一厅(吐槽一波深圳房价,等价位在我大郑州可以在三环租一个三层豪宅)。  刚上班的几天,因为自己的疏忽,导致入职出现了很多问题。我操作真秀,被堵在大门前找导师

2020-06-07 20:20:46 220

原创 linux的select实例

我用set存储文件描述符,复杂度会更高。如果用vector管理所有文件描述符的话,一个描述符连接关闭删除复杂度较高。用set在Log复杂度删除,感觉更方便一点。复杂度更低的一个思路:开辅助数组/Vector存,再开一个数组存标志位(是否连接)。//复用服务器#include <unp.h>#include <iostream>#include <set&...

2020-05-04 12:35:43 393 1

原创 leetcode题 1425、带限制的子序列和

https://leetcode-cn.com/problems/constrained-subsequence-sum/这个题本地的和idle跑的不一样,思路应该不错。用了set,有点复杂。记录下,改天再刚。#include <bits/stdc++.h>using namespace std;struct node1{ int val; int ad;...

2020-05-02 19:23:20 293

原创 C++虚表再探

单继承多继承

2020-04-26 10:52:13 189

原创 京东一面+二面(Golang开发),网易一面(游戏开发工程师)

京东岗位我报的有点魔幻,我从事C++岗位的,牛客上写Golang要求C++或者Go其中一种,直接就报了。还是太年轻,笔试大多都go的题,收到面试走狗屎运(全都是蒙的,算法题只写了第一道)。京东一面(40min):(1)如何判断链表有环(快慢指针,一个跳1,一个跳2,我回答的拓扑,很尴尬,一度尴尬,互相傻笑)。(2)计算机网络有几层,传输层的协议。(普遍接收的五层,TCP/UDP)(3)写...

2020-04-25 11:00:18 1071 1

原创 eclipse导入项目(Some projects cannot be imported because they already exist in the workspace)

这个昨天遇到了,以前也遇到过,忘了怎么解决的。网上有很多说不copy到workspace然后refresh,这个方法我这里没啥用。提供一个曲线救国的方法:eclipse导入项目识别的是目录中的.project,出现错误是因为我们原来导入的项目.project已经存储在workspace下面(即使删除了,workspace可能还存储这个project一些信息),再次导入识别之后发现.proj...

2020-04-24 21:38:45 919 1

原创 腾讯一面+二面+三面+HR面

首先感谢腾讯爸爸捞我。本人普通211院校,大龄ACMer(区域赛铜),感觉腾讯问的蛮全面的,算法倒是问的比较少。下面是凭印象过一遍,另外其他厂的一些面试我认为比较经典的,我也加上去。一面(30min)问的基础知识比较多,1、自我介绍(最好别说的太少)2、关于C++的多态实现(虚函数动态绑定)3、创建派生类对象构造函数的执行顺序(基类,派生类)4、TCP三次握手(TimeWait为什...

2020-04-22 09:38:43 15951 10

原创 陈硕多线程服务器编程--持续更新

1、https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html C++中voliate关键字,多线程共享变量用voliate修饰,因为有时候编译器优化,我们取值直接从寄存器中拿来,但是寄存器和内存中这个数据可能不一样,具体例子可以看链接中,所有加voliate修饰,保证每次都是从内存中拿和放。2、weak_ptr不仅仅...

2020-04-11 18:10:49 421 1

原创 shared_ptr循环引用例子

#include <bits/stdc++.h>using namespace std;class A{public: shared_ptr<A> t; ~A(){ cout<<1<<endl; };};int main(){ shared_ptr<A> q(new A()); ...

2020-04-11 18:01:02 257

原创 C++线程池实现

直接上代码/* author:wcx date:2020/4/9 task:声明工作结点,声明线程池类。 name:ThreadPool.h*/#ifndef THREADPOOL_H#define THREADPOOL_H#include <iostream>#include <string>#include <queu...

2020-04-10 12:48:53 300

转载 JMeter压力测试工具

推荐此文,讲解jmeter的操作:https://blog.csdn.net/github_27109687/article/details/71968662?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2&utm_source=distribute.pc...

2020-04-07 18:03:46 188

转载 C++ Boost库、Muduo库安装

C++网络编程 - Boost::asio异步网络编程 - boost库源码编译安装https://blog.csdn.net/QIANGWEIYUAN/article/details/88792874C++ muduo网络库知识分享 - Linux平台下muduo网络库源码编译安装https://blog.csdn.net/QIANGWEIYUAN/article/details/8902...

2020-04-05 23:54:27 398

原创 Weak_ptr实现

前言:循环引用实例:/* @author:wcx @task:shared_ptr循环引用实例*/#include<bits/stdc++.h>using namespace std;struct node{ shared_ptr<node> t;};int main(){ shared_ptr<node> a(n...

2020-04-01 10:58:05 961

原创 Shared_ptr简单实现

/* @author:wcx @task:shared_ptr实现*/#include<bits/stdc++.h>using namespace std;namespace P{ template<typename T> class Shared_ptr{ public: Shared_ptr(T *da):...

2020-04-01 10:20:33 602 5

原创 scoped_ptr简单实现

/*scoped_ptr的实现和auto的区别就是,拷贝构造函数声明成了私有的,这样管理权就不会转让了。*/#include<bits/stdc++.h>using namespace std;namespace P{ template <typename T> class Scoped_ptr{ public: Scop...

2020-04-01 09:45:32 155

原创 auto_ptr简单实现

/*auto_ptr的实现*/#include<bits/stdc++.h>using namespace std;namespace P{ template <typename T> class Auto_ptr{ public: Auto_ptr(T *da){ s=da; }...

2020-04-01 09:38:49 167

原创 关于一段时间面试的总结(持续更新)

前言  一直一来把面试当成是一个练习。  但是觉得春招要是有机会还是想冲一把的。  每次面试完之后,我也要去梳理下不足,补下没有学会的知识,放那不管真是想捶死自己。1、字节面试  关于字节的面试:一面发挥不错,五分钟后二面,二面很僵硬,几天后三面,三面题很少也都写出来了,因为二面的原因所以觉得无缘了。大概是...

2020-03-31 16:48:40 344 1

转载 malloc的底层实现(ptmalloc)

  本文主要介绍了ptmalloc对于内存分配的管理。结合网上的一些文章和个人的理解,对ptmalloc的实现原理做一些总结。内存布局  介绍ptmalloc之前,我们先了解一下内存布局,以x86的32位系统为例:      从上图可以看到,栈至顶向下扩展,堆至底向上扩展, mmap 映射区域至顶向下扩展。 mmap 映射区域和堆相对扩展,直至耗尽虚拟地址空间中的剩余区域,这种结构便于 C...

2020-03-29 21:13:18 929

原创 stl_vector源码分析

说明  源代码基于版本gcc 4.8(在linux环境下),和现在用的mingw差不多。  这里先说明下,mingw是个老大爷基于gcc开发的,用在windows平台上,稳定性不算很高(易出bug),同在windows下版本的还有msvc(微软开发的),和gcc版本的stl差别有些大,对于vector开辟空间的逻辑也不同。分析从上到下,根据代码...

2020-03-29 10:58:10 359

原创 C++primer笔记

1、proc文件夹大小0字节,它存储在内存中,是虚拟文件系统。里面的一些内容是动态从内核中解析出来的,每一个进程在这里都有一个文件夹存储了进程的所有信息,包括文件描述符表,使用资源的一些限制,指令命令的cmd行等等。2、想要查看一个进程的所有fd在这里面查看。这些进程fd都是符号链接,指向对应的输出文件。3、类重载运算符:#include<bits/stdc++.h>using...

2020-03-27 20:52:43 127

原创 C++头文件报错,头文件保护符使用

提要C++头文件是为了声明函数,声明变量。注意,是声明。 int a=1;是直接定义了。extern int a; 这是声明,指示编译器这个变量可能在别的文件中被定义,编译器会在符号表中找到定义后填入响应的值。一个项目中一个变量只会有一次定义,多次定义就叫重定义了。丢人的错误  看这个tou.h,我在a.cpp和b.cpp都include了,然后报错,a重定义了...

2020-03-27 16:07:39 1085

转载 彻底理解epoll

这篇文章是转载的,关于为什么epoll为什么这么高效,看懂了个大概。文中对select和epoll效率区别描述的总结:select每次执行都要重新把所有描述符加入等待队列(这属实浪费时间,因为epoll事先构建好然后开始wait),且文件描述符有1024的最大限制,这是其内部程序自定义的,你可以改(会影响效率)。select阻塞之后被唤醒,唤醒之后要遍历一遍所有的文件描述符。epoll有水...

2020-03-19 09:21:00 407

原创 C/C++程序内存分配

32bit总线可寻址2^32B地址,这是32位系统。上面是高地址空间,下面是低地址空间。1GB的内核空间,3GB的用户空间。内存空间分类(从上到下):内核区域,栈(执行空间),存储映射区(动态链接库等文件映射,malloc调用mmap函数申请大内存),堆(动态申请的空间),BSS段(未初始化的全局变量以及静态变量),数据段(初始化的全局变量),代码段(包含常量字符串(只读)和二进制代码)...

2020-03-17 15:44:53 218

原创 epoll服务器代码实例

/*该文件实现服务器的监听 * * * */#include<stdio.h>#include<sys/epoll.h>#include<sys/socket.h>#include<errno.h>#include<string.h>#include<iostream>#include<netin...

2020-03-15 17:49:45 304

原创 C/C++数据对齐简述

就是按照该平台的策略,对数据大小进行扩张等,以增加cpu读取处理速度。在union和struct,class等体现,一般编译器帮你解决(自动扩大),不用显示标注对齐方式。比如这个,char c被安排占了四个字节,如果a是long long类型(8个字节)会输出16,这是根据平台自动设定的,你也可以自己设置。推荐博客:https://www.jb51.net/article/41...

2020-03-13 18:30:30 154

转载 C++ 虚函数表解析

推荐:https://blog.csdn.net/haoel/article/details/1948051文章虽老,但很底层。

2020-03-13 17:23:04 140

空空如也

空空如也

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

TA关注的人

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