魔兽争霸有个自己买技能的图 每最强nba出八级技能可以学习一次 100级自动掉专属

&img src=&/v2-faa56dd770f141b1b4830a_b.png& data-rawwidth=&900& data-rawheight=&629& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&/v2-faa56dd770f141b1b4830a_r.png&&&p&&b&&i&&b&蚂蚁,我抢了2年的打工度假签证,都没成功,&/b&&/i&&/b&&b&&i&&b&还有别的方法可以“间隔年”吗?&/b&&/i&&/b&&/p&&br&&p&连续收到2个小伙伴提出类似的询问,我想,在打工度假签证(Working holiday visa)日渐火爆的现在,抢不到名额这件事一定困扰着许多人,比起新西兰的1000个名额,尽管澳洲豪气地准了咱们每年5000个名额,依然解决不了僧多粥少的问题。&/p&&p&&b&如果你对这个世界充满好奇,不仅仅只是想要逃离现有的窘境,敢于探索,渴望经历,但又无奈囊中羞涩&/b&,那么,蚂蚁很乐意为你介绍几种低成本体验世界的方式,&b&毕竟“间隔年”的意义不仅仅是旅行,遇更多的人,走更多的路,体验更多都只是为了成全更完整的你。&/b&&/p&&p&言归正传,以下几种方式是我目前知道的较为可行的,也欢迎大家留言交流。&/p&&br&&h2&一、换宿(Work for accommodation)&/h2&&br&&p&? 安全指数:????&/p&&p&
经济成本:一年几十美金的会员费;&/p&&p&? 时间成本:自行协商,几天、几周到几个月都可以,;&/p&&p&
申请者要求:无特殊要求;&/p&&p&
适用国家:主要在澳大利亚和新西兰;&/p&&p&
申请方式:官网上申请,较为主流的网站有2个,一个是Helpx( &a href=&/?target=https%3A//www.helpx.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&free volunteer work exchange abroad Australia New Zealand Canada Europe&i class=&icon-external&&&/i&&/a&),一个是WWOOF(&a href=&/?target=http%3A//wwoof.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&WWOOF&i class=&icon-external&&&/i&&/a&)&/p&&p&
弊端:不提供签证,可体验的时长取决于你所持签证的时长。&/p&&p&&br&“换宿”简而言之就是通过为host提供合理的劳动,来换取免费的住宿和餐食。这种交易不允许涉及金钱,所以不存在收益和打税之说。在很多西方国家十分流行,特别是新西兰和澳大利亚。&/p&&img src=&/v2-faa56dd770f141b1b4830a_b.png& data-rawwidth=&900& data-rawheight=&629& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&/v2-faa56dd770f141b1b4830a_r.png&&&p&“换宿”发源于农场和果园,这种季节性的工种在某些时间段急需人手,所以他们创造出这样的形式来解决劳动缺口。即便是现在,农场主依然是为换宿提供机会的主力军。后来这种互利互惠的方式扩广到了平常家庭,所以工作类型也丰富起来。具体的工作内容需要申请者自己与host协商。我体验过的工作内容包括:农场的清理、饲养、修剪花园、照顾小孩、教授中文、随同翻译、打扫卫生等。&/p&&p&在新西兰,通常情况下申请者为hos每天t工作2小时,换取免费的住宿,其余时间自行安排,或者每天工作4小时换取免费的食宿,一般是提供一日三餐。但是这些都属于不成文的默契,具体规则请记得前期与host的沟通中达成一致。&/p&&img src=&/v2-90477d83aef8f528d4f20ea05ff0c3b1_b.png& data-rawwidth=&1240& data-rawheight=&729& class=&origin_image zh-lightbox-thumb& width=&1240& data-original=&/v2-90477d83aef8f528d4f20ea05ff0c3b1_r.png&&&p&关于安全问题,从本质上,“换宿”与Airbnb的性质差不多,都让参与者双方通过在网站上的留言、评价来建立自己的信誉体系,如果你能接受airbnb的理念和安全度,那么换宿也是可以的,况且新西兰整体来说是一个安全系数较高的国家。考虑到“安全第一”的原则,我有几点&b&小建议:&/b&&/p&&p&1、尽量选择个人信息完整、评价较高的host;&/p&&p&2、如果host是单身男士,女孩子最好不要一个人申请;&/p&&p&3、如果要去农场或者果园,有些地方是没有网络的,请提前告诉信赖的朋友你的地址;&/p&&p&4、但凡发现不对劲,立即直接走人。(请查阅&a href=&/?target=http%3A//mp./s%3F__biz%3DMzA3MzkzODI0Mg%3D%3D%26mid%3D%26idx%3D1%26sn%3D193fc36fe50b77ae70446e%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&第一次农场换宿(下)&i class=&icon-external&&&/i&&/a&,有类似的经历)&/p&&p&“换宿”的根本意义在于体验,做一些你平时不大有机会尝试的事情,它不是工作,不会给你带来直接的经济收益,你还需要自行支付往返机票和其他相关开销。&b&它也可以是一种低成本深度旅游的方式&/b&,规划好自己的行程,申请多个换宿机会,并以换宿地点为中心游览周边,毕竟一天工作4小时,你还有一大半的时间可以挥霍,这样就节省了食宿的开销。&/p&&br&&h2&二、做义工(To be a volunteer)&/h2&&br&&p&? 安全指数:???&/p&&p&
经济成本:个人基本开销;&/p&&p&? 时间成本:自行协商;&/p&&p&
申请者要求:无特殊要求;&/p&&p&
适用国家:世界各地;&/p&&p&
申请方式:通常在提供义工职位的官方渠道申请;&/p&&p&
弊端:需要一定的经济基础;&/p&&br&&img src=&/v2-fe16ab8e57bcd18e6c503ed10afc7513_b.png& data-rawwidth=&1346& data-rawheight=&754& class=&origin_image zh-lightbox-thumb& width=&1346& data-original=&/v2-fe16ab8e57bcd18e6c503ed10afc7513_r.png&&&p&在豆瓣上有很多小组经常会发义工招聘的信息,像丽江大理很多客栈都是需要招聘义工的,有些时候他们也为义工提供住宿,但这不是必须的。既然是“义务劳动”,也就是通常情况下项目涉及到的签证、交通、住宿、餐饮等费用都需要自己承担。&/p&&p&境内有很多支教的组织,很有意义,境外也有一些有意思的活动,比如去澳洲保护珊瑚礁、去中美洲及加勒比海地区保护海龟、到非洲记录野生动物的生活状况、去秘鲁考古了解印加文化…听起来就很酷炫对不对?&/p&&p&参加境外义工项目,组织者是不是靠谱,目的地的治安及当地局势是否稳定,疫苗及卫生状况都需要在出发前做好调研和准备。这里为大家提供几个靠谱的义工组织:&/p&&ul&&li&IVHQ国际志愿者组织(&a href=&/?target=https%3A//www.volunteerhq.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Volunteer Abroad Programs with IVHQ - Most Affordable & Trusted&i class=&icon-external&&&/i&&/a&)&br&&/li&&li&Green Lion(&a href=&/?target=http%3A//thegreenlion.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Green Lion&i class=&icon-external&&&/i&&/a&)&br&&/li&&li&AIESEC(&a href=&/?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AIESEC&i class=&icon-external&&&/i&&/a&)&br&&/li&&li&格林卫中国(&a href=&/?target=http%3A//www.greenwaychina.org/index.php/zh/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&格林卫国际义工旅行/ The Greenlion, Passion for a better world&i class=&icon-external&&&/i&&/a&)&br&&/li&&li&Gapper国际义工旅行(&a href=&/?target=http%3A//www.gappernet.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Gapper国际义工旅行 - 首页&i class=&icon-external&&&/i&&/a&)&/li&&/ul&&br&&h2&三、银蕨签证(Silver fern visa)&/h2&&br&&p&? 安全指数:?????&br&&/p&&p&
经济成本:签证申请费大概5k-10k,取决于你的学历;&/p&&p&? 时间成本:9个月;&/p&&p&
申请者要求:&/p&&p&·申请人年龄为20-35岁(不满36岁);&/p&&p&·持有认可的学士学位(含硕博)或持有认可的基本学历(证书、大专)+至少有两年相关工作经验; &/p&&p&·有足够的资金证明(大概4w元的担保金)&/p&&p&·有效雅思成绩6.5分及以上&/p&&p&
适合国家:新西兰;&/p&&p&
申请方式:新西兰移民局官网;&/p&&p&
弊端:全球每年仅有300个名额,并且对申请者综合素质有一定量化要求;&br&&/p&&br&&p&老朋友们应该知道,粽子先生是通过银蕨签证来到新西兰的。之前我在文章里有介绍过(&a href=&/?target=http%3A//mp./s%3F__biz%3DMzA3MzkzODI0Mg%3D%3D%26mid%3D%26idx%3D1%26sn%3D07c1a8fd710dfe64b60fe26d54d0f1d0%26chksm%3D84c373cab3b4fadc6032673acb96c2eed572e2b900b9c2ea%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&三年后,我因为他又回到了新西兰&i class=&icon-external&&&/i&&/a&)今天再为大家整理一下。&/p&&p&这个签证,目前是新西兰独有的。它的目的是为了引进高端人才来新西兰生活,为国家的建设发展添砖加瓦,政府更是为这批人才的移民之路亮了绿灯,如果你持有该签证入境,且你的专业属于新西兰紧缺专业,那么一旦你在新西兰境内找到了对口的工作,即可申请绿卡。&/p&&p&有不少没有抢到Working holiday visa的人转而去争取银蕨签证反而成功了,比如我和粽子先生。为什么呢?虽然银蕨签证全球仅提供300个名额,但是它的门槛高,加上在中国并不广为人知,所以竞争压力反而较小。持有银蕨签证可以在新西兰合法逗留9个月,并且可以合法工作,所以可以说它是一个浓缩高配版的打工度假签证。&/p&&br&&h2&四、国际互惠生(Au pair)&/h2&&br&&p&? 安全指数:????&/p&&p&
经济成本:机票等费用需要自己承担,每周会有一些固定收入;&/p&&p&? 时间成本:3-24个月都有;&/p&&p&
申请者要求:不同国家要求不同;&/p&&p&
适用国家:欧美澳新都有,欧洲较多;&/p&&p&
申请方式:网站申请(&a href=&/?target=https%3A///en& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Find your au pair or your host family today&i class=&icon-external&&&/i&&/a&);&/p&&p&
弊端:项目时间较长,且个人自由支配的时间较少&/p&&br&&img src=&/v2-0dbfdce30bf83ac1f659c6_b.png& data-rawwidth=&993& data-rawheight=&581& class=&origin_image zh-lightbox-thumb& width=&993& data-original=&/v2-0dbfdce30bf83ac1f659c6_r.png&&&p&Au pair是给年轻人体验跨过生活的一种机会。年轻的外国人(不接受本国人申请自己国家的Au pair)来到全新的国家,新的环境,以&b&“家庭助手”&/b&的身份跟一个当地家庭生活在一起,与他们同吃同住,每周还能有几十到几百欧不等的收入。作为交换,你的工作通常是照顾小孩,以及打理一切家务。Au pair的合作时间、工作时长、收入、对申请者的要求等,不同的国家和家庭都有所,大家可以自行搜索,豆瓣小组就是一个很好的了解信息渠道。&/p&&p&值得注意的是,有些中介打折教育局的旗号在网路上用Au pair招摇撞骗,大家要小心。由于你的绝大多数时间都和这个家庭生活在一起,所以该家庭的文化背景、成员素质、性情脾气都直接关系到你的体验,所以在选择家庭时要谨慎考虑。&/p&&img src=&/v2-df54e2c9958_b.png& data-rawwidth=&659& data-rawheight=&749& class=&origin_image zh-lightbox-thumb& width=&659& data-original=&/v2-df54e2c9958_r.png&&&br&&h2&五、中国间隔年公益基金(Gap Year Foundation)&/h2&&br&&p&? 安全指数:?????&/p&&p&
经济成本:专项基金赞助你间隔年;&/p&&p&? 时间成本:1年以内;&/p&&p&
申请者要求:能够独立策划自己间隔年的中国全日制18-28周岁在校生;&/p&&p&
适用国家:无特殊要求;&/p&&p&
申请方式:网站申请(&a href=&/?target=http%3A//www./web/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&北京市戈友公益援助基金会 | 中国间隔年公益基金 | Gapyear&i class=&icon-external&&&/i&&/a&);&/p&&p&
弊端:只针对在校学生,名额较少&/p&&br&&p&“中国间隔年计划”是北京市戈友公益援助基金会设立的一个专项基金,是中国首个资助年轻人实施“间隔年”的专项基金。由多位热心公益的青年企业家于2014年共同发起,旨在中国年轻人中间传播“间隔年”概念,奖励资助有思想、有创意、有勇气、对社会有责任心的年轻人在国内或海外实施间隔年计划。&/p&&p&每年他们都会举办一次申请者选拔活动,最终选取10名优秀青年资助其完成“间隔年”,提供3名3万元,7名1万元资金奖励。申请者需要通过在线提交自己的申请计划书,充分说明自己间隔年的目的与意义,展示自己的才能,用以说服评委。所有申请、投票和公式结果都会在官网上进行。&/p&&p&今年的选拔就快要结束了,有兴趣的小伙伴可以围观一下,明年争取。&/p&&img src=&/v2-6a50566d7dfbbb98babc6fbb7de6cc4d_b.png& data-rawwidth=&1089& data-rawheight=&174& class=&origin_image zh-lightbox-thumb& width=&1089& data-original=&/v2-6a50566d7dfbbb98babc6fbb7de6cc4d_r.png&&&br&&h2&六、游学(Study and relax)&/h2&&br&&p&? 安全指数:????&/p&&p&
经济成本:机票、签证、学费等开销;&/p&&p&? 时间成本:3-12个月不等;&/p&&p&
申请者要求:不同学校要求不同;&/p&&p&
适用国家:各个国家;&/p&&p&
申请方式:各学校官网上申请;&/p&&p&
弊端:前期需要支付一定数额的学费&/p&&br&&p&听到“游学”,大多数人会觉得这是有钱人的游戏,其实不然。游学通常情况下是去别的国家学习一门语言或者一门专项的技术,它不像留学那样对入学和毕业都有较高要求,但属于学生签证,所以签证时间相对较长,并且大多数国家都允许学生签证都每周20个小时合法打工,基本可以cover到日常生活开销。&/p&&p&相对于其他方式的间隔年,游学有一定的经济成本,对于有几年工作经验的人来说也不是完全不可接受,比如新西兰半年的语言学校学费大概人民币2万多,而生活费完全可以靠日常兼职cover掉,日本据说也不贵,而且日本打工收入都挺高。用可接受的成本换取一段时间沉淀和放松,也不失为一种选择。&/p&&p&以上是我个人目前所了解到的成本相对较低的“间隔年”方式,&b&说到底,天下没有免费的午餐,大家都是用不同的形式“以物换物”,没有哪一条路更为容易。&/b&如果你深思熟虑了间隔年的意义,不妨扩宽一下思路,毕竟条条大路通罗马,总能找到属于自己舒服的方式。&/p&&p&加油吧各位~~&/p&&p&日,蚂蚁在基督城跟你说晚安,晚安!&/p&&img src=&/v2-219acbdb8e5fcb9d_b.jpg& data-rawwidth=&1500& data-rawheight=&1000& class=&origin_image zh-lightbox-thumb& width=&1500& data-original=&/v2-219acbdb8e5fcb9d_r.jpg&&&br&&br&&p&&i&&b&写在最后:&/b&&/i&&/p&&p&我不是一个专业的旅行者,没有去过几十个国家几百个城市。我只是踏踏实实用一年半的时间沉浸在新西兰,体验生活,感受差异。随后继续在常规的生活节奏中探索世界。这些体验与故事构成了我完整的青春,让我丰富且满足。如果它也感动了你,我很快乐。&/p&&br&&p&THE END.&/p&&p&尊重原创,转载请联系蚂蚁。&/p&&p&新浪微博:@蚂蚁Yee&/p&&p&微信公众号:蚂蚁Yee&/p&&br&&p&————————————————&/p&&p&知乎专栏:&a href=&/ethanlam& class=&internal&&一群旅行体验师&/a&,做最会玩的集体专栏。欢迎申请加入体验师大本营,也欢迎大家投稿。&/p&&p&微信公众号:KLOOK客路旅行 -“Keep Looking,我们专治不会玩儿”&/p&
蚂蚁,我抢了2年的打工度假签证,都没成功,还有别的方法可以“间隔年”吗? 连续收到2个小伙伴提出类似的询问,我想,在打工度假签证(Working holiday visa)日渐火爆的现在,抢不到名额这件事一定困扰着许多人,比起新西兰的1000个名额,尽管澳洲豪气地…
&img src=&/v2-35aced8cfa83a_b.png& data-rawwidth=&1650& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1650& data-original=&/v2-35aced8cfa83a_r.png&&我在周末一天(大约10小时时间)大概可以看三本商业类书籍,阅读页数在500-800页左右。基本上一分钟一页。我的一些朋友往往被我看书的速度惊讶,于是他们要我总结一下读书的经验,抛砖引玉如下:&br&&br&ps:评论区很多人显然都没读这篇文章。&br&&br&&i&前提:本文里面讨论的读书,对我来说是指读商业社科类书籍,不是娱乐类的小说等读物,也不是充满公式的理论教科书。另外我读的一般是海外著作的翻译本,语言实际上是比较不那么流畅的。比较典型的例子是:《未来简史》《灰犀牛》《黑天鹅》《基业长青》《创新者的窘境》《智能时代》这样的书。&/i&&br&&br&&b&什么样的读书是有收获的?&/b&&br&&br&读完一本书,其实不用把每一页都仔细看完。和投资,做企业一样,平均分配精力是最蠢的。读书人的精力应当重点放在书提出的论点,以及论述逻辑上面。基本好的商业书籍,有类似的范式,就是 每章提出一个论点+分论点,然后用核心论证加以论证。所以在这个过程中,如何快速发现一个章节里面的核心思想,并且能把核心思想+核心论据快速的抽提取出来,是高效阅读的关键。&br&&br&我认为,做到以下三点,就已经是第一次读一本书非常好的收获了:
&br&&ol&&li&知道了这本书讲了什么东西,包括核心论点和分论点,论证逻辑和思考框架,论据。做到能够跟朋友大致转述说明的程度;&br&&/li&&li&能够把自己的经历和见解,与书里的观点和理论结合起来,这样形成的反馈才是让人真正理解书中内容的关键;&br&&/li&&li&在以后要用到这本书里面信息的时候,能够快速准确的提取出来使用。&br&&/li&&/ol&&b&常见读书遇到的问题&/b&&br&&ol&&li&难于开始和结束。觉得读一本书花的时间很长,所以不愿意开始读。开始读了之后又容易被各种事情打断,所以又不容易结束。说到底就是“慢”。&/li&&li&读完之后没有收获,很快忘记。尤其是没有笔记的读书,如果你是一个很忙的人,那么在一个星期之后可以试试自己还记得多少内容。说到底就是“没有好的沉淀”&/li&&/ol&&b&如何读得快?&/b&&br&&br&在我看来严肃的读书就是在学习,是在工作,而不是在休闲,也不是在下午茶(当然我也看小说,但是这里不讨论这个场景),和所有工作一样,在水平不变的情况下,提高效率的关键就在于排除一切干扰,并且尽可能让大脑在读书时候保持紧张思考。
&br&&br&我一般会专门拿出来一个时间段读书,我把这段时间称为我的&b&聚焦模式&/b&(当然我也会用各种各样其他的时间读书,这里不多说)。在这个模式下,我会准备:
&br&&ul&&li&一台电脑,专门用于记录笔记&/li&&li&一支笔&/li&&li&良好的照明&/li&&li&书桌要布置得能够同时把书摊开+在键盘上打字记笔记。&/li&&/ul&下面是我书桌的布置。当然,在咖啡馆里面一台笔记本电脑也可以完成类似的工作。&br&&img src=&/v2-ebe544b7dc0f25ea3d71da8_b.png& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/v2-ebe544b7dc0f25ea3d71da8_r.png&&&br&读书期间要尽量减少其他的打扰(如果连面对电脑不去分神都做不到,那还是先把这一点练习好),尤其是微信就不要看了(相信你的微信应当没有我忙)。
&br&&br&不要在旁边放食物什么的。最多放一杯咖啡。吃东西是一件很耗时间而且打断的事情。
&br&&br&最好不要放音乐,或者放白噪音那种完全不需要思考的音乐。有歌词的音乐会让大脑不由自主的花时间去处理听到的内容,不好。
&br&&br&不要躺着或者是太舒服的姿势,就以工作的姿势,因为头脑里面的紧张是需要身体的紧张配合的。但是你需要一把好的椅子,以及足够舒服的空间(诚意推荐 Aeron)。
&br&&br&&b&读书要有收获沉淀,读书笔记是关键&/b&&br&&br&没有记录笔记的读书基本是没有用的。没有索引,无法快速查找,补充,完善的笔记也是没有用的。
&br&&br&所以比起来记在书边上,我强烈建议以电子笔记的方式记录。但是书上面要不要记录?我认为是需要的。主要是画出来重点。这用一只水性笔就可以解决。
&br&&br&我记下的笔记大概分为两个部分。一个是关键内容摘录和整理。另一个就是自己心里想到的要点,有点像自言自语,但是不管记录什么,Just Typing! 直接记录下来很重要,一开始不要管太多的格式等问题。最多使用项目符号和编号来整理逻辑即可。重要的是要不断观察重点,思考逻辑和例子,然后不断的记录。
&br&&br&当然这对打字速度是有要求的,每分钟一百字是基础。我自己的打字速度大概是在每分钟150字左右,所以在这一点上面也是有优势。另外打字的时候就用比较简单清楚的语言,这样输入法一般都能够比较正确的识别,需要的修改会比较少。(悄悄告诉你,打字快速的时候会进入一个心流的状态,这个时候会是一种很 high 的体验)&br&&br&&b&什么是好的读书笔记?&/b&&br&&ul&&li&记录下&b&核心的论点&/b&以及其应用形式。想象你是要读书之后立刻跟你的老板/下属讲解这本书的内容,每个章节你会讲什么样的内容?有必要的话,一定要摘抄。打字的过程就是一个记忆的过程,自己打字一遍记下来的内容会影响更加深刻。&/li&&li&记录下&b&核心论述逻辑&/b&,可以用简单的流程表示。&/li&&li&可以适当记录&b&关键的论据&/b&,,作为以后引用论证,但是不用记录细节,知道大概是用的什么例子,具体到时候能来找就行了。&/li&&li&记录下自己觉得“有道理”的地方。这往往是和自己的经历和之前的分析产生了共鸣。把对应的经历和脑海里面的思考记下来。用讲故事通俗的形式就行。&/li&&li&记录下自己觉得“有问题”的地方。不用一开始去纠结解决,把问题记录下来,之后再去研究。但是这些地方搞清楚了之后会是非常有收获的。&br&&/li&&/ul&在记录的时候不要怕变成流水账,最简单的就是按照章节来整理。这样后面找起来会很方便。最后读书笔记可以变成&br&&ol&&li&总览:这本书讲了一件什么事情。这可以在整个读书过程完成之后总结再写上去。可以想象,这个部分就是你给朋友介绍这本书的时候说的内容。&/li&&li&每一章节的笔记:是我跟朋友描述这一章说了一个什么事情,用什么样的逻辑去得出这样的结论,主要论据是什么样的。&/li&&li&总结:其实就是归纳出分论点来得出一个核心结论的重新描述。把觉得重要的地方再强调一下。&br&&/li&&/ol&最重要的是,要非常符合你自己的阅读和思考习惯,适合自己的才是最好的!读书笔记是给自己看的,又不是用来发表的,所以能够针对自己情况简化的就简化。&br&&br&当然整个笔记的过程,需要自己有足够多的料来真正看懂理论。我在大学的时候读基业长青,创新者的窘境这样的书,会觉得有道理,但是很快就忘记,也没有什么特别的感受。但是当自己创业做了一个上市公司之后,再回过头去看得到的感悟是完全不一样的。但是这一点不影响具体读书的方法。
&br&&br&&b&看完一本书之后……&br&&/b&&br&我的习惯是在看完之后立刻拿着笔记回忆一遍,这本书到底说了什么?有哪几个主要的结论?拿着笔记对着目录,是否能够回想起来大概每一个章节说了什么事情?同时在这个过程中,完成笔记格式整理,把内容的内在逻辑通过简单的排版体现的更加清楚。这个过程大概10-20分钟完成。&br&&br&同时,我会把一些书标记为“以后不用再看了”,另外一些书标记为“应当过半年再来看一遍”。因为有的书内容以及对应的感悟是会随着时间变化而变化的,所以在有了新的经验之后再拿着笔记快速读一遍,也会有新的收获。但是有的书内容就是一个基本的论点,知道这个论点了就可以了。这样的书就可以不必再专门来看了。
&br&&br&&b&被打断了怎么办?&/b&&br&&br&我喜欢不被打断地看完一本书,但是这大概需要两到三个小时的时间。如果遇到了打断(比如出去吃饭),我的习惯是在回来的时候首先看笔记,快速把之前的几章内容在脑海里面复述一下,把自己重新恢复到打断之前的心流状态。
&br&&br&&b&这样读书是一件很累的事情&/b&&br&&br&这样读书对于我来说是一件脑力消耗巨大的事情,以至于一天下来我会需要好好玩一下守望先锋来放松(笑),但是同样,这种消耗感意味着大脑正在快速处理看到的信息,说明付出思考的存在,因此也是一种非常有收获的体验。毕竟,真正有收获的学习从来都不会是特别轻松的。 &br&&br&&b&说了这么多,举个栗子……&/b&&br&&br&以下是我直接截图 evernote 里面的原始读书笔记,这本书大概读了3小时读完,属于经典商科著作(其实在大学时候读过,但是已经完全没有印象了)&br&&img src=&/v2-caa23f44d2d087d23ed21_b.png& data-rawwidth=&1448& data-rawheight=&2310& class=&origin_image zh-lightbox-thumb& width=&1448& data-original=&/v2-caa23f44d2d087d23ed21_r.png&&&p&欢迎大家分享和讨论你的读书方式和体验:)&/p&&p&题图 copyright: &i&Maryna Khomenko&/i&&/p&
我在周末一天(大约10小时时间)大概可以看三本商业类书籍,阅读页数在500-800页左右。基本上一分钟一页。我的一些朋友往往被我看书的速度惊讶,于是他们要我总结一下读书的经验,抛砖引玉如下: ps:评论区很多人显然都没读这篇文章。 前提:本文里面讨论…
不扯那些鸡汤,我来写点干货吧&br&简言之:不去Networking也能找到工作,但networking是你找工作的捷径,尤其是对于商科文科的学生。&br&&br&很多中国学生特别不习惯networking,其实这是非常非常好的脱颖而出的机会,我根据自己的经验写一下方法和常见误区,希望能帮到大家。&br&&br&1. 首先要明确为什么要networking?&br&大家在刚毕业的时候,简历上的经历都很单薄,网申海投是靠机器算法抓取关键词筛选简历,我们在这一点上没有什么优势,而networking就可以帮助我们避开机器筛选,【人为地】突出自己的优势和特长,通过内推进入面试。&br&&br&比如,我的专业是marketing analytics,虽然是找marketing类工作,但我的优势在于我能够利用大数据做模型分析,指导business insights,所以我在networking过程中都会发给对方我的working sample,一份通过分析消费者行为模式来指导营销渠道挑选的报告,包括我非常擅长的做漂亮的数据可视化图表。这份working sample让对方清楚直接地看到了我的优势和特长,也直接展现了我的能力,帮我拿到了很多内推机会。而海投筛选的第一轮都是机器筛选简历关键词,我的working sample还没被HR看到,我的整个profile可能就已经被机器PASS了。&br&&br&况且,海投填那么多表格真的很烦诶……&br&&br&2. networking难不难?&br&不难。&br&&br&中国学生总是很怕networking,因为大家把networking等同于走后门,在中国的人情社会走后门找人办事很麻烦,还人情也很麻烦。&br&&br&然而并不是这样的。networking并不是“求人办事” 并不是“走后门找关系”,相反,【大部分的公司员工都是希望你们能networking他们的!都是希望能够内推你的!】&br&为什么?&br&因为有钱拿!!!&br&我们公司refer一个人如果被录取了,奖金三千刀!!!大家都很想赚这个钱!!同学们,记住,你是上门给他们送钱的!!你!怕!啥!&br&&br&那有些同学要问了,既然大家都想被networking,为什么我发出去的邮件没有人理我呢?&br&&br&简单来说两个原因:&br&一是你并没有表现出胜任这份工作的能力&br&二是你表现得很烦人&br&&br&先说第一点,&br&所谓“胜任这份工作的能力”有两方面,一是专业能力,二是英语!!英语!!&br&我LinkedIn收到过一些networking邮件,一共五句话还有语法错误,句子大概是初高中英语作文水平,先不说你的专业能力,就这个水平的英语就没办法胜任这份工作。请大家真的好好学英语……好的沟通能力在之后的面试过程中也加分很多,我朋友的team招人,最终轮剩一个中国人一个印度人,要了那个印度人。老板很明确地讲:其实那个中国人技术更好,但英文不好,工作中会出问题。&br&&br&而专业能力就是你需要在networking邮件中展现你的能力,让人读完感觉你是优秀的candidate,才会想要回复你继续聊。否则没有人愿意用自己在公司内的名誉去担保一个实力不知道什么样的毕业生。这个稍后再展开讲。&br&&br&第二点,你表现得很烦人&br&我收到过邮件写着“我觉得你们公司很好,我很有兴趣,如果有XX相关的职位请通知我”&br&……………&br&大妹子你是谁?&br&&br&优秀的人总是相似的,烦人的人各有各的烦人……不一一列举了总之我觉得情商智商正常的人应该不会落到这一类的,不多说了。&br&&br&3. 怎么networking&br&我就讲讲自己的心得,各个专业不一样,仅供参考吧!&br&&br&首先是选人,去跟谁networking?&br&我都是用LinkedIn。&br&1)先搜索你自己想要的工作&br&2)找到心仪的工作后点进去看在这个公司里工作的所有员工&br&3)在员工列表界面,高级搜索在你想申请的那个team工作的人。&br&怎么知道谁是这个team的人?去看你申请职位的JD,里面都会讲是哪个team招人,用关键词搜索。然后最好找manager职位或者director的人,一来他们更了解这个职位需要什么样的人,多数时候他们就是hiring manager,是那个跟HR部门讲“老子缺人了,老子要一个XXXXX这样的人”的那位。二来他们作为团队老板,如果他们喜欢你,你最终拿到offer的几率很大。&br&&br&但如果你有校友在该公司可以优先networking校友,美国人的校友情结都很重,越是名校越是这样,校友都很愿意帮忙。&br&&br&第二是怎么networking?&br&拿LinkedIn举例子&br&1)发加好友的请求&br&加好友的请求有字数限制,简单扼要地写:&br&你对人家team的XXopening感兴趣,有哪些经验,希望能够 learn more,具体用词看个人风格,只要不落到“烦人”那一类就好。&br&&br&2)加了好友之后,发一封更详细但仍然【简明扼要】的message:&br&&br&重复你是谁你想申请什么职位&br&你的背景和能力(只写职位相关的)&br&你为什么能胜任这份工作(自己的大优势)和你能为team贡献什么&br&&br&在这里要写硬实力!不要写那些什么我会团队合作啊我很creative啊,这些不是重点,只当作点缀,因为一封email你把自己软实力写的再好也没有任何说服力。你就摆事实就好:我能做啥啥啥,我会用啥啥啥软件,我做过啥啥啥项目,我在哪哪公司实习过。&br&&br&最后写,如果你有时间,希望可以打个电话或者grab a coffee多了解一下team,多了解一下你的经历之类之类,总之就是约个下一步。&br&&br&*这里的小tip我一开始就说过,准备一份自己的working sample。因为推荐人想要推荐你拿钱,但担心你的实力很差毁了他在公司和HR那边的reputation,那我们就可以用非常专业的working sample告诉他,我完全可以胜任这个职位不用担心。&br&&br&我个人的经历是,很多人,特别是很多美国人,看过working sample直接回复我说:我觉得你的这个working sample很impressive,你直接把简历发给我吧,我发给HR。他们认为这一份working sample已经能证明我的能力,就不需要再费事去跟我打电话聊了。&br&&br&准备一份优秀的working sample很费时间精力,但不优秀的working sample不如不发,否则对方看了就只会觉得,哦实力一般没必要多聊了。&br&&br&working sample不是必须,更适合那些平时project做的多,有某项专长,不爱打电话聊天的人吧~&br&&br&3)回归正常路径,约到下一步打电话聊天&br&在打电话聊天中聊什么?&br&1)证明你过去的经历能transfer到你申请的那个职位和team,你能胜任&br&2)你对行业的了解。&br&3)了解这个team到底是做什么,你申请的这个职位到底是做什么&br&&br&过去的经历不多说,自己做过的东西,简历上有的东西,什么轻什么重,哪些经历能体现哪些能力,什么是自己的绝对优势,自己都做到心中有数信手拈来,这在后面的面试里也是一样的。&br&&br&行业知识这一块儿是我发觉大家都很欠缺的。大家一定要多去了解行业知识,比如同样都是marketing的工作,如果你想申请digital marketing相关,起码你要知道digital marketing都有哪些渠道,什么是paid search什么是display,什么是Google analytics, Adwords;而如果申请social media相关,那你就应该知道怎么用Facebook Insights, Twitter Insights,Facebook的付费广告怎么投放,或者知道像Hootsuite这种整合多平台内容管理的软件。&br&&br&学校教的东西是大基础,而每一个行业每一个track都有它专门的行业知识和软件应用,只有了解了这些,才能让人感受到你是一个优秀的candidate,是“业内人士”,是“圈子里的人”。&br&&br&这种“业内人士”的感觉,是在拿refer以及后续面试当中,很重要的一点。&br&&br&而且,你甚至都不需要精通这些软件,很多时候你知道他们存在,了解他们的用途就可以了,入职了会再教你的。你有足够的基础,再加上一定程度对这个行业的了解,就足够你拿到一份entry level的工作了。&br&&br&至于你去哪里学?行业新闻和必备知识Google一下你就知道,软件教学YouTube有很多。&br&&br&不过这里说的仅限行业背景知识,如果你是本专业的基础应用软件、基础技能都不会,那建议你先在学校好好学习再来找工作。&br&&br&至于了解team的具体职能,这是你在套未来同事的话,然后根据他们的话来调整之后的面试策略。简单来说,同样是做digital,如果team着重做social media你就在之后的面试中强调你做过公众号的经验,如果他们着重做网站内容,那你就强调你做SEO的经验,以此类推。而且,如果你能通过这一通电话了解到他们常用的软件常做的客户,针对这些去学习和准备面试,相信面试中你一定表现得比其他人更“适合”这个团队。&br&&br&4. 总结&br&个人来讲,我目前在美国做过的两份工作,一份是投简历投来的,一份是networking了team的SVP拿到的refer。但单从面试角度来讲,我靠networking拿到的面试要比海投多不少。&br&&br&英语+突出个人优势,这是我觉得最重要的两块,具体还是要看个人实力。&br&希望大家都能拿到理想的offer!加油~
不扯那些鸡汤,我来写点干货吧 简言之:不去Networking也能找到工作,但networking是你找工作的捷径,尤其是对于商科文科的学生。 很多中国学生特别不习惯networking,其实这是非常非常好的脱颖而出的机会,我根据自己的经验写一下方法和常见误区,希望能帮…
20岁,按照贵乎的标准,你进入了某所985(从三本到七本),或者某所211(反正在贵乎211以下不算大学),或者美帝的top50 after all。这时,你上了知乎,你的专业不是CS这种成功专业或者金融工程EE这种半成功专业,而且非常幸运你没有在八本,虽然处于一个失败专业但也没有被科研洗脑。好,你现在需要做的是一个可以改变你一生的选择。你准备好了么?&br&&br&首先。学好英语,学好英语,学好英语。重要的话说三遍。我不能告诉你如何做好它。反正我是靠考托福真正学好英语的。至少我本人大一过六级之后连成绩单都没领。当然。各人有各人的办法。&br&&br&其次,你应该做到,大学数学三件套全面掌握。这是基础。千万不要问我,学长,我是学会计的,数学不好,我高数70,线性代数65,概率统计75,我能不能去申请*大统计啊?将来想去香港的大投行(我知道你在关注我,今天小小的得罪你一下)。妹子,尽管你很萌,我依然忍不住打击你。&br&&br&在将来,你会发现在你以后的人生中各个行业分布着两个专业的人。其中之一是各大21世纪专业毕业生。其中之二则是从数学系,个别是从物理系毕业。拥有强大数学思维的人永远占据大多数产业食物链的顶端。当然也有例外。比如你去搞传媒或者广告这种实际上也很赚钱很有前景的行业就不需要数学。&a href=&///people/ef24014bf4bfcd38f68bd1& data-hash=&ef24014bf4bfcd38f68bd1& class=&member_mention& data-hovercard=&p$b$ef24014bf4bfcd38f68bd1&&@孔庆勋&/a&&a href=&///people/f3f84cca3baffc& data-hash=&f3f84cca3baffc& class=&member_mention& data-hovercard=&p$b$f3f84cca3baffc&&@凡伟&/a&这样的非常适合去UC震惊部的人,也不需要数学。&br&&br&这个时候你又做了一个十分正确的选择。你没有听那个九年没有评上副教授的讲师的忽悠。你觉得,一定要把数学学的非常深(和数学系没法比)。那怎么办呢?该做什么。你需要一个路线图。可以推荐读一本书叫什么是数学。作者是柯朗,哥廷根大学毕业之后去纽约大学任教并将本来是三流的纽大数学搞成一流。如果读不下去,请记得他的故事。至少我在我最艰难的时候经常会以这个故事自勉。比较常用的,更深一层的数学包括微分方程,随机过程,实变函数。我曾经问UIUC一位教授我一个本科失败工科的人如何可以学好运筹学和统计并实现创新。加拿大老大爷微微一笑,“Real analysis.&当然,这一目标我也还在奋斗的路上。还有一样非常有用的东西叫应用统计。这与代码,密不可分。我问你你对概率统计的印象是什么?抽象。正是。说实在的本人当年在20岁概率统计半小时考98的时候,也没有真正明白什么是“假设检验,”“参数估计。”。这些玩意为什么如此定义。当你了解并学会一种叫R语言的工具之后并能用它做数据分析之后,你会发现,统计,变了。&br&&br&其次你需要知道什么是21世纪真正的潮流。“我们高中老师说。”“亲花大学的那个很活跃的教授,叫什么什么公说。”“我们系的辅导员说。”对不起这全没用。20世纪的潮流,是物理学。而物理学革命带来了几次新的产业转型。尤其是电子技术发展导致的计算机化,正是我们需要关注的核心。或许你至今仍然沉湎于有机合成和基因转录的神奇。当你了解一种叫深度学习的工具之后你就会发现这些技术不过尔尔。好比魔兽争霸里,基尔加丹垒起一座沙塔就可以推倒整个达拉然,又好比金字塔下在拿破仑军团重炮下自杀式冲杀的埃及马木鲁克。计算机化为我们创造出了一个更美丽更勇敢的新世界。这更值得我们去追寻并为之奋斗。起码,你再也不用吸毒了对么。&br&&br&写好代码(知乎上优秀的码农太多不赘述)需要你学好至少一门编程语言(正常人一般在C\C++,Java和python中三选一到三)。接着你需要的是对数据结构,以及算法的掌握。好,你之后会了解到一个叫leetcode的东西。想必能考上985的朋友高考大多有刷五三,天利,或者考托福刷tpo的经历?刷题其实是一种能力。好比打游戏里的“暴兵。”也有另一个作用是淘汰一部分能力很差却又自命不凡的人。请注意,理论上leetcode大多数题会做是大学三年级优秀计算机系学生所应该达到的水准。大学三年级。当你能独立写一个数据挖掘系统,或一个功能齐备的app(写网页有点low了),或者能用R markdown写完一个完整的基于线性模型的数据分析报告,或者一个能用的数据库(类似于你们学校的教务系统甚至更烂)中任意一个的时候,你会发现你的工资已经领先同龄人好几轮了。你那些听话,听老师的话听辅导员的话,读21世纪专业,苦逼搬砖读博后,将来买不起房也要坚持科研报国的同学大概需要五到十年,才会在工资水平上有赶上你的希望。&br&&br&个人有一个小小的经验。计算机课程分为两种。一种是理论性的,一种是工具型的。理论性的比如离散数学,无线网络,在UIUC开在计算机系的随机过程,运筹学,这种不怎么需要写代码。另一种比如数据结构算法,编程,数据挖掘,数据库,网页开发,图形学,代码量相对大。可以搭配着来。&br&&br&接着请注意你的技能树:英语+代码+数学统计。就这样。生而为人,我很失败。行而上学,不行勃学。要有革命精神,流血不要怕砍头不要怕,不迷信,不盲从。刻苦奋斗,向死而生。&br&&br&祝好。
20岁,按照贵乎的标准,你进入了某所985(从三本到七本),或者某所211(反正在贵乎211以下不算大学),或者美帝的top50 after all。这时,你上了知乎,你的专业不是CS这种成功专业或者金融工程EE这种半成功专业,而且非常幸运你没有在八本,虽然处于一个失…
成为学霸的最low的方法-完全出自个人经验:&br&&br&1.笔记。&br&&br&不要迷信什么教科书上已有的内容不要写下来,也不要迷信什么要对课堂上的老师的教导有所选择地吸收,更不要迷信什么参考资料上介绍的任何所谓“高效”的学习方法。&br&&br&去做笔记吧少年。&br&&br&我的习惯是自己制作笔记本,然后记满。再制作一本,再记满。反复以至无穷。&br&&br&每个笔记本所记的内容当然不会都是一样的,但要诀在于:必须重复。&br&&br&当你再次遇到一个知识点却对它并不熟悉的时候——哪怕你很清楚地知道这个知识点你已经写在某个笔记本上了——记下来!&br&&br&再一次地记下来!&br&&br&大量地抄写。尤其是文科。&br&&br&每个知识点如果不反复记在不同的笔记本上至少三次,就要认为自己根本没有做笔记。&br&&br&反复。反复。反复。反复。反复。&br&&br&不要复习!坚决不要复习自己在笔记本上记载过的任何内容!一个本子写满了,扔掉它!拿起下一个本子来,继续写!&br&&br&反复写。反复写。反复写。反复写。反复写。&br&&br&直到深夜。&br&&br&直到凌晨。&br&&br&不要休息。&br&&br&&br&2. 做题。&br&&br&题海战术是唯一值得称道的战术。&br&&br&如果一天时间有一半是花在记笔记上的,另一半时间就要用于做题。文科,理科,不拘。&br&&br&总之,做题。做题。做题。做题。做题。做题。&br&&br&询问老师、同学,买来一大堆题库。&br&&br&做完它!&br&&br&然后再做一遍!&br&&br&第三遍!&br&&br&把市面上所有的题库都做完!&br&&br&三遍!&br&&br&不要迷信什么:这道题我已经做过了,这种思路我已经掌握了,这个知识点最简单了……&br&都是借口。&br&&br&做题,不停地做题。反复做题。&br&&br&&br&————————————————————————————————&br&&br&是不是需要掌握一种好的、高效的学习方法?&br&&br&这个世界也许有“好的、高效的”学习方法,但是你能掌握吗?我只知道:我不能。&br&&br&拼命低估自己,然后流汗。&br&&br&然后……&br&忽然有一天会发现周围好多人不知什么时候都跑到你后面去了。&br&&br&然后,我明白了:方法论是邪道。&br&&br&—————————————————————————————————&br&&br&&br&&br&因为
&a data-hash=&34fcaab5b5d6f55a740be2& href=&///people/34fcaab5b5d6f55a740be2& class=&member_mention& data-editable=&true& data-title=&@& data-tip=&p$b$34fcaab5b5d6f55a740be2& data-hovercard=&p$b$34fcaab5b5d6f55a740be2&&@&/a&&a href=&/people/edmon-46& class=&internal&&edmon&/a& 在某个问题里的(巨长的)答案提到了几年前我写的这个,居然积攒到百赞了……&br&看到有人说有帮助,还是蛮高兴的。&br&然后有人问笔记的来源,还有 &a data-hash=&687bc2ed213db8fbff6ec521d0313398& href=&///people/687bc2ed213db8fbff6ec521d0313398& class=&member_mention& data-editable=&true& data-title=&@林复& data-tip=&p$b$687bc2ed213db8fbff6ec521d0313398& data-hovercard=&p$b$687bc2ed213db8fbff6ec521d0313398&&@林复&/a& 问是否还来得及云云,多少再写几句。&br&&br&当然可能还是简单粗暴。&br&我信这个。&br&&br&但天晚了要睡没什么精神,姑且省下惊叹号。&br&&br&那么,开始。&br&&br&记笔记需要确定一个来源么?&br&&br&太甜了少年。&br&&br&文科,抄课本都可以的。&br&而且抄课本就很有用啊。&br&逼急了,外语还有词典放在那里。&br&&br&——当然我倒不赞成去盲目地抄词典背词典,这确实没什么效率。&br&但如果你能背完一本词汇量——也不用多——在两万左右的词典,考专业八级都够了好么?&br&把背词典的功夫省下来按语法条目抄上几千个例句再照着造上几千个句子不就很好了?&br&&br&再说你是在学校里上学是有老师的去问问老师自己该怎么记笔记很难么?&br&是的我是做过一阵老师而且教出来的学生成绩都还不错但主要的原因还是学生听话啊。&br&他们老老实实地抄我的板书老老实实地做我布置的根本就做不完的作业啊。&br&&br&再说参考书上写的东西要是有用你读一遍就能记住么?&br&你抄一遍就能记住么?&br&&br&理科,题库这种东西是做得完的么?就算做完了,你做完三遍了么?&br&&br&再说还有文科的题库呢。&br&很多时候文科成绩想要提高更是依赖做题的啊。&br&&br&不拘文理,如果你看到一道题脑子里下意识就知道答案,那你能不能做到看到一万道题脑子里就下意识出现一万个答案?&br&把一万道题做个三五遍又不是什么很难的事情。&br&无非花点时间。&br&高三的时间全都花在做笔记做题上也是很浪漫的对不对?&br&&br&人一辈子总要对自己狠一次好知道自己的极限在哪里。&br&然后这一辈子你不管做什么事情心里就有底了。&br&&br&与其叫生活逼得自己狠一次远不如自己逼自己狠一次。两者完全不一样好么?&br&&br&你说你效率很低?&br&难道我是在讲述一个效率很高的学习方法么?&br&&br&我是在根本上否定效率,且不提出任何具体方法啊。&br&就是记笔记和做题。&br&指导思想是:花最多最多最多最多最多的时间,下最笨最笨最笨最笨最笨的功夫。&br&&br&说白了就是把自己当成傻子啊。&br&&br&说得再白一点:训狗见过没有?你一直一直一直一直一直重复重复重复重复重复,然后狗就记住了。&br&&br&我确信这样做是有用的。&br&因为我在自己身上试过。&br&——也在别人身上试过。&br&&br&这种学习方法适合高三么?&br&——难道有一种学习方法是专门适合高三的么?&br&&br&我才不信。&br&&br&如果你的成绩很差,认为自己光是做笔记和做题不能把自己的成绩提高到理想的程度,然后想要找到一种了不起的学习方法——&br&&br&抱歉。我不知道。&br&我真的不知道。&br&&br&我的观点是:这个世界上不存在所谓“秘籍”这种事,不管是谁,只要使用它,就能打遍天下无敌手。&br&因为这既不符合逻辑,也不符合客观规律。&br&&br&只有一点可以确定:量变会引起质变。&br&&br&也就是说,当你花了足够多的时间,哪怕效率很低,也会有所积累。而积累够多,就会收获成绩。&br&&br&在效率特别低的情况下,足够多的时间是多长?一个高三够不够?&br&我不知道。&br&我知道的是,纠结于方法,就浪费了时间。浪费了时间,时间就不够了。&br&&br&我看见了天底下那么多的聪明人。&br&把事情做成的却大都是傻瓜。
成为学霸的最low的方法-完全出自个人经验: 1.笔记。 不要迷信什么教科书上已有的内容不要写下来,也不要迷信什么要对课堂上的老师的教导有所选择地吸收,更不要迷信什么参考资料上介绍的任何所谓“高效”的学习方法。 去做笔记吧少年。 我的习惯是自己制作…
&img src=&/v2-8a630e3db5b11e2d96d771ba7052aed7_b.png& data-rawwidth=&660& data-rawheight=&254& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&/v2-8a630e3db5b11e2d96d771ba7052aed7_r.png&&以下是此次 live 预先准备的原始文案,分段与录音一一对应,但并不逐字对应,也不含后面的互动部分。&p&再次感谢各位朋友的支持!&/p&&br&&p&##00&/p&&p&大家好,欢迎加入这场题目为编程初学者的疑惑解答的知乎 live。先做一个简单的自我介绍:我叫吴涛,出生在 甘肃兰州,十岁举家搬到天津。在湖南长沙念的大学,本科专业是信息安全,之后在德国读研究生,专业是通信和媒体工程,毕业之后在德国工作至今。做了将近八年程序员,中间跳过两次槽,目前在一家数据库公司负责集群操作系统开发。严格来说我接受到正统计算机科学教育不多,本科重点是密码学和通信原理,研究生也是以通信和媒体技术为主。我的编程能力大部分靠自学而来,而我今天想跟各位分享的,也就是我作为一个常年自学者的经验。这次 live 的前半部分我会就内容简介里面的话题、结合各位早期报名者提出的几个典型问题做大概三十分钟的讲解,之后是互动问答时间。当然在前面这段时间里大家也可以留言提问,我会尽量在后面回答。&/p&&br&&p&##01&/p&&p&好,首先是一个关于所有问题的元问题:我适合学编程吗?这个问题有许多其他问法,比如「我三十岁了,开始学编程会不会太晚」、「我数学不好是不是就学不好编程」、甚至「我是女生学编程是不是会很困难」,我这里就把所有这些问题综合成「我适合学编程吗」这一问。有这样的疑惑很正常,只要不是特别狂妄,初学任何一件比较复杂的事情都会让人怀疑自己。而且不问自己适不适合就去尝试一件事情,如果不是出于无奈的话,也挺幼稚的,所以有了这个疑惑,应该恭喜自己不再是只凭冲动和兴趣去接触新鲜事物的小孩子了。当然,幼稚也没有什么问题,许多人都在幼稚的时代做了幼稚的事情,只要能够坚持下去,幼稚其实是站在你这一边的一个特质。… 鸡汤先灌到这。那么要解决「我是否适合学编程」这个问题,我想先来跟各位弄清它每个部分的定义:什么是「适合」、什么是「编程」、什么是「学」。&/p&&br&&p&##02&/p&&p&在这三个部分里面,什么是「编程」应该是相对来说最好界定的一件事。当然我在这里谈的不是书本上的定义,而是主观上、经验上的认知,换句话说,你认为你想学习的那个使用电脑写一些东西出来的技能,究竟是什么。我在这里给出一个我自己的理解:编程技能就是**能够判断一件事能否用计算机解决**、并且能把它*恰当地*转化为一段程序的能力。注意这里有两部分,首先是分析和判断的能力,后面才是实现的能力。而许多朋友面对的现状是,无论编程课堂上还是教你自学的书籍,往往都是侧重于后面这半部分,但初学的时候困扰你的往往是前半部分。这里主要的原因是计算机发展到今天,编程能够实际解决的问题与最终计算机所执行的程序本身之间,经过太多层封装和抽象,联系已经非常不直观了。&/p&&br&&p&##03&/p&&p&在程序员们钟爱的网络漫画 xkcd 里面,有一张是这样的:甲在跟乙描述他想做的一个摄影 app,首先甲说,当用户用这个 app 拍照的时候,它应该能够判断用户是不是身处一个国家公园里面。乙说没问题,用地理信息系统来查一下位置就好,几小时搞定;甲接着说,app 还需要判断出用户拍摄的照片上是不是一只鸟,乙说哦,那我就需要一个研发团队,以及五年的时间。… 我们可以推定甲会提出这样的需求应该是不懂编程的。对于计算机来说,有些问题解决起来相当简单,哪怕它对于人类来说是很困难的,而另一些却正好相反。而学会编程的一个标志也就是能够判断出一个问题能否由编程来解决,并且对于要做的事情有一个不一定、但大方向没有错的概念。&/p&&br&&img src=&/v2-cd9c9dcb8c_b.png& data-rawwidth=&267& data-rawheight=&448& class=&content_image& width=&267&&&p&##04&/p&&p&接下来我想说一说什么叫「学」编程。现今编程涉及的领域数不胜数,从会计计算年度报表到会下棋的人工智能,从多功能电饭锅到汽车发动机的控制系统,生活中面临的能用编程解决的问题,其复杂程度变化非常大,寻找到恰当解决思路的难度也相差很多;而于此相对应的就是,在不同的领域里面,人们发明了各种各样不同的编程工具,来使得完成这个领域的专门任务变得更方便一点。那么,具体到你个人而言,如果你并不想从事计算机行业,只是想要获得编程这个技能的话,先辨认清楚自己所处的领域里面有哪些典型的问题可以通过计算机来解决,然后了解清楚哪些工具可以为你所用,乃至这些工具是怎样一个运作原理,其实就是在学编程了。换句话说,编程有很多种形式,比如你想给 Excel 写程序来减轻自己的工作量,做一些只靠编辑公式完成不了的复杂问题,也是一个非常靠谱的目标,并不是非要学会写网站或者手机应用才叫学编程。而基于刚才所说的编程两部分内容,学编程也可以分成「弄明白遇到一个问题怎样才能转化成写程序的思路」,以及「学会怎样才能又快又好地写出正确的程序来」这两件事。注意这两件事并没有固定的先后次序,一个人学编程的过程中,这两件事始终交织在一起,一方面弄清楚要解决的问题会帮助理解为什么工具是那样设计的,另一方面随着你越来越熟悉工具,分析问题也会越来越顺利。而学编程就正是这样一个工具和思路相互促进的过程,这个过程也可以叫做「建立编程思维」。&/p&&br&&p&##05&/p&&p&然后来说说「我适合学编程吗」里面「适合」的部分。不论要写什么程序,整个过程最开始都有点像学做饭或者开手动档汽车,刚上手没有什么概念的时候,很容易会被各种细节所淹没,会想说我靠,这种事情为什么头绪这么多,要弄得这么复杂呢?但是经过一段时间的练习之后,那些比较底层的、琐碎的事情,比如踩离合、换档,或者调整炉火的大小、切葱花之类,会变成一种条件反射,成为你要完成的一整串事件里面的一部分。你一生里早晚会经历类似的过程,就是学一件事情要一头雾水上一段时间,直到一个点才开始发现自己好像学会了。换句话说就是这件事的学习曲线在一开始比较陡峭。那你要问说你适合这个过程吗?其实大部分人都适合。当然,学习曲线的陡峭程度因人而异,但我相信来听这场 live 的各位和我一样,都是在正态分布曲线上面靠近中间的人。的确有天才会觉得编程是非常简单直接的一件事情,也的确有人可能学一辈子都一头雾水,就好像有很多人永远学不会做饭和开车一样,但我们大多数人付出足够的耐心、经过足够多的练习之后都可以,年龄、性别和数学水平在这里基本上没有什么影响。&/p&&br&&p&##06&/p&&p&我遇到的一个很常见的初学者的困扰就是「看不懂编程书」,包括教科书或者网上的教材。我记得有个朋友跟我说她想学编程,但打开教材感觉就跟天书一样,翻到最后一章也完全看不出学的这些东西有什么用,又跟最终她想做的事情有什么关联,简直要怀疑自己的智商。我问她那是本什么书,她说《C 语言程序设计》,作者谭浩强。于是我给她推荐了另一本适合她的书,后来她和计算机从此过上了幸福的生活。那么这个小故事告诉各位一个什么道理呢?如果你看不懂编程书,几乎唯一可能的原因就是你看的书不对。而看不懂一本编程书的最佳解决方案是什么呢?先去挑一本看得懂的。有没有一本编程入门书老少咸宜、适合所有年龄所有数学水平和所有背景的读者呢?有的,这本书叫做 Code: The Hidden Language of Computer Hardware And Software,中文版叫做《编码的奥秘》,作者是微软公司的程序员 Charles Petzold,今年六十三岁,写这本书的时候四十六岁,是一位真正意义上的中老年程序员。如果你只能从这场 live 里记住唯一一件事情,那么我希望是你记得我推荐过《编码的奥秘》这本书。&/p&&p&Code: The Hidden Language of Computer Hardware and Software &i&by Charles Petzold &/i&&/p&&p&Amazon: &a href=&/?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&中文版: &a href=&/?target=https%3A///subject/1024570/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&编码的奥秘 (豆瓣)&i class=&icon-external&&&/i&&/a&&/p&&img src=&/v2-358d9a16e168bc4d4b2c3b_b.jpg& data-rawwidth=&336& data-rawheight=&499& class=&content_image& width=&336&&&p&##07&/p&&p&那《Code》或者《编码的奥秘》讲些什么呢?要我概括的话,就是它用非常浅显和循序渐进的方法解释清楚了这样一件事情:那些给计算机编写出来的程序,*对于计算机来说*究竟意味着什么。也就是说,如果其他的编程书籍教给你的是怎样开车,这本书教给你的是发动机和变速器运行的原理;如果其他书教给你的是临床医学,这本书教给你的就是人体生理学和病理学。我看到一位朋友在 live 里想知道「英语写下的程序是怎样转换成计算机执行的程序的,执行程序的时候计算机里面又发生了什么」,这个过程要讲的话一小时讲不完,不过《Code》这本书就是为你以及每一个给这条留言点了赞的人所写的。当你把一共不到四百页的内容看完、看懂之后,你对整个程序的编译和运行过程就有比较完整的理解了,所需要弄清楚的只剩下具体在某个平台上、对于某种语言来说,每一步是由什么工具或者部件完成的而已。你可以把这本书当成「计算机科学及工程学导论」来读,读完之后再去看任何一本比较可靠的计算机语言入门教材都会变得很容易上手。&/p&&br&&p&##08&/p&&p&当然我也不否认,通过先读《Code》这本书,你所面对的是一条「自下而上」的学习路径,但并不是每个人都喜欢这种方法。或许你想要的,是先学会一点点立刻可以见到效果的什么东西,然后再多学一点能够加到这个东西上面,如此反复,最终得到生命的大和谐。你所谓的看不懂编程书,是指你不觉得书上写的东西对你有意义。当然这种情况其实也是看错了书,这样的心态也比较急功近利,但是我完全可以理解,因为我自己写下第一个程序的时候也根本不懂计算机怎么运作。我学编程的时候是在纸上写程序,那时候少年宫的老师告诉我,写了这句 LET A$ = 10 之后,A$ 这个变量就变成了10。我不知道 LET 在英语里是什么意思,不知道为什么 A 后面要加 $,也不知道变量变成 10 到底发生在哪里。可是那时候我小啊,还有大把的时间可以挥霍,我觉得这些事情可能跟很多其他事情一样,等我长大了就知道了。当时只想赶紧写一个程序在屏幕上画个什么图像出来。你去问大部分从小写程序的人,他们基本也都是先开始写,写到一个时间点上才因为积累了太多困惑而去主动看一些底层原理方面的书籍。学写作也不需要从文学理论学起,对吧?&/p&&br&&p&##09&/p&&p&又也许你会觉得自己一生也不想了解计算机的底层原理,就是想写个程序而已。那么抱着这样的心态应该怎么学编程呢?我的建议是去找个师傅。最理想的情况当然是一个活生生的人,住的离你不远,可以定期安排一定的时间来解答你的问题,并且他擅长的事情恰好是你想学习的,他不需要水平比你高出多少来,只要能教你一些你不会的东西就可以,你也不需要他给你解释得多么透彻。不过大部分人都不具备这个条件,那么替代的方案就是去看一些视频讲座,或者网上的互动课程。互动课程我学过 &a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&
和 &a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& ,这两个也是现在比较有名的在线教学网站,会把一些简单的编程技能用通关的方式组织起来让你渐进学习,比你自己看书来得快很多,而且印象也比较深刻。比如你想学 iOS 开发,等你在这两个网站上学完一两个课程,再去看相关的教材,就不会觉得非常难以读懂了。如果有什么问题,先自己 Google 一下或者去编程网站上提问,这整个过程都比较锻炼人,而且你得到的印象也很深刻。&/p&&br&&p&##10&br&&/p&&p&接下来要讲的是入门语言的问题。虽然前面在谈什么是学编程的时候我说,给 Excel 写程序其实也是编程没错,但我相信今天大部分来听这场 live 的朋友所想要接触的是比较狭义的、主要由职业程序员所做的编程活动,也就是通过学会使用一种泛用型编程语言,来建立编程思维。那么许多人感到困惑的一件事情就是,有这么多种编程语言,我到底该选哪一种。这个问题的答案并不困难,至少在你大概知道自己学编程是拿来做什么的时候,你面对的选择其实并不是很多,不过我们一会儿再讲这个,我想先灌输给,或者说告诫大家的一件事是:计算机语言理论从上世纪六十年代发展到今天,出现过许多思潮和尝试,每一大类语言背后,都有一套设计思路,每当你学一门新的语言,就会被那种思路影响,而接触不同的思路,会让你有全新的想法,对自己需要解决的问题,也会产生全新的认识。就好像你学会英语之后可以接触到全新的表达方式、乃至改变你的思考形式一样,当你的思维有所改变的时候,你就变成了不一样的人。所以尽量不要局限自己只去学一种编程语言,即便你是没有时间去学其他的语言,也千万不要认为自己学会的这一种,就是解决你的问题的唯一甚至是最佳方式。要警惕「学什么语言、用什么语言都一样」这种论调,这就好像说「穿什么衣服都一样」,其实是对你没什么好处的一种言论。&/p&&br&&p&##11&/p&&p&此外,编程语言只是整个程序开发里面的一个组成部分,你选择了一种编程语言,其实也会连带着选择上这种语言的开发工具、库、和社群,也就是一整套 ecosystem,生态系统。要我说不同生态系统里的人差别其实蛮大的,因为许多语言虽然说是一种泛用型语言,可是由于它的某个特质,或者纯粹就是历史原因,在某个特定的领域使用得特别广泛。比如说 C++ 之于游戏开发,Java 之于银行 / 金融业,Python 之于科学计算,R 之于统计学,PHP 或者 Ruby 之于中小型网站。上面提到的每一种语言都可以拿来干别的,比如你可以用 C++ 来写网页,用 R 来写游戏,用 PHP 做生物信息学,但是那样做的人总是少数。所以你选择了一种语言,就很可能会接触到一个特定的行业,面对到这个行业特有的领域问题,认识解决这些问题的人。这些人会影响你,有些影响可能是潜移默化的,你察觉不到,但是时间一长,偶尔接触另外一个社区,就会感受到这种不同。所以我的建议是,至少要学三种编程语言,你可以选择一种应用广泛的、静态类型的、可以用来写大型应用程序的语言入门,比如 Java 或者 C#,然后去学一学动态类型的、可以拿来写方便的小工具的语言,比如 Perl 或者 Python,然后比较它们的不同。两种都学得有点心得之后,第三种语言就可以按照自己的喜好随便挑了。&/p&&br&&p&##12&/p&&p&另一个常见的困惑是,包括有几位朋友留言提到,「为什么学了编程还是感觉什么都不会做」,或者「虽然学会了写程序还是只会照搬别人写好的程序」,甚至「我学了 X 和 Y 语言,但是过一阵子就忘记了」——造成这个状况的原因可以分成两方面:第一是使用频率不够。就像学英语一样,你记住了很多单词,语法也还不错,但是让你用英语写篇文章,就感觉无从下笔,为什么呢?因为读的太少,用的也太少。放在写程序这里其实也是一样的,如果你所接触过的程序就只有教材里的那些,哪怕你能把它们全都默写下来,也还是什么用都没有。它们在你的知识库里只是一个死重,还没变成你主动掌握的、可以熟练使用的技能。怎样才能完成这个转变呢?就跟英语写作一样:反复练习,反复阅读,**没有其他任何诀窍**。一个好的程序员和一个好的写作者一样都需要大量的练习和阅读。如果你不知道怎么开始,我可以推荐 &a href=&/?target=http%3A//projecteuler.net& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&projecteuler.net&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& , &a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& ,&a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 这三个网站。其中 Project Euler 很适合做练习,上面提供有五百多道题,从简单到困难都有,你就用你学的语言一道一道做下去,做不出来可以跳过做下一题。做上一些题目之后,你可以打开 Google,在搜索框里输入四个词: github project euler,加上你使用的语言,比如 python。然后你就可以在 GitHub 上找到全世界其他程序员解答这些题目的程序。对比一下他们写的和你写的有什么异同,谁写的好,如果人家写得好,你就照着抄一遍,把思路记下来。而 Codewars 这个网站也很适合各个水平的朋友,它上面的题目以称为 kata 的应用题为主,你也可以在上面看到其他人解答相同问题的代码。&/p&&br&&p&##13&br&&/p&&p&更何况写程序并不要求你有什么文采或者创意,能写出好的程序,九成是靠熟练。你刚学会四则运算或者微积分的时候,老师也布置了大量习题对不对?那请问你是四则运算比较熟练,还是微积分比较熟练呢?大部分人都是四则运算比较熟练。并不是因为微积分的概念有多难,而是因为你从学会四则运算到今天几乎每天都会用到。那如果你每天或者每周也都能写上几个 kata,你写程序的水准也就会慢慢提高了。所以说通过练习把编程能力内化成一个技能是一方面。而「学了编程感觉还是什么都不会做」的另一个原因是什么呢?答案是你对函数库和操作系统的了解还不够。除非是给单片机编程,写任何其他大部分程序的时候,你都需要用到各种库函数,以及做出各种各样要牵扯到操作系统的操作。什么是库函数呢?就是编程语言核心内容之外的附加功能。比如你学 C 或者 Python 或者 Java 或者很多其他语言的时候会注意到,你要算平方根或者正弦函数的时候需要使用一个叫做 math 的东西,比如写一句 include 或者 import math,然后你就可以用 sin 或者 sqrt 这两个函数了。那 math 在这里就是一个 library 的名字,或者有些语言叫 module,模块。这些词汇的意思其实都一样,就是有那么一组工具——或者你愿意把它想象成魔法咒语也可以——存放在一个仓库或者图书馆里面,等你要用到的时候,去从这个仓库拿出来用。除了数学库,我们还可能有 I/O 库,里面存着文件读写的一组工具,或者 socket 库,里面存着负责网络通讯的工具。&/p&&br&&p&##14&/p&&p&几乎每一种语言都在安装之后就自带一批库函数给你使用,这个自带的函数库一般叫做 standard library,标准库。常见语言里唯一的例外是 JavaScript,它除了一批常用的操作浏览器的函数之外差不多没有什么标准库。除了标准库之外,每一种语言也都有很多很多所谓 third party library,第三方库。编程语言自带的功能是一方,你自己写的东西是另一方,那其他别的人开发的功能你要拿来用,就是第三方了。基本上所有流行的编程语言之所以流行,就是因为它们有无数第三方的库可以用,而在你熟悉一门语言的基本语法之后,再去深入了解它的标准库和第三方库,是从初学者走向中等水平的最关键的一步。那要怎么才能深入了解库函数呢?做 kata 在这时候没有什么用处,因为能成为 kata 的问题主要是在训练你对算法和数据结构的理解,基本都会刻意避开调用到库函数。想要了解库函数的唯一方法是写一些实用程序。以前程序员们练手可能会写一个俄罗斯方块游戏或者图形界面的日历什么的,那现在网络时代了,大家都改为写什么网上留言本,搜刮网站信息的爬虫,或者静态网站生成器之类的,再高阶一点可以自己写个 HTTP 服务器。这些练习都很好,可以综合锻炼你编程的各个方面,尤其是加深对操作系统和网络协议的理解。&/p&&br&&p&##15&/p&&p&所以接下来我要说的一个话题就是操作系统。库函数里有很大一部分是在调用操作系统的功能,比如我们刚才提到的 I/O 库和 socket 库,并不是你使用的那个语言在直接跟文件系统或者网卡打交道,它们只是把你想做的事情转化成调用操作系统提供的函数接口而已。又比如让自己的程序显示一个窗口或者图形界面,这件事其实也是由操作系统完成的,你写几行程序说,我想要显示一个窗口,窗口里应该有一个标签和一个按钮,点了按钮之后标签上的文字就会有些变化,那除了点按钮之后标签应该变成什么这一部分需要你亲自操心,其他的事情都是你使用的语言去调用标准库或者第三方库,然后这些库再去让操作系统画那些窗口跟标签。当然你也可以直接调用操作系统提供的接口,不过这一般要求你使用 C 或者 C++,而且过程会比较麻烦,在每个操作系统上的细节也不太一样,比如 Windows 操作系统上面 CreateWindow 这个系统函数需要你提供十一个参数,显示一个窗口一般要二十几行,而你改用 C# 或者 Java 的话就变得简单很多,用 Python 就更是只需要写一行 a=Tk() ,五个字符。但你要明白,在这些更高级、更方便的编程语言特性下面,都要求有操作系统的支持,而你对操作系统的了解程度,也就会影响你分析和解决一个编程任务的能力。&/p&&br&&p&##16&/p&&p&七十年代 Pascal 语言的发明者 Niklaus Wirth 写了一本书,名字叫做《算法+数据结构=程序》 。这个标题实在太过经典,现在四十年过去了,还是有很多人,尤其是计算机科班背景的人,把这句话奉为圭臬。当然这个结论没有什么错,不过现代程序开发的具体工作里面,主要应用到算法和数据结构的部分比例很小,写程序的大部分时间和精力都花费在各个组件之间的接口上面:你的核心程序跟库之间怎么衔接,这个库跟那个库之间怎么衔接,程序库跟操作系统之间怎么衔接,操作系统跟网络之间怎么衔接。理解其他人写好的接口,让自己的程序使用这些接口,乃至开发你自己的接口让其他人使用——你开发的程序规模越大,花在这些事情上的时间也就越多,而这方面的知识和技巧,也要比算法加数据结构多出几个数量级。所以除了要重视算法和数据结构,你还要不断地学习这些东西。这件事听起来可能有点繁重,但首先你可以边做边学,其次如果能在学习的过程中找到乐趣的话就并没有那么糟糕。比如你有志于做一个网站或者游戏,那么一步步接近实现你的信念,就是你学习这些事情的乐趣。&/p&&br&&p&##17&/p&&p&所以你想做个网站或者游戏的话,应该学哪些东西呢?通常来说做网站要学 HTML / CSS 和一点 JavaScript,然后掌握一门传统意义上的编程语言,比如 PHP、Ruby、Python、Java,还需要了解浏览器跟服务器通讯的基本原理,此外很可能需要学一点 Linux 和服务器管理。只靠 业 余 时 间对所有这些东西有一个大致的、感性的理解有一两周就差不多,而深入下去学到每一个环节都能比较了解的地步,要大概一两年。然后取决于你所谓做个网站到底是要做一个什么样的东西出来,你还很可能需要接触到其实并不局限于网站方面的编程知识,比如负载平衡、数据库管理、中间件开发、并发控制、信息安全、乃至交互设计和平面设计。想做游戏的话就比较复杂了,游戏产业是一个上亿美元的工业领域,我在这一场短短的 live 里面能给各位介绍的非常有限,只能跟大家说,取决于你具体想在什么平台上开发一个什么复杂度的游戏,你所需要掌握的技能差别非常非常大。&/p&&br&&p&##18&/p&&p&比如你想在一个网页上做一个基于 canvas 的、图像非常简约——简约的游戏不一定不好玩——的小游戏,你只需要先学 HTML 和 JavaScript,一个礼拜也就差不多;但如果你想单枪匹马做一个横跨 PC、Mac、主机和移动终端的 3D 游戏,你很可能得跟 Unity 之类的引擎死磕上几个月才能刚刚摸到一点门道。而在这两个极端之间,你又有无数选择。比如你没有很多时间,也只有一台手机可以测试,就想开发一个 iOS 或者 Android 专属的平面游戏,然后也不需要支持在线多人对战,能在本地存个盘就好,这实际上是一个很合理的业余项目,那么你就需要先学习对应平台的程序开发过程,学习相对应的语言,Swift 或者 Java,然后理解一个手机程序的基本结构:什么是 view,什么是 controller,什么是 model,它们之间的关联何在,又怎么相互作用;然后你得开始研究平面绘图相关的函数库,弄清楚怎样把你想画的东西画到屏幕上去,并且在特定的条件下合理地移动它。这句话听起来很简单,但具体完成的话可能需要花掉你好几周的时间,顺便还要复习一下高中物理。然后你需要根据特定的条件组织场景出现消失,判定游戏胜利失败,乃至做出若干关卡来,这个过程里又要学会处理一些经典的系统软件开发问题,比如怎么样控制场景里对象的生命周期来减少内存消耗,或者怎么样合理地组织你要用到的图像和声音资源。为了创建一个好看的资源你可能还需要学一些常见的图像处理软件。&/p&&br&&p&##19&/p&&p&如果你能走到刚才说的这一步,你应该可以做一个 flappy bird 出来。然后你可以回顾一下自己付出的精力,总结一下经验,再朝下一个目标进阶。又或者你可以试着直接上手 Unity,先在电脑上写出一个能跑的游戏来,再想办法把它放到你的手机上。但不管怎样,你还是会遇到很多疑难,毕竟游戏开发是一条比较崎岖的道路,能坚持下去的人不是很多,大部分人都是经历了一个《从入门到放弃》的过程,包括我自己。不过越困难的道路也就越锻炼人,各位如果有 fo 知乎上的叶劲峰(Milo Yip)的话,应该能对做游戏开发的顶级程序员是什么水准有一个感性的认识。… 时间所限,关于开发游戏的部分先说到这里,对此感兴趣的知友不妨在知乎上搜索一下「独立游戏开发如何入门」这个问题。… 接下来要说的是一个可能会困扰一部分朋友的话题,那就是我要是投入大量时间精力学上一门语言,以及我上面说的,选择的这个生态系统,到底能保值多久?比如我本来想学 Java,可是看到吴涛你在知乎上回答过「为什么一说 dot Net 跨平台,就有人喊
Java 去死」,答案还被顶那么高,我学一个要去死掉东西干什么呢?… 首先我要向你隆重介绍程序员界的一个恶劣风气:喜欢滥用「死」这个字。这不是我们中文使用者特有的习惯,你去 Google 一个语言名或者技术名加上「is dead」/「is dying」可以搜出一大堆结果来。而这些文章一般在说什么呢?其实就是一些不太好的发展苗头,或者这个技术在某个领域里面竞争不过其他对手。&/p&&br&&p&##20&/p&&p&一个已经站稳脚跟的、出过一堆教材的、背后有财团支持的技术就像病毒一样很难死掉,最多就是工作变得难找了,像硬件那样几乎一夜之间完全从市场上消失的事件从来没有发生过。比如 Delphi,或者叫 Object Pascal ——现在很多新晋程序员都没听说过这门语言,更无法想象在九十年代的时候这门语言在全世界范围有多火,但现在你很难找到一个每天的工作就是写 Delphi 的程序员了,至少在国内,数量一定比骑摩托跑车的美女要少。可是 Delphi 死了吗?并没有。Delphi 现在所属的公司,中文名很帅叫「易博龙」,还是在隔几个月就推出一个新版本,Delphi 程序员来验证自己不是在梦境里的网站 &a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 上面还是显示着一个大大的 NO。只要还有些公司维护着虽然旧了但是运转良好的 Delphi 程序,就总还有 Delphi 编程的工作可以做。况且 Delphi 衰落至少花了五到八年时间,已经足够 Delphi 程序员们从容转行了。那你学 Java 也是一样。虽然 Java 在浏览器里完蛋了,在桌面程序这里基本上也是大势已去,但在服务器上它还是活得好好的,全世界几乎每一家银行的 IT 系统,还有十几亿台 Android 手机上都跑着 Java。在你的有生之年,好吧,在我的有生之年,Java 都不会真正死掉,你学会了 Java,至少还能靠它吃上二十年饭。只不过可能那些写 Haskell 或者 C++ 的人会觉得他么比你牛屄,但是活在鄙视链的中下层又有什么问题呢,我们大多数人本来就是活在社会鄙视链的中下层。况且你下面还有 PHP 和 Visual Basic 程序员垫底。&/p&&br&&p&##21&/p&&p&当然,「技术能保值多久」还有另外一层含义,就是你在学习编程技术时所学习到的一部分编程理念,一套工作流程、做某件事的方法,某个特定的工具,能够被你使用多久。这一点上业界的变化的确比较快。十年前的人们写的 Java 跟现在的人们写的 Java 差别已经不小了,语言本身有变化,新的语言特征出现,旧的写法少见了;周边的生态环境有变化,旧的第三方库没有人维护,新的第三方库出现了;书写、编译和测试软件工程的工具也有发展。在前段开发领域这个更迭的速度更是快得夸张,也许半年前还人人都在谈论的 JavaScript 框架和工具,现在看来就已经注定要被抛弃了。一般来说,历史比较长的技术变化得慢一点,而相对新的东西就变得快一点,有些技术是冰川,另一些是河流,但完全不变的技术不存在。这一点上学习写程序肯定不能跟土木工程或者律师行业的专业知识相比。那我们怎样应对这个问题呢?答案是要注意区分快知识和慢知识。不依赖于某个特定语言和工具的知识就是慢知识,算法跟数据结构更新得最慢,架构的理念,设计模式这些,相对也很慢。而某一个专门的库,特定的什么框架,就不要太指望学习它能用很久。当然这里总也是有例外的,比如经典的一些 C 库,像 PCRE、cURL,或者几个经典的编辑工具,像 Vi、Emacs,都是能用一辈子的东西,你要自己留个心眼去注意哪些技术值得你长期投入。&/p&&br&&p&##22&/p&&p&不过学习写程序的乐趣也就在这里,你知道自己涉猎的是一个还年轻的工业领域,每天都会有新鲜事物出现,它推动着你不断认识新东西,不断练习,不断提高自己。有时候也难免会厌倦,不过这只能说明你需要休假了,出去玩一圈回来就还是能重新拾起兴趣。而且你学到的东西在日常生活里经常也会有用处,比如自动化一些批量处理文档的工作,或者刷个火车票,抢个月饼——只要你别搞砸了被开除——又或者配合 Arduino 之类的单片机做一个传感器,如果土太干了就自动给花浇水之类的。The Internet of things,物联网的时代渐渐到来了,日常生活里越来越多的东西会被塞一个芯片进去,很多东西会变得可编程,就算你不能或者不会给它写程序,你也不至于觉得它们的原理有多神秘,同时对很多基本的安全问题也会有点概念。我看到有朋友问自己的职业是否会被程序替代,这个问题详细讨论的话比较复杂,不过笼统地说,任何专业知识只要能从计算机科技里得到帮助,从业者就应该去掌握一点编程的知识来理解计算机可能对你的职业造成什么样的冲击,然后对这样的冲击有所应对。从这一点上来说,学写程序教给你的核心知识体系和编程思维永远会派上用场。&/p&&br&&p&##23&/p&&p&在进入互动问答之前的最后两个问题是:「为什么我提出的编程问题无人解答」和「我该去哪里寻找学习资源」。这两个问题其实有点重合,所以我把它们放在一起来讲。问题没人解答一般有两种可能,一是没有把事情描述清楚,二是问错了地方。把事情描述清楚,意味着使用准确的术语、给出恰好足够的背景环境、告诉别人你已经做了哪些尝试,最后,如果别人需要点一下才能看到你的问题,请记得给你的问题起一个合适的标题。能够熟练使用准确的术语是建立编程思维的基本功,现在最先进的编译器也没办法自动纠正你用错的关键字对不对,那如果你想无误地把一个问题描述给别人,最好也能用精确的措辞,这样别人理解起来才不会有困难。如果你不确定一个东西叫什么,很可能意味着应该先去把那个概念搞清楚。… 给出恰好足够的背景是说,如果有一个地方出了问题,提问时不要只贴出问题的那一句地方,也不要把你的整个代码都贴上来。就像问别人某个英文句子是什么意思,节选那句话所在的那一段出来,站在别人的角度考虑一下,能不能读懂,然后再贴出来。… 告诉别人你做了哪些尝试也很重要,你在提问之前读过文档吗? Google 过吗?用百度不算。那至少解答者能看到你努力过了,不是伸手党。&/p&&br&&p&##24&/p&&p&起标题也是个学问,我写文案的时候随手去知乎点了一下,就看到「帮忙看一下新手小白的JavaScript代码,没有错误却无法实现功能?感激不尽。」这样一个标题。它很难会激发人的兴趣点进去,虽然看起来谦虚又礼貌。不要在标题里跪求,不要自称小白,也不要叫别人大神,简明扼要地概述你的问题,可是写成比如「一个内存管理的问题?」这样太过泛化的题目也很傻。如果你想不出标题,就先把问题的细节写好了,再试着抓住最核心的部分当标题。如果你做到了上面说的这些,这个问题就很有可能得到一个答案,前提是你问对了地方的话。哪些地方适合问问题呢? 差不多就只有 &a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 。如果你还不知道这个网站的话,它是全球程序员的救命稻草。前面我们提到的编程等于算法加数据结构,那有人开玩笑说编程其实等于英语加上 Stackoverflow。一般来说,作为一个初学者,你遇到的问题99%的可能性已经被人在 Stackoverflow 上面问过了,你要做的只是用合适的关键字搜寻到它上面的答案,实在找不到了再提问。所以这就涉及到一个英语好不好的问题。英语不过关的话遇到编程问题就比较困难,当然中文社区有 &a href=&/?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& ,但感觉效果还是差了很多。&/p&&br&&p&##25&/p&&br&&p&而 Stackoverflow 的另一个用处就是寻找学习资源。如果你想去学习某个技术,请 Google &stackoverflow learn& + 那个技术的名称。一般来说不会让你失望的。而当你入门之后想要定期获得一些相关的新闻,可以搜寻技术名称 + newsletter,通常比较时兴和活跃的技术社群都有这样可能一周一封的电子邮件,会把一些流行的新闻寄给你。比如我订了 golangweekly,每周一封 Go 语言的新闻信,还有 This Week in Swift,是 Swift 语言的 newsletter。我觉得这是一个很好的方式,因为这样会不断有新的资源被推到邮箱里,哪怕我一时没空去读,事后追一追也总会看到新东西。… 我本来想就寻找资源这个话题再多准备一点内容,不过感觉如果各位能按照上面说的这个去找了,其实已经相当足够了。就其实资源太多会造成一种迷惘,比如你要学算法,能把 Thomas Corman 那本 Introduction to Algorithms 一口气读完,要比一下子下载到几百本讲算法的书每一本只读第一章强得多。我们可能经常会面对一种对于资源过时或者匮乏的恐慌,在掌握快知识的时候这样的觉悟是有益的,但在学习慢知识的时候,还是应该学会控制自己的贪婪,一次一本能读懂的书,读完再换另一本。&/p&&p&- - -&/p&&p&最后为各位 live 主持人提供一个 tip:如果想把预先准备好的音频发到知乎 app 中(由 iPhone 的麦克风拾取),可以拆掉一根普通音频线(TRS 接头),在左或右声道线上接一个 1kΩ 的电阻,连接到手机接头的录音线上(iPhone

我要回帖

更多关于 魔兽争霸英雄技能 的文章

 

随机推荐