02 2012 档案

摘要:To understand the backlog argument, we must realize that for a given listening socket, the kernel maintains two queues :要明白backlog参数的含义,我们必须明白对于一个listening socket,kernel维护者两个队列:1.An incomplete connection queue, which contains an entry for each SYN that has arrived from a client for which the server 阅读全文
posted @ 2012-02-27 19:54 Lunaa 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一、引言 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学*,*日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux和Windows本身就有很大区别。为了让和我一样的初学者在学*的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。本文的Linux环境是Red Hat 9.0,MySQL是4.0.16。 二、安装Mysql 1、下载MySQL的安装文件 安装MySQL需要下面两个文件: MyS... 阅读全文
posted @ 2012-02-27 15:39 Lunaa 阅读(117) 评论(0) 推荐(0) 编辑
摘要:MySQL(发音:[ˌmaɪ ɛs kjuː ˈɛl],但也经常读作My- SEQuel)是一个开放源码的关系数据库管理系统,开发者为瑞典MySQL AB公司,现为Sun公司的一部分。2009年Oracle宣布收购Sun公司,因此MySQL可能成为Oracle旗下产品。MySQL由于性能高、成 本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站 和应用,比如维基百科、Google和Facebook。非常流行的开源软件组合LAMP中的M就是指 MySQL。 下载:http://mysql.proserv 阅读全文
posted @ 2012-02-27 15:37 Lunaa 阅读(451) 评论(0) 推荐(0) 编辑
摘要:总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。import structa=12.34#将a变为二进制bytes=struct.pack('i',a)此时bytes就是一个string字符串,字符串按字节同a的二进制存储内容相同。再进行反操作现有二进制数据bytes,(其实就是字符串),将它反过来转换成python的数据类型:a,=struct.unpack('i 阅读全文
posted @ 2012-02-26 11:35 Lunaa 阅读(283) 评论(0) 推荐(0) 编辑
摘要:mysql联合索引 sql索引使用注意:Index(Name,Age)表示在Name,Age两列上建立联合索引由于索引对数据库的查询性能有着至关重要的影响,下面是我的一些总结和体会:一个查询一次只能使用一个索引:select name from user where name='plantegg' and age>35 , 如果Index(name); Index(age)的话,MySQL查询优化器会自动选择一个索引来使用;MySQL选择哪个索引,可以这样来看:mysql> show index from photo;+-------+------------+-- 阅读全文
posted @ 2012-02-21 21:34 Lunaa 阅读(421) 评论(0) 推荐(0) 编辑
摘要:如何让linux/Centos 32位支持8G内存?内核安装PAE支持大于4GB内存的方法。linux/Centos 32bit OS 默认不支持4G以上内存的,自己怎么没想到,Baidu了一下,找到了解决方法,安装一个kernel-PAE补丁就可以了,下面是几个步骤:[root@www.ctohome.com]# free total used free shared buffers cachedMem: 3881968 637928 3244040 0 111292 461680-/+ buffers/cache: 64956 3817012Swap: 4192924 0 4192924[ 阅读全文
posted @ 2012-02-21 15:32 Lunaa 阅读(557) 评论(0) 推荐(0) 编辑
摘要:大部分Linux发行套件都有针对x86_64处理器的版本。比较典型的x86_64的处理器有ADM Athlon II和英特尔Xeon。因为这些Linux发行套件都有自己专用的软件源,这些软件源会为提供所有它所支持的应用软件的二进制包。如果你满足于Linux的安装方式,你可能不会需要运行32位的程序。 一些Linux商业软件,尤其是游戏,只提供32的版本。因为某些特殊的理由,你可能需要配置你的电脑来运行32位的软件。 安装32位的支持库 因为x86_64处理器是为x86技术涉及,所以它也是支持32位程序的。在Linux里,你所需要做的就是为这些软件安装必要的软件库。幸运的是,大部分Linux发行 阅读全文
posted @ 2012-02-21 15:14 Lunaa 阅读(1968) 评论(0) 推荐(0) 编辑
摘要:1. 查看内核版本命令:1) [root@q1test01 ~]# cat /proc/version Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 200507213.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 20052) [root@q1test01 ~]# uname -a Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x 阅读全文
posted @ 2012-02-21 14:14 Lunaa 阅读(181) 评论(0) 推荐(0) 编辑
摘要:innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响。默认的设置只有8M,所以默认的数据库设置下面InnoDB性能很差。在只有InnoDB存储引擎的数据库服务器上面,可以设置60-80%的内存。更精确一点,在内存容量允许的情况下面设置比InnoDB tablespaces大10%的内存大小。innodb_data_file_path:指定表数据和索引存储的空间,可以是一个或者多个文件。最后一个数据文件必须是自动扩充的,也只有最后一个文件允许自动扩充。这样,当空间用完后,自动扩充数据文件就会自动增长(以8MB为单位)以容纳额外的数据。例如 阅读全文
posted @ 2012-02-21 11:10 Lunaa 阅读(256) 评论(0) 推荐(0) 编辑
摘要:mysql的行锁与表锁。(select* .... FOR UPDATE) MySQLmysql中使用select for update的必须针对InnoDb,并且是在一个事务中,才能起作用。select的条件不一样,采用的是行级锁还是表级锁也不一样。转http://www.neo.com.tw/archives/900的说明由於 InnoDB 預設是 Row-Level Lock,所以只有「明確」的指定主鍵,MySQL 才會執行 Row lock (只鎖住被選取的資料例) ,否則 MySQL 將會執行 Table Lock (將整個資料表單給鎖住)。舉個例子:假設有個表單 products 阅读全文
posted @ 2012-02-21 11:08 Lunaa 阅读(285) 评论(0) 推荐(0) 编辑
摘要:Mysql InnoDB中的查询事务模式与锁定select ..for update在 InnoDB 的行锁中使用所谓的 next-key locking。这就意味着,除了索引记录外,InnoDB 还可以锁定该索引记录前部“间隙” ('gap') 以阻塞其它用户在索引记录前部的直接插入。next-key lock 意思是锁定一个索引记录以及该记录之前的间隙(gap)。gap lock 就是只锁定某些索引记录之前的间隙。Consistent read Consistent read 就是 InnoDB 使用它的多版本(multiversioning)方式提供给 阅读全文
posted @ 2012-02-21 11:06 Lunaa 阅读(468) 评论(0) 推荐(0) 编辑
摘要:1. 事务处理和并发性 1.1. 基础知识和相关概念 1 )全部的表类型都可以使用锁,但是只有 InnoDB 和 BDB 才有内置的事务功能。 2 )使用 begin 开始事务,使用 commit 结束事务,中间可以使用 rollback 回滚事务。 3 )在默认情况下, InnoDB 表支持一致读。 SQL 标准中定义了 4 个隔离级别: read uncommited , read commited , repeatable read , serializable 。 read uncommited 即脏读,一个事务修改了一行,另一个事务也可以读到该行。 如果第一个事务执行了回滚,那么.. 阅读全文
posted @ 2012-02-21 11:02 Lunaa 阅读(137) 评论(0) 推荐(0) 编辑
摘要:我们知道,在关系数据库标准中有四个事务隔离级别:未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞 查看InnoDB系统级别的事务隔离级别:mysql> SELE 阅读全文
posted @ 2012-02-21 10:56 Lunaa 阅读(117) 评论(0) 推荐(0) 编辑
摘要:7 MySQL 事务与锁定命令7.1 BEGIN/COMMIT/ROLLBACK 句法缺省的,MySQL 运行在 autocommit 模式。这就意味着,当你执行完一个更新时,MySQL 将立刻将更新存储到磁盘上。 如果你使用事务安全表 (例如 InnoDB、BDB),通过下面的命令,你可以设置 MySQL 为非 autocommit 模式: SET AUTOCOMMIT=0在此之后,你必须使用 COMMIT 来存储你的更改到磁盘上,或者使用 ROLLBACK ,如果你希望忽略从你的事务开始所做的更改。如果你希望为一系列语句从 AUTOCOMMIT 模式转换,你可以使用 START TRANS 阅读全文
posted @ 2012-02-21 10:52 Lunaa 阅读(211) 评论(0) 推荐(0) 编辑
摘要:如何为 MySQL 选择更合适的服务器硬件PHP5研究室 2008年05月02日 06:06查看3233次作者: esayr 【大中 小】文章分类:WEB架构 DBA notes 的 Fenng 老大发了一篇为 MySQL 选择更合适的硬件的文章,我转摘过来,并根据自己的使用习惯做了点评.以下部分,红色字体为我的话.-------------------------------------------- 分割线 ----------------------------------------MySQL 爱好者关注的 2008 MySQL Conference & Expo 落幕后,很多 阅读全文
posted @ 2012-02-21 10:30 Lunaa 阅读(278) 评论(0) 推荐(0) 编辑
摘要:1,硬件优化 a>内存——大内存、大内存位宽,尽量不要用SWAP; b>硬盘——15000RPM、RAID5、raid10 c>CPU——64位、高主频、高缓存,高并行处理能力 d>网络——标配的千兆网卡足矣,尽可能在同一局域网内,尽量避免诸如防火墙策略等不必要的开销2,架构上的优化 a>纵向拆解 最简单的一台服务同时负责web、中间件、数据库多个角色;纵向拆解后就是数据库服务器专机专用,避免额外的服务可能导致的性能下降和不稳定性;如果将数据库服务器专机专用仍然无法满足需求,可以考虑在数据库和应用服务器之间加Memcached。 b>横向拆解 主从同步、负载 阅读全文
posted @ 2012-02-21 10:25 Lunaa 阅读(143) 评论(0) 推荐(0) 编辑
摘要:双离合求助编辑百科名片双离合是一种既能传递动力,又能切断动力的传动机构。它的作用主要是保证汽车能平稳起步,变速换挡时减轻变速齿轮的冲击载荷并防止传动系过载。在一般汽车上,汽车换档时通过离合器分离与接合实现,在分离与接合之间就有动力传递暂时中断的现象。这在普通汽车上没有什么影响,但在争分夺秒的赛车上,如果离合器掌握不好动力跟不上,车速就会变慢,影响成绩。目录变速器的应用双离合变速器双离合自动变速器工作原理市面上常见的几种双离合自动变速器形式大众——DSG双离合器变速箱 福特——POWERSHIFT双离合器变速箱 保时捷——PDK双离合器变速箱 三菱——TC-SST双离合器变速箱变速器的应用双离合 阅读全文
posted @ 2012-02-18 23:00 Lunaa 阅读(306) 评论(0) 推荐(0) 编辑
摘要:巧夺天工的kfifo 分类: C/C++/linux 2010-07-25 12:03 1857人阅读 评论(2)收藏 举报 Linux kernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linux kernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,提炼出优美的特性。kfifo就是这样的一类优美代码,它十分简洁,绝无多余的一行代码,却非常高效。关于kfifo信息如下:本文分析的原代码版本:2.6.24.4kfifo的定义文件:kernel/kfifo.ckfif 阅读全文
posted @ 2012-02-17 18:35 Lunaa 阅读(412) 评论(0) 推荐(0) 编辑
摘要:全称:Apache EXtensible Interaction System 阿帕奇可扩展交互系统 Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还包括: 是一个独立的SOAP服务器。 是一个嵌入Servlet引擎(例如Tomcat)的服务器。 支持WSDL。 提供转化WSDL为Java类的工具。 提供例子程序。 提供TCP/IP数据包监视工具。 apache wsAxis是第三代Apache SOAP,从2000年起,SOAP... 阅读全文
posted @ 2012-02-14 16:02 Lunaa 阅读(1311) 评论(0) 推荐(0) 编辑
摘要:今天是感恩节,差点又要在公司加班了。好在Web Service程序并不是特别难搞,下午终于在eclipse下调通过了,正确产生了服务器端和客户端的Java代码,apache的东西的确很不错。 说道Web Service的程序开发,八个月前我加班调试公司和中国电信的商务领航系统的接口的时候,用的就是Web Service,Web Service有很多优点,使用Web Service可以在不同编程语言间实现数据交换,而我那时对Web Service也不熟,就由同事帮我生成了一大堆Web Service的框架代码,我则只单独开发业务代码。 这次的另外一个项目也要用Web Service了,不过人.. 阅读全文
posted @ 2012-02-14 16:00 Lunaa 阅读(93) 评论(0) 推荐(0) 编辑
摘要:本文通过一个实例讲解了C# WebService的编程方法。麻雀虽小,五脏俱全,这个实例非常能说明问题。1、建立Web服务(1)在wwwroot目录下建立一个叫做Webservice的目录。(2)建立下面这样一个文件:using System; using System.Web.Services;public class AddNumbers : WebService { [WebMethod] public int Add(int a, int b) { int sum; sum = a + b; return sum; } }(3)将这个文件保存为AddService.asmx(asmx. 阅读全文
posted @ 2012-02-13 21:43 Lunaa 阅读(250) 评论(0) 推荐(0) 编辑
摘要:使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误:Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was ***millisecond ago。其中错误还会提示你修改wait_timeout或是使用Connector/J的autoReconnect属性避免该错误。后来查了一些资料,才发现遇到这个问题的人还真 阅读全文
posted @ 2012-02-13 08:48 Lunaa 阅读(395) 评论(0) 推荐(0) 编辑
摘要:Linux动态库(.so)搜索路径2011-11-02 9:46 众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及 该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径。可以通过编辑配置文件/etc/ld.so.conf来指定动态库 阅读全文
posted @ 2012-02-10 15:42 Lunaa 阅读(370) 评论(0) 推荐(0) 编辑
摘要:当调试windows程序的时候,有时候会需要一些符号文件。系统的公有符号文件微软都是提供的,只需在调试器中设置即可,在下次调试时,调试器会自动从网上下载需要的符号文件。可以使用符号文件的调试器有windbg等等。 符号服务器地址:srv*X:\mysymbols*http://msdl.microsoft.com/download/symbols;cache*X:\mysymbols 地址中的X:\mysymbols表示符号文件将要存放的路径。 阅读全文
posted @ 2012-02-10 14:45 Lunaa 阅读(971) 评论(0) 推荐(1) 编辑
摘要:前驱车和后驱车最大区别就是驱动方式不同:) 前驱车造价便宜,省油,经济实用;但容易产生转向不足,使驾驶员总要弯内推头,说白了,前驱车重量分配基本上都在前面.过弯时候明显头重脚轻,不适合做激烈的操控动作,但日常行驶是没问题的. 后驱车的造价稍贵一点,但操控灵活,扭力大,但有着转向过度的特性.严重的时候甚至要反轮修正整车姿态,否则就会失控.后驱车由于驱动方式和造价综合考虑,一般只用在SUV,跑车,中高级轿车上.其前后重量分配较前驱车要合理的多.前驱是拽着整车走,后驱是推着整车走。 从汽车行驶稳定性来讲,前驱好一些。但是,前驱使汽车传动系统集中在驾驶室附近,其动力传递所产生的噪声,加上悬架系统... 阅读全文
posted @ 2012-02-09 22:51 Lunaa 阅读(119) 评论(0) 推荐(0) 编辑
摘要:2.3 开放封闭原则2.3.1 引言 无论如何,开放封闭原则(OCP,Open Closed Principle)都是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。其他的设计原则,很多时候是为实现这一目标服务的,例如以Liskov替换原则实现最佳的、正确的继承层次,就能保证不会违反开放封闭原则。2.3.2 引经据典 关于开发封闭原则,其核心的思想是: 软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。 因此,开放封闭原则主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行 阅读全文
posted @ 2012-02-07 15:34 Lunaa 阅读(118) 评论(0) 推荐(0) 编辑
摘要:这或许是众多OIer最大的误区之一。你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了。接下来你可以看到,把NP问题当成是 NPC问题是一个多大的错误。还是先用几句话简单说明一下时间复杂度。时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规 阅读全文
posted @ 2012-02-06 22:27 Lunaa 阅读(252) 评论(0) 推荐(0) 编辑