《python源码剖析》阅读笔记第一章python的内建对象python中一切都是对象。在PyIntObject中定义了很多函数指针,这些函数指针对应着类型对象所定义的操作。其中有三组非常重要的操作族,tp_as_number,tp_as_sequence,tp_as_mapping,分别对应着PyNumberMethods,PySequenceMethods,PyMappingMethods函数族,这三个函数都是分别定义着一个整数对象、序列对象、关联对象
系统 2019-09-27 17:47:16 3338
一、基础知识本章简要介绍一些Zend引擎的内部机制,这些知识和Extensions密切相关,同时也可以帮助我们写出更加高效的PHP代码。1.1PHP变量的存储1.1.1zval结构Zend使用zval结构来存储PHP变量的值,该结构如下所示:typedefunion_zvalue_value{longlval;/*longvalue*/doubledval;/*doublevalue*/struct{char*val;intlen;}str;HashTab
系统 2019-08-29 22:50:30 3338
好东西分享日期和时间的处理不仅在面试题中会考到,在实际项目开发中也是我们经常需要处理的问题,似乎没有哪个项目可以避开它们,我们常常在处理用户的出生年月日、注册日期,订单的创建时间等属性时用到,由此可见其重要性。java.util.Date类提到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到毫秒数,这个毫秒数是相对于格林威治标准时间“1970-01-0100:00:00.000GMT”的差值。那么,什么是格林威治标准
系统 2019-08-12 09:30:15 3338
最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究。libevent是一个用C语言写的开源的一个库。它对socket编程里的epoll/select等功能进行了封装,并且使用了一些设计模式(比如反应堆模式),用事件机制来简化了socket编程。libevent的好处网上有很多,但是初学者往往都看不懂。我打个比方吧,1)假设有N个客户端同时往服务端通过socket写数据,用了libevent之后,你的server程
系统 2019-08-12 09:27:10 3338
区别:1>instancetype在类型表示上,跟id一样,可以表示任何对象类型2>instancetype只能用在返回值类型上,不能像id一样用在参数类型上3>instancetype比id多一个好处:编译器会检测instancetype的真实类型第3点的解释:在下面这种情况下//Person.m文件里+(id)person{return[[selfalloc]init];}//mainViewController.m,下面这行代码,用字符串类型的指针指
系统 2019-08-12 01:52:23 3338
消耗在准备新的SQL语句的时间是OracleSQL语句执行时间的最重要的组成部分。但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能。准备执行SQL语句当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤:1)语法检查:检查SQL语句拼写是否正确和词序。2)语义分析:核实所有的与数据字典不一致的表和列的名字。3)轮廓存储检查:检查数据字典,以确定该SQL语句
系统 2019-08-29 23:00:30 3337
今天开始,“使用jQueryMobile与HTML5开发WebApp”的系列文章将会继续,这次要介绍的是jQueryMobile的内容格式部分,这也是jQueryMobile的组件部分,包含了基本HTML样式(BasicHTMLstyles),主题内容(Themingcontent),可折叠内容块(Collapsiblecontentblocks),折叠组(Collapsiblesets),网格布局(Layoutgrids),以及一套列表组件(ListVi
系统 2019-08-29 22:41:15 3337
原来一直使用代码生成,包括CodeSmith和天平兄的CodeMatic。最近打算系统学习一下Nhibernate,经过简单的一点探索,发现ORM和代码生成真是个有千秋。本文侧重比较一下ORM和代码生成二者的优缺点,让二者华山一比高下,目的为去伪存真,使二者能够相辅相成。从而更好的提高开发效率。本文从下面三个层面对ORM(以NHibernate为首发的O阵营)和代码生成(以CodeMatic为首发的C阵营)进行比较:1)针对数据库二者的架构层次上的异同2)
系统 2019-08-29 22:30:34 3337
1、什么时候使用?连接池是用来建立一些和db的连接,使用户访问db时可以直接使用这些现成的连接。如果不建立连接池,每个用户每一次访问db时都要和db建立一次连接,这样dbserver容易产生连接过多的错误,用户也会觉得速度很慢。web编程,如果使用的是:客户端---webserver---dbserver.这种架构的,建议使用连接池的方法处理webserver与dbserver间的通讯。2、如何检测连接池,让连接池配置更合理?apache连接池使用comm
系统 2019-08-29 22:18:21 3337
即使是做网络应用,在断线情况下,也需要考虑数据的本地存储。在SQLite出现之前,数据量大的情况下,我们一直使用ACCESS,数据量小,则文件存储。ACCESS不支持事务原子性,在断电情况下(这种情况总是会发生)会导致数据很难恢复。一:安装SQLITE,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。我直接使用的是http://sqlite.phxsoftware.com/(AnopensourceADO.NETproviderfortheSQL
系统 2019-08-29 22:02:10 3337