數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)知識(shí)學(xué)的是什么 程序員需要學(xué)什么科目?
程序員需要學(xué)什么科目?1.語(yǔ)言如果我們想成為一名程序員,我們會(huì)學(xué)習(xí)很多雜七雜八的東西,但我們必須從語(yǔ)言開(kāi)始學(xué)習(xí),而學(xué)習(xí)語(yǔ)言最重要的是選擇一本好書(shū),即使學(xué)校的課本忘記了,也根本寫(xiě)不好。我在此鄭重推薦《C
程序員需要學(xué)什么科目?
1.語(yǔ)言
如果我們想成為一名程序員,我們會(huì)學(xué)習(xí)很多雜七雜八的東西,但我們必須從語(yǔ)言開(kāi)始學(xué)習(xí),而學(xué)習(xí)語(yǔ)言最重要的是選擇一本好書(shū),即使學(xué)校的課本忘記了,也根本寫(xiě)不好。我在此鄭重推薦《C Primer》。這本書(shū)很厚,內(nèi)容豐富,對(duì)知識(shí)的講解也不僅僅是表面的。如果能耐心看完這本書(shū),語(yǔ)言上基本不會(huì)有大問(wèn)題,也能為以后的學(xué)習(xí)打下良好的基礎(chǔ)。
C里面有很多GUI庫(kù),比如MFC,WTL,wxWidgets,QT。每個(gè)GUI庫(kù)都有自己的特點(diǎn)。其實(shí)我們只需要先了解其中一個(gè)。只要我們對(duì)一個(gè)GUI庫(kù)有深入的了解,必要的時(shí)候?qū)W習(xí)其他的就夠了。基本都是一樣的,很快就能上手。MFC設(shè)計(jì)雖然問(wèn)題很多,但作為入門(mén)還是不錯(cuò)的,學(xué)習(xí)資料也多,遇到問(wèn)題很容易解決。
3.數(shù)據(jù)結(jié)構(gòu)和算法
很多人忽略了數(shù)據(jù)結(jié)構(gòu)和算法的知識(shí),尤其是一些編程語(yǔ)言庫(kù)很好,幾乎不需要自己實(shí)現(xiàn)一些數(shù)據(jù)結(jié)構(gòu)和算法,導(dǎo)致現(xiàn)在很多程序員不重視甚至忽略這些知識(shí)。然而,當(dāng)我們希望我們的程序運(yùn)行得更快,占用更少的內(nèi)存時(shí),這些知識(shí)是非常重要的。許多程序員不這樣做。;起初他們不會(huì)注意這些,但工作幾年后他們會(huì)回來(lái)補(bǔ)習(xí)這些知識(shí)。
一開(kāi)始可能不需要學(xué)習(xí)太深,但是一定要知道基本的數(shù)據(jù)結(jié)構(gòu)和算法。
推薦《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》。在數(shù)據(jù)結(jié)構(gòu)和算法的學(xué)習(xí)中,最好使用C語(yǔ)言,而不是關(guān)注面向?qū)ο蟮募记?,這樣可以更關(guān)注算法本身的內(nèi)容。
4.數(shù)據(jù)庫(kù)?資料庫(kù)
學(xué)習(xí)數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí),掌握一種數(shù)據(jù)庫(kù)的使用方法。建議用mysql,而且最好不要用一些封裝的接口,直接用mysql提供的數(shù)據(jù)庫(kù)api,可能會(huì)讓你對(duì)數(shù)據(jù)庫(kù)有更多的了解。
5.平行的
cpu的主頻不能再跟隨摩爾 s定律,而且現(xiàn)在cpu的發(fā)展趨勢(shì)是多核。無(wú)論是多線(xiàn)程還是多進(jìn)程,都是為了更好的利用cpu的性能,提供更好的用戶(hù)體驗(yàn)。這就要求我們要想寫(xiě)出高效的應(yīng)用,就必須涉及到并行計(jì)算。多花點(diǎn)精力在并行計(jì)算上,一定會(huì)有回報(bào)的。
6.網(wǎng)絡(luò)編程
這里所說(shuō)的網(wǎng)絡(luò)編程是指socket編程。現(xiàn)在很多C的應(yīng)用都在做服務(wù)器開(kāi)發(fā),那么如何開(kāi)發(fā)一個(gè)高并發(fā)、高吞吐量、高穩(wěn)定性的服務(wù)器是我們要考慮的。
7.設(shè)計(jì)模式
設(shè)計(jì)模式不是一種特定的技術(shù),更多的是關(guān)于如何讓代碼更容易閱讀、擴(kuò)展和使用。
8.圖書(shū)館的使用
c標(biāo)準(zhǔn)庫(kù)只提供一些非常基本的功能,所以我們經(jīng)常會(huì)引入一些第三方庫(kù)。最著名的可能就是被稱(chēng)為準(zhǔn)標(biāo)準(zhǔn)庫(kù)的boost庫(kù)了,它提供了我們編程中用到的各種技術(shù),比如文本處理、算法、網(wǎng)絡(luò)、多線(xiàn)程、圖像處理等等,幾乎包羅萬(wàn)象。還有一些其他的庫(kù)是專(zhuān)門(mén)做某一方面的,比如網(wǎng)絡(luò)通訊的AC《windows核心編程》,linux上《深入理解linux內(nèi)核》的人應(yīng)該知道你應(yīng)該學(xué)什么。
大學(xué)計(jì)算機(jī)專(zhuān)業(yè)里的《數(shù)據(jù)庫(kù)》課程主要有什么內(nèi)容?
本課程主要介紹數(shù)據(jù)結(jié)構(gòu)的原理,包括:
1.簡(jiǎn)介;
2.三種主要的數(shù)據(jù)模型;
3.關(guān)系數(shù)據(jù)庫(kù)、關(guān)系系統(tǒng)及其查詢(xún)優(yōu)化的標(biāo)準(zhǔn)語(yǔ)言;
4.關(guān)系數(shù)據(jù)理論;
5.數(shù)據(jù)庫(kù)設(shè)計(jì);
6.數(shù)據(jù)庫(kù)維護(hù);
7.數(shù)據(jù)庫(kù)管理系統(tǒng);
8.分布式數(shù)據(jù)庫(kù)系統(tǒng);
9.計(jì)算機(jī)網(wǎng)絡(luò)安全等。