几个图形化工具

命令行是万能的什么都能搞定,很多时候为了快捷,即便是本地开发也是一直使用命令行、vim等。

在新的工作环境里,年轻程序员非常多,互联网公司的技术和传统系统软件差异很大,很多也比较新潮。还有就是我买了个鼠标。。。

最近觉得MySQLWorkbench比较好用,特别是联合查询的复杂sql。下面顺便介绍一下用着很爽的一些图形化软件:

  • MySQLWorkbench 数据库操作工具,不用每次都手动输入,或者从固定地方粘贴sql语句。很方便的数据导出、表结构字段调整。
  • Trello 项目管理网站:trello.com (手机APP也很好用),worktile也不错
  • Mou for mac 编辑MarkDown实时预览,快速产生富文本的内容。
  • PyCharm虽然有些vim很cool的特性缺少,但作为一个成熟的IDE很多自带功能需要vim配置很多插件才能达到
  • BeyondCompare:使用ftp/ssh等比较、同步本地服务器文件,vimdiff的效果,鼠标一点就同步不同的区域。缺点:有时候刷新比较慢,网络一挂服务器内容就为空了,再同步本地的也不见了。
  • Axure PP Pro: 出原型速度快,直观
  • FoxMail:mutt绝对牛逼,但是面对中文多、Excel多、富文本多、Thread乱的具体情况还是FoxMail对腾讯企业邮箱支持好。
  • Lantern: 代理工具,双击了事,智能切换。原来一直用ssh -D,然后还得手动切换,因为手动维护的autoproxy规则,有时候对子域名有问题。
  • Excel:不要鄙视我,我一直不用这个的,不过一些数据报表的处理还是能省好多事
  • Evernote:这个不用多介绍

还不能接受的GUI工具

  • TortoiseSVN:操作版本这种事,还是命令行更靠谱  svn blame/revert/diff/rebase/merge/log/…

命令行工具:

  • htop:升级版top
  • nethogs: 查看进程带宽实时占用比率

无代理访问google服务

GFW对部分国外网站的过滤是在域名解析环节,可以通过本地解析越过这个环节,实现无代理访问。
之前使用过类似的hosts文件,用一段时间失效了,没有再使用。刚刚碰到一个持续实时更新的地方,在本地也加上了自动更新,比ssh代理快了很多,gmail、搜索等都能稳定工作。
当然也可以使用一些镜像网站使用搜索服务,如:http://www.souguge.com/, 在网上还可以搜索到很多,用起来也很方便。

crontab:
# 每天中午12点自动更新一次
* 12 * * * bash /Users/amoskong/devel/bin/update_hosts.sh 

$ cat update_hosts.sh 
#获取最新hosts文件
wget https://raw.githubusercontent.com/racaljk/hosts/master/hosts -O /tmp/hosts -o /dev/null

# 在文件头部添加更新时间
echo -e "###### `date`n" > /etc/hosts

# 写入原来hosts文件内容
cat /etc/hosts.head.bak >> /etc/hosts

# 将google域名解析内容追加进去
cat /tmp/hosts >> /etc/hosts

设置代理服务器, 辅助API请求调试

为什么设置代理服务器?
  1. 手机设置代理服务器后,所有请求数据包都会经过代理服务器,可以在代理服务器上抓包,查看请求数据包得详情,用于调试
  2. 开发手机APP时候,如果正式环境和测试环境使用不同的域名,就需要编译两个包,来回安装写在太麻烦。可以通过切换域名解析的方式,让正式环境的域名访问测试环境。手机设置代理服务器后,所有请求的域名解析是在代理服务器进行,我们需要在代理服务器上(可以是自己的机器,也可以是共用的测试服务器),把请求域名指向测试环境。
如何修改系统hosts配置,修改域名和IP的映射?
  1. Linux, Mac OSx 通过修改 /etc/hosts文件,添加域名到IP映射
  2. Windows下通过修改 C:WindowsSystem32driversetchosts  (参考:http://jingyan.baidu.com/article/9faa72317903f1473c28cb01.html)
如何设置代理服务?
代理软件:Charlers(包括:代理服务器和监听功能)

启动后自动监听本机8888端口,在Chalers界面也可以查看不同协议的数据报及其详情。

设置手机代理:
在wifi连接里设置“手动”代理,IP为代理服务器地址,端口为代理服务器监听端口

使用BIP代理长期挂IRC

使用BIP [1] 代理挂IRC和以前在远端服务器挂QQ升级是一个模式, 不过不是为了升级, 而是为了保存日志, 特别是在一些全球的频道, 晚上关了IRC可能错过一些有趣的讨论.

以前听说过这个功能, 但是自己没有去配置, 我想着不安全. 而且一致用命令行的irssi, 或者 emacs里的erc, 都很轻便. 今天Fam告诉我, 我们组有一个公用的服务器, 有kerbose个人账号保证安全, 于是配置了一下, 确实很实用又方便.

需要在一台长期运转的服务器上配置BIP服务, 可以参考这里详细的步骤 [2] 或 3. 然后简单配置客户端就可以.

这里说一下我觉得特别的地方:
1) 我们的服务器是公用, 所以不能使用默认7778端口, 可以先用 nc -l xxxx 来做个监听测试, 确保其他人没有使用.
2) on_connect_send 定义的命令是用来验证IRC服务器上的账号, 不同服务器的命令不一样.  “PRIVMSG UserServ login user password”, 也可以是 “PRIVMSG NickServ :IDENTIFY user password”. 这个不同在注册用户的时候就能知道.
3) channel的定义有多种形式
.1 channel { name = “#linaro,#linaro-meeting”; };
.2 channel { name = “#linaro”;  name=”#linaro-meeting”; }; 可以在每个name后边使用其他参数定制单个channel, 比如有个别channel需要密码验证, 也可以定制是否备份日志,等等.
.3 也可以多个channel语句
4) bipmkpw 的使用: 不带任何参数, 根据提示输入自己的密码, 产生一个hash字符串, 需要更新到bip.conf里.
5) 客户端的密码项包含三部分:    username:password:network,  这个用户名是bip.conf顶部定义的用户名, 密码和bipmkpw输入的一致. network是IRC网络名字, 也是在bip.conf里定义的. 客户端还有一个密码是验证昵称的, 不要混淆.
6) 时区问题, log里显示的是服务器的时区, 还没有解决

[1] http://en.wikipedia.org/wiki/BIP
[2] https://wiki.mageia.org/en/QA_procedure:Bip
[3] https://wiki.linaro.org/Resources/HowTo/BIP