换笔记本的想法很久了,前段时间换工作就想看换工作之后是什么情况吧。可能工作配的笔记本就是MBP。后来发现是想多了,新工作的笔记本是Thinkpad X240, 配置完全够用了,8G内存+128G的FLASH。美中不足是需要外接显示器,否则用那个12寸屏编码太费眼了,而且一屏也没有多少行代码。

自己在家里有个可心的笔记本还是很重要的。在获得了某个女士的强力支持后,于7月13号下午在AppStore在线订购了一台,上限就是2w,感觉过了这个数对不起那么多银子似的。

赞一下官网的送货效率,7月15号上午就送到了,也得赞一下顺丰。晒一下配置:

15.4 英寸的处理器  2.3 GHz Intel Core i7, 内存 16G DDR3, 固态硬盘 512G

如果说这个笔记本有哪儿不太好,就是有些重,算是我用过的最终的笔记本,但是考虑到其他方面的极致,也不算是缺点了,尤其是我还喜欢金属机身的质感。

回归整体,简单说一下我的环境搭建。

1. 使用VMWare Fusion来搭建Win7虚拟机

实际上,MAC是有Windows机器迁移到MAC的助手,就叫迁移助理,据说是可以将已有PC的数据,应用和设置迁移到MAC的虚拟机。这个需要在被迁移的机器上装一个类似于Agent的东西。我尝试过但是失败了。说是无法启动共享,而且加上我原来的笔记本装的东西大部分用不到了,因此放弃了这个想法。而且使用WI-FI链接的话,速度这的很够呛,毕竟一台笔记本要迁移的数据怎么也是100G左右吧(Win7系统自己的系统文件都是20G+)。迁移助手推荐使用网线直连,但是我还没有买网线的转接头(MAC的东西除了USB口,其他的都要转接头,强大到强盗啊)。

我具体使用的是使用VMWare的Fusion来安装Win7的虚拟机。装完之后发现Win7和MAC的切换简直快到发人类啊,完全是两个普通进程的切换嘛!

在Win7装上Office 2013,用的很爽。而且Win7的启动可以在秒级,真的难以想象。而且,本身MAC也是可以直接使用虚拟机的软件的,比如你打开一个zip可以直接使用虚拟机里装的解压软件(我只是举个例子,你不要用使用shell 的unzip来反驳我)。

当然了如果你不是VMWare的老用户,你完全有其他的选择。比如选择系统自带的BootCamp来安装Win7或者Win8。或者使用另外一款强大的虚拟机软件Parallels Desktop。如果你不想自己去找什么破解版,那你可以使用一根冰棍的钱来求助某宝。

选择的MAC用户应该算是幸福吧,一个简单的虚拟机省去了你要装双系统的烦恼。

2. IntelliJ IDEA

我买笔记本的动机就是为了更好的学习Spark,因此搭建Spark的学习环境也是我的必需了。这个来说还是挺简单的,比如安装JDK,直接只用百度搜索直接在网页下载安装即可,环境变量什么都设置好了。还有安装Scala也是,我不知道是否有Scala的安装包,解压后设置好了环境变量$SCALA_HOME=/scala所在目录,并且把$SCALA_HOME/bin加到PATH中。
IDEA有两个版本,一个是商业发行版,一个是开源社区版。我使用的是商业发行版。其实什么区别我没有研究过。IDEA需要装Scala的插件,使用IDEA的plugin manager非常容易可以在线安装。如果失败,那可以下载离线安装包后解压到IDEA安装目录的plugin目录下,重启IDEA即可。插件安装成功的话在新建project就可以看到Scala的图标了。
总体来说,没有什么困难的,困难的可以就是下载这些安装包吧。

3. 后感

MBP使用用过的最好用的笔记本。性价比来说,相比于iPhone,这个性价比还是很高的。其实这个配置的笔记本,即使Thinkpad的价格,也是没有太大的优势。
你直到系统启动要多久吗?几秒钟。而且系统后所有的东西都已经ready,不像Windows还不要等系统完全启动。
电池能用多长时间?如果不使用虚拟机,8个小时肯定没有问题。如果使用虚拟机,对不起,他们太耗电了,还是接上电源吧。

对于一个程序员,你可以不用iPhone,我认为拥有一个MBP是必需的。你可能平时的开发环境在远程主机,但是你需要收发邮件,需要写文档,需要做PPT,那么,用MBP,可以使你有一个很爽的心情,很高的效率。
当然了,一切不给员工配MBP的公司,都是耍流氓!

ps:
1. 为什么要选择mac: http://www.vpsee.com/2010/05/re-tl-why-choose-a-mac/
2.  http://www.vpsee.com/2009/06/why-programmers-love-mac/

每个程序员都应该用MBP的更多相关文章

  1. 关于Unicode,字符集,字符编码,每个程序员都应该知道的事

    关于Unicode,字符集,字符编码,每个程序员都应该知道的事 作者:Jack47 李笑来的文章如何判断一个人是否聪明?中提到: 必要.清晰.且准确的概念,是一切思考的基石.所谓思考,很大程度上,就是 ...

  2. 【Mood-10】每个程序员都应该读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  3. 最好的程序员都是行动派(成功者不是那些明知赚钱之法还要推三阻四的人。成功者知道轻重缓急,善于把握今天) good

    我相信,所有程序员都需要在下面两点之间找到一个良好的平衡: 1.把自己关在一间私密的办公室里,针对你的程序与编译器展开一次亲密对话. 2.出入公众场合,与其他人公开谈论你的程序. 关于这个话题,我已经 ...

  4. StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  5. 每个程序员都应该学习使用Python或Ruby

    每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java.还会一些VB,或C#/.NET.多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaSc ...

  6. 为什么说程序员都应该玩一玩GitHub

    既熟悉又陌生的GitHub 关于GitHub,相信每一个程序员都再熟悉不过了.它为开发者提供Git仓库的托管服务,是全世界最大的代码集中地,被戏称为“全球最大同性交友网站”. 但是对于很大一部分程序员 ...

  7. Java后端程序员都做些什么?

    这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库, ...

  8. 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?

    1.网上流传华为公司正在清理 34 岁以上的员工. " 中国区开始集中清理 34 + 的交付员工,...... 去向是跟海外服务部门交换今年新毕业的校招员工,也就是进新人,出旧人. 这些旧人 ...

  9. 为什么二流程序员都喜欢黑php?

    为什么二流程序员都喜欢黑php? 为什么程序员都喜欢黑php?这个嘛!你骂一句php是垃圾试试,保准php程序员不揍扁你!这就好像自己的母校,纵然有很多不好的地方,但是只允许自己调侃,不允许外人骂半句 ...

随机推荐

  1. 例10-6 uva1635(唯一分解定理)

    题意:给定n个数a1,a2····an,依次求出相邻两个数值和,将得到一个新数列,重复上述操作,最后结果将变为一个数,问这个数除以m的余数与那些数无关? 思路:最后观察期规律符合杨辉三角,那么,问题就 ...

  2. VB6工程在Win10系统打开提示MSCOMCTL.OCX无法加载

    解决办法: 修改.vbp文件中的 00F8754DA1}#2.1#0; MSCOMCTL.OCX 改为 00F8754DA1}#2.0#0; MSCOMCTL.OCX 中间的2.1 改为 2.0

  3. Centos7发送邮件

    Centos7发送邮件 $ yum -y install mailx sendmail $ vim /etc/mail.rc set from=xxxxxx@.com set smtp=smtp..c ...

  4. python flask 基础入门

    1. Flask 中的Hello World! 在使用pycharm创建一个Flask项目后,将会默认创建一个flask的app,这里来讲下每行代码表示的意义,代码入下 from flask impo ...

  5. SQL Server 2008作业失败无法确定所有者是否有服务器访问权限

    调用作业---错误提示内容 该作业失败. 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原 ...

  6. Kafka(转载)

    Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...

  7. 反射实现java深度克隆

    一.克隆 有时想得到对象的一个复制品,该复制品的实体是原对象实体的克隆.复制品实体的变化不会引起原对象实体发生变化,这样的复制品称为原对象实体的克隆对象或简称克隆. 1.浅复制(浅克隆) 概念:被复制 ...

  8. python笔记七(递归函数)

    在介绍递归函数之前,我们先介绍以下递归函数的使用有以下特征: 1.递归函数就是函数在函数体内部调用本身 2.递归函数的运算规模要不断减小,这样才是可以运算的 3.递归的层数不要超过999,因为函数调用 ...

  9. Clojure新手入门

    官方网站 clojure.org 环境安装 Java(JDK) Leiningen 编辑工具 Eclipse插件 -- Counterclockwise IntelliJ插件 -- Cursive E ...

  10. HTML DOM 改变 HTML 内容

    HTML DOM 允许 JavaScript 改变 HTML 元素的内容. 改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容: 今天的日期是: Thu Feb 25 201 ...