<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                本來想的只是畫一個如下的七日圖來說說Web開發的,隨后又想了想這似乎是一個非常棒的Web開發相關的知識介紹。應用開發是一個很有意思的循環,多數時候我們總會覺得別人的代碼寫得不好。即使它使用了一種非常好的設計,我們也可能會覺得他很復雜。 而它總結下來就是下面的七天過程里發生的一些事情。 ## [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#七日談)七日談 其實對于Web開發,有下面這張圖就足夠了。 [![](https://box.kancloud.cn/2015-12-28_5680caabcf547.jpg)](https://camo.githubusercontent.com/9e52054d048518490b5e56a75175392ea485f021/687474703a2f2f726570726163746973652e70686f64616c2e636f6d2f696d672f7765622f7765622e706e67) ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第一天新的開始)第一天:新的開始 > 我們迎來了我們的新的一個項目,看起來每個人都很興奮。這一天過得很快,也做了特別多的事。 首先,我們搭建了自己本地的開發環境。我們選擇了一門新的語言,也開始使用新的IDE,一個全新的開始。 接著,我們開始創建一個很簡單的Hello,World——在絕大多數語言里都有這樣的一個傳統。這是一個Web項目,看來我們選用的框架里的Hello,World是一個TODO MVC。 呀!這個框架比原來那個框架看起來更簡單,更直接也更加好用。 然后,我們開始去創建我們的構建系統了。讓我們告別Ant,迎來新的構建工具,Gradle比他們強大多了。我們可以用這個構建工具來做很多的事情——依賴管理、編譯和構造、打包。Gulp看上去很流行,讓我們用Gulp吧。順便再創建一個或多個用于發布和構建的服務器。 最后,在我們的持續構建系統中搭載相應的PipeLine來完成這些事。 第一天,就這樣興奮地結束了。 ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第二天令人期待的新體驗)第二天:令人期待的新體驗 > “沒辦法,第一天就是得做那些事。” 現在,才開始真正的編碼工作。我們拿到了一個任務,知道了它是做什么之后。 我們開始對其分步,第一步做什么,下一步做什么,每一步都很清楚了。可以編寫我們的第一個測試,看來這個測試好像并沒有想象中對么簡單,我們需要Mock對象。 啊!這個組件需要Fake一個Service。第一個任務看來是完成編碼了,讓我們對其進行簡單的重構。 我們已經有了單元測試,現在讓我們添加一個功能測試。在我們這個例子里,似乎也需要一個集成測試。 終于可以Commit,并Push代碼。 ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第三天上線準備)第三天:上線準備 在我們不斷地重復第二個步驟的時候,我們也要開始去考慮如何上線了。 我們是直接部署在Docker容器里呢?還是直接部署在服務器上呢?接著,我們還為其配置了緩存服務和均衡負載等等。 咦!這個配置是寫死的!這里需要一個Toggle來控制功能是否上線! ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第四天-數據分析)第四天: 數據分析 上線了幾天后,發現一些數據發生了變化。網站的訪問速度變快了,使得訪問網站的人越來越多。 等等,這個地方好像沒有人用過! 唔!這是一個Bug! 應用的性能比以前好多了,一個服務器可以頂以前的兩個,一下子省了好多服務器。 看來,用戶比較喜歡那個功能,我們增強一下這個功能吧。 ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第五天持續交付)第五天:持續交付 > 又修了一個bug。 噢!我不覺得這個功能用戶會喜歡。 哈!這個新功能看上去不錯。 ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第六天惡夢)第六天:惡夢 唉!這代碼是誰寫的! 這里需要重構一下,這里也需要重構一下。 什么!沒有測試! Shit! ### [](https://github.com/phodal/repractise/blob/gh-pages/chapters/web.md#第七天總結與計劃)第七天:總結與計劃 哈!我們的競爭對手使用了新的技術,而且我們的系統已經不行了。讓我們設計一個更好的系統出來,這個組件我們可以使用這個技術,這個組件我們可以使用那個技術。 前途又是光明的。 * * * 現在,我們又回到了第一天了。
                  <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>

                              哎呀哎呀视频在线观看