這個做業屬於哪一個課程 | 課程的連接 |
---|---|
這個做業要求在哪裏 | 做業要求的連接 |
我在這個課程的目標是 | 能夠對軟件工程有更深刻的理解,在團隊合做中,學會如何與隊友溝通並提高技術 |
做業正文 | 我的博客首頁 |
1.創建博客並介紹本身
自我介紹:平時喜歡聽歌(古風),和室友打打籃球,和朋友一塊兒去影院,雖然朋友也不是特別多。我的不擅長人際交際,可能更多喜歡本身一我的呆着。雖然在這樣的一個時代,與人交際是很重要的一點,特別是之後出社會,不過車到山前必有路,到時候再說吧。
2.閱讀與思考
(1)回想一下你初入大學時對你所在專業的暢想
1.1當初你是如何作出選擇你所在專業的決定的?
當初本身報志願的時候,我的是比較傾向於計算機相關的專業,可是在父母的強烈要求之下,一二志願沒能如願以償的報到,可是錄取結果對於我來講仍是比較幸運了——軟件工程。這個結果我本身仍是比較滿意的,由於當時報的時候,根本沒想過會被這方面的專業錄取。我初中的時候,喜歡搗鼓電腦,當時瞭解了一下「貴族」語言——c語言,不過當時沒有更深一層的瞭解。
1.2你認爲過去一(兩)年中接觸到的課程是否符合你對你本身所在專業的期待,爲何?
我本身可能更偏向於網絡攻防,在大二的時候接觸了Linux操做系統,對這種純命令式、高效率的操做方式產生了很大的興趣,因此通常在課下都是去鑽研那方面的知識。對於這兩年的課程,卻是很符合「軟件工程」這門專業的,可是就我我的而言,沒有知足我我的的期待。
1.3你以爲你所在的專業是你喜歡的領域嗎,它是你擅長的領域嗎?
最初剛剛進大學的時候學C的時候,還挺喜歡的,可是後來慢慢的瞭解到了更多的知識以後,就轉移了本身的興趣。我所擅長的領域偏向服務器方面吧。
1.4未來你會選擇從事和你專業相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由
可能不會,也說不許。我更偏向於從事運維方面的工做吧,興趣是學習知識最大的動力,因此我以爲選擇工做的話,應該選擇本身比較感興趣的方向,固然這是理想狀況下,結合實際的話,也就說不許了。想去的城市:就在成都吧,由於這邊離家裏比較近,能夠常常回家看看父母。公司的話,可能每一個從事IT這個行業的人,都有那種渴望進入BAT、華爲工做的慾望吧,若是本身實力容許,我會去,崗位的話:運維工程師是我理想中的,固然,到時候具體是什麼不得而知啦。
(2)對照前人們走過的路和描述將來發展,如今的你
2.1自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?描述你作的最複雜的項目/做業。
到如今咱們學過的有不少,計算機系統基礎、數據結構、java、c#、軟件設計模式、程序設計基礎、面向對象程序設計等等,課下我本身瞭解過的有python、spring框架、ssm框架、分佈式、dubbox、服務器的集羣分佈等等,雖然瞭解過這麼多,可是本身的但代碼量是真的不多,這也是我最大的一個短板,可能這也是我和那些大佬們的差距吧,因此爲了增強本身的代碼編寫能力以及代碼規範,如今我寫代碼是以PEP8規範,天天強制本身敲一些代碼。我作過的最複雜的做業,spring-boot框架+dubbox框架+Redis集羣分佈+Solr集羣分佈+Nginx反向代理(由於服務器不夠的緣由,採用了僞集羣的方式,可是與真實的部署步驟是同樣的)。
2.2離成爲一個合格的本科畢業生,在專業知識、技能、能力上還差距哪些?
我還須要瞭解:數據庫原理及其應用,計算機網絡基礎、java中的各類經常使用的框架、併發編程,瞭解代碼編寫規範以及如何提升本身代碼的可複用性和可維護性,最重要的一點是:不只僅要學習這些知識還要將這些知識進行融匯貫通,總結前輩踩過的坑,避免本身重走他們走過的路,作到對這些知識精通。
(3)目前是一我的生選擇的十字路口,考研、工做、考公、出國,不一樣的選擇在大三就有不一樣的努力方向。而不管考研仍是工做的每條路徑,也有許多不一樣的分支
3.1對照以上你閱讀的前人們的經歷,你的選擇是什麼?
個人選擇是考研,大一剛剛進校園,我是沒有考研這個打算的,當時想法很簡單,畢業了就去工做,這樣也不用給家裏增長額外的經濟負擔,還有一點經濟來源。可是到了大二,我發現不考研真的不行了,爲何?如今不少的大學生核心競爭力不夠,換句話說,就憑這咱們在大學本科學的知識是根本不夠和別人去競爭的,固然我說的大多數人,依舊有少數人仍是很厲害的。本科中的大多數人學習知識都停留在應付考試上面,沒有真正的去理解爲何要學習這個以及學的知識的應用。考研的話,能夠跟着本身的導師接觸到一些項目,將本身學習的知識應用於本身走的項目中,正如那句話說的「實踐出真知」,經過實踐可讓咱們融會貫通。
3.2在這種選擇下,你認爲你相比其餘同窗來講有何優點,有何劣勢?
優點:對於不善於人際交際的我來講,讀書可能更適合我一些,由於不須要和太多人的打交道,備考的時候也基本是一我的本身的努力,雖然也須要諮詢別人什麼的,但我以爲比社會上的人際關係要簡單、單純的多。其次如今每一年本科畢業生數量是幾百萬,而每一年空出來的崗位並無這麼多,因此這時候就須要本身更有價值,更有競爭力,一份更高的學歷,我以爲會在必定程度上給本身加分。
3.3針對你的選擇,你給本身的大三設定的規劃安排是什麼?
目前的規劃安排:開始爲明年的考研作準備,瞭解考研的各類信息,肯定本身之後的研究方向,學習java虛擬機、python爬蟲、Linux服務器相關方面的知識。
3.4你對於實現本身的夢想已經作了或者計劃作什麼樣的準備?
可能大一大二的我比較貪玩,大三會先慢慢改掉之前的一些很差的習慣,爲考研作好充足的準備,畢竟機會只留給有準備的人。
3.提有質量的問題
問題一
書中第四章 兩人合做(P79),做者提到了:結對編程以及爲何要結對編程。可是在後文做者也說了,代碼是有複審,爲此還有一個複審員,既然複審員會進行復審,那麼在編程中的問題也會被發現,因此結對編程,用兩我的不是有點浪費資源嗎?雖然結對編程是爲了高速度中完成任務,任務有較高的技術要求,任務失敗的代價也很高,但一個公司老是會有很厲害的人吧?能夠安排技術大拿去完成這項工做,那麼另一我的的資源不久節省出來,能夠安排另外的工做了嗎?
問題二
書中第五章 團隊和流程(P95),做者提到了一種團隊模式叫作官僚模式,就是幾我的報告給一個小頭目,幾個小頭目報告給中頭目,依次而上。我以爲這個官僚模式不該該和其餘的模式並列在一塊兒排放,由於在其餘的模式中例如做者提出的主治醫師模式、明星模式、社區模式等等,其實這樣的團隊模式,在進行開發的時候,依舊是層層上報的,普通的程序員向小組長報告,小組長向項目經理報告,依次而上。因此我是不贊同做者將官僚模式和其餘的模式並列排放。
問題三
書中第五章 團隊和流程(P93),「一些軟件項目在祕密狀態下進行……這種模式的好處是:團隊內部有極大的自由,較高的熱情,沒有外界的干擾」,這是書中的原話,對於祕密團隊的好處我只贊同最後一點,其餘的兩點不是祕密團隊模式所特有的好處,或者說並非團隊不是祕密團隊團隊內部就沒有極大的自由以及較高的熱情,若是按照做者的思路,其餘的團隊模式下,團隊內部只有極小的自由,較低的熱情?舉個例子,社區模式中,都是一些志願者參與的,每一個人參與本身感興趣的項目,那麼他們也是有着極大的自由,和極高的熱情吧?否則爲什麼沒有報酬,他們依舊願意參加呢?
問題四
書上第十六章,這一章,做者講述關於創新的迷思和如何去判斷決定對於創新的影響程度,但沒有說咱們該如何去創新?要依靠靈光乍現?仍是要依靠如今的數據分析?就像在本章中做者提到到的魔方的創新,大牛、二柱等等他們的創新是怎麼來的?而咱們又改如何去培養本身的這樣的創新的思惟?我以爲應該善於大膽假設,要敢想、會想,不要被思惟固化,跳出思惟的侷限待待事物,同時還要培養科學思惟,面對同一問題,發散思惟,以不一樣的角度去思考,並且培養創新意識是一個過程,不是能夠速成的,也只能慢慢的來。
問題五
第四章兩人合做中,提到了複審員和結對編程,複審員後無疑問,對代碼進行復審,個人疑問是:結對編程還須要複審嗎?畢竟兩個結對編程,其中一個我以爲就能夠履行復審員的職責,雖然咱們須要對代碼不斷地複審,可是通過結對編程的程序還須要額外的人來進行復審,那麼結對編程中的某一我的,豈不是沒用咯?
4.瞭解和調查源程序版本管理工具
Git是一個開源的分佈式版本控制系統,能夠有效、高速地處理從很小到很是大的項目版本管理。[百度][1]
優勢:
適合分佈式開發,強調個體。
公共服務器壓力和數據量都不會太大。
速度快、靈活。
任意兩個開發者之間能夠很容易的解決衝突。
離線工做。
缺點:
資料少(起碼中文資料不多)。
學習週期相對而言比較長。
不符合常規思惟。
代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。
GitHub是一個面向開源及私有軟件項目的託管平臺,由於只支持git 做爲惟一的版本庫格式進行託管,故名GitHub。[百度][2]
優勢:
能夠託管各類git庫,並提供一個web界面
每一份複製出的庫均可以獨立使用,任何兩個庫之間的不一致之處均可以進行合併
用戶能夠十分輕易地找到海量的開源代碼
缺點:
資料少,學習成本比較大,學習週期比較長,要求人員素質比較高
不符合常規思惟
代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息
不支持中文,圖形界面支持差,使用難度大。不易推廣
SVN[CSDN][3]
SVN的優勢:
採用集中式,易於管理,保證安全性
管理方便,邏輯明確,理念符合常規思惟
代碼的一致性高
適合人數很少的項目開發
容許一個文件有任意多的可命名屬性,會關注全部的文件類型
支持二進制文件,更容易處理大文件
支持空目錄
對中文支持好,操做簡單,使用沒有難度,美工人員,產品人員,測試人員,實施人員均可輕鬆上手。使用界面統一,功能完善,操做方便
SVN的缺點:
服務器壓力太大,數據庫容量暴增
必須鏈接在服務器上,不然基本不能工做、提交、對比、還原等
不適合開源開發。
[1]:https://baike.baidu.com/item/GIT/12647237?fr=aladdin#1
[2]:https://baike.baidu.com/item/GitHub
[3]:https://blog.csdn.net/weixin_40783315/article/details/84981875html