還有什么比挑戰(zhàn)自己更有趣?試試這5種編程思路
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)。
在做真正喜歡的事情時(shí),沒有什么比不斷挑戰(zhàn)自己更有趣了。業(yè)余項(xiàng)目是很多程序員都會(huì)選擇的進(jìn)階之策,大多數(shù)時(shí)候,進(jìn)行業(yè)余項(xiàng)目時(shí)遇到的最大問題往往不是項(xiàng)目復(fù)雜,而是找到一種可以從事同時(shí)又很酷的業(yè)余項(xiàng)目。
做自己真正喜歡的業(yè)余項(xiàng)目是提升自我的最好方法之一。使用新技術(shù)可以增加自己的技能,還可以嘗試從未使用過的編程語言。本文為你推薦了5種業(yè)余項(xiàng)目,不如就從這里開始吧!
1. 強(qiáng)化學(xué)習(xí)
圖源:pinterest
強(qiáng)化學(xué)習(xí)是指對(duì)機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練,以做出一系列決策。如果你喜歡機(jī)器學(xué)習(xí),這個(gè)項(xiàng)目簡(jiǎn)直就是為你量身打造的!如果你之前從未接觸過機(jī)器學(xué)習(xí),可以試著挑戰(zhàn)一下自己。
創(chuàng)建自己的逃脫游戲可以讓你更了解強(qiáng)化學(xué)習(xí)。目標(biāo)很簡(jiǎn)單:試著想出一種游戲通關(guān)模式。你將學(xué)到:
- 實(shí)現(xiàn)一個(gè)有獎(jiǎng)懲機(jī)制的模型
- 掌握強(qiáng)化學(xué)習(xí)和機(jī)器學(xué)習(xí)
2. 惡搞圖片制作
我們的生活里已經(jīng)離不開表情包了,但你有沒有遇到過腦海里已經(jīng)有了圖像卻怎么也找不到合適的表情包的情況?來構(gòu)建自己的表情包生成器吧!這是本列表中較小的項(xiàng)目之一,非常適合缺乏經(jīng)驗(yàn)的開發(fā)人員。
上傳一張圖片,輸入文字,然后用戶就可以下載表情包了。你還可以通過添加一些用戶可選的默認(rèn)表情包圖片來擴(kuò)展這個(gè)項(xiàng)目。這樣用戶就更方便,不用上傳標(biāo)準(zhǔn)規(guī)格的表情包圖片了。如果你想嘗試常見JavaScript庫(React、Vue或Angular),這個(gè)項(xiàng)目非常合適。
你將學(xué)到:
- 處理文件上傳
- 生成即時(shí)圖像
- 提供用戶表情包下載
3. 溫度計(jì)APP
你可以試著創(chuàng)建一個(gè)可根據(jù)你的位置顯示溫度的APP,或者也可以為用戶添加一種查找任一城市或國家溫度的途徑。
為實(shí)現(xiàn)該項(xiàng)目,你應(yīng)該使用API來檢索特定位置的溫度。如果你剛開始接觸APP制作,這個(gè)項(xiàng)目很適合你,因?yàn)樗鄬?duì)較小,也不復(fù)雜。如果你想有更進(jìn)一步的挑戰(zhàn),可以嘗試創(chuàng)建一個(gè)更炫酷的用戶界面。
你將學(xué)到:
- 應(yīng)用程序開發(fā)
- 從API讀取數(shù)據(jù)
4. 相片馬賽克
圖源:picturemosaics
這個(gè)想法非常直截了當(dāng):上傳一張圖片,然后用該圖片創(chuàng)建一個(gè)相片馬賽克??梢允褂脠D像API來獲取馬賽克拼貼圖像。該項(xiàng)目可以制作精美作品,非常適合沒有經(jīng)驗(yàn)的開發(fā)人員。
你必須想出一個(gè)放置拼貼的解決方案。如果你覺得挑戰(zhàn)不夠,還可以允許用戶指定馬賽克拼貼的尺寸。如果想更進(jìn)一步,你可以設(shè)置圖像緩存,就不用向API發(fā)送不必要請(qǐng)求了。
你將學(xué)到:
- 編寫可放置所有馬賽克拼貼的算法
- 從API讀取數(shù)據(jù)
5. 3D投骰
還有什么比探索3D更酷炫?如果你從未使用過3D來編程,我強(qiáng)烈推薦這個(gè)項(xiàng)目,它太有意思了,而且你不必從頭開始。
看看D3或巴比倫,它們都是WebGL項(xiàng)目。Babylon有一個(gè)用于修補(bǔ)API的游樂場(chǎng),便于勞逸結(jié)合。由于集成開發(fā)環(huán)境(IDE)處于在線狀態(tài),你無須執(zhí)行任何操作,它會(huì)像CodePen一樣自動(dòng)運(yùn)行。3D可以構(gòu)建很多炫酷的東西,擲骰子模擬器就是其中之一。
圖源:unsplash
你將學(xué)到:
- 了解3D工作原理。
- 了解矢量,相機(jī)和場(chǎng)景。
這個(gè)列表里有你感興趣和愿意挑戰(zhàn)的項(xiàng)目嗎?有的話就太棒了,是時(shí)候開始行動(dòng)了!當(dāng)你做真正喜歡的事情時(shí),你真的會(huì)飛速進(jìn)步。嘗試運(yùn)用不同的編程語言或框架,可以最大限度地增加學(xué)習(xí)經(jīng)驗(yàn)。所以,你決定好了嗎?