我的第一次做業:閱讀與準備

我的第一次做業:閱讀與思考php

這個做業屬於哪一個課程 課程連接
這個做業要求在哪裏 做業要求連接
我在這個課程的目標是 掌握軟件工程這門課的核心知識點,對職業規劃有清晰的認識,在完成該課程以後對將來學習歷程有明確的方向
這個做業在哪一個具體方面幫助我實現目標 通讀教材並提出建設性問題
參考文獻 在 GitHub 能夠作什麼,用戶又習慣作些什麼?
參考文獻 版本管理(一)之Git和GitHub的區別(優勢和缺點)
參考文獻 GitHub、Bitbucket、Google Code 各有哪些優缺點?

1.關於我

  • 我是來自計科1801的陳紀龍,叫這個名字是由於有個雙胞胎哥哥叫陳世龍^_^html

  • 博客園博客地址: https://www.cnblogs.com/FourtyTwo/前端

  • 我的優勢大概是自控與自學能力較強,對感興趣的事物有着強烈的好奇心與求知慾python

  • 日常喜歡跑步和乒乓球git

  • 大一的一學年裏經過自學倒也學了很多東西,但大多都不是很精通/(ㄒoㄒ)/~~,新的一學年爭取把以前落下的東西補回來,把學的不紮實的東西再鞏固一下程序員

  • 以前經過Hexo+Github搭建了我的博客,以記錄學習過程當中遇到的各類問題,但已經停更挺長時間了〒▽〒,也但願藉此機會可以督促本身,多多記錄本身的學習歷程(ง •_•)ง
    (==>My blog)github


2.閱讀與思考

閱讀以上材料,並回答下面幾個問題:web

(1)回想一下你初入大學時對你所在專業的暢想算法

  • 當初你是如何作出選擇你所在專業的決定的?編程

    其實在高中對計算機相關專業的認知並非很清晰,在選擇志願前也是經過知乎瞭解到計算機相關專業就業率與薪酬都比較高,而且自覺得自學能力與獨自解決問題的能力尚可,最終將計算機科學與技術專業排在了第一志願。

  • 你認爲過去一(兩)年中接觸到的課程是否符合你對你本身所在專業的期待,爲何?

    符合期待。過去一年學校開設了C語言與數據結構這兩門專業課程,由於程序=算法+數據結構,因此做爲一名程序員,重中之重即是對於數據結構的學習,而要學好這門課又須要C語言做爲支撐,對咱們的學習與發展有較大的幫助。

  • 你以爲你所在的專業是你喜歡的領域嗎,它是你擅長的領域嗎?

    既然主動選擇了這個專業,固然是喜歡這個領域了,計算機行業只要有一臺電腦,便有了無限的發展空間。但因爲一入學便加入網絡聯盟,參加了幾回CTF和AWD網絡攻防賽, 因此目前最擅長的領域是滲透測試o((⊙﹏⊙))o,但我會努力作到全面發展,開發滲透兩開花( ̄︶ ̄*))。

  • 未來你會選擇從事和你專業相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由

    會,根據本身的能力與學習狀況選擇對應的工做。可能的話會在成都發展,公司和崗位目前還沒法肯定X_X。

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

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

    目前經過自學掌握了Linux與SQL語句基礎;能夠本身鼓搗虛擬機,在kali-Linux上利用常見web前端後端漏洞進行滲透測試;此外還有些php和python基礎,但不是特別熟練。代碼量可能有個兩千行?作過的最複雜的做業可能就是上學期程序設計綜合實踐課上作的推箱子小遊戲,經過多維數組完成地圖的建立,開始的圖形界面經過網上查閱利用windows的一些命令實現。

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

    目前熟練掌握的語言不多,而且不知道軟件開發的具體流程,不瞭解如何經過團隊協做來實現軟件的開發;而且沒有實際的軟件開發經驗,對將來的發展規劃尚不清晰。

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

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

    現在本科生就業競爭十分激烈,加上父母的建議而且不讓將來的本身後悔,我選擇考研這一方向。

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

    考研須要比較好的自控能力,個人優點即是如此,能在無人監督的狀況下時刻保持自律,合理制定而且比較好地完成學習計劃;劣勢可能就是腦殼不如別人靈光〒▽〒,須要用更多的時間來理解某一道題或某一事物,正因如此,我更要我加倍努力,付出更多的時間與精力(ง •_•)ง。

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

    因爲不想把考研戰線拉的太長,我準備在大三下學期開始考研的複習工做,這樣距離考研大概有九個月的時間,也避免了時間太短致使複習不充分的狀況;天天至少八小時的學習時間,而且保證留有外出鍛鍊的時間,畢竟身體是革命的本錢,作到勞逸結合才能事半功倍。

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

    目前作的準備就是固然就是作好做爲學生的本職工做:認真對待所學的每一門課,而且在大一學年也取得了令本身滿意的成績,也至關於爲考研夯實基礎;將來還要進一步提高本身的專業技能,還要儘可能克服社交恐懼/(ㄒoㄒ)/~~。


3.提有質量的問題

問題①:什麼算是「足夠好」?

  • 問題來源:

    教材第一章概論部分第17頁提出要經過必定的軟件流程,在預計的時間內發佈「足夠好」的軟件,但究竟什麼算是「足夠好」呢?

  • 個人理解:

    關於「足夠好」,這個定義自己就模棱兩可,未能對軟件發佈的具體時機有個明確的闡述;何況「未完成的」也不必定就是差的,例如Valve公司旗下Steam平臺開創的Early Access模式就開創了這一先河,開發者能夠在開發流程還沒有完成時就將軟件發佈在平臺進行買斷製售賣,這種模式不只能夠解決開發過程當中可能出現的資金短缺問題,還能夠將軟件的雛形展現給用戶,這樣一來,開發者能夠及時吸收用戶的意見,優化開發流程與調整開發方向,將「更加好」的軟件展現給客戶。

問題②:如何對軟件設計思想有深刻的理解?

  • 問題來源:

    教材第三章談到軟件工程師的成長時提到了要對軟件設計思想又深刻的理解,但書中並未提出究竟如何才能對軟件設計思想有深刻的理解。

  • 個人理解:

    我認爲要對軟件設計有深刻的理解最不可取的方法即是直接翻閱各類講解軟件設計思想的書籍,由於若缺少基本的實踐經驗,不瞭解一個軟件從策劃到開發結束的具體流程,從書籍中直接得到的東西便都是過往雲煙,到頭來也只是紙上談兵。我認爲好的方法應該是先儘量的去尋找實踐機會,實在沒有便本身創造機會,在一個個項目中即可以潛移默化的掌握不少軟件設計思想。

問題③:PM的職能?

  • 問題來源:

    教材第九章集中講解了有關PM的內容,並介紹了Program ManagerProject Manager的區別,但我對於Project Manager的職能產生了疑問

  • 個人理解:

    書中指出Program Manager就是負責具體的代碼開發工做,和你們平等工做,對具體的軟件開發流程有深刻了解;Project Manager就至關於一個領導者,負責與客戶交流,組織用戶調查,書中後續又指出PM還要管理軟件的生命週期,具體如設計、實現、測試、升級、遷移等工做,但這些工做對於不熟悉具體軟件開發流程且沒有直接參與軟件開發的Program Manager又如何作到呢?

問題④:如何作好軟件體驗中的長期影響?

  • 問題來源:

    教材第十二章用戶體驗的要素中提到了「短時間刺激」的弊端,但又如何作到用戶在軟件體驗中的「長期影響」?

  • 個人理解:

    教材中寫道短時間刺激如冗餘的動畫和所謂手勢操做會帶給用戶糟糕的體驗,無異於多此一舉;經過查閱資料,我瞭解到蘋果公司在軟件體驗中的「長期體驗」方面作的很是好:就APP啓動時的過渡動畫而言,Android在應用啓動時的過渡動畫大都只是從A到B的「位移」,或者乾脆不作過渡動畫。而IOS卻在這個方面下足了心思,蘋果很聰明的運用了不少非線性動畫,這些動畫在很大程度上會給你很流暢順滑的感受,而且將這些過渡動畫之類的圖形處理應用的優先層級調整的十分靠前,而Android則相反。注重細節,這即是IOS老是比Android流暢的緣由,這即是IOS給用戶的「長期體驗」好的緣由。

問題⑤:如何肯定正確的設計負載?

  • 問題來源:

    教材十三章中的效能測試小節裏提到要在一開始肯定正確的設計負載。

  • 個人理解:

    因爲缺少實際的軟件開發經驗,我始終以爲肯定正確的設計負載是件很困難的事。就好比在準備搭建我的博客時服務器的選擇:對於剛開始寫博文的小明來講,512mb的內存可能就夠用了,但萬一他的其中一篇博文忽然成爲「網絡爆款」,博客訪問量猛增,服務器這時便會不堪重負,若不及時採起補救措施,甚至會致使數據丟失;而若一開始就選擇較大容量與內存的服務器,大機率出現浪費的狀況,不只如此,實際的軟件開發中,設計負載還要讓客戶滿意,因此「設計負載」究竟該如何肯定呢?


4.瞭解和調查源程序版本管理工具

GitHub

- 優勢
    - 託管代碼
    - 託管編程環境
    - Github Pages 能夠爲項目創建靜態主頁(即gh-pages分支), 也能夠創建命名特殊的
    - 生態環境較好
    - 用戶羣體基數大,知名庫多
- 缺點
    - 私有項目收費較高
    - 鏈接不穩定

Git

- 優勢
    - 適合分佈式開發,強調個體
    - 公共服務器壓力和數據量都不會太大
    - 速度快、靈活。
    - 任意兩個開發者之間能夠很容易的解決衝突
    - 離線工做
- 缺點
    - 學習週期相對而言比較長
    - 不符合常規思惟
    - 代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息

Bitbucket

- 優勢
    - 支持Hg,最易學易用,同時也支持Git
    - 徹底免費的閉源項目,還支持5人之內的合做開發
    - 支持中文
- 缺點
    - 用戶數量限制
    - 用戶基數小,生態環境不如GitHub完善
相關文章
相關標籤/搜索