欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
計算機科學(xué)專(zhuān)業(yè)的同學(xué),你應該會(huì )什么

計算機科學(xué),不是計算機也不是科學(xué)。這篇文章,建議大一新生好好讀一讀。

你不需要會(huì )以下的任意一種:

  • 做 Flash (人家還有學(xué)藝術(shù)的呢,別搶飯碗)
  • 視頻剪輯(你確認你是制片?)
  • Photoshop (你確認你會(huì )拍照?)
  • 組裝機器 (除非你想去電腦城打工)
  • 重裝系統 (同上)
  • 修 Windows (同上)
  • 做網(wǎng)頁(yè) (請問(wèn)你會(huì )設計么)

但是,你需要會(huì )很多其他的東西。別忘了,你是計算機科學(xué)的學(xué)生。

計算機系不應該是培養程序員的。程序員是青春飯,35 歲還在繼續當程序員很可能會(huì )被 layoff,而且程序員本身也是沒(méi)啥職業(yè)發(fā)展空間的,要不然變成架構師,要不然變成管理層,要不然,另尋高就吧。如果只是 follow 學(xué)校的教育,很不幸,35 歲可能會(huì )成為你的一個(gè) gap。

算法和數據結構

沒(méi)錯,作為計算機系的學(xué)生,這兩門(mén)課必須得學(xué)好,否則,不能做一個(gè)合格的程序員,架構師雖然不見(jiàn)得非得寫(xiě)算法,但是總是要可以看懂的吧。

主頁(yè)君的算法學(xué)的很差,而且因為不是寫(xiě)程序的,所以沒(méi)法說(shuō)碼農需要知道什么算法,但是非碼農寫(xiě)程序的話(huà),基本上在紙上寫(xiě)一寫(xiě)畫(huà)一畫(huà),分析清楚邏輯,簡(jiǎn)單的算法自己設計應該沒(méi)啥問(wèn)題。除非你不在紙上分析。

操作系統原理

不是 Windows NT 的操作系統原理。這是個(gè)黑盒子,而且經(jīng)常變,而且設計足夠復雜。這里說(shuō)的,是 UNIX 的操作系統原理。

需要清楚的是,從計算機加電開(kāi)始,如何進(jìn)行引導操作系統,如何加載系統內核(提問(wèn):A20 line gate 是干什么的),init 如何 bring 各個(gè)服務(wù)啟動(dòng),又是如何初始化虛終端的。

一個(gè)二進(jìn)制文件,如何加載(fork exec, ELF/COFF/a.out 文件如何執行)。程序是如何編譯和鏈接的,ld 是咋回事兒,so/dll 是干啥的,和 elf/a.out/exe 有什么區別。ABI 是什么,如何保持庫的兼容性,name mangling 是咋整的,為啥 C++ 的兼容性差(或者說(shuō),為啥 Windows 里 VC11 編譯的 EXE 調用 gcc 寫(xiě)的 C++ DLL 可能會(huì )非法操作,或者說(shuō) SunCC 的 C++ 動(dòng)態(tài)庫和 gcc 里的 C++ 程序不兼容)。最好能夠用手編譯一個(gè)程序(沒(méi)說(shuō)讓你 gcc -o hello hello.c,是讓你用 gcc, as, collect2 之類(lèi)的自己編譯)。dlopen 之類(lèi)的咋玩(會(huì )這個(gè)就有可能能繞過(guò) Apple 的審查,用 iOS 的私有函數哦,記得加密函數名以及 dlopen 函數…)。

內存是如何管理的,函數是如何調用的,參數如何入棧(一定是右到左么?),內核和用戶(hù)程序是如何通信的,浮點(diǎn)運算是咋回事兒,怎么 cast 浮點(diǎn)到 int …… 恐怕這些不知道,操作系統和計算機原理白學(xué)了吧。

說(shuō)到內存管理, malloc() 不是很好,而且有時(shí)候內存碎片多了,malloc() 不見(jiàn)得能立即返回,有可能要等很久才返回?;蛘吒纱嗑蛼焖?。

鎖也是不得不提的。多線(xiàn)程應用如何設計,什么是線(xiàn)程安全,什么樣的函數不是線(xiàn)程安全的,critical section 是咋回事。

文件系統是怎么設計的,inode table 里有什么,最好看看 Linux 的 VFS,最好能自己設計個(gè)文件系統。以及為啥要有日志,以及為啥 Windows 98 不正常關(guān)機需要跑 scandisk。(雖然主頁(yè)君認為微軟只是為了惡心一下你而已…)當然還有為啥某些文件系統可以恢復數據。

說(shuō)到恢復數據,主頁(yè)君需要提醒一下,XFS 和 HFS+ (Mac OS X)是幾乎沒(méi)法恢復的,要備份!

網(wǎng)絡(luò )

所有機器現在都聯(lián)網(wǎng)了,以下幾個(gè)協(xié)議說(shuō)不清楚就不像話(huà)了:

  • HTTP
  • DNS
  • TCP
  • IP
  • DHCP
  • ARP

至少得知道這是干啥的吧。至于 TCP,里面的東西挺多的。還有 IP,會(huì )算網(wǎng)絡(luò )是必須的。

如果打算干網(wǎng)絡(luò )工程師,上面的要爛熟于心,以下的東西也得非常清楚:

  • OSPF
  • BGP
  • SNMP
  • CDP
  • RIP (不過(guò)這協(xié)議已經(jīng) RIP 了。。。)

順便還得捎帶著(zhù)搞清楚 IOS 咋玩??紤]到國內,也得會(huì )個(gè)華三的配置(神馬 display this 之類(lèi)的惡心命令)。當然設計網(wǎng)絡(luò )也是非常非常需要的了。對了還有 troubleshooting。

至于網(wǎng)絡(luò )開(kāi)發(fā)——大家都是不少用 C 開(kāi)發(fā)的吧,那么什么 connect, accept, bind, listen, read, write 之類(lèi)的當然常用了。還有就是 multiplexing 方法,以及 poll() select() 以及 epoll, kqueue 咋玩,否則效率高不了。當然也可以用 Python 的 Twisted 寫(xiě),也挺方便的。不過(guò)也有不少人用 Python 的 socket 直接寫(xiě)攻擊程序。

數據庫

說(shuō)實(shí)話(huà),大部分人到最后用數據庫的時(shí)候,只是用個(gè) SQL 而已,而且都不見(jiàn)得寫(xiě) SQL 了,流行用 ORM 嘛。至于調優(yōu),君不見(jiàn)有類(lèi)人叫做 DBA。CRUD 會(huì )寫(xiě)了,問(wèn)題就不大。

當然,有興趣做 DBA 的,上面的操作系統原理自然是要非常清楚了。主頁(yè)君并不是非常了解數據庫,不敢多說(shuō),不過(guò) High Performance MySQL 是個(gè)好書(shū)。

Troubleshooting

這活一般是系統管理員干的。主頁(yè)君也是系統管理員。一般來(lái)說(shuō),以這個(gè)順序為主:

  • w/top/free/iostat 看看系統咋了,是 load 高,還是內存不夠,還是 IO 卡死
  • netstat -an 看看是不是連接太多,或者 socket 滿(mǎn)了,這個(gè)是用 file descriptor 的
  • dmesg|tail 之類(lèi)的看看系統日志
  • 看看應用日志是不是有報錯
  • 看看數據庫是不是垮了
  • strace/dtrace/truss 之類(lèi)的看看應用是不是鎖死了,基本上到這里就可以知道是什么問(wèn)題了
  • 如果 strace 還是看不出來(lái),上 gdb 之類(lèi)看看
  • 如果還是不行,讓它吐個(gè) core dump,接著(zhù)重啟 app 試試
  • 如果還不行,reboot 總是可以了吧
  • 如果還不行…… 誰(shuí)開(kāi)發(fā)的 app 找誰(shuí)出來(lái) TJJTDS

如果是 Windows Server...

  • 重啟一下
  • 換個(gè)機器
  • 重裝一下
  • 打微軟電話(huà)發(fā) ticket

寫(xiě)程序

總是要會(huì )寫(xiě)程序的吧。C 應該所有計算機系的都學(xué)過(guò)。如果沒(méi)學(xué) C 直接學(xué)的 C++,只能說(shuō)學(xué)校傻逼,自己學(xué) C 去,別以為學(xué)會(huì ) C++ 了就會(huì ) C 了。C 是一定要學(xué)好的,學(xué)好 C (我沒(méi)說(shuō) MSVC),計算機原理應該也了解個(gè)一半了。用 Windows 的 C,你只是學(xué)會(huì ) Windows API 而已,但是用 UNIX 學(xué) C,你會(huì )學(xué)到 UNIX 的設計思想。當然你需要知道你編譯出來(lái)的程序是怎么跑的,至少得知道程序跑的時(shí)候其實(shí)是沒(méi)有類(lèi)型這回事兒的,全都是 16 進(jìn)制的爛泥而已。

Java 值得學(xué)么?主頁(yè)君也不好說(shuō),“企業(yè)級開(kāi)發(fā)”,說(shuō)白了就是把程序員當工人而已。

想快速開(kāi)發(fā)的話(huà),主頁(yè)君推薦用 Python,用 C 開(kāi)發(fā) Python 擴展也是相當的方便,也可以把速度搞的不錯。Python 是個(gè)全功能的語(yǔ)言,不像某些腳本語(yǔ)言,例如 PHP 一樣只是做 Web 好用。當然有人會(huì )扯,PHP 也可以做本地程序,比如 PHP 都有 Gtk 綁定……

當然大牛都是用什么 Lisp, Scheme, Small Talk, Prolog, Haskell 之類(lèi)的神級語(yǔ)言的。

一些別的

別的,自然是 UNIX 了。會(huì )用 UNIX,保證你現在會(huì )的東西,30 年以后還是可以使用。例如 X11 這么爛的協(xié)議都沒(méi)有人去改(受虐習慣了吧), TCP 這么爛的東西也天天在用(30年以后估計還得用他),ls cd pwd 這些命令大家也都在天天用(廢話(huà))。別的東西難保你 30 年以后還能繼續用。不過(guò)以下的東西,似乎也沒(méi)啥大的變化?

  • 洗衣機
  • 電冰箱
  • 空調
  • 風(fēng)扇
  • 信用卡

不過(guò) UNIX 這玩意兒也是計算機這樣這么多變的東西中幾乎沒(méi)變的一種奇跡吧。據說(shuō) Plan 9 比 UNIX 還好,可惜沒(méi)見(jiàn)幾個(gè)人用。

計算機里,有些東西很 fancy,也很經(jīng)常有新東西出現,比如這幾年很火的 Ruby on Rails,NodeJS,NoSQL DB ——這些東西,however,是要依賴(lài)于對計算機的 solid understanding 才可以開(kāi)發(fā)出來(lái)的。這些東西很好用,但是,如果不了解他的本質(zhì),很快你就會(huì )淪落為這些東西的奴隸,就變成了它耍你而不是你用它。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
101條偉大的計算機編程名言
最新、最有效的學(xué)習方法 | 告訴你如何學(xué)好C語(yǔ)言
語(yǔ)錄:101條偉大的計算機編程名言 轉
學(xué) C 語(yǔ)言,最經(jīng)典的書(shū)有這樣幾本
C/C++程序員必讀的十本書(shū)(上)
完全用Linux工作——看清華學(xué)子痛批Windows
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久