国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學習啦 > 學習方法 > 通用學習方法 > 學習經(jīng)驗 > 怎么才能快速有效的學習sql

怎么才能快速有效的學習sql

時間: 欣怡1112 分享

怎么才能快速有效的學習sql

  sql是什么?sql應該怎么學習?怎么才能快速有效的學習sql?相信大家都想了解這些問題,特別是想要學習sql的小伙伴,一起來看看,以下是學習啦小編分享給大家的學習sql的方法,希望可以幫到你!

  學習sql的方法

  掌握系統(tǒng)化的學習方法

  如果學習到的知識不成體系,那么遇到問題時就會非常難解決。有些同學會出現(xiàn)這些情況,比如編碼時遇到問題百度搜索,如果百度上找不到答案,這個問題就解決不了。再比如,在開發(fā)中要用到某個技術(shù)點,就學習下API,程序調(diào)通后就不再深入研究,淺嘗輒止,如果程序遇到其他問題也不知道如何解決。

  以上情況我認為叫**點狀學習**。遇到一個問題,解決一個問題,需要一項技術(shù),學習一項技術(shù)。那么如何由點到面,由面到體,形成系統(tǒng)化學習呢。

  首先要確定學習的知識領(lǐng)域,需要達成的學習目標,針對目標制定學習計劃,就像你要寫一本書一樣,先把目錄寫出來,然后根據(jù)目錄上的知識點逐步去學習,最后把這些知識點關(guān)聯(lián)起來,形成一個系統(tǒng)化的知識體系。學習的時候,可以制定一個計劃,以周為單位,比如第一周學什么,第二周學什么。

  比如我最近在學習人工智能,學習步驟是:

  1: 高數(shù)基礎知識:線性代數(shù),微積分和統(tǒng)計學。最近在打德州撲克時,我也會用統(tǒng)計學里的知識計算下輸贏的概率。

  2: 人工智能基礎:買幾本書人工智能的基礎書籍,如《機器學習基礎教程》《Python機器學習》。

  3:框架:TensorFlow等。

  4:實戰(zhàn):在工作中找到一個應用場景,把學到的知識運用進去。

  知識如何內(nèi)化成能力

  作家格拉德威爾在《異類》一書中指出,1萬小時的錘煉是任何人從平凡變成世界級大師的必要條件。1萬小時有多久?每天學習10小時,需要大約三年。但是很多人都工作了五年甚至更長,但是為什么成為世界級大師的卻非常少。讀者可以先自己思考下這個問題。接下來談談我的看法。

  成長必須經(jīng)歷一個步驟,就是把知識內(nèi)化成能力。**知識是用腦記住的,能力是用手練習出來的**。在工作的幾年里,我們可能看過很多書,聽過很多技術(shù)講座和視頻,但是通過聽和看只是讓你能記住這些知識,這些知識還不能轉(zhuǎn)換成你的能力。

  聽和看只是第一步,更重要的是實踐,通過刻意練習把聽到和看到的知識內(nèi)化成你的能力。

  刻意練習,就是有目的的練習,先規(guī)劃好,再去練習。首先給自己定一個目標,目標可以有效的引導你學習,然后使用3F練習法:

  1: 專注(Focus),專注在眼前的任務上,在學習過程中保持專注,可以嘗試使用番茄工作法。

  2:反饋(Feedback),意識到自己的不足,學習完之后進行反思,思考下自己哪些方面不足,為什么不足。

  3: 修正(Fix),改進自己的不足。

  不停的練習和思考可以改變大腦結(jié)構(gòu),大腦像肌肉一樣,挑戰(zhàn)越大,影響越大,學習更高效,并且也會產(chǎn)生突破性。

  廣度和深度的選擇

  技術(shù)人員的學習路徑有兩個維度,深度和廣度。很多程序員都有這個疑問,是先深后廣,還是先廣后深呢?

  通過這么多年的學習和思考,我的建議先深后廣,因為當技術(shù)學到一定深度后,就會有觸類旁通的能力,自己掌握的廣度也自然有了深度。但是在實際學習過程中,深度和廣度相互穿插著學習,比如學習并發(fā)編程時,首先學習JDK源碼,然后學進去之后,開始看JVM源碼,最后看CPU架構(gòu),在技術(shù)點逐漸深度研究的過程中,廣度也得到了完善。

  所以無論哪種學習方式,學習態(tài)度才是最重要的,在廣度學習的時候有深入研究的態(tài)度就能達到一定的深度,在深度學習的時候,主動學習相關(guān)的技術(shù)點,廣度也得到拓寬。

  你需要學會的編碼習慣

  程序員應該學會通過技術(shù)的手段來提高效率。幾個常用的手段是使用工具,快捷鍵和編寫腳本。

  1. 使用各種工具

  技術(shù)人員電腦盡量用MAC,使用命令行效率一定比在1024*1024像素中找一個10*10像素的按鈕更快。IDE用IDEA,比Eclipse更智能。命令行工具用iTerm和IDEA里的Terminal。寫文章用MAC的客戶端工具MacDown,左邊編寫,右邊展示,比Word等工具方便快速很多。有時候我還會用按鍵精靈里配置腳本需要解決工作問題,比如通過點擊我們的系統(tǒng),來執(zhí)行任務。這樣的工具很多,只要能提高工作效率的工具,大家都可以嘗試使用。

  2. 使用快捷鍵

  MAC,IDEA和Eclipse有很多快捷鍵都要學會使用,比如在MAC命令行中通過idea .快速打開工程,通過open . 快速的打開文件夾,把IDEA里通過快捷鍵把一段代碼抽成一個單獨的方法,快速生成getter setter方法。

  學習sql的注意事項

  空杯心態(tài)

  首先要有空杯的學習心態(tài),而不是傲嬌自滿,故步自封,空杯子才可以裝下更多的東西。首先要學會取百家之長,帶著欣賞的眼光看團隊的同事或?qū)W校的同學,欣賞每位同事或同學的優(yōu)點,然后吸取他們的優(yōu)點,每個同事都有其擅長的能力,比如有的同事技術(shù)能力強,那么可以觀察下他如何學習的(或者找他請教學習方法),有的同學擅長解決線上問題,那么觀察他是如何解決線上問題的,解決思路是什么?如果他解決不了時,他是如何尋求幫助。有的同學擅長使用IDE或MAC的快捷鍵,那么可以向他學習提高工作效率。有的同學能快速理解業(yè)務知識,觀察他是如何做到的,自己如何達到他的程度。溝通能力,解決問題能力以及規(guī)劃能力都可以向同事學習。

  挑戰(zhàn)權(quán)威

  從書上看到一個知識點,或者從別人那里聽到一個知識點,一定要去挑戰(zhàn)和質(zhì)疑這個知識點的正確性,否則學到的知識點可能是錯誤的。先用邏輯思維推測下,再實戰(zhàn)檢測下,一定要記住實踐是檢驗真理的唯一標準。比如同事說這個SQL加這個索引是最快的,首先要思考同事的結(jié)論是如何得出的,是靠歷史經(jīng)驗還是測試過,如果我們沒有經(jīng)驗,就加上這個索引跑下SQL,看看執(zhí)行計劃和執(zhí)行時間,再換下其他索引試試會不會更快。依次類推,并發(fā)一定比串行快嗎?無鎖一定比加鎖快嗎? 很多結(jié)論都是在特定的場景下才會產(chǎn)生的,一定要自己親手實踐驗證下。

  堅持學習

  有的同學可能工作了五年,但是學習的時間可能一年都不到。學技術(shù)不能急于求成,只要學習方法正確,量變一定會引起質(zhì)變。我在大學剛學JAVA時,怎么都學不會,但是堅持學習了幾個月,每天看張老師的JAVA視頻教學,買書按照書里的代碼一行一行的敲代碼,白天睡覺,晚上學習和寫代碼,寫到宿舍關(guān)燈時就去避風塘呆一晚上,早上6點鐘回宿舍睡覺,學到一定時間后,突然恍然大悟,才入了門。

  在工作中,我曾經(jīng)花了一個月的時間學習AOP的實現(xiàn)原理,學習了各種方式來實現(xiàn)AOP的原理,并寫了幾種實現(xiàn)方式的代碼,雖然花的時間很多,但是到現(xiàn)在仍記憶猶新,對于排查問題和學習其他知識都非常有幫助。

  要做到堅持學習,學習的環(huán)境非常重要。如果你想學,但是又不在學習狀態(tài),可以考慮換個學習環(huán)境,我經(jīng)常會去星巴克看書和學習。我聽說有的同事會周末抽一天去大學教室上自習。

  把事做精

  對自己要求越高,進步越快。要有強烈的把事情做完美的心態(tài),我剛開始工作的時候,總是快而不精,做事做的不夠細致,總希望快速拿出結(jié)果證明自己,但是反而證明不了什么,技術(shù)能力也得不到提升,缺少技術(shù)亮點,在團隊中也沒什么影響力,后面就開始鍛煉一次就把事情做對的心態(tài)和方法。我觀察過,很多人都擅長快速做事情,但是把事情做好做精致的人會比較少,但是結(jié)果卻是**在精益求精的路上才會快速提高自己的能力**。比如用100行代碼實現(xiàn)的功能,思考下是否可以用10行來實現(xiàn),以便于降低運維成本,提高下次的編碼效率。引用GUAVA等類庫,提取公共方法,和使用JDK8新特性等。系統(tǒng)的方法壓測過后,單機只能承受1700QPS,可以思考和實踐能否優(yōu)化下程序提高QPS,減少服務器數(shù)量。

  把事情做精,一定是要強迫自己多花心思多花時間在這件事情上。有位技術(shù)牛人給我分享了一個心得,我覺得說的非常好,老板給你布置了一個任務,**你要花百分之150的精力做到100分,這樣在老板那里你就能拿到80分或者60分**。

  學習SQL的理由

  1. SQL是可移植的

  計算機系的學生們在獲取他們的學位時被教授數(shù)以百計的技術(shù)和理論概念,其中的許多信息并不能直接應用于每日的編程任務,但SQL介紹給學生們能夠在不同平臺間轉(zhuǎn)移的基本概念,不同的平臺擁有共通的詞匯表和工具組,學生們能帶著它們?nèi)ト魏蔚胤健?/p>

  盡管每個數(shù)據(jù)庫廠商實現(xiàn)他們自己的擴展,但廠商的每個新版本都符合ANSI/ISO SQL標準。標準兼容盡管很微妙,但也使你能夠攜帶著你的知識從一個平臺到另一個平臺。如果你學習SQL,你將會預備好從一個數(shù)據(jù)庫轉(zhuǎn)移到另一個。

  2. SQL從不改變

  我的好朋友和商業(yè)伙伴開玩笑說他成為一個數(shù)據(jù)庫管理員是因為SQL已經(jīng)35年沒有變化了,這大部分是真的。廠商實現(xiàn)他們自己的擴展并最終使其加入到 SQL標準,但SQL的核心沒有改變。一旦你理解了SQL的基礎和關(guān)系原理(并不那么難),你會發(fā)現(xiàn)你能夠繼續(xù)依賴這些知識,添加那些你本來依靠其他工具 或開發(fā)者來實現(xiàn)的特性和功能。

  3. SQL易于性能增益

  在一個應用程序中僅有幾個地方能夠?qū)崿F(xiàn)性能增益 - 表示層、應用層和存儲層。事實是,你的代碼已經(jīng)寫得很好并且很好地調(diào)整過,從那里獲取性能增益會好比從石頭中獲取血液一樣艱難。另一方面,數(shù)據(jù)庫是一個容 易做一些簡單改變(添加一個索引,稍稍修改一個查詢)并看到巨大性能改善的地方。在花費了我的職業(yè)生涯的可觀部分,以一個應用程序開發(fā)者的身份盯著數(shù)據(jù)庫 分析器之后,我能為之證明。從程序代碼中獲得性能改善是可能的,但現(xiàn)代的框架和工具通常都編寫良好,因此數(shù)據(jù)庫通常是一個更好的地方(也被認為是更容易的 地方)為性能改善找到低懸的果實。

  4. SQL使你成為更好的開發(fā)者

  《程序員的修煉之道》一書激勵開發(fā)者每年都學習一種新 語言,并不是因為環(huán)境在持續(xù)地變化,而是因為學習新的語言向開發(fā)者展示了新的模式。思考問題時有不同的思路,并且它們能夠很好地應用于不同的解決方案(通 過鉆研函數(shù)式編程我最近學了不少)。學習SQL能夠教會你以集合而非迭代的方式思考。長期來看,這會改變你與數(shù)據(jù)打交道時的思維方式,使你的數(shù)據(jù)庫代碼得 到改進。

  5. 增進團隊間的交流

  你是否曾經(jīng)試圖和語言相同但說非常不同方言的某人交談?在工作之外,跨越語言的藩籬交流會 很艱難,但當一個項目的成功依賴于此則完全令人抓狂。學習SQL會在你與數(shù)據(jù)庫管理員團隊交流你的目標時給予幫助,他們不需要解析你的意思,你可以確切地 告訴他們你的需求。最終誤解更少了,事情能夠更快地完成,你不再會是“那個讓人抓狂的開發(fā)者”。

  6. 工作保障

  我討厭這樣 說,但學習SQL可能意味著當旁邊隔間的Ted在裁員季被解雇時你能保住你的工作。你擁有越多的技能,你能履行越多的工作職能,你就變得對現(xiàn)雇主越有價值 (還有未來的雇主)。如果你能同時與數(shù)據(jù)庫團隊和開發(fā)團隊一起工作,你就成為了一個有價值的資源,兩個團隊都要依靠你獲得成功。

  7. SQL真的不那么難

  和普遍的觀念相反,SQL不是難以學習的語言。SQL是一種不同的思考方式,這是肯定的,但它并不難。那只有記錄在ANSI/ISO標準中的為數(shù)不多的 指令、操作符和數(shù)據(jù)類型。雖然廠商會添加他們自己的特性,但仍有一部分精簡的核心知識你能學習并且應用到你去到的每個地方。

  8. 理解什么時候不適合數(shù)據(jù)庫

  數(shù)據(jù)庫對于解決很多問題是現(xiàn)象級的工具,但對于解決更多的問題則是糟糕的問題。換言之:你也許不應該用一把錘子去挖掘壕溝。通過學習和理解SQL,你將能夠做出更好的決定并將表現(xiàn)糟糕的代碼移出數(shù)據(jù)庫。事實上,你將能夠在問題形成之前就將其發(fā)現(xiàn)。

  一旦你理解了SQL,你會更好地領(lǐng)會一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的局限性。你會知道應用程序的哪個部分能夠安全地存在于一個數(shù)據(jù)庫,而哪部分需要被移動到 不同的分層。一些數(shù)據(jù)驗證應該和數(shù)據(jù)存放在一起,而另一些則不應該。理解SQL如何工作會幫助你決定哪些規(guī)則應該保留在數(shù)據(jù)庫里。

  9. 讓故障排除更簡單

  運行中的應用程序難以故障排除眾所周知。越多的復雜度和分層被涉及到,就越難以為一個應用程序排除故障。對于SQL的良好理解讓快速地將存在于數(shù)據(jù)庫中的問題隔離變得可能。換言之:理解SQL使將問題定位在你的應用程序的多個不同分層中的某一層變得簡單。

猜你喜歡:

1.sql上機實習心得體會

2.Sql系統(tǒng)如何進行數(shù)據(jù)庫

3.學編程需要哪些知識

4.如何才能系統(tǒng)有效的學習asp

5.程序員們的專業(yè)技術(shù)書分享

3799444