分类 感想杂文 下的文章

前几天在微博上看到一句评论,“小学时盼望中学,初中时盼望高中,高中时怀念初中,上大学了怀念中学时代,毕业工作了才知道做学生最好”,很多时候的我们,也许就是这样的状态,或幻想未来的生活、或念想过往的时光,而就是没有活在当下,没有细细品味自己的生活,时光就这样,不间断地、不幸福地流逝。

2012年的我,经过了成人礼,经过了高考,青涩地、懵懂着,踏进大学校园的大门。四年真的很快,有过享受大学的美好,有过自己所谓的努力,有过颓废、失落与失望,有过挣扎...

毕业了,工作了,坐40分钟的公交去上班,偶尔小忙,或闲时看书学习。好些天觉得日子过得萎靡,没有以往的活力。在前几周做了些改变,每天骑车去上班,30分钟的车程,还可以吹吹风。傍晚,在公司所在的公园里,打上一小时的篮球,挥洒着那熟悉的汗水,酣畅痛快...

今天打篮球,还被几个打球的哥们夸了一句,“哥们,弹跳真好,弹速还快!”,当时就小尴尬的一笑,“哪有~”。其实不是开心,只是有感触,年初的时候,打篮球崴到脚,三四个月后,竟然还感觉不适,我苦笑,是不是俺的“职业”生涯报销了,甚是想念高中时,每天傍晚自己组织的篮球赛。所以几个月来因而很少打球。

当我渴望找回我的活力时,我知道篮球还是我的最爱,没有死命地去打,没有懒散和消极,我依旧是那个能跑能跳,人送绰号“小科比”的小伙子。一句“哥们,弹跳真好,弹速还快!”,也许我们真的是没有以前状态好,但我们无感或不喜欢的现在,恰也是别人怀念的曾经,也必是未来自己怀念的曾经。

活在当下,像是老生常谈,但真的是我们生活最不该忘记的信条。

6月25日晚,824和1#909小聚,凌晨回来的我们,上了宿舍楼,却又下来...
多想,这时间不再流逝,这离别不要来临,在五环广场的我们,是多么舍不得彼此

6月26日,又送走了两个室友。
送钊哥到南门时,我抽泣了,拥抱着说,再也不能和你骂来骂去,看你傻傻地打游戏。我以为哭出来会好受,其实还是很难受。
送郭医生时,不住地在开玩笑,想要强忍住眼泪,却还是偷偷流出了眼泪。

刚躺在床上,看着三张空了的床铺,难过至极,为了不哭出来,我下床写这篇日记。
想想明天,送走或是和谢明敏和朱珂漫一同离开这个居住了四年的地方,酸楚涌上鼻头...

有人选择工作,有人选择gap,有人继续求学,大家都会好好的...

悲伤不舍难免,还是想笑着说再见,相信与祝福,期待常相见

蒋庆宇,2016年6月26日晚,于北京科技大学5斋824

1. Do not repeat yourself(重构、抽象...)

2. 工具能做的麻烦事,不要自己做(格式化、语法检查...)

IDE能做的事儿,不要浪费自己时间去做。
把时间用在代码逻辑、性能考虑上。

3. 接口方法,只做应该做的事,不多不乱,保持原数据结构/顺序。

例子:
任务页面有召集人(多个)的列表,是后台运营人员填写的,有时第一次访问时顺序有混乱,之后访问右正常了。觉得很奇怪,看代码知道了 原来是缓存搞的鬼!

背景:
微博的内容产品几乎都有好友/粉丝 与 物 的关系,所以通过array(uid,uid,uid,...)取用户详细信息的方法,是早已抽象好的,逻辑是:对传进来的array进行缓存查找,得到已缓存的条目未命中的uid列表,再以此查库将返回结果追加到已缓存的条目,返回结果。

策略不错,但有个小问题,参数传进来可能是有顺序的,所以期望的结果集的顺序应该是与参数一致的。
有两个办法,1改接口、2重新排序,因为作为调用方不便改接口,所以重新排序!

怎么排呢,经同事指正,几行代码:

$users = Dr_User::get_user_infos($uids, false);//结果集已经乱序了

$flip_users = array_flip($uids);//反转uid列表,array(uid=>0,uid=>1,...),再遍历users存到对应键上
foreach ($users as $user) {
    $flip_users[$user['id']] = $user;
}
$users = $flip_users;
unset($flip_users);

结论:如果很多调用方都有保持顺序的需求,接口的设计就该添加一个参数以控制结果是否保持顺序。

4. 务必打开所有错误显示,包括NOTICE级

5. 变量的检查,统一在view controller里做

6. 明确开发/生产环境...

...

Tips

  1. 新增/修改时,sql语句慎用replace,当字段中有主键和唯一键时,若已有记录,修改的实际操作是:将原纪录删除,新插入纪录,这显然不是期望的处理方式。
  2. 在做客户端API时,有时需要一个默认的图片card,不希望它跳转或作为普通图片可查看大图,只是让它作为默认显示(something like 背景图)
'pic_items' => array(
    '0' => array(
        'pic' => 'http://example.com/pic.jpg',
        'scheme'=>'sinaweibo://javascript:void(0);',
    ),
),

类似浏览器js的写法,scheme为sinaweibo://javascript:void(0);就好了。

2015年1月13日入微博实习,迄今已有5个月之久,且说说自己学习成长收获。
整个实习期间只做了一个投票产品,工作上还是比较轻松的。所以不以时间为线索来谈,直接说说学习到哪些干货吧。
我主要做投票pc端、h5端、feed的落地页。

  1. 单一个落地页需要处理展现的信息就比较多,包括发起人、好友参与(双向关系)、投票本身、投票选项、话题信息、相关投票等等。投票的状态有:主他 * 是否结束 * 是否参与 * 结果是否可见 * 图文 等十多种。
  2. 是多端的细节处理和ajax接口提供,h5要在微博客户端上有很多要协调处理之处。
  3. 微博投票系二级内容产品,涉及对象库、配置平台、主站的多方协作,同时兼顾业务、产品的需求,整个开发调试过程也是比较锻炼人的。
  4. 再小的问题,当你考虑大并发量的时候,都不再是简单的问题。要设计memcache缓存、程序内缓存,设计参与投票走mcq队列,假数据输出。

HTML,CSS,Javascript接触不多,但以前自学过,掌握还算可以。

关于PHP,微博投票两次版本分别应用了kohana、yaf框架,so我学习了两套框架的设计思路,路由的设计等。学会了原生的模版写法:
MVC设计中,假设controller中数据准备$items变量,然后赋值给模板,再渲染、response。

<?php
...
Class Controller_Items extends Controller{
    public function listAction(){
        $items = Model::Factory('items')->select()->limit(5)->execute();
        $this->assign('items',$items);
    }
}

在模板文件中应该是这样的:

<?php foreach($items as $k=>$item): ?>
    <p>this is item <?=$K?>, it's value is <?=$item['value']?></p>
<?php endforeach; ?>

PHP编译安装:configure make make test & make install

PDO作为PHP扩展为PHP访问数据库定义了一个轻量级的一致接口,而PDO_MYSQL扩展则实现了PDO接口,来连接mysql数据库。当然PDO的出现,是为了使PHP能平滑游走在诸多RDBMS中,所以我们只要选择不同的数据库驱动扩展来实现PDO就可以了。
对Apache/Nginx[见此][1]的编译、安装、配置基本掌握。
Linux的管道、strace系统调用、关于log的tail -f 等调试技术的学习
还有一个主要的成长就是写代码的功力:
  • 代码重用

投票落地页涉及多端展现,但处理逻辑大体上是一致的,所以在基本完成pc、h5的controller处理逻辑时,翔哥让我把多端共用的逻辑提炼出来放到ModelPoll_Comm类里。之后再做修改时,真的体会到代码重用的好处和必要性。

  • 数据迁移

投票产品的这次新改版不止前端优化更改,后端的数据库设计、PHP框架都有所变更,并且迁移要保证在用户无感知的情况下完成,所以要明确整个迁移的流程by宇哥,物理迁移、逻辑迁移,开启双写,迁移后,队列缓存数据写入等。

  • PHP架构设计

主要分yaf路由、models、modules、library、data、config几个部分。核心路由功能,在config 中配置,交由yaf完成;modules是应用模块,包括pc、h5、cli、openapi、internal、API等;models与data配合,关于数据的增删查改处理逻辑;library提供应用使用的各种类库。

以上只是就学到的方面做个简短说明,其实还学习到很多,好的坏的嘎嘎,就不说了~

---------- 以下情怀,高能勿入 ----------

首先感谢牛总,给机会,给予支持和理解。感谢翔哥宇哥给予教导。感谢峰哥,感谢宗稳
感谢台网团队,给成长锻炼的机会,(吃了好多顿免费的午餐~~)
热爱coding,但coding不是全部,运营、产品都是非常重要的。一个好的工程师绝不是一个码农,有责任心,擅于沟通,嗯,加油!

起得颇早,乘公交,8点半到公司。
9点开始准备,与jser联调的测试数据~
10点联调
12点去吃午饭,回来坐一会。
14点正式开工,自己调试。
调调歇歇,19点下班,乘公交回学校。
东门买些小吃,回到宿舍。
歇会,9点用室友电脑,玩了一把LOL。
快10点躺床休息下,逗比室友们玩起了成语接龙。
十多分钟后,产生的一个结论是:重庆的语文教育止于小学。hiahia
下床准备一下明天的《系统工程学》考试,没多久困得不行,躺床睡了~~~~