mac常用软件清单

买了mac笔记本有一年多了,从今年10月才开始把它作为工作机,陆陆续续的安装了很多软件,近几天系统性的整理了安装的软件,参考了很多网络意见,比较了很多软件,到最后才悟到,软件终究是为人服务的,一切应该以人为目的,如何更高效、更舒服的在笔记本上工作,才是王道。

1、满足需求为要。记住,选择软件的第一原则,就是满足需求,你有什么样的需求,就安装什么样的软件。不要安装你不可能用到的软件,哪怕那个软件非常非常的有名,用不到的,对你来说,就是累赘,别去安装。

2、简单实用为上。同类软件中有很多,有功能强大的,有简单使用的,如果能够满足需求,尽量选择简单实用的,对你来说,你用不到的功能,就是累赘。

3、精通你经常使用类别的一款软件。使用电脑,用来办公、上网、沟通等,每种不同的类别,有很多软件,选择一款自己合适的,每款软件,有大量的功能,精通自己常用的功能,这里说的精通,是真正的精通:通过快捷键更快速的使用一些常用功能,通过定制化、个性化设置自己常用的设置,甚至通过脚步简化自己重复性的劳动,等等。这里说的软件,包括你使用的操作系统,无论你是windows还是mac,请熟悉它,如何高效的文件管理、如何快速的程序启动切换,这两个问题是使用操作系统高效的关键。你使用过TC管理文件吗,使用过everything、google本地搜索、mac下的spot搜索文件而不是遍历目录点击吗?你使用过mac下alfred启动和切换应用程序而不是鼠标点击吗?同样的,常用的软件,如何借助vim、记事本、Excel高效的处理信息文本,进行大面积替换拼接、去除空行等,你了解列模式吗?一个简单的列表如何快速转化成为sql语句中的in子句?如何高效的在浏览器中新建或关闭tab页,快速定位地址栏,快速使用google搜索而不是先打开google再输入的模式,如何有效的管理书签,等等。

4、使用脚本减少重复性劳动。电脑是人做出来的,它的智能,来自于预先设定的程序。你在电脑中的操作,很多也可以借助脚本或者一些智能工具,来实现自动化。

5、优先选择开源免费产品。我没有道德洁癖,一定不碰盗版,但是在满足需求的前提下,可以优先选择开源免费的产品。

6、不要迷信、迷恋软件。软件终究是软件,对你来说,它应该只是一个工具,仅仅是一个工具,而已。它不能够完全替代你某方面的功能,比如,思维导图不能够替代你好的思考模式,你自己怎么样的思考,才决定了你如何更有效的使用思维导图软件;GTD工具不能够代替你很好的进行时间管理,你自己如何管理你的时间,才决定了你如何更舒服协调的使用GTD工具。甚至这些工具,你不使用它们,用纸和笔,一样能够很好的完成。

本着以上原则,以下是我的mac软件清单:

1、office:ms office/keynote;

2、文本编辑:MacVim,神器,无需多言;WriteRoom,专心写文本,简单实用。

3、浏览器:safari/chrome;

4、视频:mplayerx;

5、图片:Picasa,管理图片,比iphoto简单好用;xee,轻量级看图;

6、音乐:itunes,本地音乐;豆瓣电台,网络听歌;

7、聊天:阿里旺旺、ichat;

8、邮件:outlook,公司邮件;mail:私人gmail管理;

9、笔记:evenote,神器,无需多言;

10、脑图:xmind,跨平台;

11、PDF阅读:skim;

12、电子书籍管理:ehon;

13、应用程序启动切换:alfred,神器;

14、画图:omniGraffle;

15、输入法:qq输入法for mac,Mac下输入法始终没有达到win下的境界,即使有搜狗输入法for mac;

16、翻译:有道词典;

17、终端:iterm2。

dbresp.pl导致Oracle高负载问题

问题提出:

这几天,根据一个老师反映,在进行某个批量操作的时候,系统非常非常忙,程序经常卡死。

现象:

使用top命令一查,发现上千个进程在运行,cpu利用率非常高。

再使用ps –ef | grep –c oracle一统计,有831个关于oracle的进程,这其中,有大量的perl进程:

/opt/oracle/product/10.2.0/db_1/sysman/admin/scripts/db/dbresp.pl

原因:

根据metalink  Doc ID:  764140.1描述:The Response metric is making a timed out then the Agent starts other process to take the Response metric. The process to kill the PID taking the Response metric is failing increasing the process running dbresp.pl。

解决方法:

同样根据根据metalink  Doc ID:  764140.1:

To [...]

使用虚拟机配置路由器

整理实验室用的机器,发现有一些原来的经验文档,所以贴在博客上。

实验室的路由器被某某原因拿走了,我不想配置windows做路由器,所以弄了一个虚拟机来做一个强大的路由器。

1、安装虚拟机,比如smoothwall-express-3.0-i386可以专门用来做路由器的os,非常强大。 2、在虚拟机中安装操作系统,同时设置双网卡; 3、在虚拟机中的配置双网卡: 外网:ip地址202.114.119.36,mac地址为:00:09:6B:C1:47 配置ip地址命令为: $ ifconfig eth1 202.114.119.36 配置mac地址的命令为: $ ifconfig eth1 down $ ifconfig eth1 hw ether 00096BC147 $ ifconfig eth1 up

内网:ip地址为192.168.1.1,同时可以开启dhcp。ok,大告功成!

完全卸载Oracle 9i记事

1.停止Oracle服务 进入服务管理器,“开始-》运行-》services.msc”,停止那些Oracle服务, 他们都具有一个oracle或ora   的前缀。一旦停止了所有的Oracle服务, 我们建议将它们设置为手工启动模式(manual   start   mode)。

2.删除注册表中相关项   1)进入注册表编辑器;    2)、备份Windows   注册表。   启动Registry   Editor   并从菜单中选择   File   |   Export。     3)、用命令   regedt32启动Registry   Editor。找到HKEY_CLASSES_ROOT节点并删除所有以字符串   Oracle、ORA、ORCL开始的键。     4)、找到HKEY_LOCAL_MACHINE/SOFTWARE键并删除   Oracle   和   Apache   Group   键。     5)、删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\odbcinst.ini   下    面的Oracle   ODBC   Driver键。  

[...]

有关SELinux设置错误不能够启动的一个解决方法

造成此次问题的原因: 我用的linux版本是CentOS5.2,在安装Oracle10g的时候,需要关闭SELinux,在修改配置文件/etc/selinux/config过程中,本来应该设置: # SELINUX=enforcing SELINUX=disabled 但是我粗心大意,设置了SELINUXTYPE参数: #SELINUXTYPE=targeted SELINUXTYPE=disabled

问题现象: 重启Centos的时候,提示: unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init!

解决方法: 系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏, 按‘e’键进入编辑,在末尾增加enforcing=0,即: kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0 按‘b’键继续引导,OK顺利前进。

Delphi7 中使用ODAC存取图片

最近很少写技术贴,前几天协助王锋师兄解决了在delphi7中,使用ODAC组件存取图片的问题。事后,他整理了一个经验文档,争得他同意,我贴出来,以备以后查询之用。 说明:ODAC组件我不熟悉,在使用它存取图片的时候,特别注意sql的写法。

ODAC 组件支持 Oracle8 的 BLOB 和 CLOB 数据类型。你可以使用 TOraQuery 组件来获取 LOB 字段的值,BLOB 和 CLOB 数据类型通过 LOB 定位器(指定数据地址) 存储在表列中;实际的 BLOB 和 CLOB 数据存储在独立的表空间中。当存取 LOB 列时,返回的是定位器。要初始化 LOB 定位器,你必须使用 EMPTY_BLOB 或 EMPTY_CLOB Oracle 函数。要返回初始化后的定位器,应在同样的语句中使用 RETURNING 子句。ODAC 写 LOB 数据到 Oracle 且返回初始值字段,需使用:值参数. 对 ODAC 来说,在 LOB 操作中使用 ParamType 属性是非常重要的。如果 ParamType 是 ptInput , ODAC 写数据到服务器,如果 ParamType 是 [...]

Chrome的内存管理

在Windows下,Chrome使用单独进程来运行每一个Tab页和每一个扩展,如果打开网页多了,或者安装插件多了,对于内存吃紧的机器,可以明显感觉到机器速度变慢,甚至到达卡的地步。Chrome有一个任务管理器(Task Manager),使用shift + ESC调出来,如下图:

Chrome任务管理器

使用任务管理器,可以查看Tab页和扩展占用内存的情况,对于一些不常用的但是占用内存大的扩展,可以结束掉其进程,或者在扩展管理器中停用此扩展。 此外,在Chrome的新版本中,加入了一个新的参数”–purge-memory-button” ,当在Chrome的启动命令行加入这个参数后,如下图,Chrome的任务管理器就会出现一个新的Purge memory清理内存按钮,点击这个按钮你会发现某些tab或者是扩展使用的内存数会出现下降。

chrome添加purge memory参数

使用绑定变量和不使用绑定变量操作数据库

以下例子是在delphi中编程实现,数据库为oracle,具体的代码省略了,只说明情况。

1、不使用绑定变量

例子:删除同一张表的两条记录。

sql语句如下:

(1)delete from t_englishscore_score where STUDENTNUM=’200431500123′

and LESSONNAME=’test’ and YEAR=’2005′ and TERM=’上’;

(2)delete from t_englishscore_score where STUDENTNUM=’200431500123′

and LESSONNAME=’毕业设计’ and YEAR=’2007′ and TERM=’下’

此时查询v$sqltext视图(它能够反映oracle 中share pool中的sql解析共享情况):

ADDRESS

HASH_VALUE

SQL_ID

COMMAND_TYPE

PIECE

SQL_TEXT

0000000173D47990

2193311325

1mhba361bqjkx

7

0

delete from t_englishscore_score [...]

关闭Centos的自动更新

昨天跟老板汇报,提到我们的linux服务器每天自动更新,老板大发雷霆,说生产系统不能够这样,非常不安全,一个师兄也提到他原来在移动的时候,服务器更新也是很谨慎的事情。看来我的思维太技术了,不够全面,所以回来就把自动更新关了。

操作记录如下:

[root@jwbdb alpha]# chkconfig –list yum-updatesd

yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@jwbdb alpha]# service yum-updatesd stop

停止 yum-updatesd:                                        [确定]

[root@jwbdb alpha]# service yum-updatesd status

yum-updatesd 已停

[root@jwbdb alpha]# chkconfig –level 35 yum-updatesd off

[root@jwbdb alpha]# chkconfig –list yum-updatesd

yum-updatesd    0:关闭  1:关闭  2:启用  3:关闭  4:启用  5:关闭  6:关闭

[...]

禁用SELinux时配置错误导致Centos不能够启动的一种解决方法

造成此次问题的原因: 我用的linux版本是CentOS5.2,在安装Oracle10g的时候,需要关闭SELinux,在修改配置文件/etc/selinux/config过程中,本来应该设置: # SELINUX=enforcing SELINUX=disabled 但是我粗心大意,设置了SELINUXTYPE参数: #SELINUXTYPE=targeted SELINUXTYPE=disabled

问题现象: 重启Centos的时候,提示: unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init!

解决方法: 系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏,按‘e’键进入编辑,在末尾增加enforcing=0,即: kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0 按‘b’键继续引导,OK顺利前进。