史蒂夫?喬布斯說(shuō)過(guò),每個(gè)人都應(yīng)該學(xué)習(xí)給電腦編寫(xiě)程序的技術(shù),因?yàn)檫@一過(guò)程能夠教你如何去思考!眾所周知,編程已成為開(kāi)發(fā)者生命中至關(guān)重要的一部分。很多事實(shí)表明,越來(lái)越多的人不管男女老少都將參與編程這個(gè)行業(yè)。
學(xué)習(xí)編程的渠道有很多種,比如你可以利用一些互動(dòng)平臺(tái)或者書(shū)籍去學(xué)習(xí)編程,無(wú)論是哪種,只要找到適合自己的就OK。俗話說(shuō),光說(shuō)不練嘴把式,因此,我們還需要進(jìn)行實(shí)踐。
編程極富有創(chuàng)造性,你可以創(chuàng)造出許多新奇有趣的想法。很多時(shí)候,開(kāi)發(fā)者在相同的問(wèn)題上花費(fèi)了大量時(shí)間,而忽略了創(chuàng)造性。筆者不能確定這是否是許多網(wǎng)站發(fā)起編程挑戰(zhàn)賽的原因,但可以確定的是,這些挑戰(zhàn)對(duì)于開(kāi)發(fā)者而言是有很大幫助的。它的好處在于:
文中搜集了14個(gè)不錯(cuò)的學(xué)習(xí)資源,幫助你挑戰(zhàn)自我,領(lǐng)略并探索計(jì)算機(jī)領(lǐng)域無(wú)窮奧秘。
[topcoder]社區(qū)得到了數(shù)百萬(wàn)編碼者的支持,因此你可以了解到很多挑戰(zhàn)性的項(xiàng)目,基于此你還可以為自己賺去額外的報(bào)酬。你可以每天或每周參與編碼挑戰(zhàn),該社區(qū)提供的項(xiàng)目極具有挑戰(zhàn)性,對(duì)于初學(xué)者而言有一定的難度,但卻值得一試。
HackerEarth提供了SaaS應(yīng)用,能夠?yàn)閼?yīng)試者自動(dòng)評(píng)估技術(shù)和邏輯技能。此外,它還可作為人才聚集地,為公司提供智能招聘服務(wù)資源,幫助公司挑選適宜人才。
HackerEarth會(huì)頻繁更新挑戰(zhàn)項(xiàng)目,你可以提前幾周登記注冊(cè),事先了解下項(xiàng)目,為挑戰(zhàn)做好充足的準(zhǔn)備。
Coderbyte旨在幫助提高開(kāi)發(fā)者的編程技能,其得到了初學(xué)者和中級(jí)程序員的一致好評(píng)。該項(xiàng)目由Daniel Borowski 于2012年推出,現(xiàn)今任何開(kāi)發(fā)者都可利用業(yè)余時(shí)間進(jìn)行維護(hù)。
如果你遇到難題,你可以在Coderbyte上提問(wèn),該社區(qū)的用戶(hù)相當(dāng)活躍,你可以獲得任何你想要的答案。
Project Euler可能是全球最流行的編程挑戰(zhàn)網(wǎng)站,項(xiàng)目推出初期就擁有幾十萬(wàn)的用戶(hù),足以表明其影響力有多大。Project Euler致力于鼓勵(lì)、挑戰(zhàn)并且發(fā)展解題技巧,并為那些對(duì)迷人的數(shù)學(xué)世界有興趣的人提供樂(lè)趣。
你可以通過(guò):Wikipedia 、 Reddit 、 Stack Overflow 以及Google Code 了解更多Project Euler相關(guān)信息。
如果你想了解更多關(guān)于編程和問(wèn)題解答,那么Reddit Daily Programmer就是你的好去處。毋庸置疑,許多開(kāi)發(fā)者都喜歡在Reddit上查看新聞、探討話題。你的每一次創(chuàng)建、評(píng)論,社區(qū)成員都審閱并提交,所以你可能會(huì)獲得許多意見(jiàn)和答案,直至滿(mǎn)足你的需求。
每項(xiàng)編程挑戰(zhàn)最后都有詳細(xì)的解釋?zhuān)魬?zhàn)時(shí)間也有限制并不是絕對(duì)的自由。
Sphere Online Judge 是一個(gè)由成千上萬(wàn)個(gè)編碼挑戰(zhàn)項(xiàng)目組成的社區(qū),它幾乎支持所有的編程語(yǔ)言,你還可以基于該社區(qū)論壇需求幫助。
CodeChef由Directi創(chuàng)建的一個(gè)開(kāi)發(fā)者社區(qū),為開(kāi)發(fā)者提供實(shí)踐、競(jìng)賽和進(jìn)步的平臺(tái)。該社區(qū)擁有大量的編碼競(jìng)賽問(wèn)題,允許訪問(wèn)此前別人解答編碼挑戰(zhàn)賽的源碼。該社區(qū)也設(shè)置了難易度,你可以根據(jù)自身?xiàng)l件選擇挑戰(zhàn)。
加入CodeEval與其他開(kāi)發(fā)者一樣像企業(yè)Boss展示你的編碼技能。你可以參與不同類(lèi)別的競(jìng)賽,但重點(diǎn)是創(chuàng)建一款產(chǎn)品/應(yīng)用,贏取高額的獎(jiǎng)金作為回報(bào)。此外,你還可以將參與編程挑戰(zhàn)賽的經(jīng)歷添加到你的簡(jiǎn)歷上,以加深雇主對(duì)你的印象。CodeEval旨在幫助開(kāi)發(fā)者宣傳自己的經(jīng)歷, 這將對(duì)你的工作起到很大幫助。
HackerRank網(wǎng)站是為編碼程序員們提供一個(gè)以編碼謎題和現(xiàn)實(shí)生活中遇到的編碼難題為基礎(chǔ)的新興的社交平臺(tái)。HackerRank公司得到了風(fēng)險(xiǎn)投資公司Y Combinator 的資金支持。
在這個(gè)社區(qū)中,他們提供了各種編碼謎題、游戲病毒和現(xiàn)實(shí)中的編碼難題及挑戰(zhàn),讓黑客們?cè)谠撋鐓^(qū)中進(jìn)行交流討論,接受挑戰(zhàn)。HackerRank就如這個(gè)名字所暗示的一樣,它同時(shí)還提供了在線排行榜和其他的競(jìng)爭(zhēng)元素。
Talentbuddy是你鍛煉解決問(wèn)題能力的好地方,它為程序員提供了一個(gè)可以練習(xí)C、C#、C++、JavaScript、PHP、Python、Ruby等語(yǔ)言,以采訪問(wèn)答的方式引導(dǎo)你解決問(wèn)題,此外它還涉及到MongoDB方面的知識(shí)。
Codewars的獎(jiǎng)勵(lì)系統(tǒng)激勵(lì)程序員們像打游戲升級(jí)一樣地做習(xí)題。筆者想不出用什么詞來(lái)形容它了,下面的這個(gè)視頻足以說(shuō)明一切!
點(diǎn)擊查看
Rosalind提供了生物學(xué)方面的挑戰(zhàn),你可以按照自己的步調(diào)接受挑戰(zhàn)。
你可以編寫(xiě)自己的Robots(也稱(chēng)為爬蟲(chóng)協(xié)議、機(jī)器人協(xié)議等),然后利用它們對(duì)抗社區(qū)其他成員。這是編碼娛樂(lè)(code-and-play)兩不誤,寫(xiě)代碼的同時(shí)也可以過(guò)關(guān)斬將。嘗試以文檔的方法獲取更好的靈感吧。
英文出自:Codecondo
上一篇 第十四章_安全性
下一篇 iOS GCD使用指南