涵虚 Back-end Dev Engineer

2017-03-10

  • content {toc}

最近一直在忙着公司的手机小号业务,总结下用到的东西。

这个业务可以说是JS全栈。前端用AngularJS+MySQL(持久化) 后端 NodeJS+express+redis(临时存储)。日志文件用winston。底层的SYS模块使用mocha+chai+sinon做BDD测试。当然这个架构都是老师傅写好的,目前负责测试和部署顺便熟悉代码以便后期接手维护。

期间遇到很多难点,主要是对ES6的新特性缺乏了解,比如,生成器,比如,Promise。

测试是从底层的lua脚本开始:

redis-cli --ldb --eval ./prepare.lua HuaWeiAXB 'cp_cmd' hw 13157204810 13157204812 13157204813 13157204811

使用–ldb 可以在沙箱环境下执行lua脚本,而不会真正写入Redis。

Node后端记录的时间戳精确到毫秒,而Angular模板默认解析的到秒,要想页面上显示毫秒得使用模板过滤器:

<tr ng-repeat="item in searchResult">
    <td></td>
    <td></td>
    <!--<td></td>-->
    <!--<td></td>-->
    <td ng-bind="item.partya"></td>
    <td ng-bind="item.partyb"></td>
    <td ng-bind="item.partyx"></td>
    </tr>

后期为了性能和扩展性上docker集群,rabiitmq。


Comments