易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
开发中的一些注意事项

开发中的一些注意事项

开发中遇到一些问题,值得记住,所以我记录了一下
1、在项目中为了取得泛域名的前缀网址,这个前缀是指定的a,b,c三种,如果前缀不在这三种之内,默认为a,在apache下面的时候,建了一个*.test.neatstudio.com的泛域名指到vhost中。然后用偷懒的方法list(explode(".",$_SERVER['SERVER_NAME']))就取到了a,b,c,因为在apapche中,$_SERVER['SERVER_NAME']就是实际的a.test.neatstudio.com。然而到了nginx下行不通了。在nginx下,$_SERVER['SERVER_NAME']居然还是test.neatstudio.com,最后打印$_SERVER变量,发现$_SERVER['SERVER_HOST']才是泛域名的a.test.neatstudio.com。在此做一个记录

2、chown处理大量小文件时,你就等着CPU标高100%吧。这个问题很痛苦,但没办法

3、我晶。我记得要写一个很重要的笔记 的。我TMD又忘了。被第一个问题打断了。我晶啊,算了。等想起来再说吧

Yii框架中设置时区

Yii框架中设置时区

时区这东西,在开发的时候,你说重要吧,也还好,毕竟没它也能正常运行,你说不重要吧,那就纠结了。特别是linux系统,都TMD差上几小时,你能不痛苦吗?win还好一点。
有一些常规方法,是大家目前都在采用的
1、php.ini中的设置,这个就不谈了,
2、程序中公用文件里设置,date_default_timezone_set一下时区
3、或者。。。自己写时间处理函数,在遇到时间的时候,用这个函数处理(比较偏向于使用这种方式,如果你的用户来自于五湖四海,或许就有用了)
4、yii框架中,可以直接在/protected/config/main.php中加入timeZone,即可(补充:Yii2方法也是一样,只是config文件的位置不太一样罢了)

周记

周记

因为经常会写一些杂记,而且一般都在周末的时候写,所以干脆定义为周记算了
周记很好理解,一周回顾,当然这不是工作报告,所以就无需为记得自己本周做了些什么而烦恼了。
一周中经历的事情不多,不少,总够回忆那么一两下,所以就这么写喽
1、本周红衣主教说是要涉足手机行业,至于怎么做嘛,黑黑,大家接着关注,我是觉得他下手有点狠。顺便,听说那个剽悍的人生不需要解释的老罗也要涉足手机业。手机这么好入?小雨的销量对大家是如沐春风啊

2、本周折腾了一下aliyun的ACE,痛苦,怪不得很多PHPer不在上面继续开发了,想想也是,动不动就500错误,关键还是不知道原因,没有报错信息。没有LOG查看,能不痛苦吗?不过我相信有办法解决,下周做个测试(其实我本周有提到,但最后被打断了,就没有写下去)

3、带小朋友去游乐场,充120,充130,抽奖,中了50个游戏币。这是有屎以来中的最大的奖项了。灰常开心,晚上买了瓶黑啤奖励了一下自己。22块啊,心都碎了

4、作为一名看盗版书的用户,我下载了三体txt版,自己转成了6寸的PDF版,慢慢的在看,好象有那么一点意思,怪不得这家伙已经被很多人接受。同事说,此人已经是中国科幻的教父了。不过,鉴于同事动不动就将一些其他相对不错的东西都称之为神作、神一样等定语标记,所以我对此抱了怀疑的态度。书或许还不错,但至于是否能够深入我,也得看是否对我的胃口的

5、还是关于资讯。书这玩意就象美食,众口难调,毕竟每个人的品味、修养都不一样;无聊的时候看看小说打发时间,好吧,即使就算小说,分类都是铺天盖地,随便找了一下网上对小说类的分类,就将近20种:

武侠|纯爱|情感|修真
异陆|仙侠|竞技|魔法
剧本|美文|校园|网游
历史|玄幻|言情|女生
异能|都市|科幻|鬼灵
名著|战争|其他|同人

你看,还没怎么搞呢,就这么多分类了。好吧,这仅仅是小说,那么剩下的纯文学呢?肿么搞。难道老罗在05年就写了一篇:怎么样成为文坛装逼犯,这样的文章。

6、把摩托驾照转入上海了,下周五准备考交规。然后。。。争取3个月出驾照。然后。。。不买JU,没意思。有空想出去了,租租JU应该就完事了

折腾ACE

折腾ACE

折腾完后yiiforsae后又开始折腾yiiforACE了,只是ACE相对还是比较痛苦的。毕竟ACE的出错直接就提示一句:

The page you are looking for is temporarily unavailable.
Please try again later.

然后什么信息都没有了,根本 没有办法定位程序错在哪里。这让我很是纠结,但没有办法,一点点的来吧,感觉ACE的速度挺快。而且有1G的数据库。256M的memcache。只是rewrite怎么办呢?
苦

产品随便说

产品随便说

我在写这一段的时间,是想到什么写到什么。所以思路可能会有点乱,或许过很久之后我会过来修改它,但也许就不改了,毕竟只有最初的想法才是真正的想法。
一款产品究竟用什么来吸引人,每个人都有每个人的想法,有人说是UI,有人说是内涵,有人说是手感,有人说是第一感觉,但我觉得这 些都或只是初次看到这款软件的想法,细想之后还是会有一些真正有用的东西。如果是上述4in1,那当然是最好的。但事实上不可能所有的产品都达到了这4in1,于是往 往只要拥有一两个核心就能够让大多数人爱上它了。除了第一感觉,这种不太切实的玩意外,往 往 就是内涵+UI了,有时候手感这个东西真的是可以被改变的。打个比方iphone只有home键,android原来的硬件有6个按键+一个滚珠;还有,很多人在从电阻屏转到电容屏时也不适应,没有硬件按键也不适应,但最终都一一适应了。所以,操作、手感,这种东西还是可以被改变的。剩下的也就剩UI和内涵了。UI是因为天天要看着它,如果长的不好看,会天天生厌;如果没有内涵,那么很快就会被扔到一边去了
内涵这玩意真的是一个软件的核心。
你的UI可以抄,核心架构也可以抄,但如果产品没有自己的心,那真的是一个空架子。QQ在抄的时候你说它抄了UI找了内容,但毕竟他在当时提供了最方便的IM工具,当时网络不好的情况下,一个英文版的聊天工具对于普通的用户来说太难了。因为那是全英文的。。。。在当时那个年代,你能要求多少人对英文要求那么高?再加上当时的注册全是英文,你能怎么办?所以QQ的成功也是必然的。而且那个年代,正好是从笔友向网友交替的过程。虽然当时的QQ纯粹只是IM,但现在就不一样了。(我也只是猜测,现在的QQ更多的是变成了一个平台,一个互相 交流的平台,而依托着这个平台,为交流提供了存储、提供了通讯录、提供了各种附加的东西,使得用户粘度越来越高)
---------
每个人都是产品经理,如果你不爱你的产品你就没有办法提出意见,只是每个人都认为自己对产品了解的最深,也正因此反而对其他产品和自己的产品以及其他人对它的评价当成了讽刺当成了攻击,总认为别人是错自己是对。
---------
上述还是废话,突然发现,写不下去了,心中有很多话不能说。我希望如果有下一次求职,其实是做产品经理。

phpstorm4:自定义代码折叠区域

phpstorm4:自定义代码折叠区域

众所周知啦,IDE里可代码折叠的区域很多,例如:注释、if等各种条件区域、函数、类、等等

除此之外,以前还用过editplus是根据代码的缩进来折腾的,所以,在代码中只要遇到代码缩进规范的,理论上就应该是可以折叠的。
但事实上,除了我最开始的那句话中所涉及的区域,其他区域几乎都无法折叠。PHPstorm4有新功能了,就是自定义折叠,官方网址参考:http://blog.jetbrains.com/webide/2012/03/new-in-4-0-custom-code-folding-regions/,可以定义很多方式哦。而且快捷键也不难。
原博客中的那句:

I press Ctrl+Alt+T now to get “surround with” action options:

证明了快倢键就是ctrl+alt+t,有两种风格,一种类似netbeans一种 象vs。看个人习惯了
上个图41c4cd9e19150401606ae8363b6f3587
看看,是不是很方便?

phpstorm 4发布啦。。。

phpstorm 4发布啦。。。

PHPSTORM4发布啦。这回的特性感觉不是特别多,不知道为什么当成一个大版本来发布
3和4,更新的也太快了,难道也想学firefox来个版本比赛?jre还是没有升级成1.7,不知道是为什么。只记得以前用netbeans的时候,升级到1.7问题多多。
按照官方的说法:

To keep pace with the times, the new release includes full compliance with PHP 5.4 language features and ECMAScript Harmony support, and killer bug-prevention abilities using PHP Code Sniffer and PHPUnit Code Coverage. This makes PhpStorm 4.0 a must-have IDE for today’s sophisticated PHP developers.

The most important changes in PhpStorm 4.0 include:

  • PHP 5.4 language features support
  • ECMAScript Harmony support
  • Code coverage for PHPUnit
  • Code checking with PHP Code Sniffer
  • Drupal coding style support
  • New PHP code inspections
  • Smarter JavaScript completion

不过只是支持了5.4和代码覆率,其他的都还是一般,居然还支持了drupal的代码风格,看来drupal的风格还是被很多人接受啊。只是那个缩进只有2个空格,好不习惯啊。。。
就这点东西更新就变成了4.0,好不习惯啊。还有,不支持yii,不和谐

工作生活杂记

工作生活杂记

工作、生活杂记
1、crontab 的时候程序没有退出,导致进程一下子变成了几十个,然后执行的时候,一下子执行了几十次。。。纠结,以后要记住,怎么着也得wc -l一下,防止重复执行

2、也正是由于1的原因,开始尝试2个玩意:1是redis的发布和订阅2是队列。不过现在还没有完成,所以只是记录

3、发现广告的力量真的挺不错,广告看来还是要投的。至于详情,不便 多说

4、浮夸,这是一个非常浮夸的世界。果然是只要会说,怎么着都OK。象我们不会说的就纠结了。要向九品芝麻官学习,如果能将死的说成活的就OK了。

5、对于html5中的localStorage,感觉有点想法了,嗯,还有openDatabase,即本地数据库,有意思,看来是到了用的时候了。不过canvas和opengl之类的,我还没有看过。时间,TMD就是时间

6、交规没考成。因为在老家有摩托驾照,导致不能在上海考 ,要先转入才OK。郁闷

7、还有一些,又TMD忘了,老了,记性越来越差了。

几个名词,搏君一笑

几个名词,搏君一笑

强烈谴责
深表遗憾
强烈抗议
保证冷静
不明真相
一小撮
热血分子
围观群众
深入…深入…大力加强
增长…促进…扩大力度
保持…持续

Yii的AR效率释疑

关于yii的AR效率,其实一直以来都有很多的想法,试想,如果不做metadata的缓存,每次查询前,都必须先做一下metadata的查询,效率也不会太高到哪里吧?
所以,看到官方有人在问就关注了一下:http://www.yiiframework.com/forum/index.php/topic/16597-yii%E7%9A%84ar%E7%9C%9F%E7%9A%84%E8%83%BD%E7%94%A8%E4%B9%88%EF%BC%9F/

有人提问:

我在首页会很多个ar的请求。热门文章、最新文章、编辑推荐、最新评论的文章。。。。

我把这些通过 model()->findAll()的结果放在一个数组里。

然后把这个数组var_dump了一下,这些数据高达1.06M。这是不是太耗内存了?

页面上全是密密麻麻的数据表结构,如果关联关系复杂点的,会更多。

我光var_dump(yii::app()->db) 就有5000多行的数据。


这样的db操作这么耗内存,敢用么?谁能消除我这个担心?多谢

AcitveRecord ,只能玩一玩开拓眼界. 真要生产环境用, 就不行!

然后,Qiang就回复了:

你的结论有点想当然了。建议你仔细做profiling来验证。事实上,AR已经被成功应用在若干大流量的网站上了。

你不能用var_dump()来估计AR的内存开销。var_dump会把所有被reference到的对象都dump出来,包括application,以及所有的application component,因为它们都被AR间接reference到了。

AR额外的内存开销是存储10个左右变量的开销。如果按20字节来估算,额外的开销是200字节,这样在1000个AR对象情况下,额外的内存开销为200KB。这个对几乎所有的web应用而言应该不是问题。

如果你需要装载更多的数据,建议你使用DAO。

另外,对于任何大流量的web应用而言,cache都是必须的。cache可以帮助解决绝大多数的性能瓶颈。

cache在DB中有一些处理的,比如那个duration,在db中查询就可以做一下缓存了。然后metadata再做一下缓存,不也挺好?