宜信(刘志波)技术培训
第 1 章 第一部分 軟件項目管理
1.1 傳統的 軟件項目管理流程
可行性分析階段:可行性分析報告
? 需求階段:需求說明書、需求規格(分析)說明書
? 設計階段:概要設計說明書、詳細設計說明書
? 開發階段:軟件開發框架、重點難點攻關
? 測試階段:測試用例、測試報告
? 運維階段:運維手冊、運維報告
? 運營階段:運營手冊、運營報告
小結:
測試工作 簡述: 軟件 的實際承載能力, 例如Tomcat實際承受 并發350 、 獨立接口 和集成階段測試 。
運維工作 簡述:7*24 小時 服務,每天系統的報告,異常數量連接數 。
運營工作 簡述 : 生產環境出問題怎么解決,需要完整解決系統問題 的 流程,統計業務量 、需求 指 標量 報告。
1.2 敏捷 的軟件項目管理流程
? 需求階段:產品需求說明書
? 設計階段:流程設計、數據庫設計、接口設計
? 開發階段:軟件開發框架、重點難點攻關
? 測試階段:測試用例、測試報告
? 運維階段:運維手冊、運維報告
? 運營階段:運營手冊、運營報告
小結:
對于 復雜度高的項目需要一個穩定的團隊,大家的思路和框架流程都熟悉 ;
對于 簡單的項目增刪改查,這時需要的 只是 簡單的人員
1.3 項目 評審
? 需求評審:對需求進行質詢,明確需求內容、范圍
? 設計評審:確認設計方案、重點難點解決方案,依據評審結果進行開發工作量評估
? 測試用例評審:確認用例覆蓋度
小結:
項目真正 的目 、 明確需求 、 內容 、范圍 、 并 構建最終 明確文檔( 只可 微調) 。
會議評審 主要 對于 每個人的對于 方案 的解決方法,
解決 需求確認,評審確認后的時間概念:選擇團隊中的某一個人( 中間 人只做參考-中級程序員) , 根據中間點來確定工作量的完成 時間 。
溝通 交流培育的成本,五個人和十個人不一定 時間 就能提前 , 技術是細節 重要 的是 測試 和評審
1.4 測試流程
? 開發人員自測、交叉測試
? 第一輪測試
? 第二輪測試
? UAT (用戶驗收)測試
? 準生產環境測試
? 生產環境驗證
小結 :
第一輪: 是代碼提交測試
第二輪:測試 人員 ? 集成測試 ?
主要 解決 版本 問題 等git 的版本控制根據我們的環境來定義我們的版本,例如truck 版本
測試 人員發布版本 ? UAT測試 ? 內網測試
準生產 環境 ? 和 上產環境時 保持 一致 ? 生產環境驗證
注意 : 測試環節是保證系統安全上線的最關鍵環節,每一輪測試都需要提供獨立的測試環境。
1.5 上線 流程
? 產品人員提出上線申請
? 測試人員將代碼部署至 UAT 環境
? 產品人員進行 UAT (用戶驗收)測試
? 運營人員進行準生產環境測試
? 運營人員進行生產環境驗證
第 2 章 軟件 架構設計
2.1 業務架構 分解
2.2 技術 架構 —部署 要求
? 高可用架構 的重要性
? 數據 的前瞻性 提前 備份防范
? 安全 十分總要 、例如 :增加安全組 進行 安全掃描才能上線
? 安全 漏洞:框架漏洞 黑客 腳本,
? 根據 業務線選擇 上線時間
? 各類數據 緩存要求
緩存小結 :
字典 類數據 采用本地緩存效率 更高
用戶數據動態 數據采用 分布式 緩存
其余 放在 表結構 等定長 文本 放入 mysql
2.3 技術架構—分布式 CAP 理論
? 一致性( C ):在分布式系統中的所有數據備份,在同一時刻是否同樣的值。(等同于所有節點訪問同一份最新的數據副本)
? 可用性( A ):在集群中一部分節點故障后,集群整體是否還能響應客戶端的讀寫請求。(對數據更新具備高可用性)
? 分區容忍性( P ):一個數據項復制到多個節點上,那么出現分區之后,這一數據項就可能分布到各個區里
應用 服務器集群架構
業務 拆分
分布式 數據的一致性解決 方法 :
每 500 萬 一個庫 群組 做分庫
冷熱 數據的區分和隔離 時間 的分片原則 每一小時 就會生成一個庫
基于 所有的東西都拆分開
2.4 技術 架構 —— 架構設計 誤區
一味追隨大公司的解決方案
為了技術而技術
企圖用技術解決所有問題
第 3 章 技術雜談
3.1 技術 雜談 ——jvm 調尤
? jvm 優化
? j vm 學習 方向
? jvm 邏輯 問題
3.2 技術雜談—內存參數設置
vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-vmargs 說明后面跟隨的是JVM的參數設置
-Xms128m JVM初始分配的堆內存
-Xmx512m JVM最大允許分配的堆內存,按需分配
-XX:PermSize=64M JVM初始分配的非堆內存
-XX:MaxPermSize=128M JVM最大允許分配的非堆內存,按需分配
3.3 技術雜談—數據庫的四個隔離級別
? 數據庫操作面臨的問題:臟讀、不可重復讀、幻讀、更新丟失。
? 為了避免上面出現的幾種情況,在標準 SQL 規范中,定義了 4 個事務隔離級別:
? 讀未提交( Read Uncommitted )
? 讀已提交( Read Committed )
? 可重復讀取( Repeatable Read )
? 序列化( Serializable )
3.4 技術雜談— Spring 中的事務傳播特性
? PROPAGATION_REQUIRED: 如果存在一個事務,則支持當前事務。如果沒有事務則開啟
? PROPAGATION_SUPPORTS: 如果存在一個事務,支持當前事務。如果沒有事務,則非事務的執行
? PROPAGATION_MANDATORY: 如果已經存在一個事務,支持當前事務。如果沒有一個活動的事務,則拋出異常。
? PROPAGATION_REQUIRES_NEW: 總是開啟一個新的事務。如果一個事務已經存在,則將這個存在的事務掛起。
? PROPAGATION_NOT_SUPPORTED: 總是非事務地執行,并掛起任何存在的事務。
? PROPAGATION_NEVER: 總是非事務地執行,如果存在一個活動事務,則拋出異常
? PROPAGATION_NESTED :如果一個活動的事務存在,則運行在一個嵌套的事務中 . 如果沒有活動事務 , 則按 TransactionDefinition.PROPAGATION_REQUIRED 屬性執行
3.5 技術雜談—程序員的職業生涯
? 1-3 年,初級:做好增刪改查功能,熟練使用開發框架,培養良好的思維習慣
? 3-5 年,中級:能夠完成簡單系統的設計,獨立完成系統的開發
? 5-10 年,高級:深入理解技術原理,配合架構師完成架構落地,解決重點難點問題
? 10 年以上,架構師:項目評審、架構設計、技術選型、重點難點分析、技術攻關、溝通與協調、提升理論知識
第 4 章 指出 問題
接口 流程: 寫完代碼 要給接口 方 提供可用完成的接口 。
評估 工作: 項目的評估到個人工作的評估,工作 量 評估 范圍 取決 于中間 評估人。
任務 完成: 每個人 接任務的時候要清除自己的工作目標必須有時間的約束 。
工作 范圍: 說任何話 做任何事都要有范圍的,不然都是錯的 。
測試 人員:測試 人員是 最重要的 環節 ,決定項目能否上線的必須流程。
總結
以上是生活随笔為你收集整理的宜信(刘志波)技术培训的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Strus2概览
- 下一篇: eclipse3.6默认指向 WebCo