Trade Off

supercalifragilisticexpialidocious

项目要收工了

虽然最后的几个功能还没有完成,但总归目前已经能用了。如果说端午过后还有机会继续提交的话,可能最终就是完成这几个功能吧。不过最大的问题是现在已经到了考试前夕,如果不想承受考前突击带来的痛苦和自责,那必须得提前准备,何况今年还要考英语四级。按照Fnln的说法,按照正常退步速度就能通过,但我已经不清楚现在是不是正常退步速度了,应该还没有吧,仅仅是最近大家都在复习的时候我在做网站而已:)

刚刚用phpDocumentor把文档生成出来了,还遇到了可恶的乱码问题,最终用了强大的替换工具,硬生生把字符集换成了utf8,总算是解决了吧,虽然解决方法不太好,但这是个看结果的事情:)

不知道Yfan那边的css工作怎么样了,要是进展顺利,明天全线停止,开始写写计划书什么的文字材料,在最后一个工作日交上去。当然这算是理想的情况。

四种浏览器下的JS日期对象

测试浏览器为:IE8、Chrome、Firefox、Safari,除了IE,都是最新版本,不多说了,都兼容的创建Data的方式是这样的:

1
2
3
4
5
var da = '2000-01-01 00:00:00';
var da_array = da.split(' ');
var da_1 = da_array[0].split('-');
var da_2 = da_array[1].split(':');
alert(new Date(da_1[0],da_1[1],da_1[2],da_2[0],da_2[1],da_2[2]));

js的Year

js中有个获取当前年的函数,叫getYear(),但我测试的时候没有单独让它显示出来看看,只是当成一个最大值限制使用,测试了一个值发现正确,就不再管它了,后来测试的时候总是不对,再一看,那个值竟然是111,怪不得我输入一个年份都显示对了呢,现在都是2xxx年,随便一个就比111大不少了……

目前那个函数已经被废弃了,取而代之的是getFullYear(),这次就正常了:)

项目在冲刺

看着日期就要到最后提交的日子了,这几天一直都在写最后的几个功能,昨天写的是活动功能,基本上完工了吧,只是没有一个很好的展示效果。今天主要做做基础通知功能,这个功能完成后就能把以前的很多模块产生的消息应用起来,首页也有一个不断抓取消息的语句。其实还是接口抓取啦,不知道那些大型网站,比如新浪微博是如何做这个的,可能也是如此吧。

其实这样想来,做一个即使聊天的东西也就是这样吧,不断从一个接口抓取消息,不断向一个地方发送消息即可,只是若这样实现,会不会对数据库的压力非常大呢?也许还有更好的办法处理即时消息,比如NoSQL?

这两天睡眠质量很不好,早上都是5点多起来,晚上差不多11点睡下,时长和高中的日子差不多了,不过白天竟然没有困意,只是偶尔感觉很饿,不知道该买些什么样的吃得放在身边:)

Ftp出现421错误

由于编码问题,只能看清楚反馈回来的错误号是421,查询之后了解到这是因为ftp服务器限制同一个ip的连接数导致,于是在ftp的配置文件中找到最大连接数这个设置,由原来的5改成了500,重启ftp,没问题了。实际上我猜重启一下ftp也能解决问题的,5个最大连接数对于我自己来说也许就够用了吧。

懒得写博客了

最近一直还在忙活学校的那个项目,还有自己要做的同学录,看着日子越来越紧张,我也变得越来越紧张:)

学校的项目还有不多的工作了,我赶紧忙活一下,最后的几个功能也差不多没问题了,琐碎的工作交给另一个人了,这几天我没管,希望他做了些什么吧。同学录的工作写了不少代码,没去统计,外部引用的js库太多了,一统计都是别人的工作:(

今天下午用了下jquery的表单验证插件,调试了好久的remote方法,现在分享点经验:

1.远程的查询方法我接受了post的提交方法,不过我感觉get也是没问题的,只是没去测试,修改这个是在remote中传入type:‘post'即可。

2.remote要提交上去的data用这样的方法:function(){return xxx;}

3.remote对应的messages直接写remote即可,注意这里处理的是得到false结果显示的提示信息,所以查询数据库并返回值的那个页面要注意别写反了结果,当然要只能返回true或者false。我用php写的结果就是直接echo一个字符串,只有这样简单写才能让这个傻傻的remote认出来。一开始我还包装了一个json返回,现在想想根本就是奢望,根本不可能知道你的json是个什么东西!因为根本就没有告诉它去检查哪个元素的值:)

如果按照这个速度做下去,可能到6月6日能够交上去作品:)希望其他人做得不太好吧,那样我就有机会去深圳旅游(答辩)啦:)

最后在这里说一下QQMap的API,除了单一只能玩js的以外没什么太大的失误,用起来比较顺手,只是和Google的想比,还差很远,如果不是为了参赛,我可能会去用Google的,但那个相对用起来会很麻烦的:─(

约瑟夫问题算法

昨晚还在忙碌网站,一个同学发来短信问了这样一个算法问题:一些人手拉手围成一个圈,从一个人开始报数,数到3的人退出,然后下一个人再开始报数,依然是数到3者退出,问最后剩下2个人是哪两个?

这题目看起来不算难,但这要是不靠一个语言的特性来解决,还是有些麻烦的。我说的语言特性就是一个bt数组方法,比如说移除元素啊这样的方法,用纯粹的C语言来写最好了。不过我那位同学是在雪VB.net不知道那里有没有语言特性。我手头上正在写PHP网页,就干脆用PHP写一个出来试试吧:)  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$circle = array();
$out = 0;
$count = 0;
$n = 0;

for($i = 0;$i < $num;$i++) {
$circle[$i] = $i;
}
while(1) {
$count %= $num;
if($circle[$count] !== -1) {
if(($n % $diff) == ($diff - 1)) {
$circle[$count] = -1;
$out++;
if($out === $num - $sur)
break;
}
$n++;
}
$count++;
}

这就是主要代码了,还算是简单吧?去Google了一下,看到有些人的解法都用了好麻烦的链表来抽象,用链表确实更符合客观事实,不过那样写起来,是不是给别人看的呢?!

算法的负责度显然是线性的,感觉还可以吧。

《REWORK》学习笔记之完结篇

「亲力亲为」中提到:

在你亲自尝试做这份工作之前,永远不要雇人去做。只有这样,你才能了解这项工作的本质。你才会懂得如何判断工作完成的好坏,才会知道怎样写出符合实际的岗位招聘要求,也才会清除在面试中该问什么问题。你才能之道该雇佣全职职员还是兼职职员,是将工作直接外包还是坚持自己搞定(强烈推荐后者,如果可能的话. 。

你也会成为以为更加优秀的经理人,因为你是在指导人们完成你已经做过的工作,你知道何时该批评,何时该鼓励。

有时候你可能觉得力有不逮,甚至可能觉得精疲力尽。这很正常。你可以通过招人来摆脱这种感受,也可以通过学习正确的处理方法来解决问题。先试着学习吧。在最初的运营中付出的所有努力,都会变成无数倍的管理只会,最终回报给你。

另外,你应该让自己密切融入业务的方方面面。否则你就会陷入一片茫然,把自己的命运交到别人的手上,这是非常危险的。

「受不了时再招人」中提到:

当你在很长一段时间内都被超负荷的工作所困扰,这才是招人的正确时机。此时出现了一些你无法再亲力亲为的事情,你发现工作质量有所下滑,令你感到受不了了,这时才是招人的最佳时机,不要提前招人。

「放弃牛人」中提到:

放弃那些你并不需要的牛人,即使你觉得这是个人才。把有能力的人招进来,却让其无所事事,这对公司来说是有害无益的。

牛与不牛没有任何意义,不需要就是不需要。

「鸡尾酒会上的陌生人」中提到:

短期内大批招人的后果就如同陷入“全市陌生人的鸡尾酒会”一样。你身边充斥着新面孔,美国儿呢都彬彬有礼,每个人都努力避免矛盾或冲突,没有人说:“这点子真烂。”人们一团和气,互不攻击。

这种一团和气的氛围就是公司陷入麻烦的根源。当有人把事情弄得一团糟时,总得有人直言不讳地说出来。否则,你就是在经营一个既不惹人恨、又不招人爱的公司。

要营造一个能让人直言不讳并且有安全感的环境。你得清楚自己能把别人推多远,你得知道人们话里的真正含义。

「可笑的求职简历」中提到:

一个具有6个月工作经验的应聘者和一个具有6年工作经验的应聘者相比,其差别小得令人吃惊。真正的差别来自于个人的努力程度、性格差异以及智力水平。

现在已经不是以时间长短论英雄的时候了,真正重要的是他们到底做得有多好。

「人人都得干活」中提到:

在一个小团队里,你需要的是干活的人,而不是监工。每个人都得做事,没有人可以袖手旁观。

救灾篇

「主动掌控负面新闻」中提到:

如果你够坦荡,够诚实,够公开,危机应变速度够快,人们就会更加尊重你。不要把头缩回去,也不要苦苦压制坏消息,应该让你的顾客尽可能地拥有知情权。

掌控负面新闻的小贴士:

  1. 要由公司高层来发布消息,而且要由公司内职位最高的人来强有力地控制局面。

  2. 消息要广为传播,想尽一切办法将消息传递出去,别尝试隐瞒事实真相。

  3. 千万别说“无可奉告”。

  4. 要真情实意地表达歉意,要尽量详细地说明情况。

  5. 要真切地关心客户的遭遇──然后要证明自己真的在为客户负责。

「文化不是由谁创造的」中提到:

不要过多担心企业文化的事情,不要去强求,你无法给企业安装一种文化。企业文化就像上好的苏格兰威士忌一样,你得给它时间去酝酿。

「灵感稍纵即逝」中提到:

灵感是个奇妙的东西,是效率放大器,是推进器。但是它不会停下来等你。灵感转瞬即逝,当它来找你时,要立即把它捕捉住,将其投入工作中去。

《REWORK》学习笔记之推广篇

「甘于低微」中提到:

要牢牢记住,一旦你把事业做大、深入人心之后,就不可避免地要走稳健路线。当你成为传奇人物,你就必须保持预见性、建立相容性,你将变得更为保守、更难去冒险。这就是僵化的起点、变革的终点。

「培养自己的拥趸」中提到:

所有的公司都有顾客,幸运的公司有粉丝,而最幸运的公司则有一帮观众。观众能成为你的秘密武器。

「普及知识,赢得竞争」中提到:

不要在消费、销售或者赞助上和竞争对手去攀比。也许你的竞争对手根本还没考虑去传授别人些什么呢。绝大多数公司都在关注销售或服务,但是从未想过传授知识。

个人和小企业适合去传授知识,而大公司不适合。大公司支付得起巨额广告费,而你不能。你能在传授知识方面大力投入,而大公司不能。因为大公司受制于保密政策,公司里的每一款条文都得经由律师过目,并且再经层层严格审查。传授客户只是是专属于你的绝佳制胜机会。

「效仿大厨」中提到:

作为一家公司的老板,你也应该分享自己之道的一切。这一点在商业世界中尚属禁区。商业活动总是带有偏执和隐秘的性质。人们认为自己在这方面拥有专利或在那方面又有竞争优势。也许这样想的只是少部分人,不是大部分人。大度的人不应该继续模仿小气者的行为,不要惧怕分享。

「转到幕后看看」中提到:

让人们走入幕后,能改善你和他们之间的关系。他们会感到与你亲近起来,将你视为一个常人,而不是一个面目模糊的公司。他们将在你的产品中看到你在后台淌下的汗水和付出的努力。他们会对你的工作产生更深刻的理解和更诚挚的感激。

「没人喜欢塑料花」中提到:

不要害怕你的缺点,不完美才真实,真实才能激起人们的共鸣。因此我们喜欢会凋零的真花,而不是那些用不变色的完美的塑料花。不要担心自己应该如何说、如何做。向世界展示你本来的面目、你的缺点、你的全部。

Leonard Koren在他的《侘寂》一书中说道:削减到本质,但不要剥离它的韵;保持干净纯洁,但不要剥夺它的生命力。

所以,你大可直言不讳,畅谈那些别人不愿意讨论的东西。直面你的弱点,向人们展示你最近的工作状况,即使你还没完全搞定它。不完美没关系,也许你看起来不专业,但你却更真实。

「药贩子最精明」中提到:

只要你东西可卖,就不要怕给人一点点让其试用。要对自己的产品抱有信心。你应该知道人们会回来购买更多,如果你连这样的信心都没有,只能说明你的产品做得不够好。

「一夜成名只是传说」中提到:

你了解那些道听途说来的“一夜成名”的故事吗?往里深挖一点,你就能发现这些成功人士在到达引爆点之前,都已经在这个方向苦熬了很长时间。也有凤毛麟角的几家突然成功的公司,但这种公司往往不能持久──没有牢固的基础去支撑。

把一夜成名的迷梦换成一步一个脚印的成长行动吧。道路很艰难,但你必须充满耐心。你得用功去做,在遇到伯乐之前,你得努力很长时间。

今天就开始培养你的观众,开始聚集那些对你有兴趣的人,然后一直保持下去。多年后,你也回在人们谈论你的“一夜成名”的故事时付之一笑。

《REWORK》学习笔记之对手篇、进化篇

对手篇

「拒绝照搬」中提到:

怎样判断自己是否在盲目模仿别人?如果同一种产品,别人已经完成了绝大部分的工作,那你就是在模仿。你可以受别人影响,但不要去剽窃。

「将你的产品去商业化」中提到:

一旦你扬名立万,模仿者便会蜂拥而上,这就是生活。但是你可以用一种绝佳的方法来保护自己不被盲从者们吞没:让你自己成为你的产品或服务的一部分。将你独一无二的想法注入你的产品中,让它变成一件别人做不到的东西。

把你的特点融入你的产品以及和你的产品有关的一切事物当中去:你的销售方式、支持模式、说明方式、递送方式。竞争者们是无法复制你的产品中的独特性的。

「向对手挑战」中提到:

拥有对手,就等于为客户制造出了讲故事的素材。驻足观望者只能站在外围,人们热衷于看到冲突,喜欢偏袒一方,乐于被点燃激情。而这正是吸引人们眼球的绝佳办法。

「给竞争力做减法」中提到:

不要因为你的产品或服务不如别人的花哨就感到自惭形秽。要高调一些,要引以为豪。要向你的对手推广他们的多功能产品一样充满激情地推销你的简约产品。

「谁管他们在做什么」中提到:

把目光放到你自己身上来吧。你自己本身的变化比外界的变化更为重要。当你吧时间浪费在关注他人身上时,就没有时间去自我提高了。

过多关注竞争对手会分散你的视线。当你的脑子里充斥这他人的想法时,就会错过发现新鲜创意的机会。你会从富有远见的人变成固步自封的人,最终为你的竞争对手做嫁衣裳。

如果你想做的只是和别人一样,那又何必去做呢?简单抄袭对手是无法在市场上找到立足之地的。即使注定会输,也要为自己的信念而奋斗,而不是仅仅模仿他人。

进化篇

「养成对客户说“不”的习惯」中提到:

现在就开始培养说“不”的习惯──即使是面对自己最好的创意。利用拒绝的力量,成就你的优先顺序。人们很少会因为拒绝而后悔,却常常宁愿自己当初没有答应别人。

人们不愿意开口拒绝,是因为针锋相对的感觉并不舒服。但是另一个选择的后果会更糟。你自找麻烦,把事情弄得更复杂,最后连你自己都不知道自己在干什么。

这就象两性关系:分手很难,但是因为自己的懦弱而一直忍受下去,情况会更糟。长痛不如短痛。

「不要攀客户的高枝」中提到:

没有用过你们产品的客户永远比用过的多。要确保你的产品让这些人容易上手。这就是你持续成长的潜力所在。

人在变,环境也在变,你不可能满足所有人的所有要求。公司要对某一类型的客户全情投入,而不是对某一个善变的客户唯唯诺诺。

「头脑发热不等于当务之急」中提到:

首先要把你的伟大想法冷却一下。要想尽一切办法找出所有伟大的创意,让自己激情澎湃一把,但是不要轻举妄动。把它们都写下来,然后放上几天,再用冷静下来的思路去为它们安排优先顺序吧。

「家用便利就是好」中提到:

当你制造出一个能成为“镇宅之宝”的产品时,可能要因此牺牲一些“镇店”的噱头。一个能够完美演绎基本功能的产品,势必在花哨程度上要略逊对手一筹。长于某些功能的产品,远远看上去肯定不是那么面面俱到。这没什么,毕竟你的目标是与它建立长期关系,而不是“一夜情”。

「必须逐字记下客户的需求」中提到:

如果某个要求悖逆一次一次地遗忘在脑后,这就说明这个要求并不是太重要──真正重要的东西是忘不掉的。