书签太多,怎么设置让书签只显示icon,怎么安装本地应用yslow firefox打开个人中心有时会一直自动刷新那

知乎处女答。&br&&br&Disclaimer:答者是Google员工。非招聘部门。一切言论为个人观点,与官方无关。一切信息来源届来自网络,不含内部机密信息。如果Google compliance部门同僚对这个答案有意见,请联系本人修改。&br&&br&前小部分为吐槽,后大部分为干货。会把我个人的理解和网络上的信息整合为一个guide。&br&&br&&br&目录:&br&&ul&&li&吐槽&br&&/li&&li&干货&br&&/li&&/ul&&ol&&li&Google有什么职位?&br&&/li&&li&Google在公开招聘什么职位?&br&&/li&&li&Google有内部推荐计划吗?&br&&/li&&li&内部推荐和自己网递申请有什么不同?&br&&/li&&li&我是学渣,GPA很低,有机会吗?&br&&/li&&li&递完简历后是什么步骤?面试是什么流程?&br&&/li&&li&是谁作出录取/不录取的决定?&br&&/li&&li&整套流程需要多少时间?&/li&&li&应该如何准备面试?&/li&&li&怎样使我的简历突出?&/li&&li&没被录取,怎么办?以后还有机会吗?&/li&&li&楼主的补充问题&/li&&li&传说中Google的Benefit真的有那么逆天吗?&br&&/li&&/ol&&br&-----------------------------------------------------------------------------------------------------------&br&&b&吐槽:&/b&&br&&br&你的问题&b&&u&不是问题&/u&&/b&。&br&&br&怎样去Google工作,是指怎么坐车去?还是怎么报名递简历?还是询问要怎样的自身条件?楼主你不说我怎么知道你在问什么?我甚至都不知道你几岁,是学生还是应届毕业生还是工作人士,你想找的工作是工程师还是销售还是打扫Google办公室的清洁工,很难作答。&br&&br&&b&&u&要想得到一个好答案,先从一个好问题开始。&/u&&/b&&br&&br&而如果你能问出好问题,通常也不需要他人来知乎作答了,因为你的问题很可能在网上已经被address过。&br&&br&引用 &a href=&/people/cici& class=&internal&&珵cici&/a& 的话,‘先去用Google搜索这个问题。无论对什么职业来说,「自行搜集信息的能力」都很重要。’ 如果你无法向Google证明你的自行搜索和学习能力,Google是一定不会要你来工作的。&br&&br&怎样的问题我认为是可以接受的?&br&我是XX大学软件工程系大二生,想去Google报工程师职位。请问我应该把重点放在学习哪种语言上?Google招聘工程师最看重哪些特质?&br&我是从业XX行业的市场营销,想去Google从事marketing工作,但是我没有科技公司工作经验。请问我的背景可以申请吗?适合Google里哪个level的职位?我需要证明我的什么能力?&br&&br&换句话说,你的问题必须够具体,够私人,你得到的答案才能帮助到你。&br&&br&&b&--------------------------------------------------------------------------------------------------------------&/b&&br&&br&&b&以下是干货&/b&。 持续更新&br&&br&我决定整理一套&u&相对清晰易读&/u&的指南,便于有心报Google的人作为参照。&br&&br&&i&1. Google有什么职位?&/i&&br&&br&&b&官网:&/b&&a href=&///?target=http%3A//.hk/about/careers/teams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Teams and Roles&i class=&icon-external&&&/i&&/a&&br&&br&分三类: &br&Build Cool Stuff: 硬件、软件工程师,产品经理,Google X等。&br&Sell Cool Stuff: 销售,运营等。&br&Do Cool Stuff: 行政,法律,市场,招聘,公关,人事,财务等。&br&&br&具体职能上 &a href=&///?target=http%3A//.hk/about/careers/teams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Teams and Roles&i class=&icon-external&&&/i&&/a& 看。&br&&br&&br&&br&&i&2. Google在公开招聘什么职位?&/i&&br&&br&&b&官网:&/b&&a href=&///?target=https%3A///about/careers/search/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/about/career&/span&&span class=&invisible&&s/search/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&选择地点或职位就可以搜索出所有公开招聘的职位。用户体验很好,职位介绍详细很准确。&br&&br&另外,在如linkedin等招聘/职业社交网站上会出现&u&部分&/u&Google公开招聘的职位。我个人感觉通常这些在其他网站显示的职位的空缺会比较多,或是Google需要迅速fill head count,所以招的人会比较多。&br&&br&&br&&br&&i&3. Google有内部推荐计划吗?&/i&&br&&br&&b&有。Google非常看重,并且鼓励Referral。&/b&员工只要成功Refer一位最终被录取的candidate,就能得到奖励 。换句话说,如果你有认识在Google工作的人,而他同时认为你确实是有这个能力的话,通常Google员工是很乐意帮忙Refer你的。&br&&br&所以说,如果你真的很想来Google工作,可以多发展这方面的社交。比如LinkedIn上搜索校友,或是参加Google的校招活动认识recruiter和/或员工。&br&&br&Google内部推荐你的人需要填Referral form,上面有很多类似他会怎么评价你,怎么证明你的领导才能等问题 (抱歉,具体问题不能公布)。如果要找人refer的话,确保你让他充分了解你自己,这是对双方的负责。&br&&br&我便是被内推进入Google的,这里夹私货大力感谢某安同学!!(不确定她是否想被mention我就先不实名了,她也上知乎的)。&br&&br&&br&&i&4. 内部推荐和自己网递申请有什么不同?&/i&&br&&br&&b&内部推荐很可能会加速你的申请过程,但很小可能增加你被录取的成功率。&/b&&br&&br&&br&每天投简历到Google的人是很多很多的。Recruiter每天要看成千上万份通过网上递交的简历,看到你的那份时都不知道猴年马月了。何况,你真的确定你的简历能在上万份简历里stand out?&br&&br&这时referral就能帮你了。内部规定recruiter必须在收到referral的一周内review你的简历,必须在两周内给出答复。换句话说,你算是插队了。&br&&br&可是这不能提高你被录取的成功率,实力不行的人也只是插队被拒。整个interview和review process都是一样的。最终决定录取与否的始终是你的背景,能力,和面试表现。&br&&br&&br&&br&&br&&br&&br&&i&5. 我是学渣,GPA很低,有机会吗?&/i&&br&&br&&b&有! &/b&Google有可能是全世界最不看重GPA的公司了。Google People Op老总 Laszlo Bock自己说过,Google通过多年统计和研究发现,GPA和个人成功的correlation极小。链接:&a href=&///?target=http%3A///how-google-hires-people-2013-6& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Google HR Boss Explains Why GPA And Most Interviews Are Useless&i class=&icon-external&&&/i&&/a&&br&&br&Google最看重的一点,自然是 --- 你的能力。&br&&br&至于能力怎么体现?可以通过GPA体现(专业能力,学习能力)。如果无法通过(渣)GPA体现,那就通过其他途径体现。什么途径?自己想去。想不到说明没有。&br&&br&工程师体现的途径就是你的coding skill。coding skill的体现在与你参加过的个人/团体项目,github上的协同项目,学校的研究项目,面试时的当场表现。其他所有方面几乎都不重要,唯一重要的就是你的coding skill;能力强,Google能包容一切,包括你的GPA,毕业院校,专业,甚至你不是本科生都无所谓。&br&&br&非工程师职位,如果是非应届生招聘就看工作经历;如果是应届生招聘,看重的是 soft skills,如沟通能力,领导能力,学习能力 - 这点很重要,因为互联网科技是个极速发展的行业,一年后的产品和生态可能跟现在完全彻底不一样,只有具备高度自学能力的人才能适应。&br&&br&&br&&br&&i&6. 递完简历后是什么步骤?面试是什么流程?&/i&&br&&br&在glassdoor上有大量的信息,都是经历过面试的人(成功与否)留下的信息。&br&&a href=&///?target=http%3A///index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Glassdoor – an inside look at jobs & companies&i class=&icon-external&&&/i&&/a&&br&&br&以下讯息皆来自网络,请compliance同僚不要找我麻烦 :)&br&&br&通过最初步的CV Screening (简历筛选)后,会有大于等于&b&5轮的面试&/b&,和&b&3轮的review&/b&。&br&&br&没有内部推荐的话,CV Screening往往是最难的一步。&br&&br&前两轮通常是telephone screening,通常一个来自你报的team里的某人,一个来自Recruiter,也就是接下来会管理你整个application的人。这两个telephone screening有可能是&b&cold call&/b&,也就是没有预约的情况下打来。这意味着你在投简历后的一段时间内都要时刻准备着会被Google的人突然打来。同时也意味着你必须对你的简历熟悉到能顺着背,倒着背,跳着背,倒着跳着背..
&br&&br&这两次telephone screening的重心会放在你的简历上 - 一切你写出来的经历都会被question followed by question。如果报的是软件工程师,很有可能会让你马上在电脑前开一个google doc然后在30分钟内写代码回答问题。&br&&br&Recruiter对screening的满意的话,就会邀请你去最近的Google Office进行on-site interview了。通常会3场面试一起安排在office。不一定每个interviewer都会在办公室,可能3个interviewer都不在。不在的会通过视频和在办公室的你进行面试。面试官有可能是你将来的manager,有可能是你将来的同事,也有可能是其他team的manager。Google希望得到多方面人的意见。&br&&br&面试内容:工程师职位会非常focus在coding skills,会被考算法,并且会被要求当场用纸笔写代码回答问题。非工程师职位的问题就focus在你报的职位相关product,knowledge或experience上。具体问题要分职位,我不可能全了解,上glassdoor搜索相应职位的interview review会准确很多。另外,interview时可能会问一些brain teaser。&br&&br&当全部的interview都完成后,recruiter会联系你并问你要更多的信息,如推荐信,学习成绩单,以及你做过的经历的证明或补充。每个interview过你的人都会写出他们对你的feedback,以及打给你一个分数。Recruiter会把所有人的feedback和分数,和你的简历,补充资料,推荐信等等所有资料整理为一个package,接着把这个package发到美国总部的3个committee做review。&br&&br&官网上的
&a href=&///?target=http%3A///about/careers/lifeatgoogle/hiringprocess/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&How we hire - Google Careers&i class=&icon-external&&&/i&&/a&&br&&br&&br&&i&7. 是谁作出录取/不录取的决定?&/i&&br&&br&&b&Base在美国的hiring committee&/b&。上文说到的package会被发到committee,committee中人会定时开会并讨论每一个被发过来的case。前面说过面试官会打分,平均分低的就直接被刷,平均分中等以上的就会开始case by case讨论,直到大家同意这个case是hire or no hire。无法统一意见的case可能会被退回给recruiter,然后recruiter可能会去collect more information如加多一轮interview。&br&&br&过了hiring committee的人会进入compensation committee,这些人会决定要给你怎样的compensation package啦。&br&&br&最终会进入executive committee,也就是公司的高层老大们。他们会把所有的information最终review一次,并判断这个candidate的quality符合不符合公司长久的招人质量。&br&&br&Exe committee也过了就大功告成了。recruiter很快就打电话来了 :)&br&&br&&br&&i&8. 整套流程需要多少时间?&/i&&br&不等,短则2个月,长则6个月以上。&br&&br&&br&&br&9. &i&应该如何准备面试?&br&&/i&&br&转载一下官网 &a href=&///?target=http%3A//.hk/about/careers/lifeatgoogle/hiringprocess/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&How we hire - Google Careers&i class=&icon-external&&&/i&&/a& 上的说法吧,方便被墙的知友:&br&&br&Leadership&p&We’ll want to know how you’ve flexed different muscles in different situations in order to mobilize a team. This might be by asserting a leadership role at work or with an organization, or by helping a team succeed when you weren’t officially appointed as the leader.&/p&&br&Role-Related Knowledge&p&We’re looking for people who have a variety of strengths and passions, not just isolated skill sets. We also want to make sure that you have the experience and the background that will set you up for success in your role. For engineering candidates in particular, we’ll be looking to check out your coding skills and technical areas of expertise.&/p&&br&How You Think&p&We’re less concerned about grades and transcripts and more interested in how you think. We’re likely to ask you some role-related questions that provide insight into how you solve problems. Show us how you would tackle the problem presented--don’t get hung up on nailing the “right” answer.&/p&&br&&br&Googleyness&p&We want to get a feel for what makes you, well, you. We also want to make sure this is a place you’ll thrive, so we’ll be looking for signs around your comfort with ambiguity, your bias to action and your collaborative nature.&/p&&br&&br&&br&Again,建议有心了解面试准备的同学上Glassdoor,上面资料更齐全而且更role-related。&br&&br&&br&&br&&i&10.怎样使我的简历突出?&/i&&br&&br&Google对简历要求不死板。常规的CV OK,带有创意的也很能接受。但简历不要超过一页。重点突出你的skills,重点突出你的accomplishment,能用数据体现出来最好!&br&&br&有人把简历做成这样:&br&&img src=&/d3c9b852d2_b.jpg& data-rawwidth=&590& data-rawheight=&805& class=&origin_image zh-lightbox-thumb& width=&590& data-original=&/d3c9b852d2_r.jpg&&&br&&br&更是有个哥们,为了得到一份marketing的职位,花了3000美刀做了一个please hire me的网页&br&&a href=&///?target=http%3A//googlepleasehire.me/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Google, please hire me. Matthew Epstein.&i class=&icon-external&&&/i&&/a&&br&逗逼的是他最终interview后被拒了。&br&&br&结论就是,creativity有用,可最终要靠还是硬实力。&br&&br&&br&&i&11. 没被录取,怎么办?以后还有机会吗?&/i&&br&&br&&b&有的。&/b&Google会保留每一个人的档案。专门有一个招人的team是负责找回以前interview过的人并重新assess。&br&&br&&br&&br&&i&12. 楼主修改后新增的问题):1.你要多强(具体化的描述)才能荣幸加入Google. 2. 你为去Google做过什么努力,或者什么努力帮助你去Google.&/i&&br&&br&进入Google的方式没有公式,不同类型人可以通过不同途径进入。我猜测楼主是个学生?那答案自然是 -------
好好读书。考上个好大学是一个好的开始。找到自己热爱的领域,&b&并成为这个领域的顶尖人物&/b&。如果热爱CS,就大量参与project并成为顶尖coder。如果热爱marketing,就大量参与各种市场活动并成为顶尖marketer。如果热爱sell stuff,就成为顶尖sales。Google是一个很大的公司,&b&几乎任何人都能在这找到位置,只要你在你的领域足够优秀&/b&。楼主说“崇拜肯 汤普逊”,那看来是学IT的?那简单的回答就是成为一个极好的coder,做出过自己的产品,参与过学校的研究,协同过github的项目等等。我不是IT出身,很抱歉不能更加具体地回答你的问题。如果之后看到有好的回答我会转发上来的。&br&&br&我为去Google做过什么努力么..
我特别热爱sell cool stuff。一眼便看上我现在这个职位 (sorry不方便透露,只能说是跟AdWords相关)。我请求在美国Google总部的朋友反复帮我修改我的CV,然后请她帮我写referral。因为我的背景跟互联网科技以及AdWords半点关系都没有,为了证明我的认真程度和能力,我在面试前阅读了很多关于AdWord的文章和product info,并考完了GCP。可能这点impress到了我的interviewer吧?所以关键就是热爱,对产品也好对Google也好对工作性质也好,&b&足够热爱导致的足够努力就会为你创造足够的能力和机会。&/b&&br&&br&&br&&br&&br&&i&13. 传说中Google的Benefit真的有那么逆天吗?&/i&&br&&br&比传说中还逆天。&br&&br&(图片皆来自网络)&br&&br&免费三餐:&br&&img src=&/32f01ec48bc0cde3e804f77_b.jpg& data-rawwidth=&634& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&634& data-original=&/32f01ec48bc0cde3e804f77_r.jpg&&&br&&br&免费零食,水果,饮料,果汁:&br&&br&&img src=&/2cd8bcc7961efc66f27dd0ed_b.jpg& data-rawwidth=&640& data-rawheight=&360& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&/2cd8bcc7961efc66f27dd0ed_r.jpg&&&br&&br&办公室内有按摩:&br&&img src=&/50b002bbdf558bcc81ec7f_b.jpg& data-rawwidth=&600& data-rawheight=&415& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/50b002bbdf558bcc81ec7f_r.jpg&&&br&&br&有理发:&br&&img src=&/2fa8c62342bfa61efe3a01f_b.jpg& data-rawwidth=&400& data-rawheight=&265& class=&content_image& width=&400&&&br&&br&有得耍:&br&&img src=&/02fee4de32b0d80e0e6b_b.jpg& data-rawwidth=&500& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/02fee4de32b0d80e0e6b_r.jpg&&&br&&br&有得睡:&br&&br&&img src=&/4dd20d671f50f49beb386f27be2975bf_b.jpg& data-rawwidth=&500& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/4dd20d671f50f49beb386f27be2975bf_r.jpg&&&br&&br&Reception是这样的:&br&&img src=&/3f42c3168cef5adc75ed61b8a98a4876_b.jpg& data-rawwidth=&594& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&594& data-original=&/3f42c3168cef5adc75ed61b8a98a4876_r.jpg&&&br&&br&下楼是这样的:&br&&img src=&/cffb_b.jpg& data-rawwidth=&818& data-rawheight=&546& class=&origin_image zh-lightbox-thumb& width=&818& data-original=&/cffb_r.jpg&&&br&&br&&ul&&li&母亲有18星期的产假,父亲有4星期的产假。&/li&&li&小孩出生后Google报销奶粉钱。&/li&&li&员工的health,dental,vision保险同时包括员工的丈夫妻子和小孩。&/li&&li&如果员工在Google工作期间去世了,员工的另一半和孩子会得到员工5-10年的年薪。&/li&&li&每年圣诞节Google送给全体员工Chromebook、手机或平板。2010年更是每人发了1000美刀和全体员工10%的 raise。&/li&&li&可以带狗上班。&/li&&/ul&&br&Benefits真的太多了,再说就太拉仇恨了。
知乎处女答。Disclaimer:答者是Google员工。非招聘部门。一切言论为个人观点,与官方无关。一切信息来源届来自网络,不含内部机密信息。如果Google compliance部门同僚对这个答案有意见,请联系本人修改。前小部分为吐槽,后大部分为干货。会把我个人的理…
更新,由于经常接到私信要求在这个书单之内再推荐两三本,每个人的行业背景也不一样,所以就把下面的书单归类整理一下。&br&&br&入门读物:&br&&ol&&li&&a href=&///?target=http%3A///subject/5257905/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入浅出数据分析 (豆瓣)&i class=&icon-external&&&/i&&/a& 这书挺简单的,基本的内容都涉及了,说得也比较清楚,最后谈到了R是大加分。难易程度:非常易。&/li&&li&&a href=&///?target=http%3A///subject/3283973/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&啤酒与尿布 (豆瓣)&i class=&icon-external&&&/i&&/a& 通过案例来说事情,而且是最经典的例子。难易程度:非常易。&/li&&li&&a href=&///?target=http%3A///subject/5269219/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&数据之美 (豆瓣)&i class=&icon-external&&&/i&&/a& 一本介绍性的书籍,每章都解决一个具体的问题,甚至还有代码,对理解数据分析的应用领域和做法非常有帮助。难易程度:易。&/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&数学之美 (豆瓣)&i class=&icon-external&&&/i&&/a& 这本书非常棒啦,入门读起来很不错!&br&&/li&&/ol&数据分析:&br&&ol&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SciPy and NumPy (豆瓣)&i class=&icon-external&&&/i&&/a& 这本书可以归类为数据分析书吧,因为numpy和scipy真的是非常强大啊。&br&&/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python for Data Analysis (豆瓣)&i class=&icon-external&&&/i&&/a& 作者是Pandas这个包的作者,看过他在Scipy会议上的演讲,实例非常强!&br&&/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bad Data Handbook (豆瓣)&i class=&icon-external&&&/i&&/a& 很好玩的书,作者的角度很不同。&/li&&/ol&适合入门的教程:&br&&ol&&li&&a href=&///?target=http%3A///subject/3288908/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&集体智慧编程 (豆瓣)&i class=&icon-external&&&/i&&/a& 学习数据分析、数据挖掘、机器学习人员应该仔细阅读的第一本书。作者通过实际例子介绍了机器学习和数据挖掘中的算法,浅显易懂,还有可执行的Python代码。难易程度:中。&/li&&li&&a href=&///?target=http%3A///subject/6962285/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning in Action (豆瓣)&i class=&icon-external&&&/i&&/a& 用人话把复杂难懂的机器学习算法解释清楚了,其中有零星的数学公式,但是是以解释清楚为目的的。而且有Python代码,大赞!目前中科院的王斌老师(微博:
王斌_ICTIR)已经翻译这本书了 &a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&机器学习实战 (豆瓣)&i class=&icon-external&&&/i&&/a&。这本书本身质量就很高,王老师的翻译质量也很高。难易程度:中。我带的研究生入门必看数目之一!&/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Building Machine Learning Systems with Python (豆瓣)&i class=&icon-external&&&/i&&/a& 虽然是英文的,但是由于写得很简单,比较理解,又有 Python 代码跟着,辅助理解。&/li&&li&&a href=&///?target=http%3A///subject/5377669/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&数据挖掘导论 (豆瓣)&i class=&icon-external&&&/i&&/a& 最近几年数据挖掘教材中比较好的一本书,被美国诸多大学的数据挖掘课作为教材,没有推荐Jiawei Han老师的那本书,因为个人觉得那本书对于初学者来说不太容易读懂。难易程度:中上。&/li&&li&&a href=&///?target=http%3A///subject/7906768/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning for Hackers (豆瓣)&i class=&icon-external&&&/i&&/a& 也是通过实例讲解机器学习算法,用R实现的,可以一边学习机器学习一边学习R。&/li&&/ol&&br&稍微专业些的:&br&&ol&&li&&a href=&///?target=http%3A///subject/3916225/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Introduction to Semi-Supervised Learning (豆瓣)&i class=&icon-external&&&/i&&/a& 半监督学习必读必看的书。&br&&/li&&li&&a href=&///?target=http%3A///subject/4063191/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Learning to Rank for Information Retrieval (豆瓣)&i class=&icon-external&&&/i&&/a& 微软亚院刘铁岩老师关于LTR的著作,啥都不说了,推荐!&br&&/li&&li&&a href=&///?target=http%3A///subject/6440223/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Learning to Rank for Information Retrieval and Natural Language Processing (豆瓣)&i class=&icon-external&&&/i&&/a& 李航老师关于LTR的书,也是当时他在微软亚院时候的书,可见微软亚院对LTR的研究之深,贡献之大。&/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&推荐系统实践 (豆瓣)&i class=&icon-external&&&/i&&/a& 这本书不用说了,研究推荐系统必须要读的书,而且是第一本要读的书。&/li&&li&&a href=&///?target=http%3A///subject/3722993/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Graphical Models, Exponential Families, and Variational Inference (豆瓣)&i class=&icon-external&&&/i&&/a& 这个是Jordan老爷子和他的得意门徒 &a href=&///?target=http%3A///search/Martin%Wainwright& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Martin J Wainwright&i class=&icon-external&&&/i&&/a& 在 Foundation of Machine Learning Research上的创刊号,可以免费下载,比较难懂,但是一旦读通了,graphical model的相关内容就可以踏平了。&/li&&li&&a href=&///?target=http%3A///subject/3696989/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Natural Language Processing with Python (豆瓣)&i class=&icon-external&&&/i&&/a& NLP 经典,其实主要是讲 NLTK 这个包,但是啊,NLTK 这个包几乎涵盖了 NLP 的很多内容了啊!&br&&/li&&/ol&&br&机器学习教材:&br&&ol&&li&&a class=& wrap external& href=&///?target=http%3A///subject/3294335/& target=&_blank& rel=&nofollow noreferrer&&The Elements of Statistical Learning (豆瓣)&i class=&icon-external&&&/i&&/a& 这本书有对应的中文版:&a href=&///?target=http%3A///subject/1152126/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&统计学习基础 (豆瓣)&i class=&icon-external&&&/i&&/a&。书中配有R包,非常赞!可以参照着代码学习算法。&/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&统计学习方法 (豆瓣)&i class=&icon-external&&&/i&&/a& 李航老师的扛鼎之作,强烈推荐。难易程度:难。 &/li&&li&&a href=&///?target=http%3A///subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning (豆瓣)&i class=&icon-external&&&/i&&/a& 去年出版的新书,作者Kevin Murrphy教授是机器学习领域中年少有为的代表。这书是他的集大成之作,写完之后,就去Google了,产学研结合,没有比这个更好的了。&br&&/li&&li&&a href=&///?target=http%3A///subject/3887824/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning (豆瓣)&i class=&icon-external&&&/i&&/a& 这书和上面的书不是一本!这书叫:Machine Learning: An Algorithmic Perspective 之前做过我带的研究生教材,由于配有代码,所以理解起来比较容易。&br&&/li&&li&&a class=& wrap external& href=&///?target=http%3A///subject/2061116/& target=&_blank& rel=&nofollow noreferrer&&Pattern Recognition And Machine Learning (豆瓣)&i class=&icon-external&&&/i&&/a& 经典中的经典。&/li&&li&&a href=&///?target=http%3A///subject/5397287/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bayesian Reasoning and Machine Learning (豆瓣)&i class=&icon-external&&&/i&&/a& 看名字就知道了,彻彻底底的Bayesian学派的书,里面的内容非常多,有一张图将机器学习中设计算法的关系总结了一下,很棒。&/li&&li&&a href=&///?target=http%3A///subject/4007200/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Probabilistic Graphical Models (豆瓣)&i class=&icon-external&&&/i&&/a& 鸿篇巨制,这书谁要是读完了告诉我一声。&br&&/li&&li&&a href=&///?target=http%3A///subject/1888111/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Convex Optimization (豆瓣)&i class=&icon-external&&&/i&&/a& 凸优化中最好的教材,没有之一了。课程也非常棒,Stephen老师拿着纸一步一步推到,图一点一点画,太棒了。&/li&&/ol&-------------------------------------------------------------------------------------&br&如果你觉得我的答案对你有帮助,可以考虑向我付费:&br&&img data-rawheight=&256& data-rawwidth=&256& src=&/336c9d48a945e143c4ec5afb415435fa_b.png& class=&content_image& width=&256&&
更新,由于经常接到私信要求在这个书单之内再推荐两三本,每个人的行业背景也不一样,所以就把下面的书单归类整理一下。入门读物: 这书挺简单的,基本的内容都涉及了,说得也比较清楚,最后谈到了R是大加分。难易程度:非…
&img src=&/da228be65e16a0ae12e2bb87062efeb8_b.jpg& data-rawwidth=&1242& data-rawheight=&2208& class=&origin_image zh-lightbox-thumb& width=&1242& data-original=&/da228be65e16a0ae12e2bb87062efeb8_r.jpg&&-------------------------------------是时候更新一波了-----------------------------------------------------&br&从14年4月更新过最后这次这个答案后到今天,我从来没有再次点开过(捂脸),因为我有强烈的尴尬症啊,尤其是越来越多的人点赞过后,根本不能再看一下自己的答案好吗?这么羞耻play的东西我是怎么写出来的啊 /(ㄒoㄒ)/~~尤其是博客小地被人发现后,都不好意思更新博客了(你的尴尬症到底是多严重啊)然后我就成了朋友圈里的秀恩爱狂魔,然后众人把我拉黑了(艹皿艹 )&br&之所以今天来更新,是因为今天是我们在一起的1024天??撒花??&br&想了半天,不知道怎么开这个头,随便乱说说吧,也算是纪念一下我和蛋蛋君臭味相投的“1024的爱情”&br&&img src=&/d4b847ddfaed8ebc6eb0f7_b.jpg& data-rawwidth=&1280& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/d4b847ddfaed8ebc6eb0f7_r.jpg&&&br&倒序说吧。&br&本来和父母商量的是毕业前领证呢,因为好想在我俩在一起1024天的时候把证证领了(没办法,这点我要庸俗的说 哈哈哈)可是我临阵退缩啦,作为一个永远12岁的小姑娘,被叫成'已婚妇女'真的好吗??好吧,这点得到了蛋蛋君的大力支持。&br&这一年半里,用一个词来概括的话就是“亦可赛艇”(长者,莫要怪我(⊙﹏⊙))!~&br&不仅作为同辈人当中的即将的早婚一族,我俩还成了同辈人当中早工作一族,早踏入北漂大军的一族。大三开始,学校的课程已经满足不了蛋蛋君的需求,尤其是在有我这个强大的“学习后盾”的支持下,蛋蛋君开始了去京都的实习工作。很少人说喜欢北京,可是蛋蛋君却十分狂热,尤其是他说:我爱北京的立交桥
好吧,这个家伙的脑子和别人不一样。于是我就作为了坚强的点名后盾,写作业后盾,各种学校事务的处理后盾,我简直成了校园保姆的好吗?! 我俩真的是属于那种说干就干(心邪则世界邪╭(╯^╰)╮)的家伙啦。确定实习工作后,短短半天内,两个对京都毫不熟悉的家伙找到了心爱的房子(火车就要开过来啦,请不要抢行,不要翻栏杆,哈哈应该有朋友能猜出来这是哪里啦)宇宙中心五道口。可是就此我和蛋蛋君也开始了京津异地恋。几乎连假期都没分开过的两个人,就这样每周三天不能见面了,/(ㄒoㄒ)/~~那半年高铁票攒的一沓一沓的。我这个人根本忍受不了没有蛋蛋君的日子好吗?? 所以我作为一个技术白痴,努力在异地恋的打击下,学习了前端知识,然后到北京寻夫,不不不,是寻工作 O(∩_∩)O~ 要知道我可是一个蛋蛋君刚刚教会我东西,我第二天绝对忘得一干二净的人好吗? &br&&img src=&/371fd78a8b22fcfe2ee7687_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/371fd78a8b22fcfe2ee7687_r.jpg&&&img src=&/79f3f48b442b4a5dea027d1bb3f1cff0_b.png& data-rawwidth=&1310& data-rawheight=&422& class=&origin_image zh-lightbox-thumb& width=&1310& data-original=&/79f3f48b442b4a5dea027d1bb3f1cff0_r.png&&&br&肿么办,好多话想说,可是我显然已经完全不会秀恩爱了啊,自从去年成了狂热的Dota少女(我是BurNing粉~~),为了甩掉蛋蛋君跟我开黑,果断给他买了PS4和GTA5,让他深陷其中,不与我开黑,我好机智的说~,我已经说都不会话啦。从没发过自己的照片,算了,甩张自己的图,继续留坑儿吧 前方预警!!!!!!!!!!!!!!!!!这是大坑儿儿儿儿儿.万一我的尴尬症又犯了,估计我就回不来啦 哈哈哈哈哈哈&br&...............................................................................................................................................................................................................................................................................................................................................................................................................................&br&&img src=&/6af355fec6e71ccad25e89_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/6af355fec6e71ccad25e89_r.jpg&&&br&&br&&br&P.S.平时的我们&br&&img src=&/b071d4ed88d67ba1f6ee15_b.jpg& data-rawwidth=&720& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&/b071d4ed88d67ba1f6ee15_r.jpg&&&img src=&/3a62b359c0ac20f184682b_b.jpg& data-rawwidth=&720& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&/3a62b359c0ac20f184682b_r.jpg&&&img src=&/3e476e92accbe093a261f_b.jpg& data-rawwidth=&720& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&/3e476e92accbe093a261f_r.jpg&&&br&--------------------------------------是时候分割一波了---------------------------------------------------&br&&br&&br&&br&要成为优秀的程序员,没别的,就是干!!!!!&br&---------&br& 程序员男友大半夜跟你papapa完后可以立即去写代码的有木有!!!!这不是充分提高时间的利用率吗?!!
这是多少次发生的场景好吗?
%&_&%请不要同情我............&br&&br&&br&[附:确实也经常听到时间长短不能衡量一个人水平高低,也许你看24小时的书不如别人24分钟是渣是牛,未来见分晓。 但是我依旧想看到有人在为自己的梦想做着不懈的努力。
纵使是渣,至少我是个为了当大牛而付出过的渣~]&br&好吧,正常点.
男朋友,大二c/c++程序猿一枚,算是学院公认的牛人吧,(他总说自己还算不上,啧啧又谦虚)
也许在知乎上很多大神看起来不算什么,但也算个进取的例子吧&br&你能想象每次出去吃饭逛街,只要有空,那家伙都在拿着手机看文档吗?(因为守着我就得离开他那亲爱的大房--电脑,所以只能屈就手机)&br&永远在学习!!!(偷偷在网上把他暴露了,还好是侧面,就不马赛克了.进知乎就是被他引进来的.还好没有互相关注 哇哈哈)&br&浏览器里的书签没截图,那个记录更多,记录了他从初中开始看过的所有的对他与帮助的东西. 他就是我在图书馆的自动查询机器有没有,因为想要什么技术书籍,他就能立马说出位置编号,指哪打哪儿有没有!&br&这是他最近手机里的文档&br&&img src=&/4f0885abfe61e4dfe3d8c635a8531c95_b.jpg& data-rawwidth=&500& data-rawheight=&888& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/4f0885abfe61e4dfe3d8c635a8531c95_r.jpg&&这是他手机上的application,都是这些有木有(还有好多好多我都看不懂+_+)&br&&img src=&/0fedddb1a83908d0eddde_b.jpg& data-rawwidth=&500& data-rawheight=&888& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/0fedddb1a83908d0eddde_r.jpg&&&br&明明说是我们爱情的blog,却成了他&好记性不如烂笔头&的驻地&br&&img src=&/da2ea3acf4c94ee5829062_b.jpg& data-rawwidth=&559& data-rawheight=&1086& class=&origin_image zh-lightbox-thumb& width=&559& data-original=&/da2ea3acf4c94ee5829062_r.jpg&&&br&下面的就不要提了!! 吃饭等座位看文档!骑自行车遛弯休息时看文档,买完零食后看文档!去北京玩儿要去书店看书........例子太多,就不勾起我的伤心往事了%&_&%&br&&br&这家伙高中时每天课上看编程书籍,每天中午趁着午休跑出学校去网吧有木有! 玩游戏? no!
编程有木有!!! 哎 每次寒暑假完全不用担心他勾搭别的小女生,因为他每天的工作就是 看书编程稍带给我打电话%&_&%&br&&br&做的最发指的事情就是动不动刷我的平板刷成linux原生系统,从此我再也点亮不了屏幕有木有!&br&&br&虽说这家伙也是从小对编程有很大兴趣,但是,如果没有后天见缝插针的看书学习练习.也许成就不了他的现在吧 (说成就貌似有点早 ,不过我相信他!)&br&&br&早起的鸟儿不一定有虫吃,不断追逐进步的鸟儿才有虫吃. 就像某家伙说:真是越学习越感觉自己low啊!&br&&br&我家程序员会唱歌会吉他(组过乐队有没有,吉他手有没有)
日语也超棒(不知道学日语的目的是什么←_←)
修各种家电\(^o^)/&br&&br&
π_π突然感觉自己啥都不会呢,好伤心&br&&br&&img src=&/2b3bdaa8eeff3fa4487e30_b.jpg& data-rawwidth=&400& data-rawheight=&4226& class=&content_image& width=&400&&&br&&br&&br&-----------&br&&br&这几天收到很多人的祝福,真的好开心的说.没想到在我看起来这些已经习以为常的事情,可以给大家带来那么多正能量. 那我就简单说说我们家程序员的&成长记录&吧~(@^_^@)~(快速搜寻大脑ing)&br&&br&小学: 那时候家里穷啊,有电脑没网络,那个家伙就整天打开电脑,这点那点,(他说:所有有字的能看的他几乎都看了) 算是最初启蒙吧&br&&br&初中:初一那年竟然看完 计算机组成原理 和 微计算机技术两本书(他妈妈大学是计算机系,家里这种书特别多),(想想我当时在看什么,貌似少女小说吧....⊙﹏⊙b汗) 受这个的启发,他就去新华书店买了自己的第一本&Visual Basic教程& ,这个应该算正式进入编程行列吧.
初二下学期呢就用lua语言写了他自己平生的第一个游戏的说 └(^o^)┘.初三的时候住宿,没有电脑,那家伙就在寝室在纸上写了他平生第一个8021单片机程序,当时无设备的说.
(哪像现在,在实验室随便一个板子就可以说出型号和各种信息)&br&&br&高中:高一的时候被老师带去参加竞赛了,也正是开始了他的C/C++之路(他最自豪的是叫自己c++程序员儿),貌似那时候他们学校第一次搞竞赛,老师也都没什么经验,所以当时的C# 和Java都是他自学后教老师的说,肿么可以这样~~ 那时候也看了第一本全英的书籍 OpenGL ES 编程指南(貌似是这个,记得不太清了) .
那时候啊,为了备战高考只能住宿,可是没电脑啊,所以每天中午不午休,他就跑去网吧写代码,那时候在网吧在同学当中都成了异类的说. 也是那时候开始接触图形学,数字图像处理 和视频解码之类的. 正因为这样,所以高考的时候正科分数低了,程序员就没进入自己理想的学校(还好这样,否则我们俩就碰不到啦!!~(@^_^@)~)&br&&br&大学:这说都说不清了,看的东西学的东西做的东西,我都列不出来了,看类似于史蒂文的TCP
UNP 这类的厚书(我看着都头晕啊)也成习惯了.在学院实验室跟导师也在做着以太网吧啦吧啦(+﹏+)~的什么东西。 为了能够挣到年500K来养我(我是寄生虫啦啦啦啦),程序员儿他也找到了自己的未来方向:底层工作者~~
搞linux嵌入式驱动开发,现在呢正在写嵌入式操作系统(导致我每次的作业都要写两份的说,因为得为他空出时间嘛,然后每次去上课都要帮他签到, ~~~~(&_&)~~~~ 一个人上课好孤单)
偶尔呢接活儿做网站来赚点给我的零花钱 哇哈哈 最近为了&生意&也开始PhoneGap研究
大学的其实真的列不出来,因为和他人相比自己还很有差距,所以更得抓住现在的时间机会努力练习成长. &br&&br&曾经我问他,为什么你既然会一些东西不去像他人一样专注与多接一些简单易行的比如做网站啥的赚钱呢。
程序员儿说他要抓住在大学里能够专注于学习和扎实自己的时光,不能短浅了目光。
也许和很多人相比,他真的不算什么,甚至会有人对他啧啧不屑一顾,但是,在我心中,他很棒!
-------------------------------------是时候更新一波了-----------------------------------------------------从14年4月更新过最后这次这个答案后到今天,我从来没有再次点开过(捂脸),因为我有强烈的尴尬症啊,尤其是越来越多的人点赞过后,根本不能…
我觉得故事是这样发展的....&br&&br&&br&&br&&br&先是纠结语言&br&&ul&&li&(lisp没听过&/li&&li&听说python效率不高还缩进&/li&&li&原来ruby是小鬼子弄的&/li&&li&那个什么叫lua的只能用来写游戏脚本&/li&&li&放眼望去java只能做民工啊&/li&&li&那个c语言土掉渣, 过时几百年了&/li&&li&还得是cpp适合干大事, 老师也这么说&/li&&/ul&就是cpp了! &br&&br&&br&语言选完了选win/*nix&br&&ul&&li&M$罪恶滔天罄竹难书啊, 我们要抵制这些罪恶的大公司&/li&&li&*nix代表了不为常人所理解的先进与自由&/li&&/ul&就是*nix了!&br&&br&定下*nix后拿不准BSD和Linux&br&&ul&&li&Linux仿制unix是山寨货&/li&&li&BSD学院出身高贵典雅&/li&&/ul&就是BSD了!&br&&br&&br&选了BSD后三选一&br&&ul&&li&NetBSD安全稳定简洁, 哎哟没程序呀, 换!&br&&/li&&li&OpenBSD听说更安全, 我操安装好麻烦, 换!&/li&&li&FreeBSD传说最通用, 怎么安装还这么麻烦??? 操, 换!&/li&&/ul&得, 还是委曲求全用Linux!&br&&br&&br&选了Linux后要挑发行版&br&&ul&&li&redhat是给傻逼企业做的, 不geek, 滚&/li&&li&centos是redhat的山寨翻版, 和redhat一起滚&/li&&li&国产发行版滚&/li&&li&gentoo感觉不错, 尼玛怎么每个软件都要编译烧CPU? 滚&/li&&li&fedora/opensuse包管理器不好, 滚&br&&/li&&li&arch太小众又标新立异, 滚&/li&&li&ubuntu是给土鳖用的, 滚&/li&&li&debian出身高贵血统纯正平易近人&/li&&/ul&就是debian了!&br&&br&挑了Debian后犹豫sid/testing/stable&br&&ul&&li&stable太保守了, pass&/li&&li&testing还是太保守了, pass&/li&&li&sid好, 要的就是这种最新最酷炫的感觉&/li&&/ul&就是sid了!&br&&br&然后是KDE和Gnome啦&br&&ul&&li&Gnome自由&br&&/li&&li&可是Gnome是土掉渣的c语言写的&br&&/li&&li&但是KDE不自由&/li&&li& 可是KDE是高大上的cpp写的...&/li&&/ul&虽然自由诚可贵, 而且Gnome逼格高, 不过为了cpp, 区区自由算个鸟&br&就是KDE了!&br&&br&&br&挑选桌面管理&br&&ul&&li&Gnome已经出局&/li&&li&KDE默认太臃肿&/li&&li&xfce不够精简&/li&&li&e17不过如斯&/li&&/ul&既然用linux了, 不DIY怎么能体现自己的geek精神呢?&br&自己凑吧!&br&&br&怎么凑呢?&br&&ul&&li&*wm系列都好土啊&/li&&li&*box系列都好逊啊&/li&&li&awesome好帅啊&br&&/li&&/ul&就awesome了!&br&&br&&br&凑出桌面后, 终于可以开始开发了....做什么项目呢.....?&br&&ul&&li&网络程序很好的样子&/li&&li&画图也是不错的分支啊&/li&&li&web开发好像很紧俏&/li&&li&移动互联网已经来了?&/li&&li&手机app好像可以日进斗金&/li&&/ul&还是先看看网络吧!&br&&br&网络要选库啊...&br&&ul&&li&libevent好像太老了, 还是c语言写的&/li&&li&libev快多了, 等等...怎么又是c语言写的? 为什么老有人喜欢用土掉渣的c语言?&/li&&li&asio好像太简陋了啊&/li&&li&ACE太复杂了啊&/li&&li&自己写不会啊&/li&&/ul&还是试试画图好了, 这次一定不改了!&br&&br&画图又是选库....&br&&ul&&li&SDL太老, 还是c语言写的&br&&/li&&li&OGRE太复杂啊&/li&&li&irrlicht太简陋啊&br&&/li&&li&一大票捆脚本的不可靠啊&/li&&/ul&还是看看web开发吧, 这次真的不再改了!&br&&br&web开发的选择....&br&&ul&&li&cpp裸写cgi好像有点麻烦啊&/li&&li&lua写cgi好像方便多了但是lua只能用来写游戏脚本啊&/li&&li&perl据说写完看不懂被淘汰了啊&/li&&li&jsp是民工的东西啊&/li&&li&ruby的ror好像好新潮但小鬼子的东西坚决不能碰啊&/li&&li&python效率不高而且缩进啊&/li&&li&go没有成熟框架肯定不好用啊&/li&&/ul&听说PHP是世界上最好的语言以至于连facebook都主要用它, 就是PHP了!&br&&br&&br&&br&&br&&br&呵呵..... (咦, 说好的cpp呢?)&br&&img src=&/d17ce45fd6a86dfedd370_b.jpg& data-rawwidth=&168& data-rawheight=&90& class=&content_image& width=&168&&
我觉得故事是这样发展的....先是纠结语言(lisp没听过听说python效率不高还缩进原来ruby是小鬼子弄的那个什么叫lua的只能用来写游戏脚本放眼望去java只能做民工啊那个c语言土掉渣, 过时几百年了还得是cpp适合干大事, 老师也这么说就是cpp了! 语言选完了选win…
&p&&b&网上找到一篇文章,主场景300左右行代码,一天时间做出来,你信么?&/b&&/p&&p&&b&原文链接: &a href=&///?target=http%3A//blog.csdn.net/touchsnow/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&flappy bird游戏源代码揭秘和下载&i class=&icon-external&&&/i&&/a&&/b&&/p&&br&&p&&b&————————————————————————————————————&/b&&/p&&p&&b&背景:&/b&&/p&&p&最近火爆全球的游戏flappy bird让笔者叹为观止,于是花了一天的时间山寨了一个一模一样的游戏,现在把游戏的思路和源码分享出来,代码是基于javascript语言,cocos2d-x游戏引擎,cocos2d-x editor手游开发工具完成的,请读者轻砸;&/p&&p&ps:运行demo必须配置好cocos2d-x editor,暂不支持其他工具;&u&还有demo是跨平台的,可移植运行android,ios,html5移动系统等,csdn博客里会介绍代码如何移植,请持续关注;&/u&&br&&/p&&br&&p&&b&Android Apk下载演示:&/b&&/p&&p&暂时先移植到android平台&/p&&p&下载地址: &a href=&///?target=http%3A///cac18d8c58d40bf2401b3fdeeb6bcb2f& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/cac18d&/span&&span class=&invisible&&8c58d40bf2401b3fdeeb6bcb2f&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&代码下载:&/b&&/p&&p&
csdn下载:&a href=&///?target=http%3A//download.csdn.net/detail/touchsnow/6912707& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&download.csdn.net/detai&/span&&span class=&invisible&&l/touchsnow/6912707&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&
百度云盘:&a href=&///?target=http%3A///s/1pJnWDb9& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/s/1pJnWDb&/span&&span class=&invisible&&9&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&
金山快盘 :&a href=&///?target=http%3A///file/id_45384.htm%3Fsource%3D1& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/file/id_2534&/span&&span class=&invisible&&4.htm?source=1&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&p&&b&代码如何移植到各平台:&/b&&/p&&p&Android:&a href=&///?target=http%3A//blog.csdn.net/touchsnow/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/touchsnow&/span&&span class=&invisible&&/article/details/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&html5:
&a href=&///?target=http%3A//blog.makeapp.co/%3Fp%3D245& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.makeapp.co/?&/span&&span class=&invisible&&p=245&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&效果图:&/b&&/p&&br&&img src=&/4f058aba5a_b.jpg& data-rawwidth=&1355& data-rawheight=&706& class=&origin_image zh-lightbox-thumb& width=&1355& data-original=&/4f058aba5a_r.jpg&&&img src=&/57c9fec294_b.jpg& data-rawwidth=&1352& data-rawheight=&712& class=&origin_image zh-lightbox-thumb& width=&1352& data-original=&/57c9fec294_r.jpg&&&br&&p&&b&开发工具:&/b&&/p&&p&
cocos2dx editor,它是开发跨平台的手机游戏工具,运行window/mac系统上,javascript脚本语言,基于cocos2d-x跨平台游戏引擎, 集合代码编辑,场景设计,动画制作,字体设计,还有粒子,物理系统,地图等等的,而且调试方便,和实时模拟;&/p&&p&cocos2dx editor下载,介绍和教程:&a href=&///?target=http%3A//blog.csdn.net/touchsnow/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/touchsnow&/span&&span class=&invisible&&/article/details/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&;&/p&&p&cocos2dx editor官方博客:&a href=&///?target=http%3A//blog.makeapp.co/%3Fcat%3D8& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.makeapp.co/?&/span&&span class=&invisible&&cat=8&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&;&/p&&br&&p&&b&思路和源码:&/b&&/p&&br&&p&
1 场景设计MainLayer.ccbx,如下图;主要分三层,开始场景、主场景、游戏结束场景,通过显示隐藏控制三个场景的切换。&/p&&p&
MainLayer.ccbx代码&/p&&div class=&highlight&&&pre&&code class=&language-text&&&?xml version=&1.0& encoding=&UTF-8&?&
jsControlled=&true&
jsController=&MainLayer&
resolution=&default&
&Resolutions&
&Resolution centeredOrigin=&false& ext=&iphone& height=&1280& width=&720& name=&default& scale=&1&/&
&Resolution centeredOrigin=&false& ext=&iphone& height=&720& width=&1280& name=&default1& scale=&1&/&
&/Resolutions&
&Animations&
&Animation autoPlay=&true&
name=&Default Timeline&
length=&10&
chainedId=&0&
offset=&0.0&
position=&0.0&
resolution=&30&
scale=&128&&
&CallbackChannel&
&/CallbackChannel&
&SoundChannel&
&/SoundChannel&
&/Animation&
&/Animations&
positionX=&0& positionY=&0.0&
sizeType=&Percent&
width=&100& height=&100&
anchorPointX=&0.5& anchorPointY=&0.5& ignoreAnchorPoint=&true&
scaleX=&1& scaleY=&1&
&Sprite positionType=&LeftBottom& width=&720.0& height=&1280.0& positionX=&0& positionY=&0& anchorPointX=&0&
anchorPointY=&0& src=&Resources/bg.png& name=&& var=&& target=&None& scaleX=&1& scaleY=&1& visible=&true&/&
&LayerColor positionType=&LeftBottom& width=&720& height=&1280& positionX=&0& positionY=&0& anchorPointX=&0&
anchorPointY=&0& color=&#fff2e8ff& visible=&false&/&
&Menu positionType=&LeftBottom& width=&40& height=&40& positionX=&356.0& positionY=&237.0& anchorPointX=&0.5&
anchorPointY=&0.5& scaleX=&2.4& scaleY=&1.725&&
&Sprite positionType=&LeftBottom& width=&840.0& height=&281.0& positionX=&0& positionY=&0& anchorPointX=&0&
anchorPointY=&0& src=&Resources/ground.png& var=&ground& target=&Doc&/&
&Node positionType=&LeftBottom& width=&40& height=&40& positionX=&800& positionY=&250& anchorPointX=&0&
anchorPointY=&0& var=&hoseNode& target=&Doc&&
&Sprite positionType=&LeftBottom& width=&86.0& height=&60.0& positionX=&-500& positionY=&400& anchorPointX=&0.5&
anchorPointY=&0.5& src=&Resources/flappy_packer.plist/bird3.png& var=&test& target=&Doc& visible=&false&/&
&Sprite positionType=&LeftBottom& width=&86.0& height=&60.0& positionX=&-550& positionY=&500& anchorPointX=&0.5&
anchorPointY=&0.5& src=&Resources/flappy_packer.plist/bird1.png& var=&bird& target=&Doc& scaleX=&1& scaleY=&1& rotation=&0& visible=&true&/&
&Node positionType=&LeftBottom& width=&40& height=&40& positionX=&303.0& positionY=&500& anchorPointX=&0.5&
anchorPointY=&0.5& var=&readyNode& target=&Doc& visible=&true&&
&Sprite positionType=&LeftBottom& width=&508.0& height=&158.0& positionX=&95.0& positionY=&584.0& anchorPointX=&0.5&
anchorPointY=&0.5& src=&Resources/flappy_packer.plist/getready.png&/&
&Sprite positionType=&LeftBottom& width=&286.0& height=&246.0& positionX=&73.0& positionY=&236.0& anchorPointX=&0.5&
anchorPointY=&0.5& src=&Resources/flappy_packer.plist/click.png&/&
&Node positionType=&LeftBottom& width=&40& height=&40& positionX=&300& positionY=&500& anchorPointX=&0.5&
anchorPointY=&0.5& var=&overNode& target=&Doc& visible=&true&&
&Sprite positionType=&LeftBottom& width=&590.0& height=&298.0& positionX=&72.0& positionY=&219.0& anchorPointX=&0.5&
anchorPointY=&0.5& src=&Resources/flappy_packer.plist/base.png&&
&Sprite positionType=&LeftBottom& width=&508.0& height=&158.0& positionX=&286.0& positionY=&458.0& anchorPointX=&0.5&
anchorPointY=&0.5& src=&Resources/flappy_packer.plist/gameover.png&/&
&Menu positionType=&LeftBottom& width=&40& height=&40& positionX=&0& positionY=&0& anchorPointX=&0.5&
anchorPointY=&0.5&&
&MenuItem positionType=&LeftBottom& width=&290& height=&176& positionX=&-65.0& positionY=&-92.0& anchorPointX=&0.5&
anchorPointY=&0.5& normalImage=&Resources/flappy_packer.plist/start.png& target=&Doc& onClick=&onStartClicked&/&
&MenuItem positionType=&LeftBottom& width=&290& height=&176& positionX=&230.0& positionY=&-92.0& anchorPointX=&0.5&
anchorPointY=&0.5& target=&Doc& normalImage=&Resources/flappy_packer.plist/grade.png& onClick=&onGradeClicked&/&
&/Document&
&/code&&/pre&&/div&&br&&p&2 代码编写MainLayer.js&/p&&p&
首先,小鸟在向前飞,其实是底部的路和水管在向左移动,相对的你就感觉小鸟在向右飞了;路循环移动代码:&/p&&div class=&highlight&&&pre&&code class=&language-text&&MainLayer.prototype.groundRun = function ()
var action1 = cc.MoveTo.create(0.5, cc.p(-120, 0));
var action2 = cc.MoveTo.create(0, cc.p(0, 0));
var action = cc.Sequence.create(action1, action2);
this.ground.runAction(cc.RepeatForever.create(action));
&/code&&/pre&&/div&&br&
初始化高低不同的水管,每一关卡都由上下两水管和空隙组成。总长度相同,空隙也一定,随机取下面水管的长度,就形成错落有致的水管关卡;&div class=&highlight&&&pre&&code class=&language-text&&MainLayer.prototype.newHose = function (num)
var hoseHeight = 830;
var acrossHeight = 300;
var downHeight = 100 + getRandom(400);
var upHeight = 1100 - downHeight - acrossH
var hoseX = 400 *
var HoseName = FP_MAIN_TEXTURE.HOSE;
var ccSpriteDown = cc.Sprite.createWithSpriteFrameName(HoseName[0]);
ccSpriteDown.setZOrder(1);
ccSpriteDown.setAnchorPoint(cc.p(0, 0));
ccSpriteDown.setPosition(cc.p(hoseX, 0));
ccSpriteDown.setScaleY(downHeight / hoseHeight);
var ccSpriteUp = cc.Sprite.createWithSpriteFrameName(HoseName[1]);
ccSpriteUp.setZOrder(1);
ccSpriteUp.setAnchorPoint(cc.p(0, 0));
ccSpriteUp.setPosition(cc.p(hoseX, downHeight + acrossHeight));
ccSpriteUp.setScaleY(upHeight / hoseHeight);
this.hoseNode.addChild(ccSpriteDown);
this.hoseNode.addChild(ccSpriteUp);
this.hoseSpriteList.push(ccSpriteDown);
this.hoseSpriteList.push(ccSpriteUp);
&/code&&/pre&&/div&&br&
一开始进入游戏让底部路不断移动,初始化水管,显示准备游戏场景;&div class=&highlight&&&pre&&code class=&language-text&&MainLayer.prototype.onEnter = function ()
cc.AnimationCache.getInstance().addAnimations(&Resources/flappy_frame.plist&);
this.groundRun();
this.ground.setZOrder(10);
this.birdReadyAction();
this.bird.setZOrder(20);
this.readyNode.setVisible(true);
this.overNode.setVisible(false);
for (var i = 0; i & 30; i++) {
this.newHose(i);
&/code&&/pre&&/div&&br& 点击屏幕,小鸟向上飞60dp,然后更快的速度下落(移动动画),同时闪动翅膀(帧动画);&div class=&highlight&&&pre&&code class=&language-text&&MainLayer.prototype.birdRiseAction = function ()
var riseHeight = 60;
var birdX = this.bird.getPositionX();
var birdY = this.bird.getPositionY();
var time = birdY / 600;
var actionFrame = cc.Animate.create(cc.AnimationCache.getInstance().getAnimation(&fly&));
var flyAction = cc.Repeat.create(actionFrame, 90000);
var riseAction1 = cc.MoveTo.create(0.2, cc.p(birdX, birdY + riseHeight));
var riseAction2 = cc.RotateTo.create(0, -30);
var riseAction = cc.Spawn.create(riseAction1, riseAction2);
var fallAction1 = cc.MoveTo.create(time, cc.p(birdX, 50));
var fallAction2 = cc.Sequence.create(cc.DelayTime.create(time / 6), cc.RotateTo.create(0, 30));
var fallAction = cc.Spawn.create(fallAction1, fallAction2);
this.bird.stopAllActions();
this.bird.runAction(cc.Spawn.create(
cc.Sequence.create(riseAction, cc.DelayTime.create(0.1), fallAction),
flyAction)
&/code&&/pre&&/div&&br& 检测碰撞,如果小鸟碰到地面和水管,发生碰撞,这里碰撞直接用cocos2d-x 里面的图片和图片交叉函数 cc.rectIntersectsRect;&div class=&highlight&&&pre&&code class=&language-text&&MainLayer.prototype.checkCollision = function ()
if (this.bird.getPositionY() & 60) {
cc.log(&floor&);
this.birdFallAction();
for (var i = 0; i & this.hoseSpriteList. i++) {
var hose = this.hoseSpriteList[i];
if (!this.isInScreen(hose)) {
if (cc.rectIntersectsRect(hose.getBoundingBox(), this.bird.getBoundingBox())) {
cc.log(&hose positionX==& + hose.getBoundingBox().x);
cc.log(&this.bird positionX==& + this.bird.getBoundingBox().x);
cc.log(&i==& + i);
cc.log(&birdFallAction&);
this.birdFallAction();
&/code&&/pre&&/div&&br&碰撞后,小鸟先下落,游戏结束场景显示;&div class=&highlight&&&pre&&code class=&language-text&&MainLayer.prototype.birdFallAction = function ()
this.gameMode = OVER;
this.bird.stopAllActions();
this.ground.stopAllActions();
var birdX = this.bird.getPositionX();
var birdY = this.bird.getPositionY();
var time = birdY / 2000;
this.bird.runAction(cc.Sequence.create(
cc.DelayTime.create(0.1),
cc.Spawn.create(cc.RotateTo.create(time, 90), cc.MoveTo.create(time, cc.p(birdX, 50))))
this.overNode.setVisible(true);
&/code&&/pre&&/div&&br&游戏的难度主要在于多个水管的移动,小鸟触摸动画,检测碰撞;&br&&br&&p&再次提示代码下载地址:&/p&&p&
csdn下载:&a href=&///?target=http%3A//download.csdn.net/detail/touchsnow/6912707& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&download.csdn.net/detai&/span&&span class=&invisible&&l/touchsnow/6912707&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&
百度云盘:&a href=&///?target=http%3A///s/1pJnWDb9& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/s/1pJnWDb&/span&&span class=&invisible&&9&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&
金山快盘 :&a href=&///?target=http%3A///file/id_45384.htm%3Fsource%3D1& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/file/id_2534&/span&&span class=&invisible&&4.htm?source=1&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&p&楼下有求图片的,地址:&a href=&///?target=http%3A///db1ff99f553afff58b7a2& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/d73228&/span&&span class=&invisible&&232bc0b1ff99f553afff58b7a2&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&更多内容:&/b&&a href=&///?target=http%3A//blog.csdn.net/touchsnow/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/touchsnow&/span&&span class=&invisible&&/article/details/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&b&官方博客:&/b&&a href=&///?target=http%3A//blog.makeapp.co/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.makeapp.co/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&b&联系笔者:&/b&zuowen@makeapp.co (邮箱)&/p&&br&&p&&b&想了解其他游戏开发可关注:&/b&&a href=&/question/& class=&internal&&消灭星星(Popstar)游戏是怎么开发实现的?难不难?经常看到有人玩这个,很好奇里面的逻辑,拜求高手解答!&/a&&/p&&br&&br&&p&附录:其他游戏例子学习 &a href=&///?target=http%3A//blog.csdn.net/touchsnow/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/touchsnow&/span&&span class=&invisible&&/article/details/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&;&/p&&br&&img src=&/baffb4b4ee6_b.jpg& data-rawwidth=&1364& data-rawheight=&738& class=&origin_image zh-lightbox-thumb& width=&1364& data-original=&/baffb4b4ee6_r.jpg&&&br&&br&&img src=&/0ab4dee739e43d9b366f2_b.jpg& data-rawwidth=&1360& data-rawheight=&726& class=&origin_image zh-lightbox-thumb& width=&1360& data-original=&/0ab4dee739e43d9b366f2_r.jpg&&&br&&img src=&/aafb_b.jpg& data-rawwidth=&1358& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&1358& data-original=&/aafb_r.jpg&&&br&&img src=&/abdee6f10d30cda1edb6aff4c8d07b10_b.jpg& data-rawwidth=&1361& data-rawheight=&727& class=&origin_image zh-lightbox-thumb& width=&1361& data-original=&/abdee6f10d30cda1edb6aff4c8d07b10_r.jpg&&&br&&img src=&/6fd502bb93f_b.jpg& data-rawwidth=&1358& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&1358& data-original=&/6fd502bb93f_r.jpg&&
网上找到一篇文章,主场景300左右行代码,一天时间做出来,你信么?原文链接: ————————————————————————————————————背景:最近火爆全球的游戏flappy bird让笔者叹为观止,于是花了一…
在我离开我的老东家之前也面试了三个月的前端工程师,最后到我走都没有招到合适的。老东家那边的要求是&熟悉javascript、actionscript、 css、html、各浏览器兼容性&。
&br& 其实并非我要求的太高,基本的正则表达式、甚至cloneNode之类的DOM方法都不知道、更别提actionscript神马了。各种不靠谱。
&br& 招不到人,给钱不够多我想是其中一个原因吧,毕竟重赏之下必有勇夫。
&br& 你可以考虑直接招一个靠谱的前端架构师。
&br& 三个诸葛亮顶个臭皮匠在技术领域不怎么适合。
&br& 一个靠谱的前端可以顶得了一个团队。。。
&br& 其实最近我也在考虑转型的问题。
&br& 想转型其实考虑的下面几点,我想其中有一些可能能回答这个问题吧:
&br& 1、开发环境恶劣,各浏览器兼容性能头疼,需要不断地跟着浏览器走,兼容性涉及的不仅仅是CSS、还有各种DOM、BOM模型以及研究各种诡 异。。。
&br& 2、没有钱途。工作是为了爱好和生活。靠谱前端工资确实也比较高,但是擅长javascript、html、css(这些是基本功),还捎带至少懂一门后台语 言(php/C#/java/c++),还天天追着各种浏览器的兼容性,这个才给开到多少钱?一个擅长j2ee、熟悉linux和ssh的工程师是什么价格。我们都需 要面包。
&br& 3、被动。这是一个很头疼的问题。很多时候,工期不够的时候总是压缩前端这边的,我不知道为什么。我工作过的相对好一点的公司也仅仅是 一个上市集团下属的垂直门户,而在哪里也都是如此。但是,大家都是人。
&br& 4、学习难。相对其他几种语言,都有社区和相对全的资料。前端的参考只有W3C和ECMA那一堆鸟文。就算你看懂了,还有各种浏览器兼容性 ,你又要Mozilla、MSDN各种搜,各种新添加的属性是你买书看不到的。
&br& 5、被鄙视。各种鄙视前端。。你们懂得。。。
在我离开我的老东家之前也面试了三个月的前端工程师,最后到我走都没有招到合适的。老东家那边的要求是"熟悉javascript、actionscript、 css、html、各浏览器兼容性"。 其实并非我要求的太高,基本的正则表达式、甚至cloneNode之类的DOM方法都不知道、更别…
首先,优秀的Web前端开发工程师要在知识体系上既要有广度和深度!做到这两点,其实很难。所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。技术非黑即白,只有对和错,而技巧则见仁见智。&br&在以前,会一点Photoshop和Dreamweaver的操作,就可以制作网页。&br&现在,只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,所以现在不再叫网页制作,而是叫Web前端开发。&br&Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好。&br&Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。&br&&br&其次,优秀的Web前端开发工程师应该具备快速学习能力。Web发展的很快,甚至可以说这些技术几乎每天都在变化!如果没有快速学习能力,就跟不上Web发展的步伐。前端工程师必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而前端工程师的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。&br&说到这里,我想起了一个大师说过的一句话:对于新手来说,新技术就是新技术。&br&对于一个高手来说,新技术不过是就技术的延伸。&br&再者,优秀的前端工程师需要具备良好的沟通能力,因为前端工程师至少都要满足四类客户的需求。&br&1、&strong&产品经理&/strong&。这些是负责策划应用程序的一群人。他们会想出很多新鲜的、奇怪的、甚至是不可是实现的应用。一般来说,产品经理都追求丰富的功能。&br&2、&strong&UI设计师&/strong&。这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。一般来说,UI设计师于流畅靓丽、但并不容易实现的用户界面,而且他们经常不满前端工程师造成 1px 的误差。&br&3、&strong&项目经理&/strong&。这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间、应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。&br&4、&strong&最终用户&/strong&。指的是应用程序的主要消费者。尽管前端工程师不会经常与最终用户打交道,但他们的反馈意见至关重要。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。&br&&strong&Yahoo 公司 ,YUI 的开发工程师 Nicholas C. Zakas 认为:&/strong&&br&前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。&br&————————————&br&&strong&关于书籍:&/strong&&br&HTML、CSS 类别书籍,都是大同小异,在当当网、卓越网搜索一下很多推荐。如果感觉学的差不多了,可以关注一下《CSS禅意花园》,这个很有影响力。&br&Javascript 的书籍 推荐看老外写的,国内很多 Javascript 书籍的作者对 Javascript 语言了解的都不是很透彻。&br&这里推荐几本 Javascript 书籍:&br&&strong&初级读物:&/strong&&br&&strong&《JavaScript高级程序设计》&/strong&:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买。&br&&strong&《JavaScript王者归来》&/strong&百度的一个Web开发项目经理写的,作为初学者准备的入门级教程也不错。&br&&strong&中级读物:&/strong&&br&&strong&《JavaScript权威指南》&/strong&:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买。&br&&strong&《JavaScript.The.Good.Parts》&/strong&:Yahoo大牛,JavaScript精神领袖Douglas Crockford的大作,虽然才100多页,但是字字珠玑啊!强烈建议阅读。&br&&strong&《高性能JavaScript》&/strong&:《JavaScript高级程序设计》作者Nicholas C. Zakas的又一大作。&br&&strong&《Eloquent JavaScript》&/strong&:这本书才200多页,非常短小,通过几个非常经典的例子(艾米丽姨妈的猫、悲惨的隐士、模拟生态圈、推箱子游戏等等)来介绍JavaScript方方面面的知识和应用方法。&br&&strong&高级读物:&/strong&&br&&strong&《JavaScript Patterns 》&/strong&:书中介绍到了各种经典的模式,如构造函数、单例、工厂等等,值得学习。&br&&strong&《Pro.JavaScript.Design.Patterns》&/strong&:Apress出版社讲解JavaScript设计模式的书,非常不错。&br&&strong&《Developing JavaScript Web Applications》&/strong&:构建富应用的好书,针对MVC模式有较为深入的讲解,同时也对一些流程的库进行了讲解。&br&&strong&《Developing Large Web Applications》&/strong&:不仅有JavaScript方面的介绍,还有CSS、HTML方面的介绍,但是介绍的内容却都非常不错,真正考虑到了一个大型的Web程序下,如何进行JavaScript架构设计,值得一读。&br&要做优秀的前端工程师,还需要继续努力:&strong&《高性能网站建设指南》、《Yahoo工程师的网站性能优化的建议》、“YSLOW”性能优化建议、《网站重构》、《Web开发敏捷之道》、“ jQuery 库”、“前端框架”、“HTML5”、“CSS3”&/strong&。。。 这些都要深入研究!&br&&br&万事开头难!如果你能到这个境界,剩下的路自己就可以走下去了。&br&&strong&人们常说:不想当裁缝的司机,不是个好厨师。&/strong&&br&如果单纯只是学习前端编程语言、而不懂后端编程语言(PHP、&a href=&///?target=http%3A//ASP.NET& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ASP.NET&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&,JSP、Python),也不能算作是优秀的前端工程师。&br&&strong&在成为一个优秀的前端工程师的道路上,充满了汗水和辛劳&/strong&。&br&博客原文:&a href=&///?target=http%3A///blog/how-to-become-a-good-web-front-end-engineer/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何成为一名优秀的web前端工程师(前端攻城师)?&i class=&icon-external&&&/i&&/a&
首先,优秀的Web前端开发工程师要在知识体系上既要有广度和深度!做到这两点,其实很难。所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。技术非黑即白,只有对和错,而技巧则见仁见智。在以前,会一点Photoshop和Dreamweaver的操作,就可以制…
以下是Nicholas C. Zakas之前一篇博文《What makes a good front end engineer?》的译文,仅供大家参考。&br&&br&原博文地址:&a href=&///?target=http%3A//www.nczonline.net/blog//what-makes-a-good-front-end-engineer/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&nczonline.net/blog/2007&/span&&span class=&invisible&&/08/15/what-makes-a-good-front-end-engineer/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&Nicholas C. Zakas谈怎样才能成为优秀的前端工程师:&br&&br&昨天,我负责了Yahoo!公司组织的一次面试活动,感触颇深的是其中的应聘者提问环节。我得说自己对应聘者们提出的大多数问题都相当失望。我希望听到一些对在Yahoo!工作充满激情的问题。在昨天的应聘者中,只有一个人的问题是我认为最好的,那个人问我:“你觉得怎么才能成为优秀的前端工程师?”我觉得很有必要把这个问题从面试房间里拿出来讨论一下。&br&&br&首先,前端工程师必须得掌握HTML、CSS和JavaScript。只懂其中一个或两个还不行,你必须对这三门语言都很熟悉。也不是说必须对这三门语言都非常精通,但你至少要能够运用它们完成大多数任务,而无需频繁地寻求别人的帮助。&br&&br&优秀的前端工程师应该具备快速学习能力。推动Web发展的技术并不是静止不动的,没错吧?我甚至可以说这些技术几乎每天都在变化,如果没有快速学习能力,你就跟不上Web发展的步伐。你必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而你的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。&br&&br&计算机科学这个大门类下面的许多分支在人们眼中实际上都不外乎科学。但是,我们所说的前端不是什么科学,而是艺术。艺术家不仅要掌握谋生的技术,还要懂得如何运用。对同一个问题的解决方案在这种情况适用,在另一种情况下可能就不适用。对Web应用程序的前端而言,解决同一问题的方案经常会有很多。没有哪个方案是错的,但其中确实有一些是更合适的。优秀的前端工程师应该知道在什么情况下使用哪种方案更合适,而在什么情况下应该重新选择。&br&&br&优秀的前端工程师需要具备良好的沟通能力,因为你的工作与很多人的工作息息相关。在任何情况下,前端工程师至少都要满足下列四类客户的需求。&br&&ol&&li&&strong&产品经理&/strong&——这些是负责策划应用程序的一群人。他们能够想象出怎样通过应用程序来满足用户需求,以及怎样通过他们设计的模式赚到钱(但愿如此)。一般来说,这些人追求的是丰富的功能。&/li&&li&&strong&UI设计师&/strong&——这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。他们热衷于流畅靓丽但并不容易实现的用户界面。&/li&&li&&strong&项目经理&/strong&——这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间(uptime)——应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。&/li&&li&&strong&最终用户&/strong&——当然是应用程序的主要消费者。尽管我们不会经常与最终用户打交道,但他们的反馈意见至关重要;没人想用的应用程序毫无价值。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。&/li&&/ol&&br&那么,前端工程师应该最关注哪些人的意见呢?答案是所有这四类人。优秀的前端工程师必须知道如何平衡这四类人的需求和预期,然后在此基础上拿出最佳解决方案。由于前端工程师处于与这四类人沟通的交汇点上,因此其沟通能力的重要性不言而喻。如果一个非常酷的新功能因为会影响前端性能,必须删繁就简,你怎么跟产品经理解释?再比如,假设某个设计如果不改回原方案可能会给应用程序造成负面影响,你怎么才能说服UI设计师?作为前端工程师,你必须了解每一类人的想法从何而来,必须能拿出所有各方都能接受的解决方案。从某种意义上说,优秀的前端工程师就像是一位大使,需要时刻抱着外交官的心态来应对每一天的工作。&br&&br&我告诫新来的前端工程师最多的一句话,就是不要在没有作出评估之前就随便接受某项任务。你必须始终记住,一定先搞清楚别人到底想让你干什么,不能简单地接受“这个功能有问题”之类的大概其的说法。而且,你还要确切地知道这个功能或设计的真正意图何在。“加一个按钮”之类的任务并不总意味着你最后会加一个按钮。还可能意味着你会找产品经理,问一问这个按钮有什么用处,然后再找UI设计师一块探讨按钮是不是最佳的交互手段。要成为优秀的前端工程师,这种沟通至关重要。&br&&br&无论从哪个方面讲,我都觉得前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。
以下是Nicholas C. Zakas之前一篇博文《What makes a good front end engineer?》的译文,仅供大家参考。原博文地址:Nicholas C. Zakas谈怎样才能成为优秀的前端工程师:昨天,我负责了Yahoo!公司组织的一次面试活动,感触颇深的是其…
713 人关注
128 个回答
445 人关注
11902 人关注
392 个回答
1948 人关注
460 个回答
3082 人关注
996 个回答

我要回帖

更多关于 yslow官方下载 的文章

 

随机推荐