【数据库】关系数据库和非关系数据库的优缺点 注1:数据库事务必须具备ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性。注2:数据的持久存储,尤其是海量数据的持久存储,还是需要一种关系数据库。...
git pull遇到错误:error: Your local changes to the following files would be overwritten by merge: 场景:因为有事情需回到学校搞毕设,同事在公司说接口代码有问题,需要修改;我用笔记本把代码同步到笔记本,然后做了一些修改、提交。修改完成。第二天我来到公司(公司里用台式机,不是自己的笔记本),忘了先git pull到本地之后,直接在台式机上的代码进行编写,突然想起忘了pull了,然后想用git pull来更新本地代码。结果报错:error: Your local changes to t...
什么是TPS,什么是QPS,区别是什么? 一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完...
PB协议的说明与使用 详情请看: http://www.cppblog.com/woaidongmao/archive/2009/06/23/88391.htmlGO语言对PB协议的操作: https://developers.google.com/protocol-buffers/docs/gotutorial...
DB理论--数据存储方式 从本篇开始呢,我来详细的整理一下mysql。mysql其实还是有点难度的,这里我会认真的,详细的整理到MySQL的各个细节。OK,现在我来开始。首先呢,这里先开始整理数据库理论,为了方便我统一来使用DB表示数据库。比如说什么是DB?为什么要使用DB?什么是数据库泛型?什么是sql?如何访问DB?常用的DB有哪些等等,之后呢关于高级的一点的sql优化等等最后在整理。什么是DB?记...
幂等性验证思想 引入:这段时间在做新渠道的接入,把以前的核心拿过来copy一份进行改造,在进行代码重读的时候,发现了一个好玩的东西,在申请入件的时候,需要经过一步校验,注释上写的是,对于短时间重复提交的验证。当时我就很好奇点了进去,看一看到底是什么东西,然后点开之后大吃一惊,里面做的操作是:取到这笔件的身份证信息,使用其作为标识去查询有没有这个标识的线程,如果有则返回失败,这笔件短时间内重复提交了,如果没有...
【C++】关于vector<bool> vector<T>标准库模版类应该是绝大多数c++程序员使用频率比较高的一个类了。不过vector<bool>也许就不那么被程序员所了解。关于vector<bool>不尝试研究一番,一般还不太容易知道其中蕴含的问题。首先得明确一点,那就是vector<bool>是vector<T>的特化版。这个特化版本要解决的问题就是存储容量的问题。...
【C++】构造函数、析构函数抛出异常的问题 转自:http://www.cnblogs.com/fly1988happy/archive/2012/04/11/2442765.html1. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,...
【计算机网络】cookie和session的区别 一、cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当...
【操作系统】系统调用的概念 “操作系统”通常包含以下两种含义:1、表示完整的软件包,包括用来管理计算机资源的核心层软件,以及附带的所有标准软件工具,诸如命令行解释器、图形用户界面、文件操作工具和文本编辑器等;2、狭义上的操作系统是指管理和分配计算机资源(如CPU、RAM和设备)的核心层软件。内核负责管理分配计算机资源,作为计算机和用户之间的沟通桥梁而存在。因此就有内核态和用户态的概念。执行硬件指令可以在两种状态间...
【算法】对于大数的操作 1.大数相加void Add(string& s1, string& s2){ int len1 = s1.size(); int len2 = s2.size(); string ret; //保存结果 reverse(s1.begin(), s1.end()); //反转以后比较好算 reverse(s2.begin(), s2.end()); ...
【C++】构造函数中必须通过初始化列表来进行初始化情况 1、类成员为const类型2、类成员为引用类型#include <iostream>using namespace std;class A{public: A(int &v) : i(v), p(v), j(v) {} void print_val() { cout << "hello:" << i <<...
【Linux】多线程和多进程 及其应用场景 一. 两者区别进程是分配资源的基本单位;线程是系统调度和分派的基本单位。属于同一进程的线程,堆是共享的,栈是私有的。属于同一进程的所有线程都具有相同的地址空间。多进程的优点:①编程相对容易;通常不需要考虑锁和同步资源的问题。②更强的容错性:比起多线程的一个好处是一个进程崩溃了不会影响其他进程。③有内核保证的隔离:数据和错误隔离。对于使用如C/C++这些语言编写的本地代码,...
【C++】const 指针与指向const的指针 最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~1.const指针的定义: const指针是指针变量的值一经初始化,就不可以改变指向,初始化是必要的。其定义形式如下:type *const 指针名称; 声明指针时,可以在类型前或后使用关键字const,也可在两个位置都使用。例如,下面都是合法的声明,但是含...
【C++】常见的内存泄漏及解决方法 之所以撰写这篇文章是由于前段时间花费了非常大的精力在已经成熟的代码上再去处理memory leak问题。写此的目的是希望我们应该养成良好的编码习惯,尽可能的避免这种问题,由于当你对着一大片的代码再去处理此类的问题,此时无疑添加了解决的成本和难度。准确的说属于补救措施了。一. 什么是内存泄漏(memory leak)? 指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内...
一次完整的HTTP请求是怎样的?? 写完了HTTP服务器项目,但是对于一个完整的HTTP请求还不是很懂,在这里总结一下,当然这里的总结只是将每个过程进行简化,并没有去深入讲解(实属小弟实力不足啊) 我们都知道,如果我们打开浏览器/www.baidu.com/几秒后就会跳转出百度的首页,接下来就讲解一下这个过程!!1.解析URL 首先浏览器会检测这个url是否正确存在,如果不合法,将会返回一个默认的搜索引擎。...
【Linux】线程安全的单例模式以及计算密集型线程和IO密集型线程 一.单例模式1.含义 一个类只能实例化出一个对象2.单例模式实现的两种方式饿汉模式 我们在程序运行之初就将对象创建好,就是说不管你将来用不用,程序启动时就创建一个唯一的实例对象。是以空间换时间的做法。这样程序运行中想要调用这个实例时都可以直接使用。举个例子:就像是一个人在吃完饭后立刻就去将碗洗了,这样以便于在下一次开饭的时候可以马上吃到饭。 ...
【linux】send和recv函数解析 1. send函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户端还是服务器端应用程序都用send函数来向TCP连接的另一端发送数据。客户端程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的:第一个参数指定发送端套接字描述符;第二个参...
【C】堆区和栈区的区别 一.程序内存的区域二.堆和栈的区别一.程序内存的区域 1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,内存的分配是连续的,类似于平时我们所说的栈,如果还不清楚,那么就把它想成数组,它的...