摘要: MySQL单条SQL语句性能评估-基于《High Performance MySQL》第五章Profiling a Single Query很不幸,大部分MySQL指令对于评估一条SQL语句都不是很给力。虽然MySQL在这方面正在努力,不过目前为止,实际最好用的只有这两个命令:SHOW STATUS... 阅读全文
posted @ 2015-06-04 15:00 jan4984 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: frisby是一个nodejs的rest api测试框架。一般来讲,因为nodejs是众所周知的异步编程模式,api以.after()方法一步步走:frisby.create('login') .get('http://httpbin.org/login',{usernmae:xxx,passwo... 阅读全文
posted @ 2015-05-13 16:07 jan4984 阅读(437) 评论(0) 推荐(1) 编辑
摘要: 整体集成架构在企业应用中很常见。这种架构下的小应用,不论是开发、测试还是部署,都能较好完成。但是对于复杂的大型程序,整体集成架构则成为了开发和部署的绊脚石。继续发布基本已经不可能了,开发也被牢牢限制在之前选择的技术框架中。因此对于大型应用,采用微服务架构将其分解为一组服务值得一试。 微服务架构优点多多。一个微服务的源代码很容易被理解,开发部署也不需要对其他模块有什么依赖。另外在一个微服务中应用新技术框架更简单容易。 微服务架构缺点也不是没有。东西一分解以后,一个应用会变成很多零碎,你或许需要一个像PaaS那样高度自动化的平台来管理这些零碎。在开发阶段,你还要考虑如何处理数据碎片化。总的来说,对于需要快速迭代的大型程序,特别是SaaS风格的应用来讲,值得一试。 阅读全文
posted @ 2014-10-10 18:26 jan4984 阅读(1138) 评论(0) 推荐(0) 编辑
摘要: TASKapt_task_create(void *obj, apt_task_msg_pool_t *msg_pool, apr_pool_t *pool)apt_task_destroy(apt_task_t *task)销毁任务及所有子任务apt_task_add(apt_task_t *task, apt_task_t *child_task)加入一个子任务apt_task_start(apt_task_t *task)如果vtable.start存在,则运行之,否则以apt_task_run()为线程入口创建并启动新的线程。apt_task_run()按照vtable.on_pre_ 阅读全文
posted @ 2014-03-18 10:46 jan4984 阅读(1088) 评论(0) 推荐(1) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2014-02-10 17:56 jan4984 阅读(81) 评论(1) 推荐(1) 编辑
摘要: //based on Android2.3 QCom MSM7227A AR6003-v806 source.learning by wifi sta enablingLoad driver:com.android.server.WifiService.setWifiEnabled(true)android.net.wifi.WifiStateTracker.loadDriver()hardware/libhardware_legacy/wifi/wifi.c: wifi_load_driver()start init service "init.svc.wlan_tool" 阅读全文
posted @ 2013-09-18 19:41 jan4984 阅读(339) 评论(0) 推荐(0) 编辑