這個問題來自 Quora 網友,題主還補充說:
注:這個問題特指和計算機打交道的技能。
寒假我有一個月的時間,我想學習很多大約一天就能學會的實用技能。我不期望(一天)精通,但有了良好理解後,我能做些基本操作。比如,我想學習如何使用 Eclipse 的偵錯程式,如何建立 makefile,學習一些重要的 Linux 終端命令。
以下的列表是來自Quora網友回覆的歸納總結。譯者在有些技能下面新增了簡明教程與技巧的文章,另外也推薦了一些相關聯的簡明課程。
技術技能
1)版本控制:Git、Github 和 SVN(連結: Git – Getting Started )
譯註:推薦這個互動式的 Git 入門資源,號稱 15 分鐘就夠了。
2)正規表示式
譯註:推薦《55分鐘學會正規表示式》
3)AWK
譯註:《「sed & awk」讀書筆記之 awk 》
4)sed
譯註:《「sed & awk」讀書筆記之 sed》
5)Grep
6)學習如何用 Vim 做你從來不知道可以這樣的事情
譯註:推薦閱讀《簡明 Vim 練級攻略》和《25個Vim教程、視訊和資源》
7)做一個爬蟲,可以抓取一些網頁並能解析一些基本資料
譯註:向熟悉Python的朋友推薦這個爬蟲框架《Scrapy:Python的爬蟲框架》,還有這一系列爬蟲博文。
8)做一個更大的爬蟲,必須填寫一到兩個表單
9)做一個簡單的線性代數庫(矩陣、向量、乘法)
10)向上面這個庫中增加“奇異值分解” SVD
(注:奇異值分解(singular value decomposition)是線性代數中一種重要的矩陣分解)
11)向這個庫中增加矩陣求逆
12)向這個庫中增加最小二乘法
13)確保你的庫能高效處理稀疏資料
14)學習如何使用 Python 中的列表
譯註:推薦《快速入門:十分鐘學會Python》
15)註冊一個 StackOverflow 帳號,學習如何使用該站點
16)閱讀你最喜歡程式語言的手冊
17)自己實現一個簡單的機器學習演算法,包括完整的流水線
譯註:推薦閱讀《國外程式設計師整理的機器學習資源大全》
18)學習如何在 Excel 中做一個簡單的線圖
19)安裝 Eclipse
20)學習 NoSQL 資料庫的基本功能
譯註:推薦閱讀:《8 種 Nosql 資料庫系統對比》
21)學習 SQL 的大部分基本功能
譯註:推薦閱讀《十步完全理解 SQL》
22)理解 SQL 和 NoSQL 之間的區別(優點、弱點、限制,使用場景,如何使用,為什麼,等等)
23)熟悉 Linux 系統
24)學習一到兩個排序演算法。(快速排序和合並排序)
譯註:推薦兩個資源《VisuAlgo:通過動畫學習演算法和資料結構》、《舊金山大學資料結構和演算法的視覺化學習工具》
25)學習 D3.js 庫
26)學習給程式碼做單元測試
27)瞭解一些 AWS 服務,還有其 API(根據你的語言喜歡來選)
28)基本圖論
29)一天一個演算法
譯註:推薦關注這個包括上百篇演算法文章的列表。
30)理解分散式處理和分散式資料儲存的需求和挑戰(basics of CAP Theorem, MapReduce 演算法, MySQL 或 PostgreSQL 資料庫的叢集)
31)具體落實到 Python
- 仔細閱讀 Python 的內建函式,理解如何在命令列玩轉這些內建函式
- 通過遵循Flask 指南或修改 Tornado 示例,來建立一個網站
- 學習 itertools 模組
32)玩一玩 CheckIO
譯註:checkio是一個通過遊戲學習程式設計的站點。另外,這裡還有一大波能提高程式設計技能的遊戲。
33)學習如何編輯維基百科的文章,修改語法問題,或依照維基媒體的原則(比如觀點中立)來修改
34)學習用 Markdown 寫作
35)學習 LaTeX、BibTex 和 pgfplots
36)學習如何在命令列下工作
譯註:《每個Linux使用者都應該瞭解的命令列省時技巧》
37)學習 JavaScript (Link: Eloquent JavaScript)
38)如果熟悉 OOP,那可以學習設計模式
譯註:《23個設計模式的簡明教程》
39)搞個樹莓派板子深入研究
非技術的技能
1)搞搞園林
2)釀啤酒(譯註:沒條件的童鞋,推薦試試釀米酒)
3)體驗遠離計算機的生活
4)學電焊
5)學打字
6)約會