乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      研發(fā),把一個項目上線,要折騰多少細節(jié)!

       小傅哥 2023-08-28 發(fā)布于北京

      作者:小傅哥
      博客:https://

      ?

      沉淀、分享、成長,讓自己和他人都能有所收獲!??

      ?
      • 一、先看效果

      • 二、再說流程

      • 三、之后上線

      • 四、系統(tǒng)介紹

      于5.1啟動,耗時3個多月開發(fā)的 OpenAI 項目,終于到了上線對外的時候??赡芎芏嗷锇闀氲?,Github 不是有不少的開源項目嗎,為啥還自己做?

      為啥??。嗯,好問題!因為我是一個程序員???????,我需要對各項技術(shù)的實現(xiàn)方案有深度的理解,我不能在工作或者面試中被提問的時候,說你去看開源項目吧。

      此外大部分 Github 的開源項目主要以前端為主,并沒有一個前后端結(jié)合的開發(fā)。而實際上,當(dāng)我們真的需要在業(yè)務(wù)場景來使用時,就不只是前端頁面,還需要在后端做各項的控制和管理。而這樣的架構(gòu)設(shè)計,就勢必會涉及到;前后端分離、前端工程架構(gòu)、后端工程架構(gòu)(DDD)、登錄授權(quán)鑒權(quán)、大模型SDK實現(xiàn)(okhttp)流式異步響應(yīng)開發(fā)對接庫表字段索引精細設(shè)計、API多渠道路由、內(nèi)網(wǎng)穿透服務(wù)測試前后端鏡像打包、docker-compose 服務(wù)部署和回滾策略、公眾號驗簽配置,等等技術(shù)知識的運用。

      所以,你跟開源項目學(xué)的是簡單的應(yīng)用,跟小傅哥學(xué)習(xí);學(xué)的是架構(gòu)設(shè)計的魅力學(xué)的是技術(shù)實現(xiàn)的巧妙。學(xué)的是,讓你在晉升、述職、面試,時交流的底氣。那么現(xiàn)在小傅哥把這樣一個上線項目,拆分成一個個章節(jié)學(xué)習(xí),讓你也能具備這樣的能力。

      一、先看效果

      體驗地址:openai.itedus.cn


         
         

      關(guān)注小傅哥的公眾號【bugstack蟲洞?!炕貜?fù)【星球】也可以領(lǐng)取專屬優(yōu)惠券 |  加入即可學(xué)習(xí)星球的全套實戰(zhàn)項目(Lottery、API網(wǎng)關(guān)、ChatGPT、IM、組件開發(fā)、插件開發(fā)等)

      二、再說流程

      當(dāng)一個項目引入后端能力以后,就可以擴展非常多的能力。而所有的控制都是在做用戶的行為處理,而這些行為就是業(yè)務(wù)需求。當(dāng)不同的碼農(nóng)面對相同的業(yè)務(wù),寫出的代碼可就不一樣了。所以小傅哥也是希望讓你能學(xué)習(xí)到怎么架構(gòu)和編碼出高質(zhì)量的代碼。

      ?? 我告訴你,當(dāng)前的需求就是;公眾號掃碼獲取驗證碼登錄,登錄后訪問 OpenAI 服務(wù),訪問后需要根據(jù)是用戶綁定的APIKey還是系統(tǒng)APIKey分別調(diào)用,如果是系統(tǒng)APIKey則需要限制調(diào)用次數(shù),而用戶自己綁定的則不需要。此外調(diào)用的 OpenAI 模型和渠道不同,需要進行判斷和處理。那么這樣的代碼你想怎么寫??? 會不會寫出 if···else 的面條代碼?

      如果你不想寫出面條代碼,那么就看看小傅哥給你設(shè)計的流程圖結(jié)構(gòu)。如下;

      • 首先,在這套流程中,小傅哥將核心業(yè)務(wù)和支撐核心業(yè)務(wù)的分支流程進行拆解。一切的分支都是為了支撐主干流程運行,而分支的存在和去除,都應(yīng)以模塊插件的方式進行使用。這樣會更好的維護和使用。
      • 之后,我想說。寫代碼就像擦屁屁的紙,80%的面積都是保護手的。所以這除了那20%的核心點以外,要讓那支撐系統(tǒng)運行的 80% 分支邏輯,采用設(shè)計模式進行進行分治和抽象的設(shè)計實現(xiàn)。
      • 所以,這里有了路由模塊和規(guī)則引擎的使用。因為他們可以更好的被添加和移除。而每次變動的時候,也都是固定范圍的變動,不會讓整體流程都陷入測試風(fēng)險中。

      所以,你還覺得寫代碼就只是if···else嗎,這哪是寫代碼,這TM是老子在用代碼構(gòu)建一個世界!

      三、之后上線

      一個系統(tǒng)的上線對外,會有太多太多的細節(jié)要考慮。而這樣的內(nèi)容,只有實踐了才能真的吸收這些知識。尤其是出一些事故時,都是留下一個個技術(shù)成長的故事。

      那么我們現(xiàn)在以 OpenAI 個人上線對外一個項目的背景進行思考 ??,看看會有哪些點需要處理;

      1. 技術(shù)棧的使用,不宜過多。要盡量減少運維成本。比如你可以使用 Guava 替代 Redis 使用。
      2. 數(shù)據(jù)庫可以考慮單獨購買,避免數(shù)據(jù)丟失。但同時也需要考慮,如果數(shù)據(jù)丟失,用戶可以根據(jù)自己的加密卡Key進行重新綁卡。
      3. 因為本身服務(wù)器的成本就比較高,所以盡量控制被白piao。比如任何一個Key都可以在你部署的服務(wù)上使用,其實意義不大??梢酝ㄟ^只授權(quán)加密 Key 的方式進行使用。
      4. 此外要考慮,多種的調(diào)用渠道,如果某個掛了。要能替換對應(yīng)渠道的訪問地址,所以還需要把渠道對應(yīng)的地址做成可配置的,之后用戶寫入庫里,寫入的只是渠道碼這樣就可以方便替換。
      5. 打包部署上線,一定要先在本地測試驗證,驗證完全沒問題在上線。否則你就單臺服務(wù)器沒有負載能力的情況下,基本就要掛了。
      6. 如果你在本地測試仍不放心,可以修改一個端口和一個 docker-compose-pre-v1.0.yml 進行部署測試。可千萬別修改原來正式對外的 compose 直接部署,這會出問題的。
      7. 要有一個可以回滾的處理,可以配置 docker-compose-prod-v1.0.yml 版本的添加。如果1.1版本出問題,可以快速使用 1.0 版本重新部署。
      8. 數(shù)據(jù)庫表的使用,要注意字段的設(shè)計,索引的設(shè)計,否則就你那一卡拉米資源的數(shù)據(jù)庫配置,真的可能因為你沒有索引被打掛。此外可得把用戶名和密碼設(shè)計的強悍一些,別被比特幣勒索。
      9. 定期導(dǎo)出 MySQL 數(shù)據(jù)庫表數(shù)據(jù),或者有自動備份功能的數(shù)據(jù)庫服務(wù)器也是可以的。
      10. 因為你的代碼,確實是你的代碼。這可不是公司的,也不是有別人參與的。所以為了能在迭代或者處理問題的時候,快速解決。一定是要非常好的架構(gòu),非常清晰的編碼。

      四、系統(tǒng)介紹

      加入小傅哥的星球【碼農(nóng)會鎖】,就可以完整的學(xué)習(xí)此套項目。另外星球還有,Lottery、API網(wǎng)關(guān)、IM、組件開發(fā)、插件開發(fā)等項目一起學(xué)習(xí)。

      小傅哥帶著大家寫的項目,從來不是湊數(shù)項目,也從不寫一堆的 CRUD 代碼。而是按照互聯(lián)網(wǎng)企業(yè)級中所開發(fā)項目的模式進行架構(gòu)、設(shè)計和實現(xiàn)。所以你跟著小傅哥學(xué)習(xí),學(xué)的是編程的思維和編碼的能力。如下是系統(tǒng)的架構(gòu)分層;

      • 以上內(nèi)容,分別包括;API、WEB、SDK,以及 Dev-Ops 部署相關(guān)的內(nèi)容。
      • 所以這套項目的學(xué)習(xí),學(xué)的是前端、后端、架構(gòu)、部署、運維等一整套東西,非常具有含金量。

      以下是整套課程的目錄結(jié)構(gòu),如果你想學(xué)習(xí)一定仔細看看,千萬別錯過!

        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多