上
在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的。(你们不是问 Mac 和爱情有个鸟关系吗?)
从前有一个孩子叫做小明,他不是高帅富,与高大上也毫无瓜葛,只有低调、无聊和内涵。他住在全国房价最贵的城市,租着最贵的单间,写着各种垃圾或垃圾回收的代码,干着程序员这份前途若有若无的职业,一切都朝着注定孤独一生的方向发展着,如果没有变数的话。
终于有一天他的朋友小强为他介绍了另一位朋友,这个朋友不是女朋友,而是一款笔记本,笔记本的名字叫做Macbook Pro。见到 Mac 小明似乎遇到了久违的情人,呆滞的双眼放出绿油油的光芒,他花掉了所有的积蓄购买了这款笔记本,开始没日没夜的学习 iOS 和 OS X 开发的相关知识。
他在写 Java 代码的间隙写 Objective-C,在编译 Java 的同时构建 IPA,在运行完 Web Server 之后运行 iOS 虚拟机。每个清晨和夜晚他都在编程……他与 Mac 相依相偎,他们是最好的朋友。
终于有一天,他掌握了 Mac 的一部分奥秘,他编写出了自己的第一个 iOS App,花了99美元申请了开发者账户,传到了 App Store 上。又过了一段时间,他告诉他的技术主管:我要去远行。于是他去了另一个房价很贵的城市,带着增长了75%的薪资,从此杳无音讯。
两年后,小强去那个城市看望小明,发现小明身边除了升级的视网膜屏 Macbook 之外,还多了一个水灵灵的女朋友,小强和他的女朋友握了握手,发现是真人,小强觉得很欣慰。小明告诉小强,他现在是公司 iOS 开发组的 Team leader,还和女朋友一起买了套小房子,他们准备,从此幸福的生活在一起……
这就是 Mac 和爱情的故事,这是一个真实的故事,故事的主角不是我。我用 Mac 的时候孩子已经两岁了,没有机会去完成这样一个美丽的爱情故事,是我毕生的遗憾。
今天的文章到此结束。
喂喂,说好的十个 Mac 工具呢?好吧,没看到这只是上吗?
再回答一个问题:问:是不是买了 Mac 就会变得很有钱?
答:错,这当然是个伪命题,真实的情况是:
1、Mac 本来就比其他品牌的笔记本贵不少,一般情况下有钱人才会买。
2、不是有钱人的,买了 Mac 天天抱着看各种动作片和爱情片,一样无法改变注孤生的命运。
下
以前在 Mac 指引系列里写过一个工具列表,主要是面向普通 Mac 用户的,完整文章已经收录到纸版《MacTalk·人生元编程》中。今天的文章主要是面向程序员的,有重合,但侧重点不同。
大部分用户第一次使用 Mac 都会有个短暂的情绪反转。打开包装后马上为 Mac 精美的硬件工艺击节赞叹,进入OS X 之后随即陷入一种蛋蛋的忧伤,因为,用了十几年的开始菜单不见袅!妈妈开始菜单不见袅肿么办?这时候需要的是:淡定和冷静!
要清楚的认识到,我们寻找的不是开始按钮,而是程序入口,任何一个操作系统,用户要做的事情并不是找到开始菜单,而是找到程序,然后打开它们完成自己的工作。在 Mac 里,完成这个职责的最佳角色不是 Dock,而是 Alfred。所以我的建议是,任何用户进入 OS X 之后,第一步就是去 App Store 下载 Alfred。普通用户使用免费版就够了,开发人员可以购买 Powerpack,物超所值。
(一)Alfred 是 Mac 平台上最为传奇的效率工具,用一篇长文来介绍都不为过,幸好 Mac 君在之前已经写过了,回复「alfred」阅读。
Mac 对原生 Shell 的支持是无数程序员喜爱 Mac 的理由之一,程序员用 Mac 而不用 Shell,基本等于自断一臂,威力将大打折扣。Shell 并非凭空而来,它的入口是终端工具。OS X自带的终端工具虽然不错,但是和 iTerm 2一比,就逊色很多了。
(二)iTerm2 是 OS X 下一款开源免费的的终端工具,我基本用它替代了原生的 Terminal。网址:http://www.iterm2.com
一些基本功能如下:
1、分窗口操作:shift+command+d(横向)command+d(竖向)
2、查找和粘贴:command+f,呼出查找功能,tab 键选中找到的文本,option+enter 粘贴
3、自动完成:command+; 根据上下文呼出自动完成窗口,上下键选择
4、粘贴历史:shift+command+h5、回放功能:option+command+b
6、全屏:command+enter
7、光标去哪了?command+/
8、Expose Tabs:Option+Command+E
功能还有很多,多用多体会。
另外,很多朋友说自己的终端一直是黑白的,如何换成彩电?在用户目录的.profile里加上这两行即可:export CLICOLOR=1export LSCOLORS=gxfxcxdxbxegedabagacad
(三)有了优秀的终端,我们终于可以使用 Shell 了。不过,万里长征才开始了第一步,Shell 也是分门派的,我推荐给大家的是:终极 Shell——ZSH。
(四)文本编辑器同样是程序员最喜爱的开发工具之一,我个人偏爱 Vim。Vim号称编辑器之神,可以脱离鼠标全键盘操作,良好的插件体系几乎适配各类编程语言,使用起来充满推背的速度感,如果你是个赛车迷,你会喜欢上这款软件的。
推荐阅读 Vim 系列。
其他可选工具:Emacs、TextMate、Sublime Text等。
(五)IDE 是图形化的集成开发工具,具备精准的词法分析、编程提示、调试等功能,功能之繁复用户自知,如果做工业级编程和团队协作的话,推荐使用 IDE。
在这里给大家推荐如下几个工具:
1、Xcode,Mac 上优秀的集成开发工具,几乎所有的 Mac App 和 iOS App 都由此而生,免费软件。无论你是 写 Java 的还是写 Python,用了 Mac 一定要安装 Xcode,为什么?我准备写一篇「更有效率的 XCode」说一下这个事情,当然,这样的内容没那么干,如果各位不同意就算了。
2、JetBrains 系列,产品线丰富,几乎都是精品,Java、Python、Ruby、Php、Objective-C、Web 等一应俱全,收费,还挺贵。
3、Eclipse 系列,通过插件方式几乎支持所有的常用编程语言,免费。
(六)Homebrew 是 OS X 的包管理工具,Ruby 社区的作品,功能类似 Ubuntu 下的apt-get。使用 Homebrew 可以非常容易的安装 OS X 中没有包含的 Unix 工具包和语言包,比如 wget,node,lua,rabbitmq,nginx 等。当然,我们得首先安装 Homebrew,安装脚本如下:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
一段类似黑客帝国里的脚本过去之后,Homebrew 就装好了。尝试一下安装命令行下载工具 wget:brew install wget一段类似黑客帝国里的脚本过去之后,wget 就装好了。
那有没有工具可以用类似的方式安装Chrome 浏览器、离线迅雷、虾米、QQ 呢?答案是肯定的,程序员无所不能,他们开发了Homebrew-Cask用来一键安装应用软件,有了 Cask,再也不用手动下载软件包 DMG,打开,拖进应用程序文件夹了,一切都可以交给程序去做。
安装 Cast:brew tap phinze/homebrew-cask && brew install brew-cask
用法:brew cask search 列出所有可以被安装的软件brew cask search xx 查找所有和 xx 相关的应用brew cask info xx 查看xx应用的信息brew cask uninstall xx 卸载 xx
尝试一下吧。
(七)Git 是一款分布式版本控制和软件配置管理软件,类似 SVN 和 CVS,是 Linus 的第二个惊世之作。关于 Linus 和 Git 的故事,我们会在 Linus 系列里描述,这里就不细聊了。
Git 是目前主流的版本管理工具,基于 Git 构建的 Github 网站则是这个星球上最大的开源集散地。还在使用 SVN 和 CVS 的童靴,该换换脑筋了。
回复「git」,你将获得一份Git 简明教程。
图形化的 Git 工具推荐:GitHub、SourceTree。
(八)对于程序员来说,文件比较也属必备工具,OS X 中提供了原生的比较工具 FileMerge,不过这个工具对非 ASCII 内容的文件支持非常不好,推荐 VisualDiffer。VisualDiffer 支持文件和文件夹比较、文件过滤、多重比较模式、颜色标注等,操作简单,响应迅速,实乃程序员居家旅行之必备工具。收费软件,可以直接从 AppStore 下载。
另外,习惯命令行操作的朋友,直接使用 diff 和 vimdiff,也是不错的选择。
(九)xScope 是一款强大的辅助设计工具,可以精确度量屏幕上的 UI 元素,尤其适合全栈工程师。xScope 可以方便的取得屏幕上任意位置的颜色,可以动态智能监测元素边界并显示距离,可以针对移动设备和各种浏览器设定屏幕尺寸,可以设定屏幕辅助线,放大屏幕等。如果你不想事事求人,xScope是个不错的选择。收费软件。
(十)Pixelmator 号称 Mac 上的精简版 PhotoShop,设计更为人性化,适合非专业人士使用,不是平面设计人员也可以作出非常专业的图像设计。像我这样的老程序员,也开始时不时设计个物件,让团队里的美工 MM 为之侧目。收费软件。
推荐一个Podcast视频教程:http://www.pixelmator.com/tutorials/itunes/
有了这些武器,你将如猛虎加之羽翼而翱翔四海,到时候再说英雄谁是英雄……
相关推荐
在写Mac程序员的十个武器之前,我决定先讲一个故事,关于Mac和爱情的。(你们不是问Mac和爱情有个鸟关系吗?)从前有一个孩子叫做小明,他不是高帅富,与高大上也毫无瓜葛,只有低调、无聊和内涵。他住在全国房价最贵的...
除此之外,Snipaste的兼容性极强,它不仅支持Windows操作系统,还兼容Mac平台,使得跨平台工作的用户也能无缝切换。其简洁的设计理念,使得无论新手还是经验丰富的用户都能快速上手,减少学习成本。 在安全性和隐私...
它以其简洁的界面、丰富的功能和对Markdown语法的强大支持,深受程序员、作家、学生和博客作者的喜爱。 Markdown是一种轻量级的标记语言,通过简单的符号来排版文本,使得内容可以同时保持易读性和易编写性。MWeb...
NetLogo还提供了一种基于Logo编程语言的简单编程环境,使得非程序员也能快速学习编程。 NetLogo 6.2.0 版本带来了许多改进和新特性。例如,更新的模型库包含了许多示例模型,帮助用户理解如何使用NetLogo构建复杂...
在逆向工程领域,这样的工具是程序员、安全研究人员和软件调试者的重要武器。 首先,我们要了解什么是逆向工程。逆向工程是指通过分析软件的可执行代码来推断其功能和工作流程,这通常用于漏洞发现、软件调试、代码...
《Source Insight宏:提升编程效率的秘密武器》 Source Insight是一款广受程序员喜爱的源代码查看和编辑工具,尤其在C/C++、Java等语言的开发中,它的智能高亮、快速跳转等功能使得代码阅读和调试更为便捷。而...
它支持多种操作系统和开发环境,无论是Windows、Mac还是Linux,都能顺畅使用。配合代码编辑器如Visual Studio Code、Sublime Text或Atom,可以提供一致且优质的编码体验。 在压缩包文件中,"yaheimo.ttf"是Yahei ...
Java的跨平台特性使得Terasology可以在各种操作系统上运行,包括Windows、Mac OS X和Linux。 2. **游戏引擎与模块化设计**:Terasology采用了模块化的设计理念,允许开发者创建并插入不同的游戏机制模块,如生存、...
Haskell的一个显著优势是它的强静态类型系统,这要求程序员在编译时明确地声明变量及其类型。这有助于提前发现潜在的错误,从而提高了代码的可靠性和维护性。Haskell的模块化设计也意味着它的应用程序是由一系列的...
在计算机科学的世界里,算法如同武器库中的剑,程序员的智慧和技艺往往体现在如何巧妙地运用这些算法来解决复杂问题。"Algorithm-tbox.zip"是一个专为多平台设计的C语言库,它的目标是提供类似于GLib的高效工具,...
《SourceInsight助手1.0:提升代码编辑效率的秘密武器》 SourceInsight是一款深受程序员喜爱的源代码查看和编辑工具,它以其强大的代码导航、语法高亮和实时分析功能,为开发者带来了极大的便利。而"sourceinsight_...
成功时升级,失败时失去 HP,赚钱购买武器和盔甲。 我们需要更多的程序员! 您的帮助将不胜感激。 有关所用技术和软件组织方式的介绍,请参阅 - “Coders (Web & Mobile)”部分。 要设置 HabitRPG 的本地安装以进行...
"quake3源码"指的是id Software在2005年开放源代码的Quake 3引擎,这是一次对游戏开发社区的重大贡献,允许开发者、程序员和爱好者深入研究其内部机制,学习游戏引擎设计,并在此基础上创建新的游戏或mod。...
Perl是一种强大的、灵活的脚本语言,常用于文本处理、系统管理、网络编程以及Web开发等领域。Perl由Larry Wall在1987年创建,它的全称是"Practical Extraction and Reporting Language",即“实用提取和报告语言”。...
实时操作系统强调快速响应,常用于武器控制、自动驾驶等;网络操作系统如UNIX、Linux和Windows Server,提供网络资源和服务;分布式操作系统是由多个独立计算机组成,无主次之分,协同工作;微机操作系统如Windows、...
1. **实体系统**:CEL定义了一种实体-组件模型,允许开发者组合不同的组件来构建游戏对象,如角色、武器、道具等。每个实体都可以拥有多个组件,如运动控制、碰撞检测、动画控制等。 2. **脚本支持**:CEL支持与...
2. **直观的界面**:其用户界面设计得非常直观,允许开发者通过拖放方式来布置游戏场景,设置触发事件,创建和管理角色对话,降低了编程门槛,让非程序员也能快速上手。 3. **事件系统**:这个工具的一大亮点在于其...
〞 乔布斯多年来持续不断地改善Mac笔记本依赖的可能是行业分析,但是他发行的iPod、i Phone和iPad靠的不是数据,而是直觉,第六感。 谷歌公司部的研究说明工作表现与大学毕业时的平均绩点没有关系,但其创始人依然要...
总的来说,Cocos2dx-win8-Cocos2dx-2.1.0-wp8-2.0-alpha是为Windows Phone 8平台量身定制的游戏开发工具,它简化了游戏开发流程,降低了跨平台移植的难度,是开发者构建2D游戏的强大武器。对于熟悉C++和Cocos2d-x的...