計算機系的你,畢業論文寫了什麼?


本科操作系統
研究生編譯器


我選題選得晚,到我的時候已經沒啥可選的了,就選了一個Fuzzing木馬的題,老師這腦洞開的啊!大意就是找到木馬的漏洞,利用漏洞反控對面的黑客!

你說屌不屌,我選完當時就萌了!手都是顫抖的。

當然,最後還是做下來了,找了個開源的木馬,找了它的兩處溢出漏洞,在xp sp2這種渣系統上做了利用,寫了論文。

現在想想,還挺裝逼的呢……


看到各位大神都是編譯器、操作系統、搜索引擎啥的,我很羞愧的寫下了我這個很弱雞的畢業設計:一個協議酒店預訂平台,這個畢業設計是我在大四在實習的時候寫下來的,沒錯這個項目是自己獨立完成的。

所有酒店基本信息都是用Python從去哪兒、螞蜂窩和攜程三個網站抓的,價格是從南京本地的一些大企業的朋友要的數據,手動錄入。

由於涉及到隱私,已經刪掉了一些信息,點擊酒店的地址可以導航到酒店地址,這都是調用的百度的介面,沒啥特別的。

當然是有積分模塊的,比如說邀請好友之類的都是有積分獎勵的,同時可以收藏點贊都會在個人中心有記錄。

還有一些界面比較簡陋,就沒有貼出來了,

跟上面的大神比起來,/(ㄒoㄒ)/~~


寫個raft。

在某司實習的時候寫的go,業餘的時候讀了下etcd源碼,當時想說paper也讀了幾遍了,還是不懂得怎麼寫,讀了代碼以後也只是懂了思路,細節太多。後來就想著把etcd/raft從go移植到c++。因為是業餘時間做的,做這些差不多了,水平畢竟不高。

結果來了某司,畢設就變成了正式工作。因為當時心情不好,一開始做的很慢。往後也不光實現了狀態機,還做了wal(這層就不是抄的了,調研花了不少時間),網路肯定也是要做的。而且狀態機也很多功能要加。


本科畢設是激光SLAM, 都是很老的演算法. 用四叉樹建圖, ICP幀間匹配, 粒子濾波自定位, 用隨機抽樣做迴環檢測. 然後Astar規劃路徑, 配合地圖分割來加速(實際上速度更慢了.....). 展示是QT結合openCV寫的. 最後在PeopleBot(激光雷達被人拆走了)上面用電工膠布粘了一個Hokuyo UST10LX當雷達跑的圖. 代碼全程手寫. 得虧用了Python, 要不然這得肝到猴年馬月去......


另外交代碼的時候還要交文檔, 多虧平時注釋習慣好, 用Doxygen直接生成LaTeX, 改吧改吧就交上去了.


本科畢業時候的原題是,基於WEB數據的領域本體構建方法與應用,最後就是做成了基於本體的智能爬蟲。(對,重點倒置了)

之前完全沒接觸過本體,12月給的題,考完研,在家休息(其實是幹活)了一個月,2月份失戀之後開始看綜述,看論文。
感受就是非常痛苦,每天就處於,我是誰,我在哪兒,我在看啥,這是啥,這又是啥,的懵逼狀態。
後來經師兄提點,要用到WEB數據的話,爬蟲吧。

實驗室里的師兄@Snake 是本體王,從大二開始研究本體,所以我經常,帶著紙和筆,慘兮兮的坐在他桌子旁,求大師兄給點思路_(:з」∠)_

大師兄的確給了我很多引導,分享了很多資料,訊息,也給我理順了思路,這點非常感謝他。

他推薦了一個爬蟲軟體給我,叫八爪魚,我學會使用之後,覺得體現不出我的工作量,而且如果要結合本體爬蟲的話,肯定要改,所以還是決定自己寫。

因為@敖天羽 去上班了,老師希望我能接她在實驗室的工作,於是我的課題越發往她做的方向靠近。小天做了一個電商平台比價系統,我的爬蟲也就往電商平台靠近了。她告訴我她的爬蟲用的Selenium,實驗室另一個師兄知道後給了我一本《Selenium2自動化測試實戰》,從python基本語法開始,到Selenium庫的用法,我看完前面幾章就脫手自己寫了。
後來實戰的時候還是遇到了一些問題,那段時間認識了網友@Itoktsnhc恰好是做爬蟲相關的工作,也給了我許多引導,非常感謝w

我做系統的能力很差,代碼寫得少,老師曾建議讓我把爬蟲布在小天做的系統上,我覺得非常不好意思,就沒這麼做_(:з」∠)_

在定了大致方向之後,我設想讓爬蟲能從網上找到領域商品的相關評測。
那到底怎麼結合本體呢?初步設想是運用TF-IDF文本相似度。


接著我開始思考如何構建領域本體。要構建領域本體,那麼我需要領域辭彙。我曾漫無目的在京東上瞎爬了一段時間,後來大師兄點醒我,電商平台的分類目錄其實就是潛在的領域辭彙庫。

再後來,我畢業設計流程分成了三大塊,先從電商平台爬取商品目錄獲取領域辭彙,然後構建領域本體,再根據構建的本體賦予不同層級辭彙權重,讓爬蟲根據這個權重去給網站上爬到的文章打分,找到和領域相關性大的文章。
(目標越做越飄)

踩坑途中隨手糊了一篇博客http://www.nutllwhy.com/?p=188

因為實驗室還有兩個用神經網路做翻譯系統的牛人,本身也對自己的課題能做到什麼水平不太確定,所以沒報優秀畢業設計,划水過了。

感覺收穫還是很大的,一路探索,一路挖掘,也越發對自己的優勢劣勢有了全面的認識,逐漸知道了自己研究生階段該朝什麼方向查漏補缺。
反正呢,用心去做的東西,一定會給你回報。


本科太水,不好意思說。

研究生做的是破解12306驗證碼:班主任之眼!--看穿彥正瑪少女の薄紗 - 知乎專欄


不說我自己的了,中規中矩沒啥意思。一個同學的,報的題目是計算機圖形學的啥應用。

答辯的時候,大家對著PPT講各種系統結構圖,各種高大上的演算法。唯有這貨就拿著張紙上去了,好在是彩打,站在講台上向下面晃了下,說,這就是我針對今年的XX運動會(實在是忘了)設計的LOGO。這個圈代表XXX,這個叉代表XXXX……

Are you kidding me? 同學,你選錯專業了吧?


當時正在實習,仿照公司里用的分散式存儲系統山寨了一把。

沒有塊存儲設備,也沒有萬兆網卡,只能在一塊移動硬碟上弄了三台虛擬機,架起來HDFS,嫁接了一套我自己魔改的leveldb,做讀寫邏輯和網路IO,加了一個代理層做分片和連接管理,有一些殘缺功能還沒來得及實現,本科就這樣畢業了。

後來在公司有自己的伺服器用了,又把這一套放到40核心CPU,196G內存的伺服器上去運行,這才發現有很多設計非常幼稚,只是比較差的硬體看不出來。
到這裡說兩句題外話吧,希望國內的科研氛圍能更好一些,至少讓學生們有充分的硬體可用,至少不用在一塊SATA盤上強行搭集群了。


"基於百度翻譯的降低論文查重率軟體,原理,中文轉化成日語,在由日語轉化成中文,可將一個100%的查重率論文降低到1%,什麼?你說例子?我交的論文就是這麼寫的啊。" "啪啪啪,台下響起經久不息的掌聲"。


看了大把大把的大神產品覺得自己的本科畢業設計簡直是弱爆了,但是對於自己還是一個很難得的經歷。


記得當時老師沒有定題目,說隨便做點什麼都行。無論用什麼語言、什麼工具都可以。、

抱著這樣一個幾乎沒有任何卵用的題目的我大四上學期就去參加公司的實習了(本人在一個垃圾的不能再垃圾的二本學校讀計科專業)。

參加工作以後也被分配到了一個幾乎閑的無聊的崗做監控部署和維護工作(zabbix). 一天天下來也確實沒什麼正經事,加加監控項、處理處理監控拿不到數據或者是滿足一些部門的奇葩監控需求,大概就是這樣。反正我就是覺得挺無聊的。

實習了兩個月之後跟領導商量了一下,說再不影響工作的前提下我可以做我的畢業設計。弄了兩個月的監控其他的也沒有接觸到,就是對SNMP和agent等常見的監控協議和使用方式有了一點點的了解(僅限會使用而已)。反正閑著也是無聊就開始動手仿造zabbix監控,從最底層的SNMP發送,接收、解析、存放數據、展示數據、認證等方面開始著手一點點開始做。因為之前課程也沒有什麼軟體工程方面的課程,所以這個設計一直就是想到哪寫到哪沒有任何的章法,好多次下來都是寫了幾百行全部刪了從新寫。就這樣寫了三個月左右完成了基礎的監控數據抓取和展示功能,帶非常垃圾的數據存儲(使用了mysql的資料庫,資料庫裡面一共就三個表),用java的swing寫了一個丑到爆的界面。

就這樣在5月份回學校的時候整理一下論文把產品跟老師展示了一下,老師還挺滿意。自己想要繼續完善這個殘次的監控想加一個python的agent作為監控方式的補充,但是奈何python不會寫,java寫agent又太麻煩(環境麻煩,沒辦法讓所有被監控機都安裝java環境),隨後這件事也就作罷沒有繼續做下去。寫了8k字的論文,排版亂糟糟一片。最後答辯的時候還是拿了一個優。因為我們全系幾乎都在寫什麼商場系統,圖書管理系統(老師提供90%的資料,只要對應實現一下就行)。

記得上台答辯的時候把監控的原理和使用的協議完整的跟底下的老師說了一遍,老師們一臉懵逼的聽完了,不知道問我啥尷尬了好長時間,最後問我幾個不疼不癢的問題

1.這個畢設你做了多長時間 --&> 三個月

2.SNMP的全稱是啥?幹啥用的? --&> .......

3.用的java啥版本,用的啥系統。。。 --&>......

畢業後這堆代碼就被完全拋棄了,沒再繼續弄過,因為自己都覺得寫的慘不忍睹也就不想弄了。

但是想想這段經歷對我個人還是很有幫助的。在做這個設計時真正的去考慮了一個功能是如何實現的,使用什麼方式實現比較好,如果自己的實現與更優秀的實現不一致時差距在什麼地方、會造成什麼影響 等等。這期間也對zabbix有了非常深刻的認識。正式工作後有很大的幫助。

畢業三年了,唯一的遺憾是沒去堅持把那個東西做完。

紀念一下


web伺服器
支持自己YY的腳本語言
文檔視頻齊全,歡迎交流,哈哈https://github.com/whiletest/webserver


如 @栗噔噔 所言 爬蟲+比價系統一隻,剛開始還考慮反爬之類的,結果發現 Selenium 忒 TM 慢了,只要穩定不掛,基本和反爬絕緣,保證一下穩定性和掛了可恢復,最終保證數據唯一性就夠了。

還是智能爬蟲牛逼,當時老師給我糊了一個 all in 數據融合,自動生成 wiki 知識庫的大計,然後我抓耳撓腮覺得不太可能,畢竟百度之前建立知識庫全靠人工。加上智能爬蟲自動找領域內容爬領域知識,還指著個論壇告訴我論壇里也有可能有相關價格,得把她抽取出來,我苦思冥想而不得,最終糊了個基礎爬蟲一隻。

想到這裡,還是 @栗噔噔 牛逼,完成了我未盡的事業,未完成的遺願。


做了個類似於超級課程表的APP,粗糙地加了很多的功能。然後論文裡面就是大面積貼截圖貼代碼湊字數


03年畢業,為某地震局做可視化界面,包括高精度的邊境邊線繪製,各分塊區域的地震震級顯示以及放大縮小等功能。

不知道是不是為未來的預演,7年後為某電力公司做了地震災害預警系統。


用elvolutionary algorithm實現portfolio optimization,當時我做出來的好像是可以有30%的回報率,還是蠻棒的。


本科:agent開發環境的擴展,是在找不到論文了 …
碩士:基於虛擬化的操作系統動態更新
博士:多核環境下mapreduce運行時優化

看上去互相都不太搭 hehe


寫了個用winpcap發偽造Reset幀給人斷網的東西


自動導航中人工勢能場的應用、缺陷及拓展。


其實也沒寫啥,就是寫了個定製化Bash,用rootkit的方法截取敏感操作和所有操作,並把敏感操作標紅髮郵件通知管理員


推薦閱讀:

第一次撰寫論文該怎麼開始?如何定方向,如何選題?
怎麼利用sci檢索某一領域的代表性review?
如何評價指責馬克思理論陳舊的說法?
本科生的論文究竟應該寫什麼?
哪些網站化學方面的文獻權威性和時效性比較高?

TAG:編程 | 論文 | 畢業論文 | 計算機科學 |