<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BrightLee的专栏]]></title><description><![CDATA[欢迎交流，如转载请注明引用。]]></description><link>https://blog.youkuaiyun.com/bingyelee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bingyelee]]></copyright><item><title><![CDATA[从 QA 到 EP -- 转自豌豆荚]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9924251</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9924251</guid><author>bingyelee</author><pubDate>Mon, 12 Aug 2013 14:16:00 +0800</pubDate><description><![CDATA[在网上看到的，对立面QA存在的弊端，深有感触。。


http://www.wandoujia.com/blog/from-qa-to-ep]]></description><category></category></item><item><title><![CDATA[使用Yii框架做权限验证 -- 从无到企业级别控制]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9699881</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9699881</guid><author>bingyelee</author><pubDate>Fri, 02 Aug 2013 15:11:18 +0800</pubDate><description><![CDATA[最近到新公司了，然后，这边虽然使用Yii框架，不过，居然没有使用filter或者其他的功能，而所有的验证代码都堆在了beforeAction，相信有点经验的开发者都知道，这是致命性的，不可持续的。现在beforeAction已经有250行左右了。再这么发展半年，后面的开发就会很难进行下去。所以，这是一个拆分解耦的过程。


因为系统是商业系统，涉及到钱的都很敏感，另外慢也不要快。所以，不可能]]></description><category></category></item><item><title><![CDATA[新人的培养管理]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9271889</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9271889</guid><author>bingyelee</author><pubDate>Mon, 08 Jul 2013 14:51:55 +0800</pubDate><description><![CDATA[每个团队都必不可免的会有新血液的注入。如何让这些新人最快的学习，然后，承担团队的工作，当然最好的就是，最快速的发掘新人的潜力。这个是最好的。



    先说新人的学习流程

        每个团队都有自己的业务流程，新人都需要好好的学习。说到这个就必不可免的要说文档了。最最起码的，一个团队一定要有一些文档的积累。如果说连这个都没有，那么这个团队是非常差劲的。

       ]]></description><category></category></item><item><title><![CDATA[PHP中查询较大的mysql请求]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9048247</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9048247</guid><author>bingyelee</author><pubDate>Fri, 07 Jun 2013 15:45:32 +0800</pubDate><description><![CDATA[曾经碰到过跑一个脚本，做mysql的结果输出什么的，结果直接一个内存耗尽。。今天有幸，看到一个帖子，讲的是PHP中处理大mysql请求的文章，讲解了，底层的实现。分享给大家看看。原帖地址：http://ourmysql.com/archives/917?f=wb


文章就不贴过来了，然后，要说的就是，这个问题和排序是一样的。 你可以用内存换性能，也可以性能换内存。所以，没有绝对的好，或者绝]]></description><category></category></item><item><title><![CDATA[PHP中，如何创建文件下载]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9033509</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9033509</guid><author>bingyelee</author><pubDate>Wed, 05 Jun 2013 19:33:10 +0800</pubDate><description><![CDATA[这种很常见的，比如，你需要处理一批数据，将一批数据增加1，然后，让用户下载。常见的，也有，需要从数据库中导出数据，然后，让用户下载。如何实现呢？
我们就需要使用HTTP的协议知识，HTTP的详解后面再写，这里先解决下载的问题。

        header('Content-type: application/octet-stream');
        header('Content-]]></description><category></category></item><item><title><![CDATA[软件开发中的“宫心斗”]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9019399</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9019399</guid><author>bingyelee</author><pubDate>Tue, 04 Jun 2013 09:43:29 +0800</pubDate><description><![CDATA[软件开发或者说，互联网开发，是比较纯净的行业，基本没有勾心斗角的斗争。。完全不会有，国企中，某某某设下一个坑，让谁去踩，然后，那人踩了，最后把谁给逼退这种的斗争。但是，现在要说的是，我在互联网开发中，遇到的“宫心斗”。


先介绍背景，团队就是，大部分的互联网公司团队，比如，有专门的PM，开发，还有QA，以及OP等。然后，没有总的负责人，也就是，PM有PM的管理者，开发有开发的管理者，QA有]]></description><category></category></item><item><title><![CDATA[北京学生落户天津，如何取户口卡]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9016091</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9016091</guid><author>bingyelee</author><pubDate>Mon, 03 Jun 2013 18:57:13 +0800</pubDate><description><![CDATA[重要更新！！！我就操了，MB的，开的发票，写的是户口管理费。。草草草。公司不给报销户口管理费。。。有去交钱的人，记得开发票，说要档案管理费，可以的话，加上公司名称。这样公司才给报销。。。。MB的，草了，哥这1000要自己吞了。。。我操。。。不爽啊~~~~~~


先介绍背景，我是2011毕业的，然后，老师推荐花2000落户到天津。自从毕业交了2000之后，一直没怎么管这东西。最近，准备和老婆]]></description><category></category></item><item><title><![CDATA[强大的redis]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/9001451</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/9001451</guid><author>bingyelee</author><pubDate>Fri, 31 May 2013 18:56:43 +0800</pubDate><description><![CDATA[redis用作nosql存储，是非常强大的。特别是面对高并发的情况，都是非常的合适。


redis学习的重点在于：
1.对redis的定位，如果追求单纯的缓存，那么memcached还是很合适的。不过，如果有永久性存储的话，redis就非常合适。
2.redis的易用性。redis支持list、hash、set、sorted set，可以让我们完成很多的事情，比如最常见的队列，就很适合]]></description><category></category></item><item><title><![CDATA[Web性能测试自动化方案]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8986668</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8986668</guid><author>bingyelee</author><pubDate>Tue, 28 May 2013 22:05:32 +0800</pubDate><description><![CDATA[常见的性能测试是这样的：
有人开发了百度知道，然后，想知道单机的最大并发处理量是多少。这就需要性能测试了。然后，我们常见的性能测试方法是：
1.apache的ab；
2.JMeter；
3.loadrunner；
4.自己开发的工具。


先大致的评价下上面的几个方法：1.apache的ab。这东西，用起来很简单，就一个命令。缺点就是，可定制差，使用不是很方便。2.JMeter真的]]></description><category></category></item><item><title><![CDATA[单元测试应该由谁编写]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8962292</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8962292</guid><author>bingyelee</author><pubDate>Wed, 22 May 2013 20:42:04 +0800</pubDate><description><![CDATA[写这篇文章的时候，哥正在给一个开发人员写单元测试。呵呵，我真是想说几个字，我去年买了个表。花了一下午，给写完的单元测试。关键是，开发人员的代码质量不是很好，我阅读理解需要时间，这么一弄就一下午了。


单元测试由谁编写？谁写代码，谁自己写单元测试。当然，有的结对编程里面，也有相互写的，不过，这个过程中，两个人是共同完成的代码。也不违反谁写代码谁写单元测试的原则。
如果单元测试让QA，或者其]]></description><category></category></item><item><title><![CDATA[PHP测试的理念 -- 一切皆函数]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8955258</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8955258</guid><author>bingyelee</author><pubDate>Tue, 21 May 2013 14:49:06 +0800</pubDate><description><![CDATA[经常见到这种情况，开发人员开发好了，然后，转手一扔，就让QA去测试了。在一般的开发人员眼中，都是这么想的：我做好了，扔给你，你给我查出BUG出来。我一直想说，这是不负责任的开发人员，特别是PHP、Java、python之类的后端开发。


真正的理念应该是：我们的代码都是函数，y=f(x)，有输入有输出。我们开发一个功能，就是要定义这么一个函数，输入是a, b, c,d，然后输出是1,111]]></description><category></category></item><item><title><![CDATA[PHP静态代码检测 -- phpmd]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8953986</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8953986</guid><author>bingyelee</author><pubDate>Tue, 21 May 2013 12:52:01 +0800</pubDate><description><![CDATA[任何语言的静态代码检测，都是值得的，因为代码是静态的，运行的成本简单，能偶花最少的代价，来检测程序员的粗心大意。相信诸位都体会过，因为多了逗号，然后你需要花费半小时以上的时间来定位。


目前，PHP的静态代码检测最出名的就是php depend,然后，在其基础上有很多的修改版本。这里我们使用的是PHPMD来做静态代码检测。


官网是这里：http://phpmd.org/，然后，安]]></description><category></category></item><item><title><![CDATA[Web网站的敏捷测试模式]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8952117</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8952117</guid><author>bingyelee</author><pubDate>Mon, 20 May 2013 19:53:53 +0800</pubDate><description><![CDATA[现在基本都是LAMP的模式，如果换一下，也就是apache换成nginx或者lighttpd，其他的PHP和mysql是不会变的。然后，一个常见的WEB网站就是，保存用户数据、读取用户数据的操作。只不过，这个过程中，会加入权限验证，或者其他的特殊处理。基本上，80%以上的WEB代码，都是处理这种逻辑的，就是存储或者读取。


如果要说复杂点的，无非是高并发的情况。在这里，基本上都是加入mem]]></description><category></category></item><item><title><![CDATA[传统QA是如何拖慢开发效率的]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8948400</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8948400</guid><author>bingyelee</author><pubDate>Sun, 19 May 2013 23:45:00 +0800</pubDate><description><![CDATA[这是我的亲身工作经历。。。就前几个星期的事情。。。。。
 
有一个项目A，比如在5月1号，PM已经确定好了MRD，然后大家用3天的时间来评审，然后确定好排期了。RD需要5天，FE也需要5天，可以并行开发，然后QA需要3天。这样也就是5月10号提测给QA，然后5月13上线。梦想总是美好的。
 
在开发的过程中，总是有不断出现的细节调整，或者咨询。然后，在5月10号的时候，还在调试和改bug。]]></description><category></category></item><item><title><![CDATA[Yii框架的单元测试中使用Fixtures详解]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8935456</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8935456</guid><author>bingyelee</author><pubDate>Thu, 16 May 2013 15:31:37 +0800</pubDate><description><![CDATA[Yii框架提供了一些单元测试的支持，大家可以看看Yii提供的例子，然后，我们解析下最复杂的fixtures是怎么做的，因为企业级的单测，比如离不开数据库，这也是回报最优厚的地方。
 
单测的case如果要使用Fixtures就需要声明一个public
 $fixtures的变量，比如:
 
public$fixtures=array(
'posts'=>'Post',
'comments]]></description><category></category></item><item><title><![CDATA[Yii中的动态类加载方法]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8928136</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8928136</guid><author>bingyelee</author><pubDate>Tue, 14 May 2013 22:57:45 +0800</pubDate><description><![CDATA[Yii框架是一个比较快速的框架，其中有一点就是，使用它的Yii::import()可以先预加载autoload，然后，在真正需要的时候，再去require真正的代码。具体的实现如下：
1.预加载的方法。Yii::import(). 下面是实际的代码：
	public static function import($alias,$forceInclude=false)
	{
		if(isset]]></description><category></category></item><item><title><![CDATA[Yii框架中使用Fixtures的一个大坑。。]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8927869</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8927869</guid><author>bingyelee</author><pubDate>Tue, 14 May 2013 21:56:53 +0800</pubDate><description><![CDATA[在单元测试中，数据库一直是很纠结的一个问题。一般有两种解决方案：1.进行mock，也就是所有的数据库操作都mock掉，这样就不需要数据库了；2.链接一个真实的数据库，不过，如何保证可以重复的执行？一个简单的思路，就是我们把需要的数据准备好，然后，每次跑单元测试，先truncate数据库，然后再执行入库的操作，最后执行完的时候，再做恢复的操作。
对于第二种方案，Yii框架给了一个很好的数据库支持，]]></description><category></category></item><item><title><![CDATA[PHP中的网络编程 -- Socket篇]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8907637</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8907637</guid><author>bingyelee</author><pubDate>Thu, 09 May 2013 21:13:33 +0800</pubDate><description><![CDATA[作为WEB应用，网络编程是必不可少的。在实际的应用中，所需要网络编程的是
1.HTTP协议的请求，比如上传、下载什么的；

   2.就是TCP/IP层的操作。比如，公司内部的协议解析。再往底层就基本没有了。
 
对于TCP/IP层的操作，在我们这边有内部的通信协议。然后，在这一层的网络通信基本都是很底层的。所以，基本都是使用pack,
 unpack以及位移等操作，不过，最重要的就是]]></description><category></category></item><item><title><![CDATA[金融经济学习指导]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8902562</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8902562</guid><author>bingyelee</author><pubDate>Wed, 08 May 2013 21:39:44 +0800</pubDate><description><![CDATA[虽然是码农，不过，很庆幸自己在高中的时候，就参透了活到老、学到老的这种看起来特别牛逼的究极的想法。。实际上，对喜欢的东西感兴趣是很正常的，喜欢就去学，多简单的事情。有的时候，的确是隔行如隔山，不过，很多东西都是通用的。比如，你拿在餐饮业的管理经验，来管理建筑业的，有可能会起到非常好的效果。


出身北邮，在大学的时候，没感觉到专科学校和综合学校的差距。毕业之后，才深有感悟。自己大学四年，接触]]></description><category></category></item><item><title><![CDATA[PHPUnit单元测试系列二 -- 如何开展单测]]></title><link>https://blog.youkuaiyun.com/bingyelee/article/details/8749593</link><guid>https://blog.youkuaiyun.com/bingyelee/article/details/8749593</guid><author>bingyelee</author><pubDate>Wed, 08 May 2013 10:48:42 +0800</pubDate><description><![CDATA[虽然大家都说TDD，都有美好的幻想说，我们先写测试用例，然后再写实际代码。不过，现实中，我目前还没接触过这样的团队（真希望以后，能够到这种团队，很认真的TDD开发，有这样团队的记得联系我哈~留言就可以了~），大部分的人都是已经刚开发好了，然后，才加入单元测试的。
而且，大部分的情况都是，老大要求做单元测试，或者，对应的QA做单元测试。我待过3个团队，都是先开发代码，然后老大要求做单元测试，所以才]]></description><category></category></item></channel></rss>