無標題文檔

我常用的 Mac 软件

Fenng 搞了台 mbp, 正在折腾 Mac 常用的软件 ,我这里也总结下日常我经常使用的 Mac 软件。PS,如果你机子比较老, 可以看下我几年前的列表

偷懒一下,下面的软件就不逐个做连接了,相信搜索他们的名字就能得到想要的结果。

我选择软件的原则

  1. 尽可能的自动化,并占用资源少
  2. 界面和功能过于复杂的不用。因为通常一个巨型牛逼的软件都会被两三个「简单」软件打倒
  3. 不追求版本号,够用就行,哪怕是几年前的「火星」软件

浏览器

我最常用的浏览器是 Chrome,其实系统自带的 Safari 已经足够好用(支付宝控件什么时候能在 Chrome 下使用呀)。使用 Chrome 的原因是有

  1. 书签能够和其他机子同步
  2. 速度快
  3. 真的是习惯了

Firefox 已经被我沦落为开发工具,除了开发平时不会开启这个「巨无霸」。

编辑器

很开心 Mac 下有对应的 Vim 版本:MacVim,这是我用过的最舒服的 Vim 版本,甚至我觉得比 Windows 下的 gVim 还要舒服。

顺便说一下,MacVim 还在开发中,如果下载官方正式版碰到很多诡异的问题, 可以尝试下我的编译版本

其他的如 Coda 、BBEdit 等都尝试过,但是我的真的是太过于「依赖」Vim 了,所以请不要再向我「推销」其他编辑器了。

还有个就是其实系统自带的「文本编辑」也足够我使用,类似 Windows 下的「记事本」一样。

PS,用 Emacs 的达人,可以 Aquamacs Emacs ,据说这玩意也很靠谱。

看图

因为我用的是 10.6.3 的系统,所以一般看图片仅仅是简单的敲下空格,使用 QuickLook 就可以。

在 Mac 还没有我喜欢的 Windows 下的类似 IrfanView 的软件,不过如果单纯是看图片的话,其实 Xee 其实也凑合。

如果需要批量处理图片,那么我会用 ImageMagick,虽然这是控制台下的工具,但学习掌握它绝对不会浪费你的时间。

下载

电驴在 Mac 下有对应的版本,如果想用类似迅雷的工具,那么还是用 Windows 吧。iGetter 以及 SpeedDownload 都是好的下载工具。两者都是收费软件,但 Google 下还是会有惊喜的。

如果是 FTP 软件,那么 Cyberduck 是第一选择,如果觉得「免费的不靠谱」那么推荐使用 Transmit。需要 BT 下载的,推荐使用 Transmission 。

聊天

QQ 有 Mac 下的版本。其他常用的 IM 可以考虑使用 Adium,支持 Gtalk、MSN 等等。不过个人用了一段时间,还是用回 iChat 了,无他就是因为双方的 Gtalk 用户都用 iChat 能够语音聊天。

如果想用旺旺的话,暂时会悲剧下。如果非用 Mac 不可,那么可以考虑暂时使用 iWangWang 顶下。相信 Mac 版本的阿里旺旺会很快就能出来。

UML & 脑图

我的眼里只有一个软件:OmniGraffle,甚至据说很多人因为这个软件而买 Mac 。它能完成的事情实在是太多了,你要亲自尝试下在能了解它的功能。PS,Omni 公司出品的系列软件都可以尝试下,非常的经典。

还有个选择就是 NovaMind ,不过不知道是不是我人品的问题,当节点一多反映就会很慢。

幻灯片 & 文档编辑

这个没话说,Keynote 就能完成我所有的应用了。Office 套件在 Mac 下的选择太多了,但基本上分成三大类:Apple iWork、Microsoft Office for Mac、NeoOffice/OpenOffice。

开发环境

如果要在 Mac 下开发,那么 XCode 是必须安装的。下载个 iPhone 的 SDK 基本上 gcc、make 等工具都全给你安装好了 -- 谁让 Mac OS X 和 BSD 的渊源那么深呢?

说到 BSD ,相信你很希望能使用类似 ports 的软件包更新、安装环境。MacPorts 是个好的选择,但是它实在是太老了。

如果你想尝鲜,那么 Brew 是个非常好的选择 ,我个人用 Brew 废弃了 MacPorts。

还有比如 Windows 类似 SecureCRT 等的软件功能,通常使用 expect + 终端 就能够搞定。

备份&系统维护

备份通常我用 rsync 和 TimeMachine 组合,其实 Mac 下如果你用 TimeMachine 并记得定时备份的话,数据这快就可以高枕无忧了。

系统维护的软件有一大堆,个人经常使用的是 Onyx、CleanMyMac,其实我并不怎么清理什么「系统垃圾」。

如果悲剧得误删除了数据,那么还可以尝试下 Data Rescue II,它曾经为我挽回了很重要的数据,顺便感谢下。

视频相关

Mac 下的播放器其实是个悲剧,不是因为没有,而因为是像是「全真七子」-- 加起来都打不过 Windows 下的 kmplayer。

目前用着比较舒服的是 MPlayerX、Movist 和 VLC。如果要看高清的话,推荐使用 Plex,用最新的编译版本支持显卡硬解码,温度会降下不少。

如果需要转换视频和音频,那么推荐使用 Any Video Converter Pro、All2MP3、Audio Hijack Pro 等等。

其他工具类

  1. 输入法我现在用 SunPinyin,尝试过 FIT 和 QIM。但因为 FIT 首次启动比较慢,QIM 是收费软件而且和 Chrome 有小的问题
  2. 解压缩软件我用的是 Rucksack,因为它是我在它活动的时候免费得到的
  3. Acorn 和 Pixelmator 都是个非常好的 Photoshop 替代工具,话说 Adobe 的软件在 Mac 都是悲剧
  4. CopyPaste Pro 是 Mac 下的多重剪贴板增强工具,推荐必装
  5. Dropbox 在 Mac 下也有对应的客户端
  6. 想要理财的话,推荐安装 iCompta
  7. KeyCue 能帮你显示当前软件的所有快捷键
  8. 对鼠标的加速度不习惯的话,使用 SteerMouse 调整下看看
  9. Flux 能改变显示器的色温,从而达到保护眼睛的目的,但并不是所有人都喜欢它

各位有什么其他的好软件推荐,欢迎不吝提供。

-- EOF --

Array.prototype 的泛型应用

在开始这篇文章之前,按照「惯例」我们先来道题目( 出处 )。

题目

请说明下面语句的输出:

x = {shift:[].shift};
x.shift();
console.info(x.length);

如果你回答正确,那么说明你已经了解 Array 函数的泛型应用。在理解这到题目之前,我 我们首先要了解数组(Array)的 shift 定义。

MDC 中已经对相关的说明 描述得非常的清楚

shift is intentionally generic; this method can be called or 
applied to objects resembling arrays. Objects which do not 
contain a length property reflecting the last in a series of 
consecutive, zero-based numerical properties may not behave 
in any meaningful manner.

同时,EMCAScript 中的定义也同时定义了对于 shift 操作对于对象 length 属性的改变, 那么基本上我们可以了解到上题中的答案为

0

扩散思维

如果对于上面的题目还无法理解,那么我们更清楚的说明 Array.prototype.shift 对对象 的 length 的影响。

x = {};
Array.prototype.shift.call(x);
console.info(x.length);

很明显,对于对象如果为定义 length 属性,则 shift 则会自动加上 length 属性并设置 为 0

既然已经说到这里,那么下面的题目输出什么留给大家去思考。

x = function (a, b, c) {};
Array.prototype.shift.call(x);
console.info(x.length);

重新认识泛型

很明显,上面的题目有可能还是无法说明本篇文章的题目。泛型(Generic)应用其实 期前也说明过 ,但这里主要说明 Array 方法 对于「类数组」的操作使用。

强制转换为数组

var args = Array.prototype.slice.call(arguments);

这个用法比较火星,其实期前也用过, 详细参见这里

迭代数据

Array.prototype.forEach.call(arguments, function(i) {
    console.info(i);
});

如果对象能够被递归,则出了「传统」的 for、while 等语句以外,还可以考虑使用 Array 的 forEach 属性(注意 IE 会是悲剧)。 Array 的 forEach 方法详见这里

其他的 Array 扩展用法可以散发自己的思维,如果对应浏览器的 Array 没有对应的实现方 法, 可以参见这里

其实,不仅仅是 Array 方法,很多浏览器原生对象的方法都是泛型,我们完全可以利用这 这些特性

  1. 使代码更为的清晰
  2. 使用原生方法,效率更高。

-- EOF --

推荐 VimWiki

作为技术人员,对于知识的管理、沉淀尤其的重要。 我说过我们生活在知识爆炸的年代 ,浮躁的我们往往迷失在浩如烟海的知识中。 Yibie Blog 上的文章 《我什么使用 OneNote》 很有共鸣,在这里分享下我的经验和看法。

需求

知识管理的一条途径就是做笔记。笔记类的软件有很多,这些工具在深度使用以后粘性很大,以后想再转其他同类型的工具,往往成本很大。细想之下,我是个挑剔的人,所以我对此类软件有下面的要求:

  • 快速记录,软件本身要小巧启动快速。当灵感来的时候,空着双手等着软件启动完毕,这很尴尬。
  • 方便记录,关注内容。我是个懒人,我希望关注于内容本身而非排版。
  • 转换、导出方便。我总想自己控制得多些,因此我想以后可以利用本人的技术二次处理这些数据。
  • 快速分享,知识可能不仅仅是你个人的,有时候你总希望分享给其他人。
  • 满足习惯,这是很主观的事情,根据自己的习惯总不想在新东西方面花上更多的心思。

Why VimWiki

https://friable.rocks/_/2010_04_12/1271087021.png

其实对于使用 Vim 的朋友来说,用 Vim 写 Wiki 并不是件新鲜的事情。如标题所说,VimWiki 可能本身并不是非常的强大,但配合各种工具后,你甚至完全可以考虑扩展它的功能。

对比上面的需求,之所以选择 VimWiki 是因为

  • 谁都知道 Vim 启动快,而 VimWiki 只是 Vim 的脚本而已
  • VimWiki 说白了是「个人 Wiki」,因此内容的组织方式完全由你自己而定
  • VimWiki 产出的是文本文件,因此你可以使用任何你熟悉的技术转换成任何格式的输出
  • 再没有比 HTML 文档更能方便分享的了,VimWiki 的输出就是 HTML 文件,你甚至可以利用它创建 Blog
  • 对于我而言,每天使用 Vim,因此 VimWiki 完全满足我的习惯

「在云端」

有关 VimWiki 的安装和配置, 善用佳软已经有很详实的文档 ,这里就不再复述了。这里我说说配合 Dropbox 、rsync 等同步软件打造「云间」的个人记录工具。

https://friable.rocks/_/2010_03_20/1269096655.png

一图胜千言,上面的简图主要说明了我如何同步 VimWiki 。篇幅的关系,有关此技巧的更多信息, 参见这里

@TODO

处于 VimWiki 的高可定制性,个人对于二次开发 VimWiki 有很浓厚的兴趣。我想近期能够为它做的事情

  • 美观的 VimWiki 模板
  • iPod Touch 阅读支持(其实也就是另外个模板) 在这里下载 http://is.gd/bsndw , 而且使用 Syntaxhighlighter 有点大材小用)

最后,其实说到底像 VimWiki 这类的知识管理工具,还是要自己深度去利用。为了避免陷入软件的争论战,先写到这里。

-- EOF --

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。

作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章