![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【想写就写@@】
文章平均质量分 57
MISAYAONE
勤学如春起之苗,不见其增,日有所长。
展开
-
分布式系统幂等性详解
幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUsername()和setTrue()”函数就是一个幂等函数.更复...原创 2019-11-03 08:32:57 · 859 阅读 · 0 评论 -
Hadoop Combine 的作用
本机数据的规约,以减少 map 向 reduce 传递的数据,节约 IO 时间,节省 reduce 的时间,最终提高 MR 性能。一、Combiner的出现背景1.1 回顾Map阶段五大步骤 在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示: 其中,step1.5是一个可选步骤,它就是我们今天需...转载 2019-10-30 19:23:46 · 1937 阅读 · 0 评论 -
Vim 撤销与恢复撤销
撤销:u恢复撤销:Ctrl + r原创 2019-10-26 23:42:03 · 3424 阅读 · 0 评论 -
GIt 常用操作
开发过程中,你肯定会遇到这样的场景:场景一:糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作!场景二:彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!场景三:刚才我发现之前的某次提交太愚蠢了,现在想要干掉它!撤销上述场景一,在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作...转载 2019-10-26 23:32:01 · 279 阅读 · 0 评论 -
LGTM? 那些迷之缩写
就像你可能不知道现充其实是现实生活很充实的人生赢家的缩写一样,我们经常看到 Github 上的码农们在 code review 时,把乱七八糟的缩写写得到处都是——娴熟的司机们都会使用缩写来达到提高逼格的效果——我们第一次看到时还是会出现一脸懵逼的状况,这里整理一下这些缩写都是什么含义,以后我们也可以欢快地装逼了。PR:Pull Request. 拉取请求,给其他项目提交代码...原创 2019-10-22 15:54:38 · 8719 阅读 · 4 评论 -
127.0.0.1
https://baike.baidu.com/item/127.0.0.1/4563698#1百度百科讲解的很全面,就是本机的 IP 地址,常用于网络测试。原创 2019-10-21 15:11:38 · 432 阅读 · 0 评论 -
2016年西安地区各互联网公司薪资概况
都是师兄师姐的大体情况吧~给大家做个参考~原创 2016-11-05 17:22:41 · 1609 阅读 · 0 评论 -
第十五届全国大学生外交外事礼仪大赛校内选拔赛试题
水一波没用的,哈哈哈哈原创 2016-11-06 11:06:12 · 3113 阅读 · 0 评论 -
C++11特性:列表初始化:VS2010中vector<string>的初始化方式
在使用VS2010学习C++Primer第五版时,出现了初始化的问题,C++11的新特性支持列表初始化:将初始值放在花括号(注意不是圆括号)内进行列表初始化,而VS2012版本及以上才完全支持C++11的新特性,所以会出现这个小问题。(PS:初始化与赋值不同,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦去,用一个新值代替。)#include #include原创 2016-11-28 13:48:07 · 10529 阅读 · 1 评论 -
最好用的截图软件Faststone Capture 6.9 安装包及注册码
Faststone 是一款Windows 上的一款强大的截图软件。可以随意放置它的工具栏。可以随时捕获窗口,抓取控件,抓取全屏,自定义区域截屏。同时它还支持滚动截屏,尤其是当你截取网页的时候。同时它还自带强大的图片编辑器,还可以屏幕取色。它还可以录制视频,保存为视频文件或者gif 文件。name:blu原创 2017-01-07 10:37:05 · 7188 阅读 · 3 评论 -
”微信小程序“一场风暴还是过江之鲫
“小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。”——张小龙小程序的优点: 1: 相比于APP的大而全,小程序带给我们的便是体验上的小而美。小程序时代,只需要搜索或者「扫一扫」,即可打开应用。没有了下载安装原创 2017-01-11 10:35:25 · 14675 阅读 · 2 评论 -
辍笔一个月~
嗨呀,期末考试了,得抓紧好好复习了~辍笔一个月。原创 2016-12-04 09:02:43 · 741 阅读 · 1 评论 -
输入循环在什么情况下结束,while(cin>>word) 类型?
最近学习了C++遇到的一个问题,Windows系统下不知道怎么结束~ C++Primer 中,作者经常使用 while(cin>>word) 类似的语法,但是如何结束,可能会出现疑惑好囧啊!~感觉是被作者给坑了的~在 Unix 系统中的实际的现象为:* 当输入为“字符串,回车,Ctrl+D”的时候,跳出循环; * 当输入为“字符串,Ctrl+D,回车”的时原创 2016-11-25 11:07:20 · 8993 阅读 · 1 评论 -
进程与线程及其区别
1.进程和线程1.1 概述:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个转载 2016-11-17 14:33:23 · 554 阅读 · 0 评论 -
PPT个人学习笔记(四)——神奇移动的实现
keynote中常用的神奇移动在PPT中也是可以实现的,下面解简单记录一下神奇移动的制作步骤。第一步:首先将所有图片均匀插入一张PPT后,再第一张显示的图片右键—置于顶层。第二步:选择动画—强调—放大缩小—选择合适的缩放比例。第三步:选择动画—路径—自定义路径—画出合适的路径,上图的路径就是直线向下固定距离。第四步:打开动画窗格—选中第三步生成的动画—右键—从上一选项开始(合并了缩放和路径两个动画)原创 2017-02-09 11:32:01 · 6678 阅读 · 1 评论 -
PPT个人学习笔记(三)——模版背景的设计
PPT的一些操作细节构图PPT的版式设计多使用对称、黄金比例、居中等平衡构图方法。此点需要多看美术作品加以理解,提升自身的审美。审美决定上限。 PPT的界面新建幻灯片—选择“空白项”。不要加文本框:插入—文本框,设定自己想要插入文字的位置 。若要移动多个对象先全部选中:右键—组合—移动。PPT中的参考线:右键—参考线—横竖参考线。PPT的层次问题不管是动画效果还是显示顺序,哪些对象在上、哪些对象原创 2017-02-06 16:07:16 · 961 阅读 · 0 评论 -
PPT个人学习笔记(二)——展示的规则
PPT制作技巧统一性与一致性:前后的背景最好统一字体必须一致色调与板式的一致PPT的次序:一张PPT中同时展示多点内容,会造成观众的注意力与演讲人的注意力不一致,演讲人往往还没讲到的内容,观众已经看到。我们可以利用有次序展示的方式一个一个的展现想要展示的内容多点内容,需要讲的内容直接展现,暂时不需要讲的内容,透明化处理图表中的曲线需要逐条讲解,可以逐条展现留白的妙用:此处的留白并不是中原创 2017-02-02 13:31:48 · 886 阅读 · 0 评论 -
PPT个人学习笔记(一)——该用的和不该用的
第一部分:PPT制作的相关理解科研中,每周的例会、每月的报告都需要使用到PPT,觉得以后的工作之中也肯定少不了PPT的制作吧,所以,还是义无反顾的找了一套视频教程系统的学习了一下。经常看到有人求PPT模版,这是一种有特别不好的习惯:一方面当了伸手党,另一方面求来的模板根本与你的使用目的不相匹配,强硬的给模版加入自己的内容就像普通人穿上维秘模特的精美服饰,结果只能是不伦不类。使用的教程为:许岑的幻灯片原创 2017-02-01 13:49:08 · 1301 阅读 · 0 评论 -
运营的一些简单方法
运营干货优秀的运营,应以不同的杠杆点,为用户创造更多的短期价值,借以撬动更多的长期价值确定。——我不知道谁说的1. 物质刺激简单粗暴,直接以物质激励用户参与活动的意愿 例:朋友圈转发截图获取10元鼠标垫2. 概率性事件与上类似,以奖励的概率性,刺激用户 例:超市促销活动,轮盘抽彩电3. 营造稀缺感如若某物的吸引力有限,不妨为其加一些边界 例:本产品限时两天原创 2017-02-20 20:39:50 · 565 阅读 · 0 评论 -
C++--编译器工作原理
编译器:我们常用的编译器一般有Visual Studio(Windows),Xcode(OS),GCC(Unix)等。它们的主要功能就是把我们写的高级代码转换成可执行的二进制程序。这个转换过程主要通过预处理器,编译器和链接器完成,同时它们也是可以分别设置属性,用来控制代码的生成方式。1,预处理器设置:如一些平台相关的宏设置,通过控制这些宏定义,来编写跨平台代码。(而且现代的预处理器,还可以原创 2017-03-03 09:36:58 · 986 阅读 · 0 评论 -
C++ 递增运算符:前置++和后置++的区别
首先说下结论:迭代器和其他模板对象应该使用前缀形式 (++i) 的自增,,自减运算符,因为前置自增 (++i) 通常要比后置自增 (i++) 效率更高前置++和后置++,有4点不同:返回类型不同、形参不同、代码不同、效率不同int main() { Age a; (a++)++; //编译错误 ++(a原创 2017-03-18 09:33:01 · 10482 阅读 · 0 评论 -
C++ 暂停黑窗口方法的辨析
相信很多初学者都经历过这样一个问题:程序运行后黑窗口一闪而过。现在普遍的解决方法有两种:1:system("pause")2:cin.get()/getchar()但是这两种方法却有着很大的不同,网上找到的英文对应讲解(英文好的直接阅读原版吧,更加好一点):Many people, instructors included, for some inexplicable原创 2017-03-19 09:37:39 · 2639 阅读 · 0 评论 -
C++ sizeof() 函数和strlen()函数总结
sizef()函数的问题:本质上主要是各种对象在内存空间中的分配问题,拷贝一下程序,在自己的电脑上跑一下就能理解了!#include #include#includeusing namespace std;int main(int argc, char**argv) { /*sizeof():返回一个对象或者类型所占的内存字节数,返回值为size_t*/ /*形式:1) s原创 2017-03-09 09:31:24 · 1579 阅读 · 0 评论 -
C++ 理解复杂的数组声明
/*理解复杂的数组声明*//*规则:从数组名开始由内向外,由右至左顺序阅读*//*小技巧:看左边的类型和*或者&有没有紧挨着,没有被括号括起来,那么说明*或&是数组元素类型的一部分*//*一个小程序即可理解*/#include #include#includeusing namespace std;int main(int argc, char*原创 2017-03-09 09:33:46 · 1603 阅读 · 1 评论 -
C++ 一级指针和二级指针
一级指针就是指指针,就是内存地址,二级指针就是指向指针的指针,就是地址的地址:打个比方,你有一个箱子A(相当于代码中的变量a),里面有你要的东西(值4),你的钥匙1(相当于一级指针p)能打开箱子A,这把钥匙就是一级指针,但是这把钥匙1又存放在另一个箱子B里,你需要另外一把钥匙2(二级指针q)打开箱子B取出钥匙1,如此类推.(魔塔通关的我还是这么强势~)#include using name原创 2017-03-09 09:35:51 · 2326 阅读 · 0 评论 -
C++ 编程中遇到的一些实际问题
11:error:"Quote",未知重写说明符原因:初始化列表的:(冒号)是中文形式的,没发现12:fatal error C1083: 无法打开包括文件:“Disc_quote”: No such file or directory原因:“Disc_quote.h”,自定义的版本需要加.h13:error:protected成员 "price"不是类"Flowe原创 2017-03-21 09:26:32 · 1314 阅读 · 0 评论 -
C++ 编程中遇到的一些实际问题
1:error:“placeholders”: 具有该名称的命名空间不存在原因:没有写上包含该命名空间的头文件:#include 2::error:vector subscript out of rangevector vector1;//定义之后,不能直接通过下面的方式赋值,这样会导致越界vector[0] = "aa";vector[1] = "bb";原创 2017-03-12 09:41:42 · 2997 阅读 · 0 评论 -
C++ 类中重载、覆盖和隐藏的区别和联系
首先明确在类中三者的定义:重载:只有在同一类中定义的同名成员函数才存在重载关系,主要特点是:函数的参数有所不同覆盖:在派生类中覆盖基类的同名函数,要求两个函数的参数个数、参数类型、返回类型必须相同,且基类函数必须是虚函数隐藏:派生类中的函数屏蔽了基类中的同名函数,即两个函数参数相同、返回类型相同,但基类函数不是虚函数理解:这三者的理解主要再于理解函数的调用过程,在调用一个类原创 2017-04-07 09:45:03 · 724 阅读 · 0 评论 -
C++ 关于缺省参数的静态绑定
缺省参数的静态绑定的定义:调用一个派生类中virtual函数时,使用的是基类中为该函数指定的缺省参数值这样是非常危险的情况,所以在Effective C++ 条款37中:绝不重新定义继承而来的缺省参数值可以看下面的一段程序:执行过程:1:由于B类中未覆盖基类A中的虚函数,所以调用的是基类A中的test函数2:虚函数执行动态绑定、函数的缺省参数执行静态绑定3:原创 2017-04-07 09:46:12 · 822 阅读 · 1 评论 -
C++ 关于“不允许使用数据成员初始值设定”的问题
这应该算是C++11新标准的一个重大的改动了!建议使用VS2015使用新标准!C++11 之前的标准是不允许在类内初始化非静态数据成员的,只有静态常量整型数据成员,才可以在类中初始化。具体原因可以看下列原因(旧版):(1)类只是一个抽象类型,并不是实体的东西,利用这个抽象类型会实例化成不同的个体,每个个体的特征(数据成员)都不一样,如果在类定义中将特征初始化了,岂不是破坏了抽象性,原创 2017-03-13 09:36:50 · 17072 阅读 · 0 评论 -
C++ 常量折叠问题的理解
在C++中,const变量(即常量)值放在编译器的符号表中,计算时编译器直接从表中取值,而不是访问内存,省去了访问内存的时间,这也就是所谓的编译器优化。下面的代码可以很清晰的看出:main.cpp#include using namespace std;int main(int argc,char** argv){ /*volatile*/ const int i = 0;原创 2017-04-08 09:35:02 · 1217 阅读 · 0 评论 -
C++ 类继承中static成员的辨析
首先明确static的相关知识点:知识点1:静态变量并不是说其就不能改变值,不能改变值的量叫常量(即const), 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。知识点2:静态变量 类型说明符是static。知识点3:静态变量属于静态存储方式,其存原创 2017-03-23 09:32:17 · 1626 阅读 · 2 评论 -
C++ #pragma pack()解析
我们知道计算机系统对基本数据类型在内存中的存放是有一定限制的,通常我们会要求这些数据的首地址的值是某个数的倍数(4或8),这就是所谓的内存对齐。 而每个平台上的编译器都有着自己的“默认对齐系数”(32位机一般为4,64位机一般为8),但我们可以通过预编译命令#pragma pack(k),k = 1,2,4,8,16来改变这个系数,其中的k就是对齐系数;当然也可以使用#pragma原创 2017-04-10 09:08:47 · 3884 阅读 · 0 评论 -
Google C++Style Guide【C++编程风格指南解读】——注释
注释虽然写起来很痛苦, 但对保证代码可读性至关重要. 下面的规则描述了如何注释以及在哪儿注释. 当然也要记住: 注释固然很重要, 但最好的代码本身应该是自文档化. 有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字.1:使用 // 或 /* */, 统一就好.解读:个人觉得//会比较方便一点~2:在每一个文件开头加入版权公告, 然后是文件内容描述.解读:原创 2017-04-10 09:09:50 · 1001 阅读 · 0 评论 -
加入光荣的进化吧!!!
在年轻时,维克托就发现了他对科学与发明的激情,特别是机械自动化这一领域。他参加了祖安享有盛名的科技魔法大学,并带领了一支队伍,研发出了布里兹这一科学史上的突破,并期待着这项发明能够让他登上职业生涯的巅峰。不幸的是,他的傲人成果被斯坦里克教授给篡夺了。斯坦里克还窃取了研发布里兹知觉系统的声誉,并且后来还用维克托的研究成果来复活厄加特。于是维克托上诉,要求公正,却被置之不理,他也因此陷入深深的消沉之中原创 2017-03-24 09:46:35 · 8499 阅读 · 6 评论 -
C++ 标准库函数的begin和end函数与标准库容器的begin和end成员
如果你手边有C++Primer,这两点分别在P106、P298,不想翻书的话,就好好看看这篇文章吧,书上有更多的细节,有时间还是多翻书吧!标准库的begin()和end()函数是C++11新标准引入的函数,可以对数组类型进行操作,返回其首尾指针。标准库容器的begin()和end()成员函数属于对应类的成员,返回的是对象容器的首尾迭代器。新标准库的begin()和end原创 2017-04-01 09:34:05 · 13419 阅读 · 0 评论 -
C++ const与指针之间组合的辨析
const与指针之间相互组合的辨析1:如果一个对象被声明为const,变成了常量那么也只能使用指向常量的指针来存放常量的地址。但是,指向常量的指针并没有规定其所指对象必须为常量。所以,指向常量的指针仅仅要求不能通过该指针改变对象的值,使用其他方式改变对象的值是被允许的!#include #include#includeusing namespace std;int main(in原创 2017-03-25 09:30:33 · 836 阅读 · 0 评论 -
C++ 堆栈内存相关知识
C/C++堆栈内存相关知识c/C++编译的程序占用的内存分为以下几个部分 :1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区原创 2017-03-25 09:35:09 · 850 阅读 · 0 评论 -
C++ int型负数除法取余问题
1:关于除法,不管是正数还是负数都是向0取整的:10/4 = 2,10/(-4) = -22:负数取余,通过取模来判定|小| % |大| = |小| 符号同前 |大| % |小| = |余| 符号同前3%4 = 3 ; -3%4 = -3 ; -3%-4 = -3 ; 3%-4 = 3;5%3 = 2 ; 5%-3 = 2 ;-5%-3 = -2 ; -5%3原创 2017-04-11 09:13:12 · 16192 阅读 · 2 评论 -
C++ 右结合律与左结合律详解
运算符的结合性是指相同优先级的运算符在同一个表达式中,且没有括号的时候,运算符和操作数的结合方式,通常有从左到右结合和从右到左结合两种方式。 举个例子,假设~是一个运算符,又有表达式a~b~c,如果~是左结合的,那么该表达式被解析为(a~b)~c,如果~是右结合的,那么该表达式将被解析为a~(b~c)。比如上表中三目运算符?:是从右向左结合的那么下面的表达式a > b ? b >原创 2017-04-02 09:05:55 · 10307 阅读 · 0 评论