《構建之法》——第一次博客做業

這個做業屬於哪一個課程 課程的連接
這個做業要求在哪裏 做業要求的連接
我在這個課程的目標是 學習集體項目開發經驗,學會項目的系統分析與設計過程。
我的博客主頁 https://www.cnblogs.com/chenVal/

1、創建博客並介紹本身

自我介紹:我是一個對新技術感興趣,什麼都想學,可是什麼都沒學到。愛吃,愛動漫,愛看書。基本什麼都愛,就是不愛運動的技術性宅男。我感受個人適應性挺強的,以此衍生出在適應的時候學習能力挺強的。心態好,可是心態一旦蹦了就一發不可收拾。至於何時心態崩我也不知道,有時候特別能沉住氣,有時候不能,薛定諤的心態~css

2、閱讀與思考

(1)回想一下你初入大學時對軟件工程專業的暢想

a.當初你是如何作出選擇軟件工程專業的決定的?

我從初中時候就接觸了計算機開發相關內容,並開始了用一些專業軟件作遊戲的補丁。從那時就決定大學非計算機專業不讀。填志願的時候,瞭解了什麼是軟件工程,以爲這是適合個人職業就選了html

b.你認爲過去兩年中接觸到的課程是否符合你對軟件工程專業的期待,爲何?

到目前爲止,基本符合個人期待。我想學到的知識,在學校都能接觸到,接觸不到的。也有學長幫忙解答。前端

c.你以爲軟件工程是你喜歡的領域嗎,它是你擅長的領域嗎?

如今大三了,我能夠說出軟件工程是我喜歡的專業。坐再電腦面前敲代碼,就感到一種無窮的愉悅感,感受比平時打遊戲還來勁。我不敢說我擅長敲代碼,可是我敢說敲代碼是我所學的東西中所擅長的java

d.未來你會選擇從事軟件開發相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由

我這行,不作這行的相關工做豈不是浪費了大學的時光?因此我確定會從事軟件開發的相關工做。若是可能我想去沿海城市發展,由於那裏有着相對較好的工做壞境與待遇,並且阿里騰訊等大公司都在沿海。進入阿里是個人目標,可是如今太菜了,啥都不會只能繼續學習,爭取明年衝一衝,成爲阿里的後端開發工程師。mysql

(2)對照前人們走過的路和描述將來發展,如今的你

a. 自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?描述你作的最複雜的項目/做業。

​ 由於我是上學期才肯定走後端開發方向的,因此本身以前什麼都學習過,學得雜,可是每同樣都只瞭解一點,這也是我學習進度落後大佬們的緣由之一。我我的目前學習過:安卓app簡單開發,C#遊戲開發,c#窗體應用開發,神經網絡算法,JavaWeb開發。至於代碼量,沒法估算,只能說保證天天都在寫,可是自我感受代碼量仍是遠遠不夠的,特別是如今對spring框架的代碼 和Java部分基礎代碼不熟悉。到目前爲,我作過最大的項目是使用springboot + Mybatis + Maven +雲端OSS存儲 + thymeleaf模板爲後端,BoostStrap框架 + html + css + js + jQuery + editor.md等做爲前端的我的博客系統。ios

b.離成爲一個合格的本科畢業生,在專業知識、技能、能力上還差距哪些

​ 我我的以爲本身還有不少不少沒學,jdk源碼,spring源碼,java併發,jvm虛擬機,mysql優化,tcp/ip,分佈式這些我都還沒學。技能上來看,我以前的我的博客重構了幾回才搭建完成,個人項目掌控能力以及規劃能力不足,不少時候事前準備不足,致使後期加需求發現沒辦法加入了,只能重構底層。git

3)目前是一我的生選擇的十字路口,考研、工做、考公、出國,不一樣的選擇在大三就有不一樣的努力方向。而不管考研仍是工做的每條路徑,也有許多不一樣的分支。

a.對照以上你閱讀的前人們的經歷,你的選擇是什麼?

大一的時候想考研,可是本身發現讀研那個過程和讀書並不適合本身。選擇了走技術路線,因此重心放在了搞技術上。可是慢慢地發現,高學歷對本身的影響挺大的,讀研又不適合本身。因此我暫時想的是先工做兩年,有了必定的生活經歷和積蓄。工做兩年以後若是初心未改,會選擇去日本留學。github

b.在這種選擇下,你認爲你相比其餘同窗來講有何優點,有何劣勢?

我以爲本身的優點在於,技術的學習上比其餘同窗稍快一點,大學相對壓力更小一點。可是如今考研的人愈來愈多,本科學歷相對貶值,若是不能畢業找到好工做也後就更難了。面試

c.針對你的選擇,你給本身的大三設定的規劃安排是什麼?

目前階段本身的學習計劃看完jdk源碼,spring源碼,java併發,jvm虛擬機,mysql優化,tcp/ip,分佈式相關的博客或者書籍,在寒假利用分佈式,併發技術寫一個相關項目。看面經積累經驗,準備找工做面試。算法

d.你對於實現本身的夢想已經作了或者計劃作什麼樣的準備?

只有不斷努力

3.問題

問題1

在教材第五章中第一節中舉了個「烏合之衆」的例子,可是現實中有不少大公司好比華爲常常將項目外包出去。一般是幾個小公司一塊兒作一個項目,這些公司比做我的的話就和例子中的烏合之衆同樣,那麼他們能夠叫作團隊,細化到我的爲何就不是團隊了呢?我我的以爲團隊就是爲了完成一個目標集合在一塊兒一堆人的稱呼,至於分工以及其餘事彙集在一塊兒後的分類。並且高效的團隊必然會有充足的後備方案,技師團隊的成員中途退出一個,也不影響總體進度,這一點也與書中的烏合之衆的特色同樣。因此我以爲書中關於烏合之衆和團隊劃分過於草率

問題2

本書第八章關於軟件需求的分析。根據用戶的需求開發軟件。這讓我想到了如今的QQ與微信,按道理說QQ的功能更多使用更方便,更符合人們的使用需求,可是微信的使用人數卻比QQ多,這不是與書上說的矛盾嗎?並且微信有的功能QQ幾乎都有,甚至更好用,好比文件傳送,聊天管理等等,可是爲何依然有這麼多人傾向微信?就由於微信更適合年紀大的人嗎?可是前段時間我教我爺爺使用智能手機,QQ微信都教了,他老人家先學會QQ並說微信不夠智能,他已經超過80歲了。我在網上也搜索了相關例子,二者都不知道的人學習使用,都以爲QQ會更好。那麼是什麼形成如今這個局面的?這裏只是舉個例子,市面上還有不少這種更貼切,更方便的軟件不佔優點的例子。因此軟件需求分析,分析出的結果然的可靠嗎?

問題3

在第十六章有關創新的內容。書上說創新被全部It工做者討厭,可是如今行業的狀況時技術突飛猛進。並且新技術的出現是彌補舊技術的不足。既然是彌補不足的爲何會被討厭?好比我我的就比較喜歡接觸新技術,以前我在使用springboot開發我的博客時,以前使用的是springboot1.x版本,其中有關Redistemplate生成的地方有使用風險,若是在後續的使用過程當中沒有判斷該內存是否存在,就會拋出異常,可是在springboot2.x版本使用了新的方法生成,就不須要了。算是彌補了這個BUG,這個創新不是極大改善了編程體驗嗎?並且以前springboot沒有出現前,使用ssm進行開發,須要各類繁多的配置。所以ssm配稱爲配置地域,如今springboot開發很是方便。僅需不多配置就能夠運行。現實技術的進步狀況和IT工做者厭惡創新這種說法矛盾了。

問題4

在第十二章的用戶體驗,其中提到了關於遙控器的例子,我想起了我家的遙控器有兩個,一個按鍵不少功能齊全,一個僅有幾個必要的按鍵。它們都不能知足個人需求我每每都是兩個一塊兒使用,可是這樣也不方便。長此以往我很反感看電視了。書上說從用戶的角度出發考慮問題,若是用戶的需求是矛盾的呢?就比如我使用遙控器的例子。並且我父母喜歡用功能少的遙控器,我由於偏向於功能多的,這種人羣的使用體驗矛盾,書中並無說明如何解決。在這種狀況下是否是考慮體驗優先,功能其次?

問題5

本書的第四章兩人合做中,若是兩我的有技術差距時,我我的以爲是很差處理的。由於我以前帶過別人,也被別人帶過,清楚那種感覺,若是兩我的有技術差距時,強的哪一方就會以爲對方作的不夠好,而對於弱勢的一方來講這是他作的最好了。最後都是強的一方包攬了全部工做。結對編程須要時間去培養默契,找到一個平衡的點,可是這也須要時間。因此我以爲若是不是花費時間特別多的項目,或者一我的須要大量時間開發的項目。結對編程不是最好的選擇。

項目管理工具

1.git:

Git是分佈式版本控制系統。追蹤計算機文件的變化的工具,也是一個供多人使用的協同工具。

官網地址https://git-scm.com

優勢:

一、由於是分佈式,因此每一個參與開發的人的電腦上一個完整的倉庫不用擔憂項目丟失;
二、能夠離線操做;
三、強大的分支管理功能。

缺點:

1.git沒有嚴格的權限控制,通常是經過系統設置文件的讀寫權限來作權限控制。

2.工做目錄只能是整個目錄,而svn能夠單獨checkout某個有權限的目錄。

3.學習成本大,難以上手

2.Github

GitHub是一個面向開源及私有軟件項目的託管平臺,由於只支持git 做爲惟一的版本庫格式進行託管,故名GitHub。 --百度百科

優勢:

1.功能強大,

2.開源項目多,

3.將項目存檔,能夠分享交流,並讓其餘用戶幫助你一塊兒完成這個項目。支持多人共同完成一個項目,所以大家能夠在同一頁面對話交流。

4.適合分佈式開發,強調個體;

缺點:

1.界面不太友好,初學者不易搞懂功能

2.資料少,學習成本比較大,學習週期比較長

3.代碼保密性差

3.Apple XCode

優勢:

1.自動建立分類圖表。

2.提供自動各類強大的功能,且無需編寫編碼,減輕開發負擔。

3.開發IOS和Mac特別方便

4.便捷的代碼管理器,自動生成類關係圖、函數方法列表等

缺點:

1.不穩定,容易出現插件丟失

2.只提供調試功能。

3.侷限於ios和mac

相關文章
相關標籤/搜索