09 2017 档案
摘要:一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。 根域服务器我们知道有13台,但是这是错误的观点。 根域服务器只是具有13个IP地址,但机器数量却不是13台
阅读全文
摘要:文件传输协议如今有了很大的广泛,他屏蔽了计算机内部的实现细节,因为可以适用于各种计算机之间文件的传输。 文件咋网络中传输其实是一件很复杂的事情,涉及的问题有很多,比如 (1)计算机存储数据的格式不同 (2)不同的文件和目录命名的格式不同 (3)访问控制方法不同 (4)对于不同的计算机,可能操作的命令
阅读全文
摘要:许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。 名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,
阅读全文
摘要:1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口
阅读全文
摘要:为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息。 从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。 用户点击鼠标后所发生的事件 1) 浏览器
阅读全文
摘要:1 #include<stdio.h> 2 #include<iostream> 3 using namespace std; 4 5 6 void print(int a[], int n){ 7 for(int j= 0; j<n; j++){ 8 cout<<a[j] <<" "; 9 } 1
阅读全文
摘要:1. 客户端发起HTTPS请求 这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。 2. 服务端的配置 采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任
阅读全文
摘要:转自:http://blog.csdn.net/whatday/article/details/38147103 什么是 HTTPS? HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。 你也可以说:HTTPS =
阅读全文
摘要:对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。 时间复杂度来说: (1)平方阶(O(n2))排序 各类简单排序:直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlog2n))排序 快速排序、堆排序和归并排序;(3)O(n1+§))排序,§是介于0和1之间的常数。
阅读全文
摘要:1:连续的内存空间分配: (1)单一连续分配:只能单作业,单任务运行: 分为系统和用户区:用户区是指除了系统需外左右的内存,由于单用户,单任务,要不都被占用,要不全空 (2):固定空间分配:固定分区分配是最简单的一种多道程序存储管理方式,它将用户内存空间划分为若干个固定大小的区域,每个分区只装入一道
阅读全文
摘要:解决死锁的基本方法:预防死锁:资源一次性分配:(破坏请求和保持条件)可剥夺资源:即当某进程新的资源未满足时,释放已占有的资源(破坏不可剥夺条件)资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)避免死锁:预防死锁的几种策略,会严重地损害系统
阅读全文
摘要:当系统创建一个进程同时为其创建它地址空间时,此地址空间中大部分都是闲置的。为了使用这部分地址空间,我们必须调用VirtualAlloc来分配其中的区域。分配区域的操作被称为预定。当应用程序预定地址空间区域时,系统会确保预定的区域的起始地址正好是分配粒度的整数倍。分配粒度根据不同的平台而有所不同。现在
阅读全文
摘要:汇集很多博客于一体的,大概就这些 1.调度 在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程。而在引入线程的操作系统中,则把线程作为调度和分派的基本单位。而把进程作 为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装运行,从而可显著地提高系统的并发程度。 在同一进程
阅读全文
摘要:class A { public: int foo( ) { return val ; } static int staFun( ) { return staVal ; } static int staVal ; private: int val ; char bit1 ; } ; class B
阅读全文
摘要:新年新气象,16年经历了很多,学到了很多,充实了很多 经历: 蓝桥杯~~~~~~~省赛,,编程大题读错题,最后一个小时一直周旋在读错题的题目上,直到结束,本以为几十分的大题丢掉无缘一等,还拿个11名,surprise。 蓝桥杯~~~~~~~国赛不说什么了,无奈三等,总结一个道理--赛场上一个人的话,
阅读全文
摘要:在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命令可以看到文件的所有者 也可以使用chow
阅读全文
摘要:单一虚函数继承 class A{public:virtual int foo( ) { return val ; }virtual int funA( ) {}private:int val ;char bit1 ;} ; class B : public A{public:virtual int
阅读全文
摘要:reinterpret意为“重新解释” reinterpret_cast是C++中与C风格类型转换最接近的类型转换运算符。它让程序员能够将一种对象类型转换为另一种,不管它们是否相关。 reinterpret_cast用在任意指针(或引用)类型之间的转换;以及指针与足够大的整数类型之间的转换;从整数类
阅读全文
摘要:类型转换是一种机制,让程序员能够暂时或永久性改变编译器对对象的解释。注意,这并不意味着程序员改变了对象本身,而只是改变了对对象的解释。 在很多情况下,类型转换是合理的需求,可解决重要的兼容问题。因此,程序员经常需要让编译器按其所需的方式解释数据,让应用程序能够成功编译并执行。 C++编译器仍需向后兼
阅读全文
摘要:Data Member的绑定 extern float x; class Point3d { public: point3d(); //问题:被传回和被设定的x是哪一个x呢? float X() const { return x; } private: float x, y, z;//Point3d
阅读全文
摘要:指针的类型 不同类型的指针,从内存需求的观点来说,没有什么不同!他们三个都需要足够的内存来繁殖一个机器地址,“指向不同类型之各指针”之间的差异,既不在其指针表示法不同,也不再其内容(代表一个地址)不同,而是在其所寻址出来的对象类型不同。也就是说,“指针类型”会导致编译器如何解释某个特定地址中的内存内
阅读全文
摘要:对于一个class object来说,我们需要多少内存才能表现出来,大致分为3类,这里在前面文章有内存图 (1)非静态数据成员的综合大小,这也符合了c++对象模型的结构 (2)填充字节,就是我们所说的,内存对齐 (3)若存在虚函数,则还会产生一个为了支持virtual的指针指向虚函数表 (这里也可以
阅读全文
摘要:#pragma pack(n) 解释一: 每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。 规则: 1、数据成员对齐规则:结构(struct)(或联合
阅读全文
摘要:转载自http://blog.csdn.net/chengonghao/article/details/51674166 例子举的特别好 很多文章大概都有像这样的结论: 1. 数据项只能存储在地址是数据项大小的整数倍的内存位置上; 2. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 3.
阅读全文
摘要:下面博客转载自别人的,我也是被这个问题坑了快两天了,关于各种虚基类,虚继承,虚函数以及数据成员等引发的一系列内存对齐的问题再次详细描述 先看下面这片代码。在这里我使用了一个空类K,不要被这个东西所迷惑,我使用这个空类的目的主要是为了让它产生虚基类表指针而又不引入虚基类成员变量,这样我就可以少叙述一些
阅读全文
摘要:1.无继承的普通类: 在有虚函数的情况下类会为其增加一个隐藏的成员,虚函数表指针,指向一个虚函数表,虚函数表里面就是类的各个虚函数的地址了。那么,虚函数表指针是以什么模型加入到类里面的,虚函数表里面又是怎么安排的呢。简单来看下就可以知道了。 #include"stdafx.h" #pragma pa
阅读全文
摘要:在virtual的知识里摸爬滚打好几天,最近大脑有些不够用了,现在整理一下 非考虑内存对齐时各个结构的大致模型 至于考绿内存的在前面几张已经叙述过了,为了方便,我再纸上画了整体的流程,, 内存分配要注意对齐参数=min(pack,最大字节的类型); 虚函数指针和虚函数表指针跨越的大小一定是对齐参数的
阅读全文
摘要:如果说没有虚函数的虚继承只是一个噩梦的话,那么这里就是真正的炼狱。这个C++中最复杂的继承层次在VS上的实现其实我没有完全理解,摸爬滚打了一番也算得出了微软的实现方法吧,至于一些刁钻的实现方式我也想不到什么理由来解释它,也只算是知其然不知其所以然吧。 虚、实基类都没有虚函数 这种情况也还算比较简单。
阅读全文
摘要:1. 什么是内存泄漏(memory leak)? 指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。 2. 两种类型的内存泄漏: 堆内存泄漏(Heap leak)。对内存
阅读全文
摘要:一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事
阅读全文
摘要:一:什么是大小端 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址
阅读全文
摘要:有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的
阅读全文
摘要:我们通常会说当生命一个 class 时,如果我们不为该 class 指定一个 constructor,那么编译器会替我们实现一个 connstructor,那么这种说法一定对吗? 事实上,这是不对的。这个不是我说的,是深入理解C++对象模型说的,原话是: C++新手一般有两个常见的误解: 首先解释第
阅读全文
摘要:lambda 优点: 1:可以简单使用一个脚本来替代我们的函数 2:不用考虑命名的问题 3:简化代码的可读性,不用跳转到def了,省去这样的步骤 内置函数:bif filter:过滤器 map:映射 1 >>> lambda x: 2*x+1 2 <function <lambda> at 0x00
阅读全文
摘要:Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright", "credits" or "license()" for more information. >>> def
阅读全文
摘要:1 >>> help(open) 2 Help on built-in function open in module __builtin__: 3 4 open(...) 5 open(name[, mode[, buffering]]) -> file object 6 7 Open a file using the file() type, ...
阅读全文
摘要:>>> num1=[1,2,3,4,5,5,4,3] >>> tmp=[] >>> for each in num1: if each not in tmp: tmp. SyntaxError: invalid syntax >>> for each int num1: SyntaxError: invalid syntax >>> for e...
阅读全文
摘要:clear(),清空 注意单纯的赋值就相当于c语言中引用,只事额外起了一个别名,所以他们指向相同的地址, 所以令c={},只是另外开辟了一个新的空间让c为空,并没有改变之前的空间,所以{}与clear()看的功能一样,其实实现的原理不是一样的 >>> di {1: 11, 2: 22, 3: 33}
阅读全文
摘要:1 >>> ls1=["nihia"] 2 >>> ls1 3 ['nihia'] 4 >>> ls1.pop() 5 'nihia' 6 >>> ls1.append("sssss") 7 >>> ls1 8 ['sssss'] 9 >>> assert len(ls1)>0 10 >>> ls1.pop() 11 'sssss' 12 >>>
阅读全文
摘要:1 >>> import pickle 2 >>> m_list=['1',2,'asa'] 3 >>> m_list 4 ['1', 2, 'asa'] 5 >>> m_file=open('my_file.pkl','wb') 6 >>> pickle.dump(m_list,m_file) 7 >>> pickle.close() 8 9 Traceback (most...
阅读全文
摘要:#include using namespace std; void freePtr1(int* p1){ /*未释放内存前 -> p1 Address : 0012FDDC p1 value : 003429B8, 在这里,p1它也是一个变量,既然是一个变量, 那么它将会以值的传递,把外部变量p1传到栈内,在栈内产生一个地址:0012FDDC, 当然,它的...
阅读全文
摘要:arlenmbx@arlenmbx-ThinkPad-X130e:~$ su root 密码: root@arlenmbx-ThinkPad-X130e:/home/arlenmbx# python Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "help", "copyr...
阅读全文
摘要:1右值引用引入的背景 临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题。但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了CopyElision、RVO(包括NRVO)等编译器优化技术,它们可以防止某些情况下临时对象产生和拷贝。下面简单地介绍一下CopyEli
阅读全文
摘要:#include #include using namespace std; int main( void ) { const double value = 12.3456789; cout << value << endl; // 默认以6精度,所以输出为 12.3457 cout << setprecision(4) << value << endl; // ...
阅读全文
摘要:今天在国外的网站上看到了很多看似简单却又非常强大的纯CSS绘制的图形,里面有最简单的矩形、圆形和三角形,也有各种常见的多边形,甚至是阴阳太极和网站小图标,真的非常强大,分享给大家。 Square(正方形) #square { width: 100px; height: 100px; backgrou
阅读全文
摘要:import httplib,urllib import re import random def Login(userid,password): params=urllib.urlencode({'id':userid,'pw':password}); headers={'Referer':'http://bbs.nju.edu.cn/cache_bb...
阅读全文
摘要:1,前言 下面是2008年Github创建以来,各种编程语言的排名情况 排名其中JavaScript自2015年之后就盘踞第一名,成为github上被使用最多的语言,早期,JS的使用还主要集中于浏览器中,但是随着node.js进军服务器开发和React Native逐渐向移动端渗透,一个属于JS的全
阅读全文
摘要:在使用之前,推荐两个比较好的事件,分别是oninput和onpropertychange,IE9以下不兼容oninput。在textarea发生变化时,可以通过监听这两个事件来触发你需要的功能。 textarea高度自适应是一个比较常用的前端开发效果。 在新浪微博的输入框中也有这个效果,不过它那个效
阅读全文
摘要:// 菜单固定 $(function(){ //获取要定位元素距离浏览器顶部的距离 var navH = $("#topp").offset().top; //滚动条事件 $(window).scroll(function(){ //获取滚动条的滑动距离 var scroH = $(this)...
阅读全文
摘要:JavaScript是按照ECMAScript标准设计和实现的,后文说的JavaScript语法其实是ES5的标准的实现。先说说有哪些基础语法? 最基础语法有哪些? 基础语法几乎所有的语言差异不大,无非数据类型、操作符、控制语句、函数等,简单列举下。 JavaScript包含5种基本数据类型,分别是
阅读全文
摘要://正整数 /^[0-9]*[1-9][0-9]*$/; //负整数 /^-[0-9]*[1-9][0-9]*$/; //正浮点数 /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/; /
阅读全文
摘要:函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 1 2 3 function double(x){ return 2 * x; } 1 2 3 function double(
阅读全文
摘要:最近在调试JSP页面时频繁与ajax打交道,在复杂场景下,ajax传参数就需要对大量参数进行处理。这时我才发现,熟练Array的处理真的会使开发轻松不少!! 关于Array Array的创建很灵活,可以使用Array构造函数,也可以直接创建数组“字面量”。 var arr = new Array()
阅读全文
摘要:html { box-sizing: border-box; } * { user-select: none; -webkit-tap-highlight-color: rgba(255,255,255,0); -webkit-tap-highlight-color: transparent; box-sizing: inherit; } *:before...
阅读全文
摘要:明白何谓Margin Collapse 不同于其他很多属性,盒模型中垂直方向上的Margin会在相遇时发生崩塌,也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时,只有二者中的较大值会被保留下来,可以从下面这个简单的例子来学习: .red { width:80px; heigh
阅读全文
摘要:@media screen and (max-width: 320px) { .cloud{position: fixed;left: 0;top: 70%;width: 150px;} .cloud2{position: fixed;right: 0;top: 30%;width: 50px;} .cloud3{position: fix...
阅读全文
摘要:HTML&CSS1. 常用那几种浏览器测试?有哪些内核(Layout Engine)?(Q1)浏览器:IE,Chrome,FireFox,Safari,Opera。(Q2)内核:Trident,Gecko,Presto,Webkit。2. 说下行内元素和块级元素的区别?行内块元素的兼容性使用?(IE
阅读全文
摘要:面试有几点需注意 面试题目: 根据你的等级和职位变化,入门级到专家级:范围↑、深度↑、方向↑。 题目类型: 技术视野、项目细节、理论知识题,算法题,开放性题,案例题。 进行追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延展题目的区分度和深度,知道你的实际能力。因为这种关联知识是长时
阅读全文
摘要:$(function(){ var u = navigator.userAgent; var ua = navigator.userAgent.toLowerCase(); var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u....
阅读全文
摘要:HTML/CSS:1,什么是渐进增强(progressive enhancement)、优雅降级(graceful degradation)? 2.语义化HTML的好处? 3.设计中使用了非标准的字体,该如何处理? 4.如何隐藏网页内容,只让它们在屏幕阅读器上使用? 5.CSS引入的方式有哪些? 6
阅读全文
摘要:HTML&CSS1.请描述一下 cookies,sessionStorage 和 localStorage 的区别?cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ROTATE效果</title> <style type="text/css"> .box{ position: relative; width: 960px;
阅读全文
摘要:一. 加载后台传过来的HTML标签,文字都能正常显示但是图片显示不了。找问题找了很久没有发现那个地方写错,也问了别人都不知道,后来问了Android才知道,后台传过来的HTML标签,有些是转义过的。移动端这边识别不了。才造成了图片不显示。使用NSString替换字符串的方法把转衣服替换了。就OK。
阅读全文
摘要:想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构。建议多阅读官方文档。 一、总体上zabbix的整体架构如下图所示: 重要组件说明: 1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
阅读全文
摘要:摘要:因为想要学习HTML所以需要一个工具,同事推荐了webstorm。下载以后再网上搜破解方法。搜索到一个很简单的。 一.下载链接https://www.jetbrains.com/webstorm/download/#section=mac 二.在某个网站直接获取注册码可是用了一段时间发现不行。
阅读全文
摘要:一、消息通知 在一些网站上,经常会有一些发布/订阅或者邮件订阅的功能,尤其一些博客上。其实这种问题很常见,当页面需要进行如发送邮件、复杂的计算时会阻塞页面的渲染。为了避免用户等待太久,应该使用其他进程单独完成此类操作,这里邮件订阅可以用任务队列来实现,具体来说,当需要发送邮件时,将其存入队列中,另外
阅读全文
摘要:一、redis中的事务 在关系型数据库中事务是必不可少的一个核心功能,生活中也是处处可见,比如我们去银行转账,首先需要将A账户的钱划走,然后存到B账户上,这两个步骤必须在同一事务中,要么都执行,要么都不执行,不然钱凭空消失了,换了谁也无法接受。 同样,redis中也为我们提供了事务,原理是:先把一组
阅读全文
摘要:前面介绍的内容都是用第三方开发好的插件进行mysql监控的,可能有些我们关心的监控内容并不在其中,这时一种常用的方法就是定义我们自己的脚本并将它整合到zabbix中,从而在原有监控的基础上进行有力的补充。下面通过使用脚本来监控主从复制状态并进行报警通知。 先来介绍zabbix中几个常用的术语: 主机
阅读全文
摘要:下面是mongodb的一些基本概念: 文档是MongoDB中数据的基本单元,类似关系数据库中的行。 集合,是存储文档的容器,类似关系数据库中的表。 MongoDB的单个实例容纳多个数据库,每个数据库都有自己的集合和权限。 每一个文档都有一个特殊的“_id”,它在文档所处的集合中是唯一的。 为了易于理
阅读全文
摘要:一、MongoDB安装 1、下载并解压 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.0.tgz tar zxvf mongodb-linux-x86_64-rhel62-3.2.0.tgz 2、移动到指定
阅读全文
摘要:一、redis持久化 redis是内存数据库,一切的数据都是存储到内存中的,我们知道,当服务器意外关机,那么在内存中的数据都将丢失,但是redis为我们提供持久化功能,这样就能把数据保存到硬盘上。redis提供两种持久化方式,分别是RDB和AOF方式,各有特点。下面进行介绍这两种方式。 1、RDB方
阅读全文
摘要:一、复制介绍 所谓的复制就是在多个主机之间同步数据的过程。 1、数据冗余及可用性 复制技术提供数据冗余及可用性,在不同的数据库服务器上使用多个数据副本,复制技术防止单个数据库服务器出现数据故障而出现数据丢失。通过设置从库,你能在上面进行灾难切换、数据备份、报表服务等。在某些应用场景下,你还能提高读的
阅读全文
摘要:下面详细说明影响mongodb的系统配置,尤其在生产环境上。 1、生产环境推荐的平台 Amazon Linux Debian 7.1 Red Hat / CentOS 6.2+ SLES 11+ Ubuntu LTS 12.04 Ubuntu LTS 14.04 Windows Server 201
阅读全文
摘要:一、索引介绍 在mongodb中,索引用来支持高效查询。如果没有索引,mongodb必须在整个集合中扫描每个文档来查找匹配的文档。但是如果建立合适的索引,mongodb就可以通过索引来限制检查的文档数量。 索引是一种特殊的数据结构,它存储着集合中小部分的数据集,这种数据结构很容易遍历。索引存储着指定
阅读全文
摘要:一、插入文档 使用insert方法插入文档到一个集合中,如果集合不存在创建集合,有以下几种方法: db.collection.insertOne({}):(v3.2 new) #插入一个文档到集合中 > db.users.insertOne( ... { ... name:"Marry", ...
阅读全文
摘要:要保证一个安全的MongoDB运行环境,DBA需要实施一些控制保证用户或应用程序仅仅访问它们需要的数据。这些措施包括但不限于: 认证机制 基于角色的访问控制 加密 审计 一、认证机制 认证是验证客户端用户身份的过程。开启访问控制后,MongoDB需要所有客户端认证它们自己身份以决定它们的访问权限。尽
阅读全文
摘要:MongoDB中集群有三种:主从复制、副本集、分片集群。目前副本集已经替代主从复制架构,成为官方建议采用的架构,而分片集群相较于前两种,更加复杂。 下面是生产环境中常用的分片集群架构: 我们知道,分片集群由三个组件构成: 【分片】:官方建议采用副本集,提供数据冗余和高可用,主要存储业务数据。 【配置
阅读全文
摘要:分片是横跨多台主机存储数据记录的过程,它是MongoDB针对日益增长的数据需求而采用的解决方案。随着数据的快速增长,单台服务器已经无法满足读写高吞吐量的需求。分片通过水平扩展的方式解决了这个问题。通过分片,你能添加更多的机器到集群中来应对快速增长的数据存储并且满足高吞吐量读写操作。 一、分片介绍 M
阅读全文
摘要:为了保持生产环境中数据库的稳定性和性能,增强用户体验。同时也为了避免因数据库连接超时产生页面5xx的错误,有时候我们需要对数据库进行某些方面的优化。主要包括以下几个方面: SQL及索引优化 数据库表结构 数据库系统配置参数 操作系统及硬件 它们具体的优化效果及成本关系如下图所示: 在生产环境下,SQ
阅读全文
摘要:一、MySql5.7增加的特性 1、MySql服务方面新特性 1) 初始化方式改变 MySql5.7之前版本初始化方式: scripts/mysql_install_db MySql5.7版本初始化方式: [root@darren mysql_new]# ./bin/mysqld --initial
阅读全文
摘要:当业务运行一段时间后,会出现有些表数据量很大,可能对系统性能产生不良的影响,常见的如订单表、登录log表等,这些数据很有时效性,比如我们一般很少去查上个月的订单,最多也就是报表统计会涉及到。 在我们的数据库中,用户登录表就是这种类型的表,一般而言,表中的数据是不可逆的,只有插入操作没有删除或者修改操
阅读全文
摘要:之前我一直用Seconds_behind_master来衡量主从的延迟,今天看到文档,才觉得多么不可靠!以下是官方文档的描述: In essence, this field measures the time difference in seconds between the slave SQL t
阅读全文
摘要:最近在研究mysql的高可用架构,自己想总结下常用的高可用方案都有哪些、有哪些优缺点以及应用的场景?搞得是头昏脑涨,天昏地暗,看了诸多资料,每次都觉得公说公有理婆说婆有理。其实嘛,大家说的都有一定的道理,只不过适合自己的才是最正确的。今天就从比较常用的主从+MHA说起。 学习一种新的架构还是软件,最
阅读全文
摘要:最近,系统更新出现了问题,比较紧急,需要对三张表进行回档。由于我们都是采用mysqldump进行每天全备整库,数据量比较大,一个备份文件大概有70G,需要从这个70G文件中恢复三张表,真是蛋疼至极啊,搞了整整一个下午,下面就介绍下具体操作。 1、采用grep查找:由于mysqldump文件导出的是i
阅读全文
摘要:zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabb
阅读全文
摘要:关于Atlas的详细介绍请访问:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md 为什么要使用Atlas?应用程序直连数据库不好吗?还要在前面加上一层代理,会不会降低应用的读写性能?会不会增加维护管理的成本?我想这是每个使用atla
阅读全文
摘要:上面一章“zabbix实现mysql数据库的监控(二)”使用MPM来监控mysql,但是遇到安装问题始终解决不了,这里改用percona-monitoring-plugins进行zabbxi上监控mysql数据库了。 percona-monitoring-plugins的详细介绍请见:https:/
阅读全文
摘要:上章我们把zabbix的服务端和客户端都部署完成了,本章接着进行两部分的设置: 1 添加对mysql数据库主机的监控 2 添加对mysql数据库的监控 一、对数据库服务器主机监控 1 创建主机 步骤如下:组态>>主机>>创建主机 进入创建主机的界面,如下,填写信息后保存。 正确添加后状态是绿色的已启
阅读全文
摘要:今天来学习redis的基础数据类型,redis中一共有五种数据类型,分别是:string,hash,list,set,zset。下面分别进行介绍。 一、string(字符串) 字符串类型是redis最基础的数据类型,它能存储任何形式的字符串,包括二进制数据。一个字符串类型允许存储的数据最大容量是51
阅读全文
摘要:最近,由于工作需要,使用python开发公司的运维自动化平台,所以找本书来并结合官方手册,开始python的学习之旅。 一、列表 【含义】:列表用中括号表示,通过逗号进行分隔一组数据(可以为不同的数据类型),如以下的声明: 1 >>> language = ['chinese','english',
阅读全文
摘要:二、元组(tuple):不可变序列 跟list一样,也是一种序列,唯一不同的是,元组元素不能被修改,通常用(, ,)表示元组,也可以不加括号。 1 #创建元组 2 >>> 1,2,3 3 (1, 2, 3) 4 >>> t = (1,2,3) 5 >>> t 6 (1, 2, 3) 7 #创建空元组
阅读全文
摘要:一、首先来理解几个面向对象的关键特性: 1、封装:对象可以将他们的内部状态隐藏起来。python中所有特性都是公开可用的。 2、继承:一个类可以是一个或多个类的子类。python支持多重继承,使用时需要注意继承顺序。 3、多态:实现将不同类型的类的对象进行同样对待的特性--不需要知道对象属于哪个类就
阅读全文
摘要:一、字符串的基本操作 所有标准的序列操作对字符串同样适用,如索引、分片、乘法、判断成员是否存在、求长度、最大值和最小值等。记住一点,字符串是不可变的。 二、字符串中重要的方法 1、find(substr[strat,end])方法:返回找到的第一个子串的最左端位置索引,如果子串不存在,返回-1.(建
阅读全文
摘要:由于mysql存在多种数据库备份方式,而且各有利弊,对于我们初学者来说,选择合适的备份方式确实有些困难。个人觉得,首先要基于公司的需求,考虑能够容忍丢失多少数据、花多少人力时间成本等,这是我们制定备份方案的依据,同时制定出来的方案要可执行,要执行,不能把方案当作纸上谈兵。下面我把我们实际的备份方案整
阅读全文
摘要:俗话说:工欲善其事,必先利其器。最近使用python,习惯了liunx和vim,打算将vim作为python开发工具,下面就配置vim,以让它成为python开发的利器,增强我们的开发体验!废话少说,看下面。 1、检查vim是否支持python,确保安装7.x版本,我的是vim7.4,检查方法:vi
阅读全文
摘要:每种编程语言都会有自己的异常处理机制,虽然各有特色,但基本上都差不多,那么python中强大异常处理机制是什么样的呢? 一、异常: python用异常对象来表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕获,程序会用回溯终止执行: 1 >>> 1/0 2 Traceback (mos
阅读全文
摘要:测试环境:主从架构,操作系统liunx 运行pt-table-checksum需要先安装以下依赖包: yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes -y 1、模拟主从不一致的环境: 在主库上创建一个新表,并插入几条记录,如
阅读全文
摘要:最近用innobackup进行备份测试,我们只备份一个innodb类型的库,数据大小大概50多G,用innobackupex大概用了5个多小时,但是mysqldump只用了大约2个小时,这让我很费解,有哪位知道的同志能够交流下?按理说innobackupex应该快的,还有就是大家在备份时不要放到高峰
阅读全文
摘要:转载于:http://www.baidu-ops.com/2013/05/26/xtrabackup/ xtrabackup是基于InnoDB存储引擎灾难恢复的。它复制InnoDB的数据文件,尽管数据文件在内部是非一致性的,但在执行灾难恢复时可以保证这些数据文件是一致的,并且可用。 官方原理 在In
阅读全文
摘要:需求:在同一个环境下新建Standby RAC库,即和Primary RAC在相同的磁盘组。说明:生产环境一般不建议这样配置DG,因为存储层面是相同磁盘组,灾备的实际意义不大。我这里是用作读写分离。 基本信息:db_name: jyzhaoPrimary RAC db_unique_name:jyz
阅读全文
摘要:在《SQL Tuning 基础概述05 - Oracle 索引类型及介绍》的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描,单块读,有序INDEX RANGE SCAN:索引的范围扫描INDEX FAST FULL SCAN:索引的快速全扫描,多块读,无
阅读全文
摘要:使用dbms_metadata.get_ddl()函数可以做到。 实验环境:Oracle 11.2.0.4以获取jingyu用户下的T1表为例: 结果显示不全,设置一下long再查询: 看着不舒服,再设置一下pagesize: 同样可以查询索引等对象的创建语句: 分区表和分区索引,同样可以获取到:
阅读全文
摘要:查看“_gc”开头的隐藏参数值: --11g RAC关闭DRM特性 --10g RAC关闭DRM特性 参考老熊的文章,http://www.laoxiong.net/problem-caused-by-drm.html10g RAC可以设置另外2个动态的隐含参数,来达到从”事实上“关闭DRM的目的:
阅读全文
摘要:实验环境:Oracle 11.2.0.4 RAC参考MOS文档:How To Configure Server Side Transparent Application Failover (文档 ID 460982.1) 1.为设置TAF在RAC集群上新建服务 2.启动server_taf服务 3.
阅读全文
摘要:今天发现一个有意思的问题,我们知道,在Oracle数据库中正常执行 select sysdate from dual 都可以返回当前主机的系统时间。正常修改系统时间,对应的查询结果也会变成修改后的系统时间。现在遇到一个问题:测试系统修改了主机系统时间,数据库查询 select sysdate fro
阅读全文
摘要:测试环境:11.2.0.4 1.构建数据块损坏的测试环境 2.有备份:常规恢复坏块 3.无备份:跳过坏块 1.构建数据块损坏的测试环境 1.1 创建测试表 1.2 查询表中每一行对应的文件号和块号 1.3 使用bbed工具模拟破坏6号数据文件的3893数据块 关于bbed的编译和使用可参考 《Ora
阅读全文
摘要:1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继续运行不受影响 1.正常执行scp命令 从oradb30机器拷贝一个文件夹到oradb31机器:scp -r /u01/media/Disk1/
阅读全文
摘要:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5.1 解压安装介质 5.2 开始安装db软件 5.3 root用户执行脚本 6.升级Database软件
阅读全文
摘要:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clusterware 3.1 解压clusterware安装介质 3.2 开始安装clusterware 3
阅读全文
摘要:OGG学习笔记01-基础概述OGG(Oracle Golden Gate),最近几年在数据同步、容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台、跨数据库、跨版本的强大特性。 OGG理论概念 我们可以搜索到网上对它的简单介绍: Oracle Golden
阅读全文
摘要:我的实验环境:源生产库(主库):IP地址:192.168.1.30Oracle 10.2.0.5 单实例 新DG库(备库):IP地址:192.168.1.31Oracle 10.2.0.5 单实例 1.源生产库开启归档 2.rman备份源生产库 3.修改源生产库参数 4.配置tnsnames.ora
阅读全文
摘要:OGG学习笔记03-单向复制简单故障处理 环境:参考:OGG学习笔记02-单向复制配置实例实验目的:了解OGG简单故障的基本处理思路。 1. 故障现象故障现象:启动OGG源端的extract进程,data pump进程,一段时间后发现进程均被终止。 2. 查看日志查看ogg日志ggserr.log,
阅读全文
摘要:环境:Linux + Oracle 11.2.0.1 ADG现象:发现备库没有应用日志 1. 数据库查询备库目前状态发现备库目前没有应用日志,apply lag已经显示备库有3天21小时多没有应用日志。 2. 查询alert告警日志从alert告警日志中定位到ADG出现问题的时刻,有600报错信息,
阅读全文
摘要:实验环境:源端:192.168.1.30,Oracle 10.2.0.5 单实例目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1.模拟源数据库业务持续运行 2.配置OGG前期准备 3.配置OGG单向复制 1.模拟源数据库业务持续运行 OGG的单向配置比较简单,但实际生产过
阅读全文
摘要:服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高。 可以参考MOS:How To Connect Using the Bequeath Protocol (BEQ) in 8I (文档 ID 181317.1) Beq connecti
阅读全文
摘要:这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异。所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍。而本文是假设SQL本身合
阅读全文
摘要:实验:某个分区数据块损坏,不完全恢复此分区表数据背景:数据库没有有效备份,某个分区中有数据块损坏。要求:最大限度恢复此分区数据。环境:RHEL 6.4 + Oracle 11.2.0.4 1. 初始化实验环境 2. 模拟分区中有数据块损坏情景 3. 尝试使用Oracle内部事件10231进行不完全恢
阅读全文
摘要:环境:RHEL 6.4 + Oracle 11.2.0.4 1. 拷贝缺失文件 2. 编译BBED 3. BBED使用测试 Reference 1. 拷贝缺失文件 11g中缺失几个相关文件,但我们实际可以从10g拷贝相关文件到11g对应目录下: 2. 编译BBED 成功编译的结果如下: 3. BBE
阅读全文
摘要:源环境:RHEL 6.4 + Oracle 11.2.0.4目的环境:RHEL 6.4 + Oracle 11.2.0.4 DG双机要求:使用SQL传输表空间DBS_D_JINGYU从源环境到目的环境。 1.创建目录 2.检查表空间自身的一致性 3.expdp导出表空间的元数据 4.转储文件和数据文
阅读全文
摘要:1.了解段收缩 2.自动执行Segment Advisor 3.收缩段 1. 了解段收缩 应用场景:如果对一张表频繁执行插入、更新和删除操作,时间长了可能会出现大量碎片,Oracle针对这种场景推出段收缩功能,以便减少碎片。Oracle的段收缩执行两项不同的任务:(1)压缩数据行,(2)移动高水位线
阅读全文
摘要:1.了解Resource Manager术语 2.了解Resource Manager分配方法 3.了解DEFAULT_PLAN 4.新建资源计划 5.创建使用者组 6.了解资源分配方法 7.分配使用者组 8.激活资源计划 9.了解Resource Manager视图 10.监视Resource M
阅读全文
摘要:环境:RHEL 6.4 + IEE 4.0.6需求:IEE数据库之前是使用root用户部署和管理的,现在安全加固,将数据库交给普通用户iee来管理。 一、当前环境二、安全加固 1.创建iee用户 2.关闭数据库 3.修改权限 4.启动数据库 5.验证数据 一、当前环境 IEE数据库安装向导:http
阅读全文
摘要:应用服务器:Windows Server 2008 R2 Enterprise故障现象:项目侧同事反映应用服务器上的程序连接数据库报错:ORA-12560: TNS: 协议适配器错误 1.故障重现 2.定位问题 3.解决问题 1.故障重现 在应用服务器上使用sqlplus和PL/SQL工具登录连接数
阅读全文
摘要:1.可恢复的空间分配 2.可移动表空间 3.Oracle段收缩功能 4.Oracle数据库资源管理 Reference 1.可恢复的空间分配 1.1 了解可恢复的空间分配 一般情况,我们发出一个大型数据库操作,比如创建大表索引,如果表空间不足,数据库最终会终止操作。而可恢复的空间分配功能可以使得这类
阅读全文
摘要:题目地址:http://www.hustoj.com/oj/problem.php?id=1092 题目描述 Dave以某种方法获取了未来几天美元对德国马克的兑换率。现在Dave只有100美元,请编程序,使Dave通过几天的美元与德国马克的兑换后能得到最多的美元。 Dave以某种方法获取了未来几天美
阅读全文
摘要:import java.util.*; /** * Created by Daxin on 2017/8/19. * <p/> * 奶牛排队饮水问题 * 输入:n牛的数目,然后n个整数表示牛的序号 * 输出:输出交换最少次数 * <p/> * 例如一个测试用例:9<br> * 2,2,1,3,3,3
阅读全文
摘要:博文转至:http://www.jianshu.com/p/3667157d63bb,博文更好效果看原版,转本博文的目的就算是个书签吧,需要时候可以定位原文学习 1、故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高。
阅读全文
摘要:转载至:http://www.cnblogs.com/binyue/p/3678390.html,最近学习需要,先转载方便用用来强化加深印象 一、分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。 (1)什么是数据
阅读全文
摘要:在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交请求-
阅读全文
摘要:转载至:http://www.cnblogs.com/CareySon/archive/2010/02/16/1668803.html 简介 数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的
阅读全文
摘要:上学时学得《数据库系统概念》,一致似懂非懂,停留在定义和证明层面。最近在做项目,认真的了解了下数据库的范式问题,只有潜意识懂得了其原理和应用场合才能较快设计出合理的表。 首先,明确概念如下: 主码 也就是主键 候选码 若关系中的某一属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属
阅读全文
摘要:[转] http://www.syyong.com/db/Redis-why-the-use-of-single-process-and-single-threaded-way-so-fast.html Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是
阅读全文
摘要:转载至:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO)
阅读全文
摘要:进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1 + 6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计算机计算,则正好是156 33是一个八进制可以看做3*8^1+3*8^0 次方 换算出来就是10进制 如果
阅读全文
摘要:硬件知识 计算机之父(冯·诺依曼)提出了一种结构电子管-晶体管-集成电路-大规模集成电路主要的要点是:1.)计算机存储是按照二进制存储的 作用是 可靠,稳定2.)计算机按照程序顺序执行 有五个要点1.)有标准的输入设备2.)有存储的戒指3.)能够进行算数运算和逻辑运算(cpu)4.)有控制5.)有标
阅读全文
摘要:一丶编码规范基本数据类型 编码规范 任何程序员,都应该有良好的的编码习惯,便于以后的代码可读性和维护 常见了编码规范有 匈牙利命名法 驼峰式大小写 匈牙利命名法: 是电脑程序设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法。 匈牙利命名法具备语言独立的特性,并且首次在
阅读全文
摘要:1.C语言是一个标准,而执行标准的时候产生的自动化程序则是编译器2.了解:1983年美国国家标准化歇会(ANSI)制定了C语言标准.C语言的特点:3.代码的可移植性(理想状态是代码可以不加修改,就可以移植,前提是不包括任何平台相关库)4.写代码的时候最好把业务逻辑层和UI层分开.这样便于代码的移植5
阅读全文
摘要:一、原码,反码,补码 1.原码 比如一个二进制数字 最高位是0,(0代表正数) 0010 1000 那么原码就是0010 1000 反码: 0010 1000 补码: 0010 1000 都是一样的,这个二进制数字的10进制是40 所以是正数 正数的原反补都是一样的 2.反码 反码就是原码的取反,二
阅读全文
摘要:汇编第一讲 汇编简介 一.什么是汇编 汇编语言他是计算机语言,计算机语言通俗点说就是人类和计算机(也就是CPU)沟通的桥梁,计算机不认识人类的语言,只认得二进制(0和1)但是我们想让你算计完成我们的工作,每次都是0,和1,那样会崩溃的,(老一辈的是这样的)所以后面汇编语言出现了,用一些简单的助记符来
阅读全文
摘要:一丶我们要理解COM是什么(为什么理解) 现在很多人会用com(也就是ALT)但是不知道原理,如果改一点东西,那么整体的框架重来,因为你不懂改哪里,如果懂了,那么遇到问题,那么就会知道我要怎么做,是什么问题了 二丶什么是COM COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种
阅读全文
摘要:优化以前的代码,让使用者更方便 一丶 优化思路 1.我们可以将我们写的GUID(类工厂的ID)保存到注册表中,并且保存一下DLL的文件路径,遍历注册表去DLL路径即可. 2.每个类工厂我们就要使用一个GUID,而我们就要写到注册表中GUID 注册表在系统的文件夹下: C:\\ WINDWOS \\
阅读全文
摘要:常用的7中寻址方式 昨天稍微讲了一下,立即数寻址,今天继续讲解寻址方式. (注意,这个属于简陋版的,写了4个小时的博客,也就是第一版,保存了一下,但是博客出问题了,重新打开后发现保存的内容没了,让我很无语 所以我星期六星期天重新编辑这一张,现在发出这些先简单的预习一下谢谢) 1.操作码,操作数,位移
阅读全文
摘要:内存分段 一丶分段(汇编指令分段) 1.为什么分段? 因为分段是为了更好的管理数据和代码,就好比C语言为什么会有内存4区一样,否则汇编代码都写在一起了,执行的话虽然能执行,但是代码多了,数据多了,搞不清什么是代码 什么是数据了. 汇编分段代码 1 e 1000:0 "Hello$" 首先给1000:
阅读全文
摘要:昨天已将简单的写了一下汇编代码,并且执行了第一个显示到屏幕的helloworld 问题? helloworld怎么显示出来了. 一丶显卡,显存的概念 1.显示hello就要操作显示器,这是非常原始的,那个时候的程序员,并没有像现在的RGB(红绿蓝)这样的三色真彩色,那个时候就是操作显卡的,定义了一个
阅读全文
摘要:在Struts2框架中提供了一套标签库,可以与struts2无缝结合。 数据标签a、action、bean、date、debug、i18n、include、param、property、push、set、text、url 控制标签:if、elseif、else、append、generator、in
阅读全文
摘要:Struts对国际化的支持表现在三个地方: |-UI标签 |-验证通知的消息和错误 |-在action类里面通过getText()方法 要实现Struts的国际化,首先,需要在struts.xml配置文件中加入如下配置: <constant name="struts.custom.i18n.reso
阅读全文
摘要:Struts2的验证通过配置xml或者注解的方式。依赖与validationheworkflow接口(被默认的拦截器桟引入)。validation接口执行验证并且创建一些列的错误域。workflow接口检查验证错误的状态,一旦发现,就默认返回"input", 先看一个简单的验证实例: View Co
阅读全文
摘要:在Struts2里面提供了内置的处理文件上传的支持。在正确的配置好的前提下,上传的文件会被传到action里面去。支持单文件和多文件上传。当一个文件被上传的时候,会先把上传的文件存储到一个临时目录中,上传的文件可以通过action类来处理或者移到其他地方来保证数据不会丢失。 Struts2使用附加的
阅读全文
摘要:在Struts2中,使用token的方式来防止二次提交。并且在默认的拦截器栈中提供了两个默认拦截器Token Interceptor和Token Session Interceptor。必须要在form中添加token标签,如果没有的话,则会被认为是invalid token。 Token Inte
阅读全文
摘要:'ez' => 'application/andrew-inset', 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'doc' => 'application/msword', 'bin' =
阅读全文
摘要:本次学习版本:hibernate-release-5.2.6.Final,要求java 1.8 和JDBC 4.2。 hibernate是一个开放源代码的对象关系映射框架。对JDBC进行了非常轻量的封装。它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQ
阅读全文
摘要:BCP 命令的参数很多,使用 -h 查看帮助信息,注意:参数是区分大小写的 使用BCP命令导出和导入数据常用的参数如下 bcp {[[database_name.][schema_name]].{table_name | view_name} | "query"} {in | out | query
阅读全文
摘要:Execute Process Task 用于在Control Flow中执行应用程序,常用于对加密的数据进行解压。 1,RequireFullFileName 属性:是否需要完整的文件路径,如果在FullPath下没有找到文件,那么Task失败。File是Task执行的应用程序文件,默认值是Tru
阅读全文
摘要:1,利用优先约束来并发处理数据,Data Flow Task 和 Data Flow Task 1 是并发执行的,而 Data Flow Task2 必须等到 Data Flow Task 和 Data Flow Task 1 执行完成之后,才开始执行。 2,如何从一个数据源表中并发处理数据,设计思
阅读全文
摘要:max,min,sum,avg聚合函数会忽略null值,但不代表聚合函数不返回null值,如果表为空表,或聚合列都是null,则返回null。count 聚合函数忽略null值,如果聚合列都是null或表为空表,则返回0。 共性:Null values are ignored. 一,聚合函数忽略NU
阅读全文
摘要:NULL表示unknown,不确定值,所以任何值(包括null值)和NULL值比较都是不可知的,在on子句,where子句,Merge或case的when子句中,任何值和null比较的结果都是false,这就是NULL设下的陷阱,我被坑过。 有一次,我使用Merge同步数据,由于target表中存在
阅读全文
摘要:在SSISDB中,能够使用TSQL脚本执行Package;每执行一次Package,SSIS都会创建一个Operation 和一个执行实例(Execution Instance),每个Execution Instance都有唯一的标识 ExecutionID,数据类型是bigint; 有些Packa
阅读全文
摘要:一,SSIS Parameter Value 的type 一个Parameter的Value共有三种类型,分别是Design Value,Server Value,Execution Value。 Design Value是指设计值,在SSDT中设计package时,为某一个Parameter指定的
阅读全文
摘要:今天学习SSISParameter的用法,记录学习的过程。 Parameters能够在Project Deployment Model下使用,不能在Package Deployment Model使用。在Package Deployment Model下,使用Package Configuratio
阅读全文
摘要:Default约束的作用是在insert语句执行时,如果未显式给指定的column赋值,那么使用默认值给column赋值;如果在Insert命令中显式为指定的Column赋值,那么将插入显式值。每一列只能有一个default约束。 在执行update命令时,如果为Column指定default值,实
阅读全文
摘要:Check约束用以限制单列或多列的可能取值范围。 1,在check约束中(check(expression)),如果expression返回的结果是Unknown,那么check返回的结果是true。 create table dbo.dt_check ( id int null constrain
阅读全文
摘要:在传递数据时,XML和JSON是最常用的数据格式,SQL Server从很早的版本就开始支持XML格式,而对于JSON格式,SQL Server从2016版本开始支持。大多数数据库系统并没有升级到SQL Server 2016版本,因此在传递格式化的数据时,通常还是使用XML格式。对我而言,查询和解
阅读全文
摘要:unique约束使用unique index来限制列值的唯一性; 创建unique约束之后,column中允许插入null值,unique 约束将两个null值看作是相同的(即null=null为true),null和其他任何非null值都不相等。 一,unique约束分为column level和
阅读全文
摘要:在数据库开发中,对两个关系表进行连接查询,能够直接做“逻辑或”的查询,而对于逻辑与和逻辑非的查询,则稍复杂点,需要编写额外的代码来实现。在关系型数据库中,所谓的连接,实际上是集合的包含,只要包含一项,就满足连接条件,实现的逻辑或,这种设计,能够满足绝大多数的查询需求。有时,对于一条数据,可能需要通过
阅读全文
摘要:在数据库开发过程中,字符串和关系表的转化是一项基本技能。当字符串中存在分隔符时,有时将其转换成关系表数据,和其他数据表进行join查询,出现这种情况,是因为没有遵守关系数据库的设计范式,没有把字符串拆分成原子项存储,也有可能是数据传参数;有时会遇到相反的情况,需要将关系表的相关数据拼接成一个字符串显
阅读全文
摘要:时光荏苒,一晃,我已过而立之年,人生之路已经走完小一半了,回头想想在上海工作的这几年,我的心理状态发生了很大的变化,从向往上海,到想逃离上海;从任性,依赖父母,到成熟,为父母和家庭分忧。然而,在上海待久了,安家的意愿越来越强烈,归属感越来越稀薄,对未来越来越迷茫,是时候,给自己的人生做一个反思了,出
阅读全文
摘要:在数据库安全体系中,Login和User是两个最基本的安全主体(Principal),Login用于登陆到SQL Server实例,而User用于访问数据库。Login和User之间有一个映射关系,通过SID(安全标识,Security ID)连接到一起。在一个数据库中,如果一个User没有相应的L
阅读全文
摘要:在每个MongoDB(版本 3.2.9) Instance中,都有一个本地数据库(local),用于存储 Replication 进程的信息和本地数据。local 数据库的特性是:位于local数据库中的数据和集合不会被 Replication 进程复制到其他MongoDB instance上。如果
阅读全文
摘要:在设计一个新系统的Table Schema的时候,不仅需要满足业务逻辑的复杂需求,而且需要考虑如何设计schema才能更快的更新和查询数据,减少维护成本。 模拟一个场景,有如下Table Schema: Product(ID,Name,Description) 在设计思路上,ID是自增的Identi
阅读全文
摘要:在执行Package时,SSISDB都会创建唯一的OperationID 和 ExecutionID,标识对package执行的操作和执行实例(Execution Instance),并记录operation message,统计executable的执行时间,便于developers 优化pack
阅读全文
摘要:在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分,MongoDB保证各个分片之间不会有重复的数据,所有分片保存的数据之和就是完整的数据集。分片集群将数
阅读全文
摘要:在MongoDB(版本 3.2.9)中,数据的分发是指将collection的数据拆分成块(chunk),分布到不同的分片(shard)上,数据分发主要有2种方式:基于数据块(chunk)数量的均衡分发和基于片键范围(range)的定向分发。MongoDB内置均衡器(balancer),用于拆分块和
阅读全文
摘要:在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群。分片集群(Sharded Clustered)的服务器分为三中类型:Router(mongos),Config
阅读全文
摘要:项目组有一个数据库备份的Job运行异常,该Job将备份数据存储到remote server上,平时5个小时就能完成的备份操作,现在运行19个小时还没有完成,backup命令的Wait type是 ASYNC_IO_COMPLETION: 根据MSDN 官方文档的定义:Occurs when a ta
阅读全文
摘要:数据库使用Table来存储海量的数据,细分Table结构,数据最终存储在Table Column中,因此,在设计Table Schema时,必须慎重选择Table Column的Data Type,数据类型不仅决定了Column能够存储的数据范围和能够进行的操作,而且合适的数据类型还能提高查询和修改
阅读全文
摘要:SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响。在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Application创建IO请求,到Disk完成IO请求的时间延迟。如果物理Disk不能及时完成IO请求,跟不上请求
阅读全文
摘要:Performance Monitor是Windows内置的一个可视化监控工具,能够在OS级别上实时记录系统资源的使用情况,通过收集和存储日志数据,在SQL Server发生异常时,能够还原系统当时的资源的使用情况,是对SQL Server进行Troubleshooting的首选工具。Perform
阅读全文
摘要:性能计数器(Performance Counter)是量化系统状态或活动的一个数值,Windows Performance Monitor在一定时间间隔内(默认的取样间隔是15s)获取Performance Counter的当前值,并记录在Data Collections中,通过Performanc
阅读全文
摘要:相比图形数据的查询,Neo4j更新图形数据的速度较慢,通常情况下,Neo4j更新数据的工作流程是:每次数据更新都会执行一次数据库连接,打开一个事务,在事务中更新数据。当数据量非常大时,这种做法非常耗时,大多数时间耗费在连接数据库和打开事务上,高效的做法是利用Neo4j提供的参数(Parameter)
阅读全文
摘要:副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成。通过Replication,将数据的更新由Primary推送到其他实例上,在一定的延迟之后,每个MongoDB实例维护相同的数据集副本。通过维护冗余的数据库
阅读全文
摘要:SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度。一个好的数据库系统,必定在内存中缓存足够多的信息,以减少从物理硬盘中读取数据的次数;如果内存是系统瓶颈,那么SQL Server一定会
阅读全文
摘要:一些看似简单的数据操作,当作用于海量数据集时,就会出现“意料之外,却在情理之中”的问题,海量数据操作,需要采用特殊方法,才能“曲径通幽”。在删除海量数据时,需要注意日志的增长,索引碎片的增加和数据库的恢复模式,特别是利用大容量日志操作,来减少日志的增长和提高数据插入的速度。对于大数据去重,通过一些小
阅读全文
摘要:在初始化Reporting Service时,SSRS会自动创建数据库[ReportServer],用于存储报表元数据,报表订阅,以及凭证(Credential)和连接信息等身份验证信息,身份验证数据非常重要,为了保护敏感数据,Reporting Service支持对称性密钥(Symmetric k
阅读全文
摘要:PM问:“Vic,现在ETL Job跑到哪一个Package了,正在执行哪个Task?”,第一次遇到这个问题时,一下就懵逼了,只能硬着头皮说:“我看看”。 在做项目开发时,这个问题很常见,但是,被很多ETL开发工程师忽略了,可能是因为,这不是一个直接可以给出答案的命题。 在做大数据处理时,ETL P
阅读全文
摘要:在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,战战兢兢,如履薄冰,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的决心(开个玩笑),遂有此文。 学习过关系型数据库的伙伴都知道,NULL是指不确定的值,在数据库中绝对
阅读全文
摘要:在项目组待的时间久了,渐渐地跟微软的项目经理Michael熟悉起来了,跟他有过很多次深入的聊天,向他请教过很多关于人生,理想,技术上的问题,不得不说,项目经理是我神往的角色。虽然我没有亲身经历过,但是我认为做项目经理很有意思,把一个想法变成项目,服务于业务,这是我期望的工作。 佛者说:“一花一世界,
阅读全文
摘要:数据库引擎是高度优化的闭环系统,基于执行计划的反馈,查询优化器在一定程度上自动优化现有的执行计划。查询优化的核心是索引优化,数据库引擎通过计数器统计关于索引操作的数据,统计的信息包括:使用次数、物理存储、底层操作的计数,以及缺失索引等,这些统计数据存储在内存中,是数据库引擎执行情况的真实反馈,高度概
阅读全文
摘要:存储数据是为了查找数据,存储结构影响数据查找的性能。对无序数据进行查找,最快的查找算法是哈希查找;对有序数据进行查找,最快的查找算法是平衡树查找。在传统的关系型数据库中,聚集索引和非聚集索引都是平衡树(B-Tree)类型的存储结构,用于顺序存储数据,便于实现数据的快速查找。除了提升数据查找的性能之外
阅读全文
摘要:内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row versioning)创建数据快照,读操作不会对数据加锁,因此,读写操作不会相互阻塞。写操作会申请行级锁
阅读全文
摘要:数据库引擎接收到一个新的查询请求(Batch或SP),查询优化器会生成执行计划,并缓存到内存中;下次再次执行相同的查询请求时,数据库引擎从复用已经缓存的执行计划,换句话,数据库引擎为每一个查询请求生成执行计划,并把已经生成的执行计划缓存起来,当接收到相同的查询请求时,数据库引擎复用已缓存的执行计划。
阅读全文
摘要:数据库占用的存储空间,从高层次来看,可以查看数据库文件(数据文件,日志文件)占用的存储空间,从较细的粒度上来看,分为数据表,索引,分区占用的存储空间。监控数据库对象占用的硬盘空间,包括已分配,未分配,和未使用的空间占比,能够有效地管控存储空间,合理利用,避免部分文件空间不足,而其他文件浪费空间的问题
阅读全文
摘要:SQL Server 2016支持哈希查找,用户可以在内存优化表(Memory-Optimized Table)上创建Hash Index,使用Hash 查找算法,实现数据的极速查找。在使用上,Hash Index 和B-Tree索引的区别是:Hash Index 是无序查找,Index Key必须
阅读全文
摘要:在逝去的2016后半年,由于项目需要支持数据的快速更新和多用户的高并发负载,我试水SQL Server 2016的In-Memory OLTP,创建内存数据库实现项目的负载需求,现在项目接近尾声,系统运行稳定,写一篇博客,记录一下使用内存数据库的经验。 SQL Server 2016的In-Memo
阅读全文
摘要:Resource Governor的出现,解决了在一台SQL Server实例上,管理多用户工作负载和资源隔离的需求,它允许管理员限制系统处理Requsts时所耗费的CPU 和 Memory资源的数量,在一定程度上,限制和隔离了runaway查询。对于SQL Server 2012,用户能够基于工作
阅读全文
摘要:数据持久化是还原的前提,没有数据的持久化,就无法还原内存优化表的数据,SQL Server In-Memory OLTP的内存数据能够持久化存储,这意味着内存数据能够在SQL Server实例重启之后自动还原。在创建持久化的内存优化表时,必须设置选项:memory_optimized=on,dura
阅读全文
摘要:AlwaysOn是在SQL Server 2012中新引入的一种高可用技术,从名称中可以看出,AlwaysOn的设计目标是保持数据库系统永远可用。AlwaysOn利用了Windows服务器故障转移集群(Windows Server Failover Clustering,简称WSFC)的健康检测和自
阅读全文
摘要:Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)使用仲裁投票(Quorum Voting)决定集群的健康状况,或使故障自动转移,或使集群离线。当集群中的结点发生故障时,会由其他结点接手继续提供服务,不过,当结点之间通信出现问题,或大多数
阅读全文
摘要:在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)有基本的了解。WSFC必须部署在域管理环境中,由多台服务器组成,每台服务器称作一个“结点”
阅读全文
摘要:通过授予和拒绝(Grant/Deny)命令控制用户的权限,只能控制用户对数据库对象的访问权限,这意味着,用户访问的粒度是对象整体,可以是一个数据表,或视图等,用户要么能够访问数据库对象,要么没有权限访问,就是说,一个数据库对象,通过授予和拒绝用户的权限/角色(Permission或Role),无法使
阅读全文

浙公网安备 33010602011771号