色综合中文综合网_性猛交娇小69hd_久久精品99久久久久久_欧美日韩精品一区二区三区四区 _97视频色精品_国产高清精品久久久久_日日鲁鲁鲁夜夜爽爽狠狠视频97 _国产成人免费视频精品含羞草妖精 _熟女少妇在线视频播放_精品人妻一区二区三区麻豆91 _久久女同性恋中文字幕_一区二区福利视频

程序員必練六大項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點

魚羊 編譯整理
量子位 報道 | 公眾號 QbitAI

編程這件事,光有理論是不夠的,動手實踐是必修課。

不過,從什么項目入手,往往讓人犯了難。

程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點
程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點

如果你還在糾結,應該拿什么項目來開始自己的編程練習,不妨來看看這份“程序員都應該嘗試的挑戰(zhàn)性項目”清單。

這是田納西大學助理教授奧斯汀·亨利(Austin Z. Henley)結合自身經(jīng)驗,給出的良心推薦。不僅總結了知識要點,讓你在學習中有的放矢,還貼心整理了拓展閱讀資料。

你可以多次構建這些項目,每次從中收獲新的知識。

每當我不知道該拿什么練手,或者想學習一種新的編程語言或框架時,我就會從以下項目中選擇一種開始coding:

每個程序員都應該嘗試的挑戰(zhàn)性項目

文本編輯器

不使用GUI框架中內(nèi)置的文本框組件,要如何搭建支持光標移動、選擇、插入和刪除操作的文本框?

這個項目中,存在兩個主要挑戰(zhàn):

  • 如何將文本文檔存儲在內(nèi)存中
  • 學習文本光標在流行的編輯器中的行為

不要小看這些基礎的功能,其中有許多細節(jié)值得注意。比如當光標位于文本當中,按下向上箭頭,光標會移動到何處?

程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點
△圖源:Austin Z. Henley

如果你覺得這太簡單,還有進階測試:

  • 撤銷/重做
  • 自動換行

最后總結一下知識要點:

  • 用于存儲文本的數(shù)據(jù)結構:數(shù)組,rope,gap buffer,piece table
  • 文本光標的行為和實現(xiàn)
  • 撤銷/重做的設計模式:記憶,命令
  • 分離文本視覺和記憶的抽象

別忘了還有拓展閱讀喲:

程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點

2D游戲-太空侵略者

即使是最簡單的游戲也需要考慮數(shù)據(jù)結構和設計模式。

在這個項目中,你的任務是從頭到尾實現(xiàn)一個定義明確的游戲。最好使用SDL,SFML,PyGame這樣的2D圖形庫。

程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點
△圖源:Austin Z. Henley

第一步,創(chuàng)建對象移動的效果。

第二步,了解有關游戲循環(huán)的所有信息。游戲?qū)嶋H上是在繪圖、獲取用戶輸入和處理游戲邏輯之間循環(huán)。

第三步,處理用戶輸入。

第四步,學習如何創(chuàng)建和管理所有游戲?qū)ο蠹捌錉顟B(tài)。比如如何生成動態(tài)數(shù)量的敵人。

第五步,學習如何應用游戲的邏輯。子彈頭位置何時更新?什么時候會有更多敵人出現(xiàn)在屏幕上?怎么判定敵人被干掉了?游戲何時結束?

甚至,在進階階段,你還可以考慮引入AI,來制造更加“智能”的敵人。

編譯器-Tiny BASIC

從頭開始編寫一種非常小的類似于BASIC的語言編譯器,然后將其編譯為任何其他語言。比如,用Python編寫可以輸出C#代碼的Tiny BASIC編譯器。

程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點
△圖源:Austin Z. Henley

知識點:

  • 詞法分析
  • 句法分析
  • 遞歸下降解析
  • 抽象語法樹
  • 語義分析
  • 優(yōu)化passes
  • 代碼生成

迷你操作系統(tǒng)

從這個項目開始,難度就加大了。

操作系統(tǒng)依賴于硬件,因此入門門檻比較高。但這個項目可以幫助你更好地理解計算機底層都發(fā)生了什么。

作者亨利推薦了一本免費電子書《使用Rust構建RISC-V操作系統(tǒng)》作為入門教材(地址見文末)。

程序員必練六項目:從數(shù)據(jù)結構到操作系統(tǒng),計算機教授為你畫重點
△圖源:Austin Z. Henley

知識點:

  • 交叉編譯
  • Bootloading
  • BIOS中斷
  • x86模式
  • 內(nèi)存管理和分頁
  • 排程(Scheduling)
  • 文件系統(tǒng)

如果以上四個項目,你都覺得so easy,那么就來嘗試一下最后這兩個高難度項目吧。

電子表格

電子表格應用程序(如Excel)將文本編輯器和編譯器的挑戰(zhàn)結合在了一起。

在這個項目中,你需要學會如何在內(nèi)存中表示單元格內(nèi)容,并實現(xiàn)用于方程式的編程語言解釋器。

電子游戲機模擬器

這是一個操作系統(tǒng)+編譯器的二合一挑戰(zhàn)項目。

挑戰(zhàn)內(nèi)容是,編寫一個虛擬機,讓虛擬機可以像真實的CPU和其他硬件組件一樣運行。

亨利的建議,是從簡單的虛擬控制臺入手,比如CHIP-8。

網(wǎng)友建言獻策

博客一出,在Hacker News、Reddit上受到了廣大碼農(nóng)們的歡迎。

有網(wǎng)友說:

這些項目能讓我接觸到完全不同的領域和問題,比我日常的工作更能激勵我。

并且,網(wǎng)友們紛紛建言獻策,又推舉出好幾個優(yōu)質(zhì)上手項目:

  • 從零搭建數(shù)據(jù)庫
  • 光線追蹤器
  • 矢量圖形編輯器
  • 圖像解碼器
  • 網(wǎng)頁聊天室
  • pi計算器的位數(shù)
  • 通用終端實用程序(如grep)
  • FTP客戶端和服務器

所以,這些項目是否激發(fā)了你的靈感?

Talk is cheap. Show me the code. 快動手練起來吧~

傳送門

博客地址:
http://web.eecs.utk.edu/~azh/blog/challengingprojects.html

Hacker News討論(內(nèi)含更多項目推薦):
https://news.ycombinator.com/item?id=21790779

《使用Rust構建RISC-V操作系統(tǒng)》:
http://osblog.stephenmarz.com/index.html

—??—

版權所有,未經(jīng)授權不得以任何形式轉載及使用,違者必究。
四虎国产成人精品免费一女五男| 综合久久给合久久狠狠狠97色| 国产精品美女主播在线观看纯欲| 中文字幕人妻一区二区三区视频| 久久伊人精品天天| 国产无遮挡免费视频| 色婷婷**av毛片一区| 国产福利在线导航| 亚洲欧洲日韩国产| 免费毛片在线播放免费| 中文字幕av一区二区三区谷原希美 | 欧美黄网站在线观看| 久久亚洲图片| 激情五月综合色婷婷一区二区 | 性日韩欧美在线视频| 另类专区欧美蜜桃臀第一页| 久久香蕉国产线看观看网| 一区二区黄色片| 欧美综合欧美视频| 五月天激情小说| 亚洲成人性视频| 国产三级aaa| 日韩在线观看精品| 国产免费高清av| 国产精品视频白浆免费视频| 丝袜亚洲另类欧美综合| 91网免费观看| 日韩精品电影在线| 亚洲国产精品www| 99久久婷婷国产| 色综合av综合无码综合网站| 色婷婷av一区二区| 久久久蜜桃一区二区| 天天干天天操天天玩| 欧美日韩和欧美的一区二区| 午夜少妇久久久久久久久| 国产人成亚洲第一网站在线播放| 91人人爽人人爽人人精88v| 免费在线一区观看| 99er在线视频| 亚洲精品一区二区三区精华液 | 欧美h在线观看| 亚洲国产成人在线观看| 少妇人妻精品一区二区三区| 日韩成人免费看| 久久精品免费在线| 日韩伦理在线免费观看| 成人免费福利在线| 一区二区三区高清国产| 最新国产成人在线观看| 女王人厕视频2ⅴk| 久久久久成人精品免费播放动漫| 一区二区三区|亚洲午夜| 日韩免费高清在线观看| 亚洲性视频网站| 欧美视频一区在线观看| 国产精品欧美日韩一区二区| 日韩欧美成人网| 天天射综合影视| 日韩av影视综合网| 国产精品美女无圣光视频| 免费精品视频一区二区三区| 午夜精品亚洲一区二区三区嫩草| 精品999在线观看| αv一区二区三区| www.国产一区| 亚洲黄页视频免费观看| 亚洲国产aⅴ成人精品无吗| 亚洲av无码精品一区二区| 亚洲 中文字幕 日韩 无码| 久久免费视频3| 吴梦梦av在线| 99re在线| 国产精品香蕉视屏| 亚洲精品成人在线| 成人性生交免费看| aa在线免费观看| 自拍偷拍中文字幕| 人妻丰满熟妇av无码区hd| 中文字幕av不卡| 4438x亚洲最大成人网| 亚洲精品视频在线观看视频| 亚洲精品自产拍| 欧美色倩网站大全免费| 91极品美女在线| 欧美欧美午夜aⅴ在线观看| 亚洲欧美一区二区在线观看| 免费看黄网站在线观看| 国产一区二区波多野结衣 | 一区二区三区日韩欧美| 性久久久久久久久| 欧美夫妻性生活| 黄色片网站免费在线观看| 日韩免费av片| 天天干天天干天天| 成人免费视频国产免费麻豆| 91.com在线| 神马影院我不卡| 国产日韩一区二区三区| 国产国语刺激对白av不卡| 欧美精品性视频| 91av在线影院| 精品调教chinesegay| 欧美一区二区三区喷汁尤物| 久久免费视频这里只有精品| 2019亚洲男人天堂| 国产丝袜一区二区| 一夜七次郎国产精品亚洲| 欧美激情第三页| 欧美日韩国产一区中文午夜| 日韩精品一区二区三区蜜臀| 久久久久国色av免费观看性色| 免费看的黄色大片| 亚洲欧美日韩一区二区三区四区| 久久日韩粉嫩一区二区三区| 性欧美疯狂xxxxbbbb| 欧美日韩美少妇| 国产乱人伦偷精品视频不卡| 99热这里只有精品4| 中文字幕精品—区二区日日骚| 国产精品裸体一区二区三区| 久久久久久www| 色综合激情五月| 一区二区三区在线播| 欧美性猛交xxxx黑人猛交| 伊人网中文字幕| 日韩成人av影院| 成人有码视频在线播放| 日韩在线观看免费高清完整版| 美女精品久久久| 国产精品第一第二| 91精品国产成人www| 欧美亚洲日本黄色| 7777精品久久久大香线蕉小说| 天堂中文视频在线| 亚洲熟女乱综合一区二区三区| 特级黄色录像片| 午夜精品久久久久久99热软件 | 国产又大又黄又猛| www.99re6| 日本免费a视频| 日本道中文字幕| 中文字幕第99页| 欧美性猛交xxxx偷拍洗澡| 国产一区二区在线网站| 欧美一二三区视频| 91精品国产免费久久综合| 成人激情综合网| 少妇特黄a一区二区三区| www.色天使| 久久综合色综合| 99在线精品视频免费观看软件| 97aⅴ精品视频一二三区| 婷婷六月综合亚洲| 97国产成人精品视频| 久久久中精品2020中文| 精品国产一区二区三区麻豆免费观看完整版 | 欧美久久久久久蜜桃| 成人av在线观| 日韩一区二区免费在线电影| 国产视频999| 男人亚洲天堂网| 日韩av自拍偷拍| 国产精品自拍一区| 91传媒视频免费| 亚洲综合图片网| 日韩成人中文电影| 久久婷婷国产91天堂综合精品| 亚洲xxx在线| 欧美色中文字幕| 国产精品福利久久久| 潘金莲一级淫片aaaaaa播放1| 欧美深夜福利视频| 国产成人在线观看网站| 免费在线观看一区二区三区| 精品一区二区三区在线视频| 欧美日韩国产在线看| 国产精品免费在线免费| 中文字幕人妻一区二区| 国产精品久久久久精| 成人精品免费看| 日韩精品一区二区三区在线播放| 国产一区二区无遮挡| 久久天堂国产精品| 日本亚洲色大成网站www久久| 成人免费在线视频| 欧美精品videosex极品1| 欧美日韩亚洲一| 最新国产中文字幕| 日本一区二区三区四区| 91在线porny国产在线看| 亚洲美女自拍视频| 无码人妻精品一区二区三区66| 久久国产主播| 国产成人亚洲综合色影视| 亚洲福利视频三区| 亚洲美腿欧美激情另类| 成人免费网站在线看| 精品国偷自产一区二区三区| 国产草草影院ccyycom| 日韩欧美中文一区二区| 91精品国产综合久久男男| 亚洲熟女www一区二区三区| 国产女主播视频一区二区| 翡翠波斯猫1977年美国| 五月天婷婷视频| 久久91亚洲人成电影网站| 日本一极黄色片| 国产手机视频在线| 色综合视频在线观看| 97久久精品在线| 亚洲综合av在线播放| 国产又粗又大又爽| 国产婷婷精品av在线| 日韩一区二区三| 日本免费a视频| 亚洲一区二区在线播放相泽 | 久久精品99北条麻妃| 久久久久久香蕉网| 西西44rtwww国产精品| 日韩欧美国产骚| 精品伦精品一区二区三区视频| 午夜国产福利视频| 国产精品卡一卡二卡三| 国产精品一区视频| 免费xxxx性欧美18vr| 91精品国产免费久久综合| 国产精品免费一区二区三区四区| 久久久久久久极品内射| 欧美日韩精品一区二区三区| 一区二区在线免费观看视频| 国产一区欧美一区| 欧美大片免费观看| 精品少妇theporn| 久久亚洲精品小早川怜子| 亚洲黄色激情视频| 亚洲一卡二卡在线| 亚洲美女精品久久| 亚洲激情在线观看视频| 一区二区免费在线播放| 日韩视频免费播放| 中文乱码字幕高清一区二区| 色偷偷成人一区二区三区91| 99re在线视频免费观看| jlzzjlzz亚洲日本少妇| 精品欧美国产| 日韩电影在线一区二区三区| 日韩av免费在线观看| 成人涩涩小片视频日本| 欧美日韩在线播| 男女高潮又爽又黄又无遮挡| 国模无码大尺度一区二区三区| 中文字幕欧美亚洲| 波多野在线播放| 在线观看免费成人| 日本免费黄色小视频| 狠狠综合久久av一区二区| 久久精品电影网站| 国产xxxxx在线观看| 日韩精品成人一区二区在线| 久久精品中文字幕| 男人女人黄一级| 欧美日韩中文字幕在线视频| 国产视频一视频二| 国产99久久久国产精品| 亚洲自拍偷拍区| 久久日一线二线三线suv| 欧在线一二三四区| 亚洲国产精品一区二区久| 亚洲性图第一页| 日韩大片免费观看视频播放| 日本中文字幕一级片| 日韩欧美在线免费| 欧美精品一二三四区| 国产精品区二区三区日本| 亚洲欧美另类久久久精品2019| 亚洲天堂av一区二区| 精品国内产的精品视频在线观看| 欧美一区二区三区成人片在线| 日本成人三级| 亚洲欧美影院| 国产xxxxxx| 亚洲第一国产精品| 欧美亚洲精品日韩| 国产一区二区在线播放视频| 亚洲国产欧美日韩精品| 黄视频网站免费看| 日本精品久久久| 九九精品视频在线看| 亚洲欧美影院| 色婷婷综合久久久久中文一区二区| 亚欧激情乱码久久久久久久久| y97精品国产97久久久久久| 日韩一区二区三区不卡| 91精品国产欧美一区二区18| 天天综合天天添夜夜添狠狠添| 最新不卡av在线| av免费观看不卡| 亚洲精品国精品久久99热一| 99热这里只有精品4| 亚洲免费电影在线观看| 国产高清999| 欧洲av一区二区嗯嗯嗯啊| 9i精品福利一区二区三区| 亚洲欧洲第一视频| 蜜臀av.com| 亚洲成人一区在线| www..com国产| 亚洲va久久久噜噜噜| 琪琪一区二区三区| 狠狠色综合欧美激情| 亚洲欧美激情在线| 最近中文字幕在线mv视频在线| 日本道在线观看| 亚洲精品电影网在线观看| 亚洲精品一区二区三区新线路| 另类小说综合网| 亚洲精品国产精品久久清纯直播| 国产在线不卡视频| 午夜在线观看一区| 最新欧美日韩亚洲| 992tv成人免费视频| 亚洲精品毛片一区二区三区| 欧美xxxxx在线视频| 日韩美女视频免费在线观看| 97se亚洲国产综合在线| 欧美 日本 国产| 国产一区视频在线| 久久99九九99精品| 国产精品国产亚洲精品看不卡| 成人精品小蝌蚪| 日韩精品一线二线三线| 91性感美女视频| 蜜桃免费网站一区二区三区| 91香蕉国产在线观看| 少妇人妻精品一区二区三区| 成人免费视频网址| 亚洲视频在线一区观看| 日韩久久久久久久久| 欧美大片免费播放| 91精品在线免费观看| 国产成人av免费看| 日韩 欧美 视频| 亚洲欧美另类中文字幕| 国产黄色一级大片| av动漫免费看| 国产亚洲一区二区在线| 国产精品18久久久久久久网站| 色哟哟一一国产精品| 色阁综合av| 亚洲高清不卡av| 精品中文字幕一区二区| 好男人香蕉影院| 精品无人区一区二区三区竹菊| 欧美性猛交xxxx富婆| www色aa色aawww| 久久综合色之久久综合| 国产伦理在线观看| 精品无人乱码一区二区三区的优势 | 91av免费看| 综合激情国产一区| 91精品久久久久久久91蜜桃| 国产午夜精品理论片a级大结局| 蜜桃视频久久一区免费观看入口| 免费成人蒂法网站| a级网站在线观看| 久久精品中文字幕电影| 日本高清不卡一区| 久久理论电影网| 91成人精品一区二区| 黄色录像特级片| 一区二区三区日韩在线| 婷婷夜色潮精品综合在线| 国产精品亚洲视频| 国产精品suv一区二区69| 亚洲欧美激情网| 久久资源在线| 欧美牲交a欧美牲交aⅴ免费真| 欧美激情女人20p| 99re这里都是精品| 99久久99久久久精品棕色圆| 91视频在线网站| 日韩av片在线看| 国产一级大片免费看| 久久夜色撩人精品| 亚洲欧美aⅴ...| 国产揄拍国内精品对白| 日本黄色片视频| 人妻av一区二区| 日本不卡二区高清三区| 黑人巨大精品欧美一区免费视频 | 国产欧美一区二区精品秋霞影院| 奇米精品一区二区三区在线观看一| 亚洲欧美综合自拍| 亚洲国产精品久| 久久久久亚洲AV成人无码国产| 国模无码视频一区二区三区| 成人av网站观看| 日韩电视剧免费观看网站| 亚洲精品视频在线| 懂色av中文字幕一区二区三区| 国产探花在线播放| 天天躁日日躁狠狠躁av麻豆男男| 妓院一钑片免看黄大片| 国产在线一区二| 欧美孕妇性xx| 日韩在线播放视频| 欧美一级xxx| 亚洲精品国产无套在线观| 久草热8精品视频在线观看|