- 博客(47)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 【react开篇】无题
没有想到,自己又要开始分享学习javascript的历程。时隔7年,为谋求生计,研究生毕业后进入一家IT公司。以为自己会开发后端业务,起起伏伏,入职开始从事.net开发,到后面转型前端react,研究生学习到的,应该都已经还给了老师了。希望这一路的思想和方法伴随我一生…
2023-08-07 22:00:37
95
原创 Matlab 保留大网格,去掉小网格
1、Matlab 打开网格grid on或set(gca,'ygrid','on');set(gca,'xgrid','on');2、Matlab 关闭set(gca,'yminorgrid','off'); %关闭y轴上的小网格set(gca,'xminorgrid','off'); %关闭x轴上的小网格...
2019-06-07 17:52:48
4821
原创 C++11新特性——lambda表达式
为何要写一篇博文呢?其实,系统学了C++一定会学到lambda表达式。不巧不巧,在秋招的浪潮中,我又被问到了关于lambda表达式,回过头想一想,其实lambda表达式在C++中应用挺广泛的。匿名函数,短小精悍,应该就是它的feature。好记性不如烂笔头,书上有路勤为径。、可调用对象可调用对象:对于任何一个对象或表达式,如果可以对其使用调用运算符,则称它为可调用对象。目前,C++支持四种...
2018-09-23 10:30:45
447
原创 百词斩笔试题:一天内时针、分针、秒针转过的角度
题目描述给定一天内先后的两个时间,求时针、分针、秒针在时钟表盘上转动了多少角度。注意:为了保证计算精度,请使用double类型进行计算。输入描述输入两行,分别代表两个时间点A和B,A和B都为24小时制,B大于等于A,且都在同一天,时分秒用冒号(:)分割输出描述输出为三行,分别代表时针、分针、秒针在表盘上转动的角度,结果只保留整数部分。请勿四舍五入。实例输入00:00:0018:...
2018-09-22 16:23:36
838
原创 TCP流量控制和拥塞控制基本思想
TCP超时重传基本概念TCP流量控制(滑动窗口)TCP拥塞控制慢开始和拥塞避免快重传和快恢复TCP超时重传查看某一机器上的某一端口是否可访问 telnet ip port抓取网卡某端口上的包 tcpdump -ieth1 'port 21' 其中,eth1是网卡名称,可通过ifconfig查询到本机的网卡名称。基本概念RTO 重...
2018-09-06 12:27:00
1582
原创 对TCP三次握手和四次挥手的理解
为啥有三次握手,这不得不提到TCP的特点了,它是面向连接的,可靠的协议。所以,需要三次握手,让通信双方建立一种可靠连接。如果,我要客户端,你是服务器,下面,我要和你通信,就必须按照我们的协议来对暗号,这样我才把我知道告诉你。 [toc]暗号:三次握手[首先] 你是我的联络站,你的起始状态是监听Listen,而我是CLOSED第一次握手:客户端(我)先发送一个SYN包(SYN ...
2018-09-06 12:25:11
194
原创 Linux 编译和makefile的编写
what is 链接俗语理解 链接 就是把每个源代码独立地编译为目标文件.o,然后再把他们组装起来,整个组装的过程就是链接。链接的过程主要包含:地址和空间的分配、符号决议和重定位这些步骤。编译后的目标文件包含: (1)自己的数据和二进制代码 (2)未解决符号表;如,extern变量 <3>导出符号表 (4)地址重定向表静态链接 ...
2018-09-05 22:29:24
499
原创 c/c++ Linux下编程调试
strace 跟踪系统调用gdbgdb定位coredump文件Valgrind 内存分析工具strace 跟踪系统调用strace -c 将进程所有的系统调用用作一个统计分析并返回。strace -c ./myapp 重新打开一个窗口,执行killall myapp,可观察到系统调用的分析统计。strace -o filename 将结果输出到文件filena...
2018-09-05 22:28:38
169
原创 C++容器之 vector map set查找元素
前面两篇基本上讲解容器的增加删除,其实现实世界中对数据的查找才是最大的需求,下面主要围绕着容器的查找来讲解首先,由于vector没有实现find()方法,只能使用algorithm提供的find()方法。所以,直接在vector查找节介绍algorithm的find使用方法。目录 [toc]1、vector查找vector自己并没有实现find方法,只能使用algortihm...
2018-09-04 22:03:19
9884
1
原创 C++容器之 vector map set 删除元素
前面一章节主要是针对容器的增加,可以明显看到关联容器和顺序容器的特点,下面主要介绍两类容器的删除和查找的区别目录1、vector的元素删除2、map的元素删除3、set的元素删除小结代码1、vector的元素删除vector的删除主要有三种方法:erase、pop_back和 remove(algortihm)。iterator erase(i...
2018-09-04 22:01:42
4201
原创 C++容器之vector map set 增加元素
C++大话容器之vector map set说到C++的容器,我想第一个问题就是什么是容器,为什么要使用容器,若真非要用容器,那怎么使用呢?能想到这些问题,至少证明大家都有很强的探究精神。目录用 [TOC]来生成目录: [TOC]Markdown和扩展Markdown简洁的语法何为容器?又为何需要容器 首先,学过C语言肯定知道咱们数据结构从物理结构上来说...
2018-09-04 16:15:46
1156
原创 c++ string转c 字符数组的方法
c++ string转换c字符串有三种方法:1. const char * string::data() 以字符数组的形式返回字符串内容,但不主动添加'\0',即char[string.size()]的值是未定义行为2. const char * string::c_str() 返回一个以'\0'结尾的字符数组3. size_t string::co...
2018-09-03 22:20:53
5400
原创 Cuda安装教程
前言:在安装cuda toolkit 之前,先安装 Microsoft visual studio 2010/2013/2015都可以。根据cuda官网,下载cuda toolkit 下载本地文档。 解压到需要安装的文件夹下。注意,此时的只是临时放置在该文件夹下,后面安装完成后,该文件夹将自动不存在(直接自动删除)。 安装过程中,根据提示,选择自定义的安装。注意,此阶...
2018-08-31 20:37:10
8720
原创 c++ string 和int 转换
说真的,这个字符串处理始终是基本功,而字符串和整数之间的转换,可谓屡屡出现,使用频率很高的。最近,经常用到,但是,偶尔也会忘记。所以,在这里,记下来和大家分享一下。既然是C++,那么讲究的是高效,C++特性的转换。下面是C++的方法:一、C++高效安全方法(简单好用)1、sstream 头文件中 数字和字符串的互相转换stringstream 智能类因为stringstream...
2018-08-31 19:28:15
1592
原创 数据结构基本功——排序算法(堆排序)
既然要说堆排序,那么自然先问的是什么是堆? 堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 堆排序(Heap)是利用堆(假设利用大顶堆)进行排序的方法。知道了堆和堆排序的概念之后,那么怎么实现堆排序呢?目录一、堆排序的基本思想是:二、堆排序的C++实现...
2018-08-14 16:16:25
238
原创 数据结构基本功——排序算法(直接插入排序和希尔排序)
前面两篇中冒泡排序和简单选择排序在武林中的没落,首先是因为希尔排序算法的到来,它终结了时间复杂度只能是O(n^2)的时代,同时呢,直接插入排序又因为是希尔排序算法灵魂的来源,所以,在这儿一并学习。一、直接插入排序1、直接插入排序的思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。可以想象一下理扑克牌的方法:(1)设前i张牌有序的(2)将第i+1张扑...
2018-08-14 11:28:40
1677
原创 数据结构基本功——排序算法(简单选择排序)
从上一篇冒泡排序中,相信大家也掌握到了要点:轮次,每轮相邻两个比较,把最大值(最小值)推到边缘。这一篇主要讲的简单选择排序,思想更加简单。目录1、简单选择排序的思想:2、复杂度分析3、C++实现1、简单选择排序的思想:通过n-i次 关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1≤i≤n)个记录交换。2、复杂度分析无论最好还是最坏的情况:...
2018-08-14 11:18:44
787
原创 数据结构基本功——排序算法(冒泡排序)
排序算法那么多,冒泡和简单选择排序却曾是武林中的绝世秘籍,那么他们为啥在当8年那么屌,原因是简单,还有就是根本没有超过O(n^2)时间复杂度的高招出现。为了学习这些秘籍,我觉得还是应该从秘籍的思想、复杂度、实现这三方面分析。目录冒泡排序的思想:复杂度分析C++实现冒泡排序的思想:每一轮都是前后两两比较,一共进行n-1轮每一轮的比较有两种方法: a[j] [j+1]...
2018-08-14 11:14:46
184
原创 cin cin.get cin.getline getline getchar的区别
1、cin << variable 获取字符、数字、字符串前言:cin的四种标志位IO流有四种条件状态,分别用位来控制。cin.badbit : 001 1 表示系统级错误,一旦被置位,流就无法再使用了cin.eofbit : 010 2 表示流已经读完,到达尾部了cin.failbit: 100 4 可恢复错误,如期...
2018-08-03 14:38:06
376
原创 char *p = "abcd"; 和 char a[] = "abcd"的区别
从上面一节中“既然搞C++,那就必须和内存管理做斗争”,大家是不是貌似都懂了C++的内存管理?如果这么想,那就来分析一道题吧!俗话说“黑猫白猫能抓老鼠就是好猫”。请问:char *p = "abcd"; 和 char a[] = "abcd"的区别?指针p存储在什么区? 数组a存储在哪儿?它们有什么区别? 答案:指针p和字符数组都是在栈区,其中,"abcd"字面值在常量区,上面的区别是...
2018-08-03 14:25:49
9730
4
原创 既然搞C++,那就必须和内存管理做斗争
既然学C++,变量存储在哪儿啊?不同类型的变量,存储位置有区别么?哪些内存是需要你管理的啊?什么是堆区、什么是栈区?全局变量存储在哪儿?一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时...
2018-08-03 12:09:24
294
1
原创 C++之数据类型篇2补充数组的替代品
1、模板类vector特点:支持动态的分配数组的长度声明方法: vector<typeName> vt(n_elem);其中,参数n_elem可以是整型常量,也可以是整型变量2、模板类array特点:和数组完全相同,但是增加了一些额外的功能。声明方法: array<typeName,n_elem> arr;其中,n_elem必须是常量。 ...
2018-08-03 11:43:34
135
原创 C++ 之数据类型篇2
人生太复杂,何况C++。它的复杂度在于对复合数据类型的认识目录c++复合类型之数组数组的声明数组的初始化:C++复合类型之字符串c++复合类型之数组数组的声明数组声明的必备点:1、存储在每隔元素中的值的类型;2、数组名;3、数组中的元素个数声明数组的通用格式如下: typeName arrayName [arraySize]; //注意arraySi...
2018-08-03 11:42:31
226
原创 C++之数据类型篇3
本来上一篇就应该写完的,奈何我的密集恐惧症实在太严重了,大段大段的看得我都想睡觉了。所以,我把复合数据类型分出来了,这样看起来心情舒畅,吃嘛嘛香。这次,我要说的是复合类型之结构。复合类型的结构体就能体现出C和C++的巨大差异了,我总认为这是C++向OPP迈进一步的新纪元。目录1、结构的声明和初始化2、结构的属性1、结构的声明和初始化struct 结构类型名称{结...
2018-08-03 11:37:47
146
原创 C++之数据类型篇
c++数据类型:基本数据类型和复合数据类型。目录基本数据类型:复合数据类型:数组、字符串、指针、结构。再谈数据类型转换问题基本数据类型:整型 char(8位)、short(16位) 、int 、 long(32位) 、long long(64位)。浮点型 float (32位)、double(64位)、long double(有16 字节, 12字节,8字节)siz...
2018-08-03 11:03:08
287
原创 开始学习C++之进入C++的世界
哎呀,总算开始学习c++,这是我第二次看C++ Primer Plus了,之前没有写笔记。真是验证了好记性不如烂笔头,这不,后面都要给自己整一出。 目录要建造简单的房屋,首先要打地基、搭框架。头文件名又咋啦要建造简单的房屋,首先要打地基、搭框架。 c++对大小写是敏感的!例如,你要输出点东西瞅一哈,用啥?cout ?Cout 保证后面那个会报错。人家不认识你大写的...
2018-08-02 23:06:35
218
原创 Nice To meet U C++
上面学会了输出,升级了一波儿。但是C++的水还是深不可测,我在这口神坑面前蹲着左思右想,尼玛,觉得应该先扔个石头下去吧,看看这坑有多深。 好记性不如烂笔头,不用管我,自己先神叨一下书上死记硬背的东西。1.C++使用变量前必须要有声明语句。咋样?Matlab和Python大牛们,看着就虚了呗。2.C++赋值语句也是从右向左,同时还可以多个变量在一个语句中赋值。Matlab你敢吗?...
2018-08-02 23:03:33
242
原创 C++ 广播体操,预备节,起
子曰:c++的学习过程由基础知识开始,到面向对象的编程(对象、类、封装、数据隐藏、多态和继承)。程序 = 数据 + 算法目录下面来看看c语言编程的思想:c++和泛型编程编译和链接下面来看看c语言编程的思想:《自顶向下》 面向过程编程;结构化编程,它鼓励程序员开发程序单元(函数)来表示各个任务模块,将大程序分解成小型、便于管理的任务。一直强调C++是面向过程OOP编程,那...
2018-08-02 23:01:49
735
原创 ubuntu Qwt 安装教程(qt5可运行)
丑话前头说:在qt5中安装完qwt6.x版本以后,gnuradio是用不了了,会一直报错qtgui 的python import段错误或undefined symbols(1)获取qwt的Qt项目源码:https://sourceforge.net/projects/qwt/files/qwt/个人比较喜欢尝新, 下载了最新的版本,但是一看也是2016年的版本 >:<;但需要主...
2018-07-24 23:11:34
3449
1
转载 UHD安装后报错symbol lookup error
转载地址:https://blog.csdn.net/atnanyang/article/details/52648093UHD安装过程中,很多的时候,会经常因为安装不成功,重复安装很多的版本的UHD ,而且,这个时候,有可能动态链接库会残留在以前的安装目录下,同时,如果安装不是默认的路径时,经常会发生这种情况。若在执行uhd_find_devices 的时候报错:symbol looku...
2018-07-17 22:58:47
530
转载 解决使用matlab编辑器时,点击右键时字体突然变小的问题
最近,在使用MATLAB2014a的时候,右键Editor区域,会突然字体变小,看着很是难受。看到CSDN一妙计,此处贴出,方便以后查看:[1]参考地址:https://blog.csdn.net/sinat_28309919/article/details/79631059...
2018-06-01 21:14:04
1289
原创 ubuntu 不能进入图形化界面
ubuntu 不能进入图形化界面首先,在etc/X11目录下,观察是否还存在文件xorg.conf 。若不存在: 参考文献[1]:https://www.linuxidc.com/Linux/2013-06/86707.htm ctr+alt + F1进入tty1,以root账户登录。执行命令: cp /var/log/Xorg.0.log /var/log/Xorg.1....
2018-05-17 18:57:29
6287
3
原创 intel网卡驱动for linux ubuntu系统
这两天,在笔记本上安装了双系统。其中网卡都是intel的,安装ubuntu 14.04以后,突然发现无线和有线不能上网,而且eth0也没有。查阅资料发现是网卡的驱动没有装好,而我的网卡型号是:以太网 intel ethernet connections I219-V,无线网卡是 Ac 8265。通过官网下载ubuntu的驱动时,以太网只有针对Linux的FreeBSD的驱动,在ubuntu下编...
2018-02-28 22:04:30
18133
4
原创 Matlab-奈奎斯特滤波器实现《二》
Matlab-奈奎斯特滤波器实现《一》中编写了根升余弦滤波器的函数,其实Matlab也有自带的函数用于产生跟升余弦滤波器。需要注意的是:当需要将信号通过根升余弦或者升余弦滤波器之前,注意时刻一定要相互对应。通常为了实现脉充整形的效果,常常需要将IPOINT = fd/fs ;其中 fd为滤波器的采样频率,fs为传输数据的符号速率。 下面,图解传输的数字信号通过脉冲整形滤波器的过程:
2017-04-02 22:39:50
3340
1
原创 Matlab-奈奎斯特滤波器实现《一》
所谓算法,其核心思想也是理论思想,剩下的编程就当然不在话下。技术在于积累,编程就是一门技术吧。刚开始的时候,有很多编程地方不会处理,积累多了自然也就会得多了。不管是什么编程语言,亦或理论思想。最大的避讳就是不求甚解,而且不求甚解给自己带来的弊端将是长久的。我就是深受毒害,所以每当遇到问题都时刻提醒自己,不要以为结果实现了就可以不去理会它,要去求甚解。废话好像多了点,还是直接进入正题吧。从上面一篇文
2017-04-02 22:04:33
5978
1
原创 Matlab无线通信仿真之根升余弦滤波器推导
在上面的章节中说到了无码间干扰的奈奎斯特准则,提到了升余弦滤波器。在通信传输系统中,接收端和发送端常常用的是根升余弦滤波器,进行脉冲整形。这里主要记录下,在MATLAB仿真过程中遇到的两个极限值问题。这两个极限值在MATLAB编程过程中将会体现(由于不能编辑公式,所以从word中直接保存的图片,凑合凑合看,哈哈)。 其时域表达形式为: 下面开始推导(主要运用洛必达,高数总算
2017-04-02 21:37:37
2634
2
原创 Matlab无线通信仿真之奈奎斯特准则
首先,我们看一下数字基带传输系统的框图,了解一下通信传输的过程:接着就应该会提出这样的问题:奈奎斯特准则是什么,它有什么用?它怎么来的?学习的过程就是提出问题,解决问题的过程嘛。当然,我要提前回答第二个问题,它有什么用:它是无码间干扰的准则,若要在收到的信号没有码间干扰,就必须要遵从它。接着简要的回答它的由来。(还是从上面的框图说起) 系统的输出的信号y(t)为:。它经
2017-03-05 21:44:34
4105
原创 X浏览器修改完主页以后,打开还是X主页
对于某些浏览器,如果你更改了其主页,但是你发现,在启动的时候,它首先打开的还是它给你定义的主页。参考百度经验,你能够发现一些解决方法:http://jingyan.baidu.com/article/5bbb5a1b0af36313eba179b4.html但是鉴于文章没有戳中要害,其实仔细看看你点的那个快捷方式,你会发现,其实它的启动项是这样的: 所以...
2016-10-11 17:00:43
1229
原创 C#添加作者信息
在进行项目开发的过程中,我们常常要把版权和作者信息添加到c#文件中,为了节省时间,常常通过修改模板文件,就可以达到效果:1、进入安装目录:C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class.zip 找到Class.cs文件2、编辑修改文
2016-06-30 14:39:27
2352
Linux 360Wifi 小米Wifi驱动
2018-02-01
visual studio2012 中的svn项目文件夹没有状态图标
2016-01-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人