【傳送門】
Part 1 - 數理基礎篇
Part 2 - 電腦基礎篇上
Part 3 - 電腦基礎篇中
Part 4 - 電腦基礎篇下
Part 5 - 進階篇上
Part 6 - 進階篇中

Meow~ 我是清大菸酒貓
這篇應該是這系列最後一篇了
全部看完之後 (如果腦袋沒有打結的話XD)
應該就知道資工系從大一到研究所畢業都在做些甚麼惹~

───────────────────────────────────────────────────────
14. 雲端計算 Cloud Computing

我這學期剛好有修一門「雲端程式設計」的課
我就直接引用老師的話解釋:

「雲端計算就是利用分散式系統的技術,
讓使用者能夠輕易透過網路存取簡單好用且具延展性的運算資源。」

在解釋之前,我們先來想一件事情
像 Dcard 總要有電腦放他們網站對吧
那麼以前要怎麼做呢?

通常就是買一台電腦,在上面灌 OS (通常是 Linux)
然後安裝好需要的伺服器軟體 (例如 Apache + MySQL + PHP)
然後請網路公司拉線、申請 IP 等等
你以為就這樣嗎?

如果軟體當掉,就要檢查一下記錄看一下為什麼當掉,然後重開
如果硬體壞掉,就要關站換一下硬體
更常見的是,為了要防止使用者數量暴增的時候電腦當機
(像是半夜 12 點都會有一堆人上線抽卡)
就可能要使用更好的硬體來預留一些資源

除此之外,錢也是個問題
網路費 + 電費 + 硬體費
可能一年會需要花下幾萬的開銷

雲端計算的出現就是為了解決這個問題!!

簡單來說,雲端計算就是為了讓你能夠像開水龍頭一樣
打開就有水可以用,不用的時候就關起來
花費也是依照使用的水量來計費而誕生的一種線上服務

基本上你就是只要在一個有提供這種服務的網站
(就我所知 Dcard 是用 linode
註冊一個帳號,然後點幾個按鈕就可以啟動一台電腦
透過網路連上去,把你的網站塞入那台電腦
這樣就完成網站的架設惹~
錢就是依照過多久多少錢這樣算
而硬體壞掉就不是你需要擔心的事情
這就是雲端計算服務

這個領域的研究者
通常在研究如何提高服務的品質,降低提供者的成本等等

〉需先修課程:程式設計、資料結構、演算法、網路概論


15. 儲存系統 Storage System

儲存系統通常指的是檔案系統 (File System)
也就是用來存放檔案的管理系統

當然這個領域沒這麼單純

通常他們在研究的問題是,如何讓你的檔案在存進去後
不會因為電腦壞掉而流失
或者如何讓你存檔存快一點之類的

甚至更複雜的,建立像 Google Drive 那樣的分散式儲存系統
以提供全世界的人在雲端存放檔案的服務

〉需先修課程:程式設計、資料結構、演算法


16. 作業系統研究 Operating System Research

作業系統之前有解釋過了
基本上這個領域的專家就是在專研如何寫出更有效率的作業系統
你們可以想成是寫出更好的 Windows 之類的

不過這個領域其實不太好入門
因為作業系統非常龐大,想要了解每個元件的細節不太容易
除非對這種大型複雜的系統很有興趣
不然其實不太建議做這個領域

〉需先修課程:程式設計、資料結構、演算法、作業系統


17. 資料庫系統 Database System

資料庫系統指的就是用來存取資料以及管理資料的系統
跟檔案系統有點不太一樣

檔案系統是用來管理檔案
每一個檔案之間的性質通常都不太一樣 (通常會說異質性高)
因此很難用有效率的方式管理

但是資料庫不同
資料庫通常是用來記錄一些小型,但是性質相似的紀錄
例如 Dcard 的使用者資料,Dcard 上的所有文章等等
這些資料的性質類似,因此可以用很有效率的方式管理

資料庫系統的複雜程度其實不亞於作業系統
除了要好好管理資料之外,還要考慮到不能讓資料遺失
確保資料正確性,以及安全性等等

舉例來說,現在的金融系統背後也是有資料庫的運作
每個人的銀行帳戶資料、有多少錢都是記錄在資料庫中
當有許多人轉帳到同一個帳戶
卻因為系統的疏失,導致某些錢不見了
聽起來就很嚴重對吧
因此資料庫系統要確保不會發生這種事情

這領域入門的門檻也很高
台灣似乎很少人在做這方面的研究

〉需先修課程:程式設計、資料結構、演算法、作業系統、資料庫概論


18. 資訊安全 Information Security

資訊安全我想大家就比較熟一點了

簡單來說,資訊安全指的就是要如何保護秘密資料不被竊取
像是大家從 Dcard 、Facebook 到 Google 的密碼
或是每個人電腦中的私密資料到美國總統核彈發射指令等等
要如何保護,如何不讓人家破解
都算是資訊安全的範疇

通常一般人說的駭客
指的其實就是資訊安全領域的專家
並不一定是竊取資料的人

這個領域的專家也常常會為了要阻擋他人攻擊
也會研究如何入侵系統
俗話說:「知己知彼,百戰不殆」
你了解人家如何入侵的話,防守才能更全面

順便幫宣傳一下,今年的駭客年會 HITCON 2015 是在 8/24 ~ 8/29 舉辦哦~
想要參加的話請先預留那段時間吧XD

〉需先修課程:每個進階領域最好都要懂一點


19. 軟體工程 Software Engineering

這個領域稍微跟前面介紹的不太一樣
軟體工程通常是在研究「管理方面」的問題

例如怎麼樣安排軟體開發的時程,讓開發更有效率
開發者們之間要如何溝通,才能進行有效率的溝通
預算要如何分配、程式碼該如何管理等等
有些甚至涉及一些心理學上的東西

因此這個領域其實不太需要對程式有太深入的見解
但是也是很重要的領域

〉需先修課程:程式設計、管理學(?

───────────────────────────────────────────────────────

我個人的研究領域是上面其中之一
因此我知道這些領域都不太需要數學
如果跟我一樣只想寫程式不想算數學的話可以往這些領域做哦XD

清大菸酒貓

共 20 則回應

0
專業 推!
0
0
同推~
以後如果要安利資工就靠這系列了(欸

-語璇
1
推清大菸酒貓~~~~~

專業清楚分析文
0
大一在此謝恩
4
每次有人問,資工系不是就是在學寫程式嗎
我就會回答,現在每個科系都會學寫程式
商管會學 SPSS/SAS/R 做分析,學 Python 做作業研究
機械需要做模擬,電機的 HDL、EDA
還有像是生醫資訊等領域也需要有非資訊但懂程式的人
資工只是用程式來做電腦科學及資訊工程相關的工作而已
程式語言只是用來跟電腦溝通的語言
就像你英文再好,但是腦袋裏沒有專業知識(Domain Knowledge)
也只能寫出詞藻瑰麗但空洞無用的文章一樣
1
小山貓~~~
1
感謝推XD

甚麼安麗?不要推銷我東西哦~

祝你資工生涯一路順暢~

恩恩,同意
寫程式只是基礎而已
真正重要的是這些領域的知識

其實很多同學都以為學完了寫程式就可以工作了
再鑽研下去也只是在優化程式而已
出了社會之後也只是茫然地找工作
真希望他們能夠了解到資工真正有趣的地方到底在哪

你...你...你你你是誰=口=!!!

清大菸酒貓
0
蠻好奇原 PO 主要是做哪個領域的 XD
我平常是做 Compiler/VM/JIT 相關的
之前也有做過雲端方面
包括改善分散式運算(HDFS+MR) 和分散式資料庫(HBase)等
私底下對網頁跨平臺技術也蠻有興趣
包括 javascript 引擎、empscipten、Cordova 等都略懂略懂XD
0
本科系的覺得頭好痛怎麼辦(*´д`)
0
我個人的研究領域是 Cloud Databases and Distributed Database System
也就是我文中第 17 點的那個領域
不過我並沒有涉及 NoSQL 的研究
主要是在做 NewSQL 的部分
大致就是資料庫內部架構設計與實作這樣

私底下是比較偏好資安相關的議題
不過我這方面才算是剛開始起步而已XD

其他的話,因為老闆的關係
學了一些 ML 相關的知識
所以應該簡單的 SVM Classifier 之類我都還寫得出來XD

然後在網路上有提供免費的程式設計教學~

趕快轉系XD (大誤

清大菸酒貓
0
我之前也有做過類似的,在 HBase 利用一些機制來實現 SQL、Secondary Index 和 ACID 等 XD
跟 NewSQL 不太一樣就是,算是從兩邊(SQL 往 Scalability 和 Scalability 往 SQL)趨近同一個目標?
不過自從 Google spanner 出來之後我覺得 NewSQL 在這個目標上好像比較有看頭XD
我對資安到是沒有什麼研究,只是平常會注意一下不要出容易犯的錯,像是 XSS 、和各式會受到外部輸入的 injection
ML 我也滿有興趣的,但是一直沒有很深入去瞭解,只是大概知道各種 mining、ML 技術的演算法和應用而已
像是之前做 autoscaling 有用過 PCA 之類統計方法+各種 classifier 測試
也有在影像處理和 information retrieval 之類的課用過 SVM、ANN
最近在看 Foundations of Machine Learning,想要補足理論上的不足,但是各種方程式好硬啊 Orz
本來還想看完再去研究一下 deep learning 跟之前學的 ANN 有什麼差,看來遙遙無期了XD

一定會有很多不喜歡的課啊...
有些人可以在熬過去之後找到興趣
有些人一輩子都覺得資訊的東西很討厭啊XD
0
哦哦~ 你懂得真的蠻多的耶XDD
看來你真的有深入研究過~!!
Google Spanner 確實是給 NewSQL 打了一劑強心針
畢竟現在幾乎沒有可以實際運作的 NewSQL DB
就連 Prototype 也很少,就算有也幾乎沒有 Open Source
我們實驗室目前是正在進行一個研究型的 NewSQL Database 開發專案
目前只有我和另一個學長負責 (人超少XD)
不過其實已經完成蠻多了~ 我大概把這個完成就可以畢業了吧XD

至於資安的話,我跟你的了解大概差不多XD
只是最近在學 x86 組合語言
以進一步學習逆向工程~

ML 我覺得我自己念也念不來
所以最後還是靠上課才大致了解在做些甚麼
各種 Classifier 跟 Regression 的 Objective 甚麼的也只是略懂而已
要寫出來可能勉強 OK,但要我延伸就不太行了XD

清大菸酒貓
0
其實也都是東碰西碰很膚淺啦
一直沒有參與實際的大型開源專案,頂多寫些自己需要的東西還有發些超級小的 patch 而已
這樣離說懂某個領域還是很遠很遠勒

人超少這點我完全懂!實驗室人力資源不足,之前做 HBase 也是只有兩三個人在做而已
反正在臺灣做研究重要的是數據,能夠動起來跑數據發 paper 就好,也不用多完善XD
不過看到國外做研究可以變成 Open Source 專案或開公司還是覺得嚮往啊...
0
哈哈~目前確實是能動有數據就好
不過我們老師野心也挺大的
他想把我們這個專案變成 Open Source
然後推廣到全世界的學校
作為研究教學兼具的系統
他甚至連 domain name 都註冊好了XD
而且他也考慮把這系統給他很熟的 app 團隊使用
真的是目標遠大
發 paper 對他來說就只是給系統打知名度這樣

清大菸酒貓
0
也是啦,不應該崇洋媚外
臺灣也有像是 Libsvm 或是 PQEMU 之類的強者
是小弟自己弱弱無法做出來而已XD
0
之前一直很想好好認識CS這個系
但卻一直不知道從何開始
感謝原po整理出這麼詳細的資訊!!!!!!!
有多認識以後終於能夠再更進一步的自己多google資料了
感謝你!!!!!!!!! :目
0
聽你這麼一說去查了一下
我才知道原來 Libsvm 是台灣人寫=口=!!!
果然台灣也是高手如雲

有幫助到你讓我很開心XD
加油~ 一定要找到適合自己的方向!

清大菸酒貓
0
Libsvm 是我們系上林智仁教授主導的,應該算是臺灣最有名的 Project 之一吧
他的課聽說也很硬...因爲領域不同我是沒修過就是了XD(逃)
突然想到其實我們很多 project 也有 opensource 或技轉
不過大部分 follow 的人數都...Orz
技轉給中華電信或工研院之類的合作案,則是會讓人覺得其實他們跟學術單位真的很像XD
但是學長們還是很厲害啦,整個系統也是讓我望塵莫及
只能讓自己一步一腳印慢慢跟上腳步囉- -||
0
想走資安的話,數學要很好ㄅ
馬上回應搶第 21 樓...
回應...