编程技术

Memcached深度分析

Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,加深对memcached的使用方式理解。本文的部分内容可能需要比较好的数学基础作为辅助。◎Me

系统 2019-08-12 09:30:20 2325

编程技术

常见NIO开源框架(MINA、xSocket)学习 (转自j

http://unbounder.iteye.com/blog/481396http://unbounder.iteye.com/blog/481668基于io包的阻塞式socket通信代码简单,在连接数很少的情况下是一个不错的选择。不过实际应用中一个socket服务器采用传统的阻塞式socket方式通信可能会是一场灾难,一路socket同时进行读写操作可能就需要两条线程,如果需要并发一百路socket(这个量其实很小了),可能就是两百条线程,大概几分钟后

系统 2019-08-12 09:30:05 2325

编程技术

[转]Google Protocol Buffer 的使用和原理

作者:刘明来源:http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/?ca=drs-tp4608简介什么是GoogleProtocolBuffer?假如您在网上搜索,应该会得到类似这样的文字介绍:GoogleProtocolBuffer(简称Protobuf)是Google公司内部的混合语言数据标准,目前已经正在使用的有超过48,162种报文格式定义和超过12,183个.proto文件。他们用于RPC系统

系统 2019-08-12 09:29:39 2325

编程技术

Mac 升级 OS X 10.8.2 后 VirtualBox 无法启动

昨晚把Mac从10.8.1升级10.8.2,结果VirtualBox启动不了:废话不多,大家升级一下VirtualBox吧,4.2.1版本点这里VirtualBox-4.2.1-80871-OSX.dmg。注意:如果你的VitualBox已经是4.2.0了,直接用软件自动检查更新显示已经是最新版本了。参见帖子:CannotstartVMinMacOSX10.8.2Mac升级OSX10.8.2后VirtualBox无法启动的问题

系统 2019-08-12 01:33:02 2325

Python

Python学习笔记(二)使用Sublime Text编写简单的Python

一、使用SublimeText编写Python1.点击“文件”→”新建文件“2.点击”文件“→”保存“,并保存为.py文件此时已经创建好Python文件了,接下来就可以编写Python程序了。二、运行Python程序使用SublimeText运行Python程序需要进行以下步骤:1)按“ctrl+shift+p”快捷键呼出一个输入框,输入InstallPackage,回车,在新出现的输入框里输入SublimeREPL安装。2)点击Tools→sublime

系统 2019-09-27 17:57:19 2324

Python

查看Python依赖包及其版本号信息的方法

查看依赖包及对应的版本号信息的方法有两种:方法1:piplist方法2:pipfreeze这两个同时适用于Windows和Linux系统当pip版本过低时,会出现list命令不存在,且freeze命令报错的情况。Eg:有些Linux系统自带的Python环境所对应的pip版本为1.0.2,如下图所示:在该环境下执行piplist,报pip:error:Nocommandbythenamepiplist错误,如下图所示:执行piphelp可以发现,可执行命令

系统 2019-09-27 17:57:17 2324

Python

Python中typing模块与类型注解的使用方法

实例引入我们知道Python是一种动态语言,在声明一个变量时我们不需要显式地声明它的类型,例如下面的例子:a=2print('1+a=',1+a)运行结果:1+a=3这里我们首先声明了一个变量a,并将其赋值为了2,然后将最后的结果打印出来,程序输出来了正确的结果。但在这个过程中,我们没有声明它到底是什么类型。但如果这时候我们将a变成一个字符串类型,结果会是怎样的呢?改写如下:a='2'print('1+a=',1+a)运行结果:TypeError:unsu

系统 2019-09-27 17:50:53 2324

Python

Python实现基于权重的随机数2种方法

问题:例如我们要选从不同省份选取一个号码,每个省份的权重不一样,直接选随机数肯定是不行的了,就需要一个模型来解决这个问题。简化成下面的问题:字典的key代表是省份,value代表的是权重,我们现在需要一个函数,每次基于权重选择一个省份出来{"A":2,"B":2,"C":4,"D":10,"E":20}解决:这是能想到和能看到的最多的版本,不知道还没有更高效好用的算法。#!/usr/bin/envpython#-*-coding:utf-8-*-#pyth

系统 2019-09-27 17:48:34 2324

Python

python中临时文件及文件夹使用

python中临时文件及文件夹使用文章目录python中临时文件及文件夹使用一、简介二、临时文件夹2.1获取临时文件夹2.2生成临时文件夹三、临时文件3.1生成不自动删除(关闭时)的临时文件3.2生成自动删除的临时文件一、简介这里介绍python中临时文件及文件夹使用。使用的是tempfile包(安装:pipinstalltempfile),参考地址是https://docs.python.org/3/library/tempfile.html。二、临时文

系统 2019-09-27 17:45:37 2324

Python

解析Python中while true的使用

无限循环如果条件判断语句永远为true,循环将会无限的执行下去,如下实例:#!/usr/bin/python#-*-coding:UTF-8-*-var=1whilevar==1:#该条件永远为true,循环将无限执行下去num=raw_input("Enteranumber:")print"Youentered:",numprint"Goodbye!"以上实例输出结果:Enteranumber:20Youentered:20Enteranumber:29

系统 2019-09-27 17:38:46 2324

编程技术

【leetcode】sqrt(int x)

Question:Implementintsqrt(intx).Computeandreturnthesquarerootofx.Anwser1:二分法classSolution{public:intsqrt(intx){if(x<0)return-1;//assert(x>=0);longlongx2=(longlong)x;longlongleft=0;longlongright=x2;longlongmid=0;while(left<=right){

系统 2019-08-29 23:44:26 2324

编程技术

建立内部的DNS服务器及配置AD(活动目录)

DNS服务是一个很重要的基础服务,很多应用是基于DNS服务的,例如最常用的HTTP浏览。很多朋友在论坛里面说不能上网,其实只是不能解析FQDN名字,就是访问DNS服务有问题,如果只是使用IP访问,如QQ就是使用IP进行访问,还是可以的。所以在不能浏览Web页面的时候,你得先区分,是连接有问题还是DNS有问题,通过这篇文章中,你可以学习到如何建立内部的DNS服务器。很多使用NAT软件的情况,往往是网关的外部网卡上获得了ISP的DNS服务器地址,并且可以进行解

系统 2019-08-29 23:41:40 2324

编程技术

创建型设计模式--单例模式

单例模式(Singleton)在一个系统要求一个类只有—个实例时才应当使用单例模式单例类(singleton)可以保证系统中只可能由该类的一个对象,而且这个对象由类自行初始化懒汉式单例类(1)这个类被加载时,静态变量singleton会被初始化,此时类的私有构造器会被调用,单例类的惟一实例就被创建出来了。(2)Java语言中单例类的—个最重要的特点是类的构造于是私有的,从而避免外界利用构造子直接创建出任意多的实例。由于构造于是私有的,因此此类不能被继承。p

系统 2019-08-29 23:06:03 2324

编程技术

兄妹(二)

本文标签:小时候小时候我哥总揍我。揍了我我就告状,然后我娘再揍他。有一天他刚揍了我,娘就进门了。我哭哭啼啼地正准备告状,突然瞧见我哥正狠狠地瞪着我,吓得生生地把告状的话咽肚里了。--------------------欲知更多详情,猛击这里兄妹(二)

系统 2019-08-29 23:05:44 2324