2013年4月20日

摘要: 第一次接触标准IO库,就是经典的Hello world。实际上标准IO库里面还是很多细节我一直都不知道。《UNIX环境高级编程》专门有一章讲述标准IO库。标准IO库的函数在头文件stdio.h中声明。标准IO库不仅仅针对UNIX实现,所以它是由ISO C 标准说明。处理缓冲区分配、优化长度执行IO等。使用标准库让用户不用担心如何选取正确的正确选择块长度。IO缓冲区为什么要提供缓冲区呢?用户程序读写文件,需要通过操作系统的内核来执行,然后由内核驱动磁盘完成读写操作,也就是通过系统调用read和write来完成。系统调用是耗时的操作,要尽量少地调用。通过缓冲区可以减少系统调用read和write的 阅读全文
posted @ 2013-04-20 23:24 实例一 阅读(213) 评论(0) 推荐(0) 编辑

2012年11月21日

摘要: 我也算孤陋寡闻,工作以前开发网站都没切换过host,也不知道这种方法。开发基于oauth2.0应用时候,被它的callback_uri害惨了。于是采用了两个应用,一个应用的callback_uri是开发环境的地址:localhost/*,一个是远程服务器的地址。想想,那时候真是傻啊。其实只需要改一改host既可以了,同一个域名,不同的ip。来到我公司之后,用上了一个切host的工具。firefox的插件switchhost,https://addons.mozilla.org/zh-CN/firefox/addon/switchhosts/。有了它,有多少套host方案都不用愁了。问题又来了, 阅读全文
posted @ 2012-11-21 22:10 实例一 阅读(484) 评论(0) 推荐(0) 编辑

2012年11月3日

摘要: 前面的文章有我对公司的一些代码的吐槽,接着我就在想什么样的API才是好的API以及发布API的时候应该注意哪些重要的原则。关于API,维基百科的解释是这样的:Anapplication programming interface(API) is a specification intended to be used as aninterfacebysoftware componentsto communicate with each other.我们常说的API还包括Web Api。我理解的Api就是程序模块用来相互通信的。这里说的“程序模块”可大可小,小到程序中不同类之间的协作、大到两套不同 阅读全文
posted @ 2012-11-03 22:43 实例一 阅读(417) 评论(0) 推荐(0) 编辑

2012年11月2日

摘要: 近期做的两个功能,都需要我大量地修改代码。我对一些旧代码可谓是深恶痛绝。记录一下,我以后可不要成为别人的噩梦。对于同一个数据的读、写应该使用同一套代码。多注意分层就可以达到这个效果了。MVC结构的一大好处就是为了解耦。同一个数据,不同的形式也是应该从一个接口去读。这样代码的复用性会更好。更重要的是如果、万一要对这一个取数的方法做一次修改。只要修改一个地方就够了。API 一定要写下文档。API,应用程序接口,是应该有一个协议的。API的这个协议的生命力是很强的,千万不要抱着这样一个念头:现在项目比较急,将就用着吧。然后就出现了一次性代码、没注释的代码、另起炉灶的代码。而没写文档,就跟没有协议差不 阅读全文
posted @ 2012-11-02 22:23 实例一 阅读(174) 评论(0) 推荐(0) 编辑

2012年5月21日

摘要: 在Sina AppEngine 上运行了一个程序,数据存储在MySql。某个表使用了一条SQL句来聚合数据。SELECT province,count(1) as num FROM `users` group by province 这个表今天的记录数已经达到70000,超过了Sina AppEngin的服务限额。所以系统返回:Filesort on too many rows。其实我并不需要排序,我只需要分组统计。应该还可以换一种写法。正在探索中。 阅读全文
posted @ 2012-05-21 10:43 实例一 阅读(582) 评论(0) 推荐(0) 编辑

2012年4月5日

摘要: 使用pdo进行数据库操作是为了安全考虑。参数化查询可以有效防止sql注入攻击。今天使用pdo的时候发现一个问题,使用带有 limit 的查询时没有查询出结果,代码如下1 $stmt = $db->prepare('SELECT * FROM mytable limit :count');2 // 绑定参数3 $count=13;4 $stmt->bindValue(':id', $count);5 // 查询6 $stmt->debugDumpParams();7 $stmt->execute();8 var_dump($stmt-> 阅读全文
posted @ 2012-04-05 17:11 实例一 阅读(415) 评论(0) 推荐(0) 编辑

2011年11月27日

摘要: 请教各位:网页有一段js代码提交ajax请求,请求需要一个参数。例如当前用户id、当前文章的主键id等。就是说这个id不可能是用硬编码的。请问大家是处理这种情况的呢?我自己是采用了下面的方法:用js代码操控session中的变量在网页动态的写入一段隐藏的html代码,代码里面保存这需要的变量。例如 <div class="hidden" id="v1">12</div> ; 然后使用js读取id为v1的网页元素文本。 阅读全文
posted @ 2011-11-27 14:01 实例一 阅读(507) 评论(1) 推荐(0) 编辑

2011年11月13日

摘要: Memcached是一套分散式的高速缓存系统,当初是Danga Interactive为了LiveJournal所发展。目前被很多系统所使用,例如Flick、Twitter等。这是一套开放源代码软件,以BSD license授权发布。下面记录一下在lamp环境下的Memcached安装。关于Memcached的应用,这里有两篇不错的文章:《应用 memcached 提升站点性能》、《Discuz!的Memcache缓存实现》使用APT安装MEMCACHEDapt-get install memcached启动memcached1. 终端下使用命令 memcached就可以启动 。例如 memc 阅读全文
posted @ 2011-11-13 09:36 实例一 阅读(311) 评论(0) 推荐(0) 编辑

2011年11月9日

摘要: 以前使用数据库的时候不是很注意列类型的选择,今天终于有时间小结一下。文章参考了MySql5.1参考手册,《MySql必知必会》等,并无太多个人的经验成分。欢迎大家补充。 MySql常用数据类型定义了列中可以存储什么数据以及这些数据实际怎么存储。大致可以分为三类:数值型类型日期和时间字符串数值型类型 MySql支持多种数值数据类型,有不同的取值范围。其中大部分的数值数据类型都可以有符号或者无符号(BIT无符号),默认的是有符号。数值型类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PR... 阅读全文
posted @ 2011-11-09 14:08 实例一 阅读(425) 评论(0) 推荐(0) 编辑

2011年11月6日

摘要: 要详细了解PHP OO最好看PHP手册。大家都知道的部分就不说了,这里只记下容易忘记的部分。关键字和特殊变量new,class,extends。这三个,大家都懂得。::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量。还可以用于覆盖类中的成员和方法。parent和self。parent指的就是派生类在extends声明中所指的基类的名字。这样做可以避免在多个地方使用基类的名字。$this 伪变量。$this指向当前的实例。$this却不一定是方法所属的对象。有时候类A内的代码会调用类B的一个静态方法。参考例子:ht 阅读全文
posted @ 2011-11-06 09:47 实例一 阅读(542) 评论(0) 推荐(0) 编辑

导航