自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜心儿爸爸

心不妄念 身不妄动 口不妄言 君子所以存;内不欺己 外不欺人 上不欺天 君子所以慎独;

  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

转载 Web系统大规模并发——电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。 1. 请求接口的合理设计一个秒杀或者抢购页面,通常分为2个部分,一个是静态的HTML等内容,另一个就是参与秒杀的Web后台请求接口。

2014-12-17 10:02:39 1813

转载 PHP高效率写法(详解原因)

1.尽量静态化:   如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。   当然了,这个测试方法需要在十万级以上次执行,效果才明显。   其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。  任何语...

2014-12-09 10:25:28 407

转载 字符编码

你是否认为“ASCII码 = 一个字符就是8比特”?你是否认为一个字节就是一个字符,一个字符就是8比特?你是否还认为你是否还认为UTF-8就是用8比特表示一个字符?如果真的是这样认为认真读完这篇文章吧!为什么要有编码?首先大家需要明确的是在计算机里所有的数据都是字节的形式存储,处理的。我们需要这些字节来表示计算机里的信息。但是这些字节本身又是没有任何意义的,所以我们需要对这些字节赋予实...

2018-03-14 09:10:10 229

转载 PHP正则表达式及实例

正则表达式 去除连续空白 + 获取url +分割url PHP正则表达式提取超链接及其标题 对于开发人员来说,正则表达式是一个非常有用的功能。它提供了 查找,匹配,替换 句子,单词,或者其他格式的字符串。在这篇文章里,我已经编写了15个贼拉有用的正则表达式,WEB开发人员都应该将它收藏到自己的工具包。开始使用正则表达式对初学者来说,正则 看起来很难学

2016-04-20 16:28:36 517

转载 elasticsearch的一些基本概念

elasticsearch的一些基本概念需要我们注意的是,这些概念理解只是解释其含义,不推荐强制翻译成中文。Index:这是ES存储数据的地方,类似于关系数据库的database。Document type:嗯,类似关系数据库的表,主要功能是将完全不同schema(这个概念以后会讲到,不急)的数据分开,一个index里面可以有若干个Document type。Doc

2016-03-29 15:20:37 419

转载 php递归使用示例(php递归函数)

//递归获得角色ID字符串function explodeRole($roleObj, &$resultStr){ if(0 childRoleObjArr)){ foreach($roleObj->childRoleObjArr as $childRoleObj){ if('' == $resultStr){ $resultStr .= "{$child

2016-03-21 14:54:21 668

转载 教你如何迅速秒杀掉:99%的海量数据处理面试题

教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言   一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。   

2015-01-22 14:28:28 428

转载 面试题集锦

1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子:func(7) = 4,可以证明最少需要4次运算n = 7n-1 6n/2 3n-1 2n/2 1要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。给出思路(文字描述),完成代码,并分析你算

2015-01-22 11:32:49 400

转载 十道海量数据处理面试题与十个方法大总结

第一部分、十道海量数据处理面试题  1、海量日志数据,提取出某日访问百度次数最多的那个IP。  此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。  再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32

2015-01-22 11:21:30 274

原创 ZendStudio 快捷键

CTRL+D | 删除一行CTRL+E | 搜索已打开的文件名CTRL+F | 打开本文件的搜索/替换 ,只搜索当前文件CTRL+H | 打开搜索替换窗口 ,可搜索整个磁盘、工作集CTRL+K | 查找下一个CTRL+SHIFT+K | 查找上一个CTRL+L | 转到文件某一行CTRL+O | 快速大纲, 列出文件中的所有变量和方法,对阅读类文件时很有用CTRL+

2014-12-26 11:40:41 422

原创 PHP的运行机制

PHP和Python/Ruby的运行机制有一个本质区别:PHP是每次HTTP请求过来以后,初始化全部资源(例如创建数据库链接、加载系统类库,创建缓存等等),处理完毕,释放全部资源,这不像Python/Ruby之类带有GC的脚本语言,Python/Ruby是初次启动的时候初始化资源,随后的请求就不必再次初始化资源了。 这种机制的差异带来的区别就是: 1、PHP极难出现严重的内存泄露问

2014-12-26 11:38:57 413

原创 Python -- 面向对象

#coding=utf-8"""进阶 面向对象第一节 初识class1.如何去定义一个最基本的class2.class最基本的子元素3.class传参4.__init__方法5.class和函数的区别"""class caida(object):    def get(self,a):        return a     c

2014-12-26 11:36:26 304

原创 python中__name__和callback

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用.        模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序

2014-12-26 11:35:55 442

原创 Python -- 函数3

#coding=utf-8"""进阶 函数 第四节step1:童鞋们的习题反馈step2:lambda之再议1.lambda是一个表达式。2.它没有名称,存储的也不是代码块,而是表达式。3.它被用作执行很小的功能,不能在里面使用条件语句。d = lambda x:x+1 if x>0 else 'error'print

2014-12-26 11:35:37 376

原创 Python -- 函数2

1、pass 什么都没有def func_name():pass如果不写pass会包语法错误2、isinstance判断一个变量的类型。num = '11'print isinstance(num,int)函数的健壮性:1、你永远知道你的方法会返回什么(异常处理,条件判断)2、返回你想要的结果def add(num1 ,num2):

2014-12-26 11:35:14 232

原创 Python -- 函数1

函数来了,函数基础课程。1.函数是抽象的第一步1.1 有关高压锅1.2 函数是抽象出来的结构,是总结,是方法1.3 多用函数2.如何定义函数 2.1 def是关键词,括号冒号永不忘,无缩进无真相。2.2 没有return的函数,不是大丈夫——不是真函数。2.3 不写doc的函数,就像没有性别的人类。要写函数的文档也就是注释

2014-12-26 11:34:53 369

原创 Python语句讲解

python语句讲解1.print语句1.1 基本输出1.2 print的逗号  文件流的输入输出。1.2 输出到文件 >>为重定向        写入文件 f = open('a.txt','w')        print >> f,'aaaaaaa',        print >> f,'bbbbbbb'          #加个

2014-12-26 11:34:14 387

原创 Python数据类型 -- 答疑

答疑课之二:再议数据结构与数据类型1.list,dict,tuple之它们其实是好基友1.1 没有最优秀的数据结构,只有最适用的1.2 了解每个结构的特点才能活学活用1.3 它们相互转换如此简单2.“推倒式”(列表推导)与再议3.排序3.1 sorted3.2 list之sort方法3.2.1 key最好用3.2.2

2014-12-26 11:33:48 374

原创 Python数据类型 -- 基本数据结构习题

##习题1:列表a = [11,22,24,29,30,32]1 把28插入到列表的末端2 在元素29后面插入元素573 把元素11修改成63 删除元素324 对列表从小到大排序##习题2:列表b = [1,2,3,4,5]

2014-12-24 15:45:11 2219

原创 Python数据类型 -- 字典

字典:字典是无序的,它不能通过偏移来存取,只能通过键来存取。字典 = {'key':value} key:类似我们现实的钥匙,而value则是锁。一个钥匙开一个锁特点:内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,并且可以原地修改里面的内容,属于可变类型。组成字典的键必须是不可变的数据类型,比如,数字,字符

2014-12-24 15:44:20 340

原创 Python数据类型 -- 元组合集合

一 元组:特点:1 有序的集合2 通过偏移来取数据3 属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。4、元组可以当做字典的键,列表不行如果要修改元组对象,先转换成列表,在修改,在转换成元组。tuple类型转换那为什么有列表还要有元组呢元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,确保方法或者接口不会改变

2014-12-24 15:43:07 353

原创 Python数据类型 -- 列表习题

一: 已知:元组 a = (1,2,3) 利用list方法,输出下面的结果:(1,2,4) ?a = (1,2,3)b = list((1,2,3))b[2] = 4a = tuple(b)print aprint type(a)二: 利用列表推导完成下面习题:1 输出结果:[1 love python,2 love python,3 lov

2014-12-24 15:41:53 1452

原创 Python数据类型 -- 列表2

一、list内置方法 迭代a = '12456'print list(a) # ['1', '2', '4', '5', '6']b = list((1,2,3)) print b       # [1, 2, 3]#c = list(1234)#print c #报错,因为整数是不可迭代对象。 d = list({'a1':'aa','b1':'b

2014-12-24 15:40:34 418

原创 Python数据类型 -- 列表1

计算列表的个数​ len(list)1、列表 a = [1,2,3] 是一个有序的集合,取最后一个 a[-1]2、列表嵌套b = [[1,2,3],[4,5,6]]b[0][2] == 33、列表切片a = [1,2,3,4,5,6,7]print a[0:4:2]  # [1, 3]4、列表相加a = [1,2,3]b =

2014-12-24 15:40:10 495

原创 Python数据类型 -- 字符串

字符串:1、python 默认的文件编码都是ascii,所以要在编码的时候加上coding=utf-8,中文才不会乱码。len 函数 是计算字符串的长度。正确编码的长度。b = '中文' , len(b) //长度是4a = '中文'.decode('gbk')或utf-8print len(a) // 长度是22、字符串前加r 是不转义字符串如

2014-12-24 15:38:26 329

原创 Python基本数据类型

1、python中一切都是对象。2、每一个数据都有一个id标示,用id()可以查看。也可以用type查看是什么类型。3、常用的数据类型     int  整型 数字     boole   true 值 赋值,要用大写 a = True     string  字符串 ,也称作序列。     list 列表     tuple 元组     dict 字典

2014-12-24 15:37:21 246

原创 初始 python

一、python的特性。python 的机制,python是解释型语言,不需要编译。在运行脚本之前,得到结果之后,就是在敲下回车的时候:python做了什么1、python先将脚本编译成字节码(pyc pyo)2、python虚拟机解释并运行字节码编译型语言内部机制1、先将源代码编译成机器码,生成可执行文件2、运行可执行文件。编译形语言比脚本解释性语

2014-12-24 15:35:37 322

原创 PHP URL函数

1、对字符串进行编码解码base64_decode — 对使用 MIME base64 编码的数据进行解码base64_encode — 使用 MIME base64 对数据进行编码2、get_headers 取得服务器响应一个 HTTP 请求所发送的所有标头$url = 'http://www.example.com'; print_r(get_headers

2014-12-24 15:30:49 307

原创 PHP 字符串操作

PHP字符串函数包括查找字符位置函数;提取子字符函数;替换字符串;字符长度;比较字符函数;分割成数组字符;去除空格等等。PHP语言中的字符串函数也是一个比较易懂的知识。今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库。查找字符位置函数:   strpos($str,search,[int]):查找search在$str中的

2014-12-24 15:30:20 323

原创 PHP 数组常用函数总结

一、数组操作的基本函数数组的键名和值array_values($arr);  获得数组的值array_keys($arr);  获得数组的键名array_flip($arr);  数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);  在数组中检索applearray_search("apple",$arr);  在数组中检索

2014-12-24 15:29:40 328

原创 PHP数组--排序函数

有时候,一个php函数就能省去我们大量的代码,在写程序的时候,如果能灵活运用这些函数,将大大节省时间,提高效率,下面总结的是php常用的数组排序函数,phper一定会用到的。1、sort()简单排序:首先,让我们来看看最简单的情况:将一个数组元素从低到高进行简单排序,这个函数既可以按数字大小排列也可以按字母顺序排列。Listing A    $data =

2014-12-24 15:28:54 2438 1

原创 PHP数组查找操作的函数及技巧

PHP数组查找操作的函数:1、bool in_array (mixed $needle , array $haystack [, bool $strict ] )该函数的作用是在数组array中搜索指定的value值, $strict是可选参数,如果设置该参数为 true ,则检查搜索的数据与数组的值的类型是否相同,如果不使用第三个参数,比较一个数字和字符串或者比较涉及到数字内容的字符

2014-12-24 15:27:08 1230

转载 Redis 使用的一些经验分享

Social Graph 高速接口,当前我们使用 Redis 存储。但在实现的过程中,发现了诸多的问题。48G 内存的机器上部署了 2 个 Redis 进程,一个 Redis 占用超过 21 G 内存后,在快速写入的过程中同时进行一次 bgsave ,就将机器给弄挂了(微博上的直播)。我们对 Redis 的监控远不如对 Mysql 之类的完善,以至于 Redis 机器假死,居然没有触发任何的报

2014-12-24 11:20:37 327

转载 百万QPS下的缓存设计(数据复制与一致性)

一旦一个系统的QPS达到百万,常规的分布式缓存也将遇到瓶颈,IO瓶颈,带宽瓶颈,可用性问题等,本篇将和大家探讨如何通过缓存数据复制解决系统的高可用及线性扩展问题。一、百万QPS下对系统架构的需求一方面是系统可用性的需求,互联网架构中分布式缓存的使用,极大的提高了系统的性能和吞吐,但同时使得系统的可用性极大的依赖于分布式缓存的可用性。如果缓存数据只有一份,必然会有单点风险,即,这个缓

2014-12-23 11:11:46 1000

转载 《Redis设计与实现》读书笔记

内容目录:Redis的内部字符串实现内部映射数据结构和内存数据结构的区别集合求并与求交集事务的 ACID 性质支持Lua脚本Lua脚本与Redis间通过伪终端交互消除脚本的执行的随机性键的过期时间过期键的清除RDB持久化SAVE 、 BGSAVE 、 AOF 写入和 BGREWRITEAOF处理加载数据期间到达的请求AOF优于RDBAOF写文件的三阶段AOF 保存模式对性能和安全性的影响A

2014-12-22 15:38:02 313

转载 WEB站点性能优化实践(加载速度提升2s)

进行优化前,关键是剖析当前的web性能,找到性能瓶颈,从而确定最需改进的地方;如果精力有限,首先将精力放在能明显提升性能的改进点上;《高性能网站建设指南》提出了一个性能黄金法则:只有10%-20%的最终用户响应时间花在了下载HTML文档上;其余的80%-90%的时间花在了下载页面中的所有组件上。由于本文将实施一个完整的优化流程,所以,我们还是从后台开始; 案例说明:优化之前

2014-12-22 15:36:34 365

转载 《淘宝技术这十年》读书笔记

这本书很有趣,故事叙述好玩,且价值颇高; 它让更多人了解并熟悉淘宝,让我们近距离观察大公司成长过程中遇到的问题;我将从三个方面来做这个概要版的读书笔记;淘宝的升级路线叙述了淘宝的成长路线,如果能引起大家的兴趣,那最好,书中有详实有味的数据供人品味;淘宝创新的技术一节总结淘宝在壮大的道路中所创造的技术,其实很多在我们的日常应用中都能找到影子,所不同的是能够支撑的规模;最后一节出自

2014-12-22 15:25:18 278

转载 Redis 在新浪微博中的应用

内容目录:Redis简介Redis基本原理新浪Redis使用历程Redis应用场景遇到的问题及解决办法经验总结Redis 在新浪微博中的应用Redis简介1. 支持5种数据结构支持strings, hashes, lists, sets, sorted setsstring是很好的存储方式,用来做计数存储。sets用于建立索引库非常棒;2. K-V 存储

2014-12-22 11:35:35 275

转载 MD5的详细解析与避免MD5碰撞方法

最近网络中开始出现弃用 MD5 算法的文章,一开始也没有太注意,毕竟 MD5 这种算法已经使用非常久的时间了,一些编程语言都内置了 MD5 的方法或者是函数,突然间要弃用,还是有点舍不得的,毕竟新的算法也还没有发明出来。那么为什么要弃用 MD5 算法呢,这篇文章不会告诉你 MD5 算法的原理,但是,会讲解一些其他高深的文章中没有提到的一些细节的东西。  MD5的用处  无论是密码记录用户验

2014-12-22 11:17:02 10625 2

转载 如何面试程序员

面试对于大多数开发人员来说是一项很基本的技能。一次失败的招聘会造成很严重的长期的后果,二流的人会把三流的人带进公司(一流人才雇一流人才,二流人才雇三流人才)。另一方面,把优秀的应聘者拒之门外更是一种伤害。    一场技术面试至少包括三部分。首先验证简历的真实性,然后评估应聘者的经验价值,最后测试应聘者的技术能力。1: 验证简历    简历上的任何东西都是假的,除非被证明。

2014-12-17 15:57:09 212

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除