- 博客(36)
- 收藏
- 关注
原创 记一次网络MTU过大导致send失败的问题排查过程
问题描述:在一个CS架构环境下,客户端send接口发送总是失败,导致客户端不断的主动断开又重连。分析过程:在客户端抓发往服务器的数据包。发现,连着发送几个数据包后,服务器都没有给确认,导致客户端认为对方接受窗口已满,从而发包失败。导致这个现象可以有几个原因:1. 客户端数据包没有发送到服务。2. 服务器收到数据,但出现问题没能及时回复确认。3. 服务器回复了确认,但客户端没能收到确认包。 进...
2020-03-24 14:46:15 2321 1
原创 void函数内创建并返回一个结构体
分析:首先,结构体在函数体内定义,并能将该结构体返回。所以不能定义结构体变量,这样函数结束该结构体变量就销亡了,只能通过malloc申请一个结构体内存,使用结构体指针。其次,该函数无返回值,只能通过参数的形式,将结构体指针返回。最后,通过形参改变实参值的方式有两种:传引用、传指针。不存在对指针变量的引用,所以只能通过传指针的方式,即传指向结构体的指针变量的地址。所以,通过双重指针,实现该功能。#i...
2018-06-23 13:34:40 2564 1
原创 专业面试问题记录
问题记录操作系统内核的作用(面试官说有8个,当初完全没联想起来,其实和回答操作系统的功能差不多)c++标准库文件有哪些分类(发现根本没有接触过)c++内存管理(全局静态、栈、队、文字常量、代码段)是否可以引用一个数组及原因(不可以,不能引用指针和函数名)面向对象语言的特征(四个:抽象、封装、继承、多态)STL中向量和数组的区别(从内存实现机制角度答)父类虚析构函数的作用(这个回答正确)c++源文件...
2018-06-20 08:59:06 833
原创 sublime 和 vs编码格式问题的解决
sublime 和 vs编码格式问题的解决编码格式的本质是:使用二进制码标识非英文字符的方式,即协议。如UTF-8编码用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文),是一种万国码。其中,英文字符用1个字节,中文字符用三个字节。又如GB-2312,该编码方式约定每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”(也称“区字节)”,...
2018-05-04 14:28:30 754
翻译 vs编码含中文字符串的问题
出错代码:#define STR_DISPLAY_NAME _T("一起玩服务")错误提示:预定义中含有换行字符原因:是vs编译器的设置问题,对于无BOM的编码文件会出现这种问题。具体原因:The compiler when faced with a source file that does not have a BOM the compiler reads ahead a ce...
2018-03-31 15:51:38 2593
原创 区分函数重载、隐藏、函数覆盖,确定使用哪个成员
重载、隐藏与覆盖的概念:函数重载:在相同作用域下,两个或多个函数,具有相同的函数名,但形参的个数或类型不同,编译器根据形参和实参的类型及个数的最佳匹配,自动确定调用哪个函数。隐藏:如果具有两个或多个具有包含关系的作用域,外层声明了一个标识符(变量或函数),而内层没有再次声明同名的标识符,那么外层标识符在内层仍然可见;如果内层声明了同名标识符,则外层标识符在内层不可见,即内层标识符隐藏了外层
2017-10-07 13:08:00 251
原创 c++类型兼容规则与虚函数实现多态的实现原理和区别
大一之后就没有系统的学过c++了,最近为了校园招聘,又把c++知识捡出来学习,弄了2个钟头终于把这里面的原理弄懂了。背景:类型兼容规则含义:类型兼容规则指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。类型兼容规则应用场合:有如下代码:class B{...}class D:public B{...}B b1,* pb1;D d1;派生类的对
2017-09-19 21:51:04 573
原创 几场面试总结
浙江移动实习面试总结:2016年5月五个同学一起面试的形式,面试官没有单纯的提问专业知识,提了几个问题,在问题中与你交互。问题为:自我介绍在学校中做过什么项目,或是自己做着玩的也可以。举例说明自己所学的专业知识,在实践(项目)中的应用。我们提问 其中在介绍项目的时候具体会问:这个项目是用来干嘛,解决什么问题的你在这个项目中遇到的最大的困难是什么,是怎
2017-09-19 16:17:42 593
原创 cookie是什么?php中cookie的设置和使用
cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。cookie由服务器创建,保存在浏览器客户端。组成cookie的基本元素:名称、内容、路径、域名、创建时间和到期时间等。下图是chrom浏览器中保存的一个cookie示例:服务器端php使用setcookie() 或 setrawcookie()来创建cookie,并将该cookie保存在客户端浏览器中。
2017-09-18 14:10:56 1465
原创 经典:求指定入栈顺序序列对应的所有可能出栈序列
#include #include #include #include #include #include #include using namespacestd;char str[55];//输入串int len;stackint> stk;char outs[55];//输出串char outi = 0;//输出序列号
2017-09-10 00:18:04 1936
原创 Mac OS X EI Capitan 10.11.16 自带php、apache,安装mysql以及升级PHP7说明
Mac下自带的Apache服务器:配置文件目录/etc/apache2/终端命令文件目录/usr/sbin/apachectl,/usr/sbin/httpdwww文档目录/Library/WebServer/DocumentsMac下自带php5:配置文件目录 /etc/php.ini.default,/etc/php-fpm.conf.default终端命令文件目录
2017-08-28 10:30:00 718
原创 虚基类,虚函数,纯虚函数,抽象类的区别与联系
虚基类,是继承中的一种机制。解决来自同一个基类的同名类成员浪费内存的问题。在虚基类的继承方式中不为虚基类成员另开辟空间。不是多态实现的机制。虚函数,是基类中函数存在的方式。解决赋值兼容规则时,派生类对象代替基类对象时,基类指针可以访问派生类定义的基类的同名函数问题。实现派生类替代基类时,基类指针依然可以访问派生类中定义的和基类同名函数,实现函数多态。纯虚函数:是不用给出函数实现的虚函数。用
2017-07-15 21:58:37 1406
原创 浅谈c++类成员的三种访问控制方式和类继承派生时的三种继承方式
c++类成员有三种访问控制方式:public,protected,private此外,类继承时也有三种继承方式:public,protected,private这两套概念有相同的关键词,学习实践中很容易混淆概念,换乱错杂对于c++核心概念的理解。在此以表格的形式,总结这两套概念,实现对这两套概念、机制的学习泾渭分明,清晰明了。表1 类成员三种访问控制方式具体访问权利
2017-07-12 11:17:45 1007
原创 宏定义函数和实际函数的区别
宏定义函数运行原理:形参、实参字符串匹配并替换实际函数运行原理:实参到形参的值传递根据该原理分析如下c程序:#include #include #include #define sum(a,b) a-bint sum1(int a,int b){ return a-b;}int main(){ int x=1,y=4;
2017-07-11 11:41:21 512
原创 如何让视野更加开阔
有时候总感觉自己视野不够开阔,所接触、认知的事物总是局限在一个小范围内。这样会造成我们无法充分地挖掘出自己的潜力,甚至会错过自己的天赋和兴趣所在。为此,为了扩大我们人生的各种可能性,我们需要练就一个开阔的视野。视野的本质是你所能够认知的事物的多样性。所以,开阔视野的根本途径在于提高自己所认知的事物的多样性。多听,多看,多经历。具体途径,我归纳有一下几条:多看书,各种个样类型的书,心
2017-06-25 00:27:47 5490
原创 正则表达式学习积累
学习实践过程中不免会遇到需要字符串匹配的情况,此时就需要用到正则表达式匹配技术,在此将学习过程中用到的实例积累如下,以实现对正则表达式的逐渐掌握。t\d{1,4} 含义:匹配以't'开头的,其后跟1到4位数字的字符串, '\'是正则表达式中的特殊字符,转义字符, ‘\d{1,4}’表示1到4位的数字字符串 ^([^\s]+)\(([^\(]+)\)\n 含义:匹配类似addst...
2017-06-01 09:51:22 333
原创 程序不变量挖掘工具Daikon的安装与使用
安装教程1,JDK安装,配置三个java环境变量,JAVA_HOME,PATH,CLASSPATH,最终能够成功执行一个java程序为安装成功标志。Note:三个环境变量各有其分别不同的作用,具体网上查看。2,daikon必要组件安装daikon,配置目录daikonparent/daikon并将daikon文件解压进去,在shell启动文件中配置(linux:~/.bashrc)
2017-05-15 19:08:02 3207 4
原创 gcov获取程序频谱信息的步骤
1,编译并插桩源程序foo.c。该步骤生成gcno文件,用于记载源程序中插桩的位置,目标程序foo。gcc -fprofile-arcs -ftest-coverag -o foo foo.c2,执行目标程序foo。该步骤生成gcda文件,用于记录相应插桩位置处目标程序的执行次数。若重复执行目标程序,则该次数累加。./foo arg13,执行gcov命令,加载源程序foo.c。该
2017-05-15 14:55:38 787
原创 linux下的java环境变量配置问题
最近因为测试实验需要用到Daikon,需要在linux系统中安装jdk。当时安装过后经常会出现这样的错误(我在多个电脑上做实验):错误:找不到或无法加载主类很是郁闷,因为多次出现这样的情况,现在我把教训总结下来:出现这样错误的原因是:环境变量classpath配置的时候少加了个点(符号“.”)比如正确的:export CLASSPATH=.:${JAVA_HOME}
2016-12-09 14:08:47 366
原创 520BadGateway错误解决办法
服务器环境:linux+nginx+php+mysql俗称的LNMP首先,介绍我出现这个错误的时候的调试过程:1,怀疑数据库连接出现问题,因为两个需要连接数据库的项目出现问题,其余不需要连接数据库的反而没有出现问题2,根据error.log定位到php-fpm。网上也有很多说502是因为php-fpm配置出现问题3,systemctl status php-fpm.service,
2016-08-19 18:45:06 12106
原创 windows+xampp环境下升级mysql
安装ones_erp系统,安装提示need mysql version >= 5.6.5mysql -version显示:mysql Ver 15.1 Distrib 10.1.13-MariaDB, for Win32 (AMD64)原本以为提示有错,我的mysql版本明显大于5.6.5,但后来了解到这个版本和上面提示中的版本不是一个概念,提示中的版本应该是控制台登录时候提示出来的,
2016-07-27 19:52:18 7835
原创 关于阿里云服务器的常用配置和php开发总结
公司购买了阿里云虚拟服务系统: CentOS 7.0 64位开发环境:LNMP(linux+nginx+mysql+php)二级域名的配置和发布:在阿里云控制台-域名-域名控制台中,相应的国际域名下添加二级域名解析。本步骤仅仅提供将二级域名发布在互联网中,可以通过DNS将该域名解析为相应的IP地址。配置nginx服务器,/etc/nginx/nginx.conf加入对二
2016-07-18 17:37:27 2372
原创 web开发缓存的一些了解
最近面试中又问道web开发后台缓存的一些东西,以前这片几乎是盲区所有有必要整理一些。“缓存”基本思路:将短时间内重复频繁访问的内容(或通过计算得出的内容),保存在一个更容易访问的位置,方便下次访问请求到来时直接取出(结果)。总之是减少计算次数、或访问次数。“缓存”基本原则:需要有大量的、频繁的对同类型资源的访问(请求),缓存才能发挥作用。操作系统缓存和应用程序系统缓存:操作系统一书中讲
2016-06-20 11:02:22 653
原创 软件开发过程中测试用例图、E-R图的理解和使用
研一上学学期分别修了《软件工程》、《面向对象分析和设计》两门课程,虽然没有认真听讲。但是知道要想在该专业领域走的更远,有全局观念。这门课程还是相当重要的。尤其是用例图和关系实体图,对于从全局快速的了解整个系统需求,功能,实现结构等方面大有裨益。于是,想起了将这些相关资料做整理。用例图,可以快速的了解到整个系统需求、运行架构、功能、参与者等。从用户的角度来看,他们并不想了解系统的内部结构和设计,
2016-06-19 21:04:07 6845
原创 Eric.Wong主讲软件测试精华
1-3课件介绍:test:test generation--->execution--->verficationdebug:测试用例选取:Question:如何从t1,t2,t3(fail),t4,...,t100中找到能找到导致失败t3。test阶段最重要的是test case generation。而在entire input domain中,我们测试用到的
2016-06-18 20:37:55 465
原创 加解密算法总结(RSA)
加 密算法通常分为对称性加密算法和非对称性加密算法:对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。如AES非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙
2016-06-18 20:14:30 1100
原创 webservice soap php接口
研究生阶段的第一个任务,属于编写接口。拿到这个任务时是2015.12.10以前,连通的时候是2015.12.25(圣诞节,嘎嘎)这个任务教会我:一个英文单词:literal,一个php技术:原样输出,一个方法传参形式调用:关联方式传入数组。最核心的知识是:webservice 尤其soap、wsdl,可以参考http://www.w3school.com.cn/ws.asp。webse
2015-12-25 16:26:23 499
转载 关于手动安装Sublime Text 3 的package control.sublime-package的非主流方法
自动安装:1、通过快捷键 ctrl+` 或者 View > Show Console 菜单打开控制台2、粘贴对应版本的代码后回车安装适用于 Sublime Text 3:import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.r
2015-12-13 19:05:24 504
原创 我对编程的理解
抽象的说,编程是一种能力,一种对语言的驾驭能力,一种借助规定的符号法则随心所欲地,充分地表达自己的意图的能力,一种借助一整套的符号规范来灵活表达自己对客观世界的认识的能力。 对于编程类的学科竞赛而言,考察的是利用既定的编程规则来分析问题,解决问题的能力。对于学习软件的学生,编程更是一项衡量学习水平的重要指标。对于学习编程,最重要的还是实践,要勤加练习,同时也要日积月累,这样才能不
2015-12-04 19:40:39 610
原创 第四届河南省ACM-最长公共子串
第四届河南省ACMSUBSTRINGYouare given a string input. You are to find the longest substring of input suchthat the reversal of the substring is also a substring of input. In case of atie, return the strin
2015-12-04 17:12:52 306
原创 杭电oj1025-最长递增子序列
【最长递增子序列】 给定数列A1,A2,...An,求最长递增子序列输入: 第一行一个整数n,表示有n个数(n 第二行n个整数,用空格隔开。输出: 最长递增子序列长度。【分析】 在求以Ai为末元素的最长递增子序列时,找到所有序号在Ai前面且小于Ai的元素Aj,即j 阶段i:以第i个数为末元素 状态S[i]:以第
2015-12-04 16:56:25 685
原创 经典小算法小方法总结
# include# include char flag[10];char backup[10]; int check(int n){ do { flag[n % 10]++; } while(n /= 10); if(flag[0] != 0) { return 1; //判断组成n的数字
2015-12-04 16:40:21 396
原创 编辑距离与最长公共子序列总结
前言:其实编辑距离和最长公共子序列是对同一个问题的描述,都能够显示出两个字符串之间的“相似度”,即它们的雷同程度。而子序列与字串的区别在于字串是连续的,子序列可以不连续,只要下标以此递增就行。 编辑距离:Problem description: 设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一
2015-12-04 16:27:44 1895
原创 Max Sum Plus Plus
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13462 Accepted Submission(s): 4425 Problem DescriptionNow I think you have got an
2015-12-04 15:32:35 501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人