酷!Git/SQL/正則表達(dá)式在線刷題學(xué)習(xí)網(wǎng)站,我給你們找來了
來源:labuladong
作者:labuladong
雖說我沒事就喜歡噴應(yīng)試教育,但我也從應(yīng)試教育中發(fā)現(xiàn)了一個竅門:如果能夠以刷題的形式學(xué)習(xí)某項技能,效率和效果是最佳的。
對于技術(shù)的學(xué)習(xí),我經(jīng)常面臨的困境是,理論知識知道的不少,但是有的場景實在無法模擬,缺少親自動手實踐的機(jī)會,如果能有一本帶標(biāo)準(zhǔn)答案的習(xí)題冊讓我刷刷就好了。
所以在學(xué)習(xí)新技術(shù)時,我首先會去搜索是否有在線刷題平臺,你還別說,有的大神真就做了很不錯的在線練習(xí)平臺。下面就介紹幾個平臺,分別是學(xué)習(xí) Git、SQL、正則表達(dá)式的在線練習(xí)平臺。
一、練習(xí) Git
這是個叫做 Learning Git Branching 的項目,是我一定要推薦的:

正如對話框中的自我介紹,這確實也是我至今發(fā)現(xiàn)的最好的 Git 動畫教程,沒有之一。
想當(dāng)年我用 Git 就會 add .,clone,push,pull,commit 幾個命令,其他的命令完全不會,Git 就是一個下載器,Github 就是個資源網(wǎng)站加免費圖床,命令能不能達(dá)成目的都是靠運氣。什么版本控制,我根本搞不懂,也懶得去看那一堆亂七八糟的文檔。
這個網(wǎng)站的教程不是給你舉那種修改文件的細(xì)節(jié)例子,而是將每次 commit 都抽象成樹的節(jié)點,用動畫闖關(guān)的形式,讓你自由使用 Git 命令完成目標(biāo):

所有 Git 分支都被可視化了,你只要在左側(cè)的命令行輸入 Git 命令,分支會進(jìn)行相應(yīng)的變化,只要達(dá)成任務(wù)目標(biāo),你就過關(guān)啦!網(wǎng)站還會記錄你的命令數(shù),試試能不能以最少的命令數(shù)過關(guān)!

我一開始以為這個教程只包含本地 Git 倉庫的版本管理,后來我驚奇地發(fā)現(xiàn)它還有遠(yuǎn)程倉庫的操作教程!


真的跟玩游戲一樣,難度設(shè)計合理,流暢度很好,我一玩都停不下來了,幾小時就打通了,哈哈哈!

總之,這個教程很適合初學(xué)和進(jìn)階,如果你覺得自己對 Git 的掌握還不太好,用 Git 命令還是有運氣成分,就可以玩玩這個教程,相信能夠讓你更熟練地使用 Git。
它是一個開源項目,Github 項目地址:
https://github.com/pcottle/learnGitBranching
教程網(wǎng)站地址:
https://learngitbranching.js.org
二、練習(xí)正則表達(dá)式
正則表達(dá)式是個非常強(qiáng)有力的工具,可以說計算機(jī)中的一切數(shù)據(jù)都是字符,借助正則表達(dá)式這種模式匹配工具,操作計算機(jī)可以說是如虎添翼。
我這里要推薦兩個網(wǎng)站,一個是練習(xí)平臺,一個是測試正則表達(dá)式的平臺。
先說練習(xí)平臺,叫做 RegexOne:

前面有基本教程,后面有一些常見的正則表達(dá)式題目,比如判斷郵箱、URL、電話號,或者抽取日志的關(guān)鍵信息等等。
只要寫出符合要求的正則表達(dá)式,就可以進(jìn)入下一個問題,關(guān)鍵是每道題還有標(biāo)準(zhǔn)答案,可以點擊下面的 solution 按鈕查看:

RegexOne 網(wǎng)址:
https://regexone.com/
再說測試工具,是個叫做 RegExr 的 Github 項目,這是它的網(wǎng)站:

可以看見,輸入文本和正則模式串后,網(wǎng)站會給正則表達(dá)式添加漂亮且容易辨認(rèn)的樣式,自動在文本中搜索模式串,高亮顯示匹配的字符串,并且還會顯示每個分組捕獲的字符串,下方還會給出每個通配符的含義。
這個網(wǎng)站可以配合前面的正則練習(xí)平臺使用,在這里嘗試各種表達(dá)式,成功匹配之后粘貼過去。
RegExr 網(wǎng)址:
https://regexr.com/
三、練習(xí) SQL
這是一個叫做 SQLZOO 的網(wǎng)站,左側(cè)是所有的練習(xí)內(nèi)容:

SQLZOO 是一款很好用的 SQL 練習(xí)平臺,英文不難理解,可以直接看英文版,但是也可以切換繁體中文,比較友好。
這里都是比較常用的 SQL 命令,給你一個需求,你寫 SQL 語句實現(xiàn)正確的查詢結(jié)果。最重要的是,這里不僅對每個命令的用法有詳細(xì)解釋,每個專題后面還有選擇題(quiz),而且有判題系統(tǒng),甚至有的比較難的題目還有視頻講解:

至于難度,循序漸進(jìn),即便對新手也很友好,靠后的問題確實比較有技巧性,相信這是熱愛思維挑戰(zhàn)的人喜歡的!LeetCode 也有 SQL 相關(guān)的題目,不過難度一般比較大,我覺得 SQLZOO 刷完基礎(chǔ) SQL 命令再去 LeetCode 刷比較合適。
網(wǎng)站地址:
https://sqlzoo.net/
以上就是我想推薦的幾個網(wǎng)站,沒有什么技術(shù)是刷題學(xué)不會的,如果有,就多刷一些!
推薦閱讀
全部文章分類與整理(算法+數(shù)據(jù)結(jié)構(gòu)+計算機(jī)基礎(chǔ)),持續(xù)更新
【吐血整理】那些讓你起飛的計算機(jī)基礎(chǔ)知識:學(xué)什么,怎么學(xué)?
