- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 OOP学习目录
1.什么是OOP,什么是面向过程2.OOP和面向过程程序设计区别3.OOP四个基本特征4.类与对象介绍5.OOP程序设计中类与类6中关系6.设计模式,如何理解?
2015-02-06 12:26:37 612
原创 网站相关流行技术词
NO-SQLmemcached+mysqlmysql主从分离分表分库关系数据库关注在 关系上,NOSQL关注在存储上分布式搜索引擎的开发,高并发,大数据量网站系统架构优化,高可用性,可伸缩性,分布式系统缓存,数据库分表分库(sharding)
2015-02-28 10:55:08 508
转载 NoSQL开篇——为什么要使用NoSQL
【编者按】NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于NoSQL方面的经验和体会。非常荣幸能受邀在InfoQ开辟这样一个关于NoSQL的专栏,InfoQ是我非常尊重的一家技术媒体,同时我也希望借助InfoQ,在国内推动NoSQL的发展
2015-02-28 10:33:54 2627
原创 设置MySQL事务隔离级别
select @@tx_isolation; //查看隔离级别 set transaction isolation level read uncommitted; //设置读未提交级别 start transaction; //打开事务 rollback; //回滚 commit; //提交 set transaction isolation level read committed;
2015-02-15 17:29:11 1056
转载 MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt
2015-02-15 17:21:19 627
转载 MySQL聚簇索引的使用介绍
以下的文章主要介绍的是高性能的MySQL索引策略之MySQL聚簇索引(Clustered Indexes),我们大家都知道MySQL聚簇索引(Clustered Indexes),在实际应用中比例还是占有一定的比例的,下面就是文章对其具体内容描述。MySQL聚簇索引保证关键字的值相近的元组存储的物理位置也相同(所以字符串类型不宜建立聚簇索引,特别是随机字符串,会使得系统进行大量的移动操作)
2015-02-15 17:02:05 763
转载 数据库锁的理解
锁的种类数据库系统本身的锁机制1、共享锁(Shared Lock) select这种2、更新锁(Update Lock) update 这种3、排他锁(Exclusive Lock):update set xx=c where id="3" 这种4、意向锁(Intent Lock):对表进行加锁。5、模式锁(Schema Lock):Alte
2015-02-15 16:40:07 481
转载 mysql处理高并发,防止库存超卖
今天王总又给我们上了一课,其实mysql处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这方面的意识。今天就我的一些理解,整理一下这个问题,并希望以后这样的课程能多点。先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。
2015-02-15 16:20:48 1104
原创 mysql load data infile 解决大数据导入
LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TER
2015-02-15 16:11:26 1309
原创 javascript同源策略
一.什么是同源策略 同源策略,它是由Netscape提出的一个著名的安全策略,现在所有的可支持javascript的浏览器都会使用这个策略。 为什么需要同源策略,这里举个例子: 假设现在没有同源策略,会发生什么事情呢?大家知道,JavaScript可以做很多东西,比如:读取/修改网页中某个值。恩,你现在打开了浏览器,在一 个tab窗口中打开了银行网站,在另外一个
2015-02-10 21:01:37 619
转载 JavaScript跨域总结与解决办法
什么是跨域1、document.domain+iframe的设置2、动态创建script3、利用iframe和location.hash4、window.name实现的跨域数据传输5、使用HTML5 postMessage6、利用flash本文来自网络(http://f2e.me/200904/cross-scripting/,该网址已不能访问),仅作个人读书笔记之用,并稍作修改和
2015-02-10 20:59:17 299
转载 RESTful API 设计指南
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇《理解RESTful架构》,探讨如何理解这个概
2015-02-10 16:33:56 423
转载 我所理解的RESTful Web API [设计篇]
《我所理解的RESTful Web API [Web标准篇]》Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建。构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物。而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个“奇怪”的名字呢?目录 一、为
2015-02-10 16:32:39 894
转载 理解OAuth 2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用
2015-02-10 16:32:00 406
原创 Session劫持
服务端和客户端之间是通过session(会话)来连接沟通。当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session。每个用户的session都是独立的,并且由服务器来维护。每个用户的session是由一个独特的字符串来识别,成为session id。用户发出请求时,所发送的http表头内包含session id 的值。服务器使用http表头内的session id来识别时哪个用户提
2015-02-10 12:05:34 694
原创 跨网站请求伪造CSRF(Cross Site Request Forgeries)
CSRF(Cross Site Request Forgeries),意为跨网站请求伪造,也有写为XSRF。攻击者伪造目标用户的HTTP请求,然后此请求发送到有CSRF漏洞的网站,网站执行此请求后,引发跨站请求伪造攻击。攻击者利用隐蔽的HTTP连接,让目标用户在不注意的情况下单击这个链接,由于是用户自己点击的,而他又是合法用户拥有合法权限,所以目标用户能够在网站内执行特定的HTTP链接,从而达到攻
2015-02-10 11:32:06 739
原创 PHP安全方面经常用到的
htmlspecialchars(): 把预定义的字符是:& (和号) 成为 &" (双引号) 成为 "' (单引号) 成为 '> (大于) 成为 >转换为HTML实体htmlentities() 把所有的html转换为实体addslashes()函数在指定的预定义字符前添加反斜杠。这些预定义字符是:单引号 ('
2015-02-10 10:35:06 387
原创 XSS(Cross-site-scripting)跨站脚本攻击
XSS(Cross Site Scripting),意为跨网站脚本攻击,为了和样式表css(Cascading Style Sheet)区别,缩写为XSS跨站脚本主要被攻击者利用来读取网站用户的cookies或者其他个人数据,一旦攻击者得到这些数据,那么他就可以伪装成此用户来登录网站,获得此用户的权限。跨站脚本攻击的一般步骤:1、攻击者以某种方式发送xss的http链接
2015-02-10 10:29:56 413
原创 PHP中正则常用函数
int preg_match(string$pattern , string$subject[,array&$matches[,int $flags= 0 [, int$offset = 0 ]]] )//验证邮箱的$email_address = $_POST["email_address"]; $pattern = "/^([0-9A-Za-z\\-_\\.]+)
2015-02-08 19:11:08 323
原创 javascript原型链和继承
javascript原型链原型链的话,一般是定义构造函数时用到,可以认为是针对构造函数的或者说针对构造函数对应的类的;原型链的头部就是Object类/构造函数,如果有构造函数1.prototype = 构造函数2;那么也就有这么一个原型链; Object ==> 构造函数1 ==> 构造函数2,这样的好处是构造函数2对应的类,可以拥有构造函数1 和Object中的属性,js没有对应继承的关
2015-02-08 19:10:19 290
原创 javascript中正则一些东东
1. 正则可以对字符串的信息进行查找、替换和提取操作。2. 可以处理正则表达式的方法有 regexp.exec ,regexp.test ,string.match,string.replace,string.search,string.split3. /^ $/i 一个正则表达式模板4. 例子:匹配一个URL var url = "http://www.ora.com:80/g
2015-02-08 09:43:17 256
原创 javascript函数包含的东东
函数对象函数字面量类似这样的 var add = function(a,b){ return a+b;}调用:函数调用时,接收2个附加的参数:this和arguments 。this 在面向对象编程中非常重要, 它的取值决于调用模式。4中调用模式:方法调用模式,函数调用模式,构造器调用模式,apply调用模式arguments:拥有length属性,可以通
2015-02-08 08:36:18 398
原创 javascript中数组的一些东东
数字字面量var empty = [];var numbers = [ 'zero','one','two','three'];长度(length):length属性的值时这个数组的最大整数属性名加1.它不一定等于数组里的属性的个数。删除枚举:不要用for in 尽量用 for混淆的地方:当属性名时小而连续的整数时,应该使用数组,否则使用对象方法维度:JS支持多维数组
2015-02-07 22:17:39 320
原创 javascript中继承包含的东东
JS是一门基于原型的语言,这意味着对象直接从其它对象继承。对象说明符:var myObject = marker({ first:f, last:l, state:s, city:c});原型继承函数话可以实现私有,共有(没学会)部件
2015-02-07 22:04:20 317
原创 javascript对象包含的东东
1. 对象字面量2. 检索3.更新4.引用5.原型6.反射7.枚举8.删除9.减少全局变量污染有提到:原型链,闭包
2015-02-07 14:05:00 304
原创 JAVASCRIPT中的数字,注意点
javascript中只有一个单一的数字类型。它在内部被表示为64位的浮点数,和java的double一样。不像其它的编程语言,它没有分离出整数类型,所以1和1.0是相同的值。值NaN 是一个数值,它表示一个不能产生正常结果的运算结果。NaN 不等于任何值,包括它自己。你可以用函数isNaN(number)来监测NaN。值Infinity表示所有大于1.797693
2015-02-07 10:07:20 283
原创 在javascript中一下值被当做false
falsenullundefined空字符串‘ ’数字 0数字NaN其它所有值都被当做真,包括 true, 字符串 'false',以及所有的对象。
2015-02-07 10:04:37 424
原创 Javascript对象描述
Javascript简单类型包括数字、字符串、布尔值、null值和undefined值。其他所有值都是对象。数字、字符串、布尔值‘貌似’ 对象,因为它们拥有方法,
2015-02-07 09:46:00 327
原创 什么是高内聚、低耦合?
起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 耦合性分类(低――高): 无直接耦合;数据耦合;
2015-02-06 13:58:20 2550
转载 设计模式六大原则(6):开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。 开闭原则是面
2015-02-06 13:25:28 312
原创 设计模式六大原则(5):迪米特法则
迪米特法则:也叫最少知道原则,强调的是,一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。 自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的
2015-02-06 13:20:10 690
原创 设计模式六大原则(4):接口隔离原则
接口隔离原则:强调的是客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。本文例子中,将一个庞大的接口变更为3个专用的接口所采用的就是接口隔离原则。在程序设计中,依赖几个专
2015-02-06 13:13:25 310
原创 设计模式六大原则(3):依赖倒置原则
依赖倒置原则:强调高层模块不应该依赖底层模块,二者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口
2015-02-06 13:06:37 340
原创 设计模式六大原则(2):里氏替换原则
里氏替换原则:强调的是类继承时,不要重写或者重载父类中已经实现的方法,只实现抽象方法。 继承包含这样一层含义:父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。而里氏替换原则就是表达了这一层含义。 继承作为面向对象三大特性
2015-02-06 12:57:37 393
原创 设计模式六大原则(1):单一职责原则
单一职责原则:强调一个类只负责一项职责。说到单一职责原则,很多人都会不屑一顾。因为它太简单了。稍有经验的程序员即使从来没有读过设计模式、从来没有听说过单一职责原则,在设计软件时也会自觉的遵守这一重要原则,因为这是常识。在软件编程中,谁也不希望因为修改了一个功能导致其他的功能发生故障。而避免出现这一问题的方法便是遵循单一职责原则。虽然单一职责原则如此简单,并且被认为是常识,但是即便是经验丰富的程
2015-02-06 12:44:10 559
原创 面向对象与面向过程的区别
面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它以数据为中心而不是以功能为中心来描述系统,数据相对于功能而言具有更强的稳定性。它将数据和对数据的操作封装在一起,作为一个整体来处理,采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型——类,并且考虑不同类之间的联系和类的重用性。类的集成度越高,就越适合大型应用程序的开发。另一方面,面向对象程序的控制流程由运行
2015-02-06 12:12:24 324
原创 OOP介绍
面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。抽象性把众多的事物进行归纳、分类是人们在认识客观世界时经常采用的思维方法,“物以类聚,人以群分”就是分类的意思,分类所依据的原则是抽象。抽象(Abstract)就是忽略事
2015-02-06 10:54:51 546
构建高性能WEB站点 完整版
2015-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人