<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 前言 ## 隱藏在逆流而上的良質 經歷過大型企業級系統開發的技術開發工程師估計都能體會,在大流量、高并發、大數據下開發,將會遇到重重問題、層層挑戰。對于這些問題和挑戰,要及時、妥善地處理和解決,否則要么無法滿足最終用戶的需求,要么業務受損慘重。這時,需要我們作為一線技術人員,能逆流而上。 這意味著從事技術開發,尤其是負責企業級系統開發和維護時,需要持續投入更多的時間、精力和創造力,并不是“只要站在風口,豬也能飛起來”。舉個例子,網站出名了,流量指數增高,訪問量瞬間翻了十倍、百倍,這時系統支撐不住崩潰了,怎么辦?唯有逆流而上! 為家門口的小河流建造一條小橋,以及構建發揮著防洪灌溉作用的都江堰,這兩者是有天壤之別的。前者是民間作坊式的作品,后者則是由不同模塊、不同子系統,通過巧妙且合理的設計,再經過漫長的艱辛才凝聚而成的大型水利工程。同樣,開發日均幾千PV的小網站,和維護大型企業級系統是大為不同的。所以,這本書,更多介紹的是在嚴酷的實際場景中切實可行,經得起歷史考驗的有效的解決方案。在此過程,我們將會探索隱藏在逆流而上的良質,完成從優秀到卓越的突破。 ### 從優秀到卓越 在我小學的時候,初次接觸電腦這個神奇的東西時,就深深愛上了它,并且當時就決定我以后要從事與之相關的職業。 在高中階段,我拿著同桌的文曲星,用GBASIC語言并結合幾頁紙的代碼草稿,用順序結構、IF條件結構、隨機數等編寫了我人生中的第一段程序——簡單的文字冒險游戲。 而如今,距離編寫一行代碼到現在,已經過去十多年。在此期間,我進行了更全面的專業學習,參與了小型、中型和大型的企業級系統開發,也在開源社區貢獻了自己的開發框架。所參與研發的網站系統,每天都承載著百萬級的用戶訪問量,同時肩負99.99%以上的線上SLA目標;所帶領的團隊,在不斷小步快跑,持續交付,在解決各種難題和快速迭代的同時為企業不斷創造更高的商業價值;而開源的框架此時此刻也在為遍布全球的開發人員所使用,并應用在各種項目開發上,同時我也在協助他們解決所遇到的各種技術問題和障礙。 這個過程是激動的,也是深刻的。 從最初只會編寫幾行簡單代碼自娛自樂的懵懂小白,到現在能夠嫻熟應對復雜、不確定、充滿未知的軟件領域的開發工程師,我深感幸運和自豪,但同時也對這其中的痛苦、艱難與無助深有體會。因為,軟件開發領域本來就還很年輕,而很多技術,包括操作系統、主流開源系統和專業概念性的理論,都是來自國外。在國內,我們很多時候都是在被動接收這些職業賴以發展的技術和知識,尤其對于對英語欠佳的同學來說,只能努力尋找翻譯過后或別人理解整理的中文資料。本質上,我們還是缺乏經驗,缺乏引導,缺乏幫助。 曾經有位同事非常認可我的書面語言組織和表達能力,并且一直想和我深入請教和學習技術上的經驗,但由于時間上的沖突一直斷斷續續。這也正是我想寫這本書的初衷,希望能給初學者和有開發經驗的同學一定的參考和幫助。 如果你和我堅持原則的一樣:**盡我們最大的努力,開發并交付價值最大化的軟件**,不僅僅停留在把事情做完成,而是要把事情做得更完善,但現在卻感覺有心無力時,那么相信這本書將能給你實用、有價值的參考和指導。 ### 完成,完整,完善,完美 很多時候,我們都是從一個簡單的功能,或者簡單的需求開始搭建一個簡單的系統。在基本完成了所需要的業務功能后,就可以投入使用,正式運營。但這只是一個開始,甚至是惡夢的開始。 系統中的任何一個問題,任何一行有嫌疑的代碼,如果沒有在開發階段被技術自測發現,也沒有在測試過程中被QA發現,那么早晚都會在真實環境中揪出來,沒有僥幸。迫于時間而倉促上線,或者因為考慮不周而有所疏忽,抑或是因為經驗和技術不到位而導致存在風險點,當系統未達到一個完整狀態時,它都是脆弱的。而脆弱的背后,則是我們包括負責人、經理、客服、運營、技術、測試、運維等項目干系人疲于奔命、到處救火的現狀。 能力越大,責任越大。反過來也一樣,肩負的責任越大,勢必要求與之配備的能力就越大。明顯地,構建支撐千萬級用戶量的網站與搭建個人小網站要求的能力、素質和背景有很大差別。這時,作為肩負重任的我們,應當力求完美。 如何從完成,到完整,再到完美,正是貫穿本書的主線。我們也將一起探討, 怎樣從單兵作戰式的個人開發,過渡融入中小型公司的團隊協作開發,最后在大公司也能人盡其才,成為萬里挑一的明星級員工。 ## 本書為誰而寫 本書主要側重點在于企業級系統的開發,注意這里指的是企業級,意味著是有一定規模并且是具備商業價值的,而不是單純教學式的示例。此外,我們著重討論的是系統開發,這里不僅包括網站系統的開發,還包括微服務、接口系統、定時任務系統的開發。除了探討如何增強對系統整體性的把控,還會涉及系統在整個企業生態圈中扮演和承載的角色。最后,在企業級網站系統這一特定領域,我們又重點關注技術開發這一范疇。 當然,使用的主要編程語言是PHP,本書所介紹分享的經驗、技巧、原則和策略等,需要有項目經驗或者已經掌握基本PHP網站開發的功底才能更好理解。所以,這本書更多是集中在使用PHP開發企業級網站系統這一領域,并且集中關注為有項目開發經驗的工程師,尤其是當前處于迷茫期、瓶頸期或困難期的開發工程師提供啟發性的幫助和技術干貨。 此外,本書也會: + 為編程愛好者和初學者提供實踐指引,避免掉進教條式的理論學習,在最短時間內掌握基本企業級系統的開發技能 + 為即將畢業投身軟件開發行業的學生提供實用開發指南,為即將面對的挑戰做好準備,在職場上掌握主動性 + 為已經在職的開發工程師提供職業發展路線規劃圖,提升自己的專業能力,盡早獲得晉升,脫穎而出 + 為資深有經驗的行業人士,提供總結,便于培養人才、建設團隊、或進行恰如其分的架構設計 感謝選擇和閱讀此書! ## 如何使用本書 在本書中,我將會把我多年來成功的開發經驗、撰寫的博客、感悟的技巧、實用的技術整理分享給大家。為方便讀者更容易閱讀本書,以下是本書的學習路線圖。在第一部分,簡單介紹了為什么當前軟件開發越來越重要但也越來越難,同時分享問題域、解空間和開發軟件的宗旨。通過從零到一,開發一個小網站可以更好的接觸網站開發,并且為后面的內容和場景做鋪墊。如果是有經驗的開發同學,可跳過這章,但里面有非常受用的經驗值得一看。小網站只是一個開始,接下來不斷涌出的就是各種我們已知或從未見過的問題和挑戰。 正式開始接觸企業級系統開發前,還需要加固原生態PHP和PHPUnit自動化單元測試的洞見,所以第4章和第5章的內容是不容忽視的。第4章是對原生態PHP的理解與應用,對于編程語言本身的見解;第5章是對于PHPUnit自動化單元測試的新解,用代碼證明代碼。這就是第二部分的內容。 在軟件開發這條路上,我們要坦然,肯定不會一帆風順的。這點我們要在一開始就要做好充足的心理準備。很多開發同學之所以選擇從事軟件開發,是因為曾經年少時聽別人說做開發收入頗豐。誠然,但是否曾有人告知過你開發也會很辛苦?“困難越大時,進步越大。”這是師姐曾經對我們的教誨。但請放心,在攀登軟件開發這座大山時,前面已經有很多前輩幫我們把坑踩平了,也有很多優秀乃至卓越的開發人員,在他們身上我們可以學到如何戰勝一個又一個難題。而這些技巧、技藝、做事方式都將會在第三部分進行講解。這也本書的核心部分,重點涵蓋了核心基礎模塊設計、大型網站開發范式、高可用接口服務系統 、管理后臺系統和計劃任務系統。這是一個轉折點,是化被動為主動的分水嶺。 如果要在軟件開發這條路上走得更遠,只做到及格還不行,我們還要做到優秀,還要追求卓越。能在更短的時間內,處理更多信息、產出更大價值的人,將會是高效人士。若能得到盡情的發揮,并擁有合適的平臺與機遇,就能成為公司里的明星員工,在更短時間內獲得晉升,脫穎而出。相關的內容,將會在第四部分作介紹。 希望我們都能走出舒適區,在技術路上走得更遠。當你覺得已經達到瓶頸區時,不妨給自己設立更高的目標,而有時候我們不知道自己不知道,就會容易陷入迷茫。從小白到開發工程師,從問題解決者到權威專家,從專家到團隊管理,從管理到精益創業,從創業到布道。有很多有趣的東西等著我們去做,并值得為之奮斗不已。 ## 勘誤 由于筆者能力有限,雖然我已經把整本書打印成紙質版草稿并進行多次校對,但書中難免有誤,望請讀者理解和提點。如有問題,歡迎隨時反饋到圖靈社區:[http://www.ituring.com.cn/book/2664](http://www.ituring.com.cn/book/2664),我會盡快修正和回復,謝謝! ## 關于作者 大家好,我是黃禪宗,畢業于華南師范大學,專業是我最喜歡的軟件工程。在2007年應征入伍,成為人民解放軍海軍中的一名義務兵,并曾服役于南海艦隊西沙群島某艦艇部隊。大學畢業后,曾在唯品會任職高級開發工程師,主要參與唯品會官網、大促活動系統等千萬級訪問量大型系統的研發與維護工作。當前任職于租租車,擔任開發經理,管理20人左右的研發團隊,負責主流程核心業務系統。在業余時間,我活躍在開源社區,并從2014年開源了PhalApi接口開發框架,一直維護至今。同時喜歡技術文章的翻譯,喜歡分享在軟件開發領域上的心得體會。作為一名專業的軟件開發工程師,始終致力于為他人、團隊和公司解決問題,創造價值。現在居住在廣州。 ## 踏上征程,就現在 在軟件開發這條路上,不管我們在哪一個階段,時刻要面對的阻力都是巨大的。這是因為在本質上,我們正處于信息大爆炸的時代,要通過開發軟件恰當、精準、及時處理這些信息,不僅需要過硬的技術知識和能力,還要投入大量的時間與精力,以及持續學習。 古云:此日足可惜,吾輩更應惜秒陰。事不宜遲,讓我們馬上進入軟件開發這一神奇而又充滿未知的領域——
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看