2016-09-08 W.Y.
当你发现代码中的某些注释完全无用时你会怎么办? 我们经常会犯一个错误:当我们更新代码时,却忘记更新相应的注释。不友好的注释并不会影响代码的执行,但使我们的调试和阅读带来极大困扰,注释描述的是一种逻辑,而代码确是另外一种,结果会浪费我们大量时间来搞懂这段代码的意思,更糟糕的是这样的注释很可能误导我们。 这并不是说注释完全没有必要,优秀的代码有具有相应优秀的注释。我们可以利用某些编程技术来减少我们的注释,使我们的代码更加自解释。这不仅仅使我们的代码更加容易理解,还有助于改善项目的整体设计。 这样的代码通常被称为自解释的代码,下面我将介绍一些编写自解释代码的方法。 more 概览 一些程序猿将注释也作为自解释代码的一部分,注释很 继续阅读 »
2016-02-04 ruki
TBOX的内存分配在调试模式下,可以检测支持内存泄露和越界,而且还能精确定位到出问题的那块内存具体分配位置,和函数调用堆栈。 内存泄露检测 内存泄露的检测必须在程序退出的前一刻,调用tb_exit()的时候,才会执行,如果有泄露,会有详细输出到终端上。 c tb_void_t tb_demo_leak() { tb_pointer_t data = tb_malloc0(10); } 输出: [tbox]: [error]: leak: 0x7f9d5b058908 at tb_static_fixed_pool_dump(): 735, memory/impl/stat 继续阅读 »
2016-09-19 Jamling
使用海马玩模拟器来调试Android还是挺方便的。最近因为真机连接不稳定,又想到了海马玩,不知道怎么回事,竟然运行不了模拟器了,只好下载了一个新版本,然后重新安装。安装完毕之后,竟然找不到devices。我记得,以前可是好好的呢。搜索了一下。说是要手动连接 bash adb connect 127.0.0.1:53001 可是,出现了unable to connect错误。后来在官方论坛里找到了原因。原来是自从0.8.5版本之后,海马玩的adb端口不是固定的。我下载的是新版本(0.10.5),当然连接不上了。官方论坛帖子中有说明需要下载修改器修改。存放在网盘上的文件,下载还要注册。懒得搞。因为海马玩经常在待机时无响应,所以对它的 继续阅读 »
2016-04-23 Wenjie Yao
  最近由于TW技术雷达(Tech Radar)的机缘,同事向我们介绍了一个用于浏览器同步测试的工具 --- Browsersync,使用之后,发现它着实简单,而且十分炫酷。更重要的一点是,Browsersync可以同时在PC、平板、手机等设备下进项UI调试,换句话说,你在其中一个浏览器上的操作会同步到多个设备的多个浏览器上。 继续阅读 »
2016-10-29 Meng Lei
Node.js代理服务器 出于信息安全的需求,很多公司对于员工电脑访问外网都会有很多特别的限制,比如某国内大型上市IT解决方案供应商,所有的员工电脑必须通过某个指定的HTTP代理服务器访问互联网资源,并且还要进行用户名密码的验证,导致很多无法设置代理服务器的软件以及仅支持socks5代理的软件都无法使用,甚至想要在调试应用的时候调用一些第三方api都需要做很多特殊设置。 比如正常的Node.js在做HTTP请求的时候,代码如下: var http = require('http'); var opt = { host: 'api.example.com', //要访问的服务器地址或者域名 port: 808 继续阅读 »
2014-06-22 码农明明桑
鄙人程序猿一枚,Android开发,常年使用Ubuntu(主要是买不起Mac,O(∩_∩)O哈哈~)。分享一下自己使用的那些软件,如果你有什么好的软件。欢迎与我交流。 输入法:开始的时候是用的fcitx,后来搜狗出了linux版本,选择之。下载链接 办公软件:WPS Linux,真心很好用,比libreOffice好用不止一点.下载链接 注意:下载alpah版本. more 浏览器:chrome 和 FireFox,不解释,一个浏览器不够用的。这两个,开发调试都够了。关于支付宝的话,可以安装支付宝官方给的一个脚本就可以了。 邮件客户端: ThunderBird Mail 火狐家的,算比较好用的了。 笔记:为知笔记 ,为知 继续阅读 »
2016-05-14 Jamling
简介 使用ADB连接手机进行调试,开发、文件传输 使用adb文件传输优点:无需卸载或挂载SD卡 more 官方指南 请访问http://developer.android.com/tools/device.html配置你的设备,也可以下载驱动 继续阅读 »
2014-03-22 码农明明桑
Android中提供一种简单的Toast消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不能被用户点击,Toast的提示信息根据用户设置的显示时间后自动消失。Toast的提示信息可以在调试程序的时候方便的显示某些想显示的东西,或者给用户提供友好的界面显示效果。 有两种方式去创建并且显示Toast: more Toast.makeText(Context context, int resId, int duration) Toast.makeText(Context context, CharSequence text, int duration) Context为上下文, 继续阅读 »
2014-08-20 Xie Jingyi
最近在做一个项目,其中有一段判断一个Extended浮点数是否为整数的代码。我用如下方式实现: pascal function IsInt(F: Extended): Boolean; begin result := Trunc(F)-F = 0; //整数部分等于自身 end; 测试了许多样例都过了,唯独这个没过: pascal IsInt(4.000000002*1000000000); //False 调试时发现: Trunc(F)居然等于4000000001!开始以为是精度的问题,找了许多资料也没能解决。后来将Extended换成了Double,就通过了。百思不得其解中。 继续阅读 »
2015-09-10 veryyoung
日志记录在程序开发中是很重要的一个环节,日志在开发、调试、问题定位、问题分析中都起着很重要的作用。 Java生态圈提供了很多日志工具供开发者选择。 more 先明确下另个概念: 日志系统:日志系统是日志的具体实现。Java日志系统比较丰富,常用的有Log4j、java.util.Logging、Logback。 日志框架:为了解决多个日志系统的兼容问题,日志框架应运而生。主流的日志框架有commons-logging和SLF4J。 继续阅读 »