日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > [置頂] 2016年終總結

[置頂] 2016年終總結

來源:程序員人生   發布時間:2017-02-15 09:45:48 閱讀次數:3229次
1、技術總結
(1)App/JavaWeb后臺系統
1.1、采取RestFul架構的SSM(Spring SpringMVC MyBatis)框架集成開發的App后臺系統,將用戶鑒權分離出來單獨的模塊,將用戶鑒權登錄狀態Token保存到Redis內存數據庫中,從而便于上層業務后臺系統彈性部署,提高系統的可用性和伸縮性,也為API高并發訪問提供安全基礎。
1.2、后臺系統特別是Web或App后臺通常由后臺處理業務相干數據展現到前端頁面或返回Json字符串數據到客戶端。項目隨著業務發展和用戶數的增多通常會不斷重構,采取Maven進行項目構建和作為項目管理工具,將項目制作成Maven多模塊,core模塊、service模塊、web模塊、common模塊、controller模塊等。
1.3、MVC模式分modle層、dao層、service層,controller層。model層用于將業務實體封裝成數據模型,dao層用于操作數據庫的接口層,service層用于調用dao層和外部系統的接口層,比較復雜的業務邏輯1般都按原子性操作封裝在service層,controller層主要用于控制分發,將業務處理結果的Json數據或前端頁面分發到客戶端訪問層。
1.4、工作到現在用過很多API,JSON格式和XML格式都有。總結使用經驗覺得JSON格式的更好用。JSON格式通常是更加簡潔的(以致于傳輸的數據量更小),也更容易展現復雜的對象(精確)而且能運行得像其他格式1樣好。
1.5、用裝備號/裝備mac地址作為Token:服務端接收到該參數后,便用1個變量來接收同時將其作為Token保存在數據庫,并將該Token設置到session中,客戶端每次要求的時候都要統1攔截,并將客戶端傳遞的token和服務器端session中的token進行對照,如果相同則放行,不同則謝絕。
1.6、對1些需要異步處理的,不要直接new1個thread,應當使用線程池。使用線程池的時候應當對線程數量大小公道設置,1般最大不超過50個,固然還需要斟酌你的IO和CPU。容器類變量,如果變化比較大且頻繁,盡可能定義的時候設置初始容量大小,減少擴容帶來的消耗。分支判斷if…else的時候,最常符合的條件處理放在前面。對象比較的時候常量放前面,養成好習慣,減少空指針的出現。減少synchronized中等待處理的代碼,能放在外面就盡可能放在外面。
1.7、關于數據,1般查詢比較慢,很有多是沒有建索引或索引沒用到,多去檢查1下。兩個大表的關聯查詢,可使用2次訪問數據庫替換,先查出A表的數據,利用關聯字段再查B表的。不要1味想著1條sql弄定最好。堅決避免,查全表數據或數量大的數據,返回list加載到內存中,1不謹慎查了100w數據,又查得比較頻繁,內存的爆了。有這類風險的改成份頁查詢。不要select *,按需取列。多斟酌避免事務里面有長連接或長事務,如果大量這類情況出現占用數據連接,會影響性能。1些無必要的邏輯可以放到事務外履行。對字段的加減乘除處理放到sql,嚴格避免先get處理,然后運算在set到數據庫里面,并發情況非常容易致使失真。
1.8、方法里面代碼不要太長,注意封裝,命名語義化,代碼整潔。
(2)、基于Netty底層通訊的消息推送系統的研發
2.1、NIO類庫的異步通訊框架架構特點是:異步非阻塞、基于事件驅動、高性能、高可靠性和高可定制性。
2.2、提供對多種編解碼框架的集成,包括谷歌的Protobuf、Jboss marshalling、Java序列化、緊縮編解碼、XML解碼、字符串編解碼等,這些編解碼框架可以被用戶直接使用。
2.3、提供情勢多樣的編解碼基礎類庫,可以非常方便的實現私有協議棧編解碼框架的2次定制和開發。
2.4、基于職責鏈模式的Pipeline-Handler機制,用戶可以非常方便的對網絡事件進行攔截和定制。
2.5、所有的IO操作都是異步的,用戶可以通過Future-Listener機制主動Get結果或由IO線程操作完成以后主動Notify結果,用戶的業務線程不需要同步等待。
2.6、隨著網站范圍的不斷擴大,系統并發訪問量也愈來愈高,傳統基于Tomcat等Web容器的垂直架構已沒法滿足需求,需要拆分利用進行服務化,以提高開發和保護效力。從組網情況看,垂直的架構拆分以后,系統采取散布式部署,各個節點之間需要遠程服務調用,高性能的RPC框架必不可少,Netty作為異步高性能的通訊框架,常常作為基礎通訊組件被這些RPC框架使用。
2.7、阿里散布式服務框架Dubbo的RPC框架使用Dubbo協議進行節點間通訊,Dubbo協議默許使用Netty作為基礎通訊組件,用于實現各進程節點之間的內部通訊。其中,服務提供者和服務消費者之間,服務提供者、服務消費者和性能統計節點之間使用Netty進行異步/同步通訊。除Dubbo以外,淘寶的消息中間件RocketMQ的消息生產者和消息消費者之間,也采取Netty進行高性能、異步通訊。
(3)、Jenkins延續集成
3.1、對Git、JIRA、Jenkins、GitLab、Maven等自動化的基于主干分支開發方式的延續集成,Jenkins Maven自動測試、延續構建,Jenkins延續部署,延續交付等集成工具的安裝使用,及基于此基礎上的項目管理和項目交付。
3.2、Git主干開發開發方式,每一個人在項目經理安排的任務下,基于需求開發,此時都基于develop創建1個特勤分支,如,develop-zhanghaiyang分成下開發自己的需求,本地開發完成經測試無誤合并到develop主干分支,下面可以通知測試人員測試剛開發的需求。
3.3、GitLab或開源中國Git托管或GitHub托管平臺都可以設置鉤子和Jenkins集成,Jenkins1旦檢測到設置好的分支有推送或合并響應會重新利用Maven進行構建和自動化測試,測試通過落后行重新部署,即實現需求到開發的延續集成,開發到測試的延續測試,測試到利用交付的延續交付。
3.4、JIRA是很優秀的開源的項目Bug跟蹤管理工具,從項目需求到開發測試交付的全部流程的bug跟蹤,便于各個層面的人員進行調和,減少項目開發進程中開發人員與測試人員,產品經理與測試人員等溝通本錢。
3.5、GitLab是類似于GitHub的代碼托管軟件,即Git服務器,著名的開源中國碼云就是基于GitLab2次開發的優秀的Git代碼托管平臺。
(4)、Docker容器使用
4.1、簡化配置:這是Docker公司宣揚的Docker的主要使用處景。虛擬機的最大好處是能在你的硬件設施上運行各種配置不1樣的平臺(軟件、系統),Docker在下降額外開消的情況下提供了一樣的功能。它能讓你將運行環境和配置放在代碼中然后部署,同1個Docker的配置可以在不同的環境中使用,這樣就下降了硬件要求和利用環境之間耦合度。
4.2、代碼流水線(Code Pipeline)管理:前1個場景對管理代碼的流水線起到了很大的幫助。代碼從開發者的機器到終究在生產環境上的部署,需要經過很多的中間環境。而每個中間環境都有自己微小的差別,Docker給利用提供了1個從開發到上線均1致的環境,讓代碼的流水線變得簡單很多。
4.3、提高開發效力:不同的開發環境中,我們都想把兩件事做好。1是我們想讓開發環境盡可能貼近生產環境,2是我們想快速搭建開發環境。理想狀態中,要到達第1個目標,我們需要將每個服務都跑在獨立的虛擬機中以便監控生產環境中服務的運行狀態。但是,我們卻不想每次都需要網絡連接,每次重新編譯的時候遠程連接上去特別麻煩。這就是Docker做的特別好的地方,開發環境的機器通常內存比較小,之前使用虛擬的時候,我們常常需要為開發環境的機器加內存,而現在Docker可以輕易的讓幾10個服務在Docker中跑起來。
4.4、隔離利用:有很多種緣由會讓你選擇在1個機器上運行不同的利用,比如之條件到的提高開發效力的場景等。我們常常需要斟酌兩點,1是由于要下降本錢而進行服務器整合,2是將1個整體式的利用拆分成松耦合的單個服務
4.5、整合服務器:正如通過虛擬機來整合多個利用,Docker隔離利用的能力使得Docker可以整合多個服務器以下降本錢。由于沒有多個操作系統的內存占用,和能在多個實例之間同享沒有使用的內存,Docker可以比虛擬機提供更好的服務器整合解決方案。
4.6、調試能力:Docker提供了很多的工具,這些工具不1定只是針對容器,但是卻適用于容器。它們提供了很多的功能,包括可以為容器設置檢查點、設置版本和查看兩個容器之間的差別,這些特性可以幫助調試Bug。
4.7、多租戶環境:使用Docker,可以為每個租戶的利用層的多個實例創建隔離的環境,這不但簡單而且本錢低廉,固然這1切得益于Docker環境的啟動速度和其高效的diff命令。
4.8、快速部署:在虛擬機之前,引入新的硬件資源需要消耗幾天的時間。虛擬化技術(Virtualization)將這個時間縮短到了分鐘級別。而Docker通過為進程僅僅創建1個容器而無需啟動1個操作系統,再次將這個進程縮短到了秒級。這正是Google和Facebook都看重的特性。
(5)、網站架構設計
5.1、性能:性能是網站架構設計的1個重要方面,任何軟件架構設計方案都必須斟酌可能帶來的性能問題。也正由于性能問題幾近無處不在,所以優化網站性能的手段也非常多:閱讀器端:可以通過閱讀器緩存、頁面緊縮傳輸、公道布局頁面、減少Cookie傳輸等手段,乃至可使用CDN加速功能。利用服務器端:可使用服務器本地緩存和散布式緩存,也能夠通過異步操作方式來加快響應,在高并發要求的情況下,可以將多臺利用服務器組成1個集群共同對外服務,提高整體處理能力,改良性能。 數據庫服務器端:可用使用索引、緩存、SQL性能優化等手段,還可使用NoSQL數據庫來優化數據模型、存儲結構等。衡量網站性能有1系列指標,重要的有響應時間、TPS、系統性能計數器等,通過這些指標以肯定系統設計是不是到達目標。
5.2、可用性:可用性即能夠不中斷提供服務的時間。幾近所有網站都許諾7×24小時可用,但事實上任何網站都不可能到達完全的7×24,總會有1些故障時間,扣除這些故障時間,就是網站的可用時間。1些大型網站可以做到4個9以上的可用性,也就是99.99%。網站高可用的主要手段就是冗余,利用部署在多臺服務器上同時提供服務,數據存儲在多臺服務器上相互備份,任何1臺服務器都不會影響利用的整體可以,通常的實現手段即把多臺服務器通過負載均衡裝備組成1個集群。 衡量1個系統架構設計是不是滿足高可用的目標,就是假定系統中任何1臺或多臺服務器宕機時,和出現各種不可預期的問題時,系統整體是不是仍然可用。
5.3、伸縮性:大型網站需要面對大量用戶的高并發訪問和存儲海量數據,網站通過集群的方式將多臺服務器組成1個整體共同提供服務。所謂伸縮性是指通過不斷向集群中加入服務器的手段來減緩不斷整體上市用戶并發訪問壓力和不斷增長的數據存儲需求。衡量架構伸縮性的主要標準就是是不是可用多臺服務器構建集群,是不是容易向集群中添加新的服務器。加入新的服務器后是不是可以提供和原來的服務器無差別的服務。集群中可容納的總服務器數量是不是有限制。
5.4、擴大性:不同于其他架構要素主要關注非功能性需求,網站的擴大性架構直接關注網站的功能需求。網站快速發展,功能不斷擴大,如何設計網站的架構使其能夠快速響應需求變化,是網站可擴大架構的主要目標。衡量網站架構擴大性好壞的主要標準就是在網站增加新的業務產品時,是不是可以實現對現有產品透明無影響,不同產品之間是不是很少耦合等。網站可擴大架構的主要手段是事件驅動架構和散布式服務。 事件驅動通常利用消息隊列實現,通過這類方式將消息生產和處理邏輯分隔開。 服務器服務則是將業務和可復用服務分離開來,通過散布式服務框架調用。新增加產品可用通過調用可復用的服務來實現本身的業務邏輯,而對現有產品沒有任何影響。
5.5、安全性:互聯網是開放的,任何人在任何地方都可以訪問網站。網站的安全架構就是保護網站不受歹意訪問和攻擊,保護網站的重要數據不被盜取。衡量網站安全架構的標準就是針對現存和潛伏的各種攻擊和竊密手段,是不是有可靠的應對策略。
(6)、SQL規范與性能優化--主要針對Mysql
6.1、甚么是履行計劃:a.決定如何訪問表數據,是不是通過索引,是不是排序等。b.多表關聯是先訪問哪一個表。c.多表關聯時,使用哪一種連接方式,不過現在MySQL只有嵌套連接(嵌套循環,顧名思義就是將1個表為動身點,將該表全部記錄逐條去遍歷另外1張表的記錄)。
6.2、SQL履行順序:a.檢查語法是不是正確。b.檢查表是不是存在、權限是不是滿足等。c.根據統計信息(如data length,rows,index length、索引唯1度),生成較優的履行計劃。d.根據履行計劃,進行數據檢索、過濾、合并、排序等操作。訪問數據時,內存中如存在表數據,則直接進行操作;否則,從磁帶讀取表數據,放入內存,再進行操作;如內存不足,則內存中較冷數據涮出內存,再從內存中讀取數據。
6.3、索引:查詢的時候如果使用上了索引,可以提高效力,由于建立了索引后,可以理解為數據字典的結構存儲,因此根據條件查詢的時候更加高效。下面看1下MySQL經常使用的索引類型的概念。普通索引:在創建普通索引時,不附加任何限制條件。這類索引可以創建在任何數據類型中,其值是不是唯1和非空由字段本身的完全性束縛條件決定。建立索引以后,查詢時可以通過索引進行查詢。例如,在student表的stu_id字段上建立1個普通索引。查詢記錄時,就能夠根據該索引進行查詢。唯1性索引:使用UNIQUE參數可以設置索引為唯1性索引。在創建唯1性索引時,限制該索引的值必須是唯1的。例如,在student表的stu_name字段中創建唯1性索引,那末stu_name字段的值就必須是唯1的。通過唯1性索引,可以更快速地肯定某條記錄。主鍵就是1種特殊唯1性索引。單列索引:在表中的單個字段上創建索引。單列索引只根據該字段進行索引。單列索引可以是普通索引,也能夠是唯1性索引,還可以是全文索引。只要保證該索引只對應1個字段 便可。多列索引:多列索引是在表的多個字段上創建1個索引。該索引指向創建時對應的多個字段,可以通過這幾個字段進行查詢。但是,只有查詢條件中使用了這些字段中第1個字段時,索引才會被使用。例如,在表中的id、name和sex字段上建立1個多列索引,那末,只有查詢條件使用了id字段時該索引才會被使用。
6.4、1般1張表索引不要超過5個,而且避免重復索引,而且也不是建了索引,根據索引字段條件查詢,索引就會起作用。
6.5、1般哪些場景會致使索引失效:a.使用like關鍵字匹配字符串第1個為”%”的場景。b.條件中包括or、in、not in、<>關鍵字,默許不走索引的。c.訪問表上的數據行超越表總記錄數30%,變玉成表掃描。d.查詢條件使用函數在索引列上,或對索引列進行運算。e.多列索引中,第1個索引列使用范圍查詢,只能用到部分或沒法使用索引。f.多列索引中,第1個查詢條件不是最左索引列,上面多列索引概念中也有提到。
6.6、不能同時使用兩個索引,1個過濾數據,1個用于排序(主鍵除外)。DML語句如果使用索引,會致使lock全表;如果使用了非唯1索引,可能只是鎖住1定范圍。對此,建議更新/刪除數據盡可能用上索引,如果可以最好用上主鍵或唯1索引,另外事務要及時提交。
6.7、關于事務:a.日志記錄盡可能放在獨立事務里面,避免后面的異常產生致使日志丟失。b.上面已幾次提到,盡早提交事務,避免事務太長,因此寫代碼的時候,1些可以不放到事務的邏輯可以移到外面,長事務看能否拆成兩個事務。
2、工作心得
(1)、和同事多維度溝通;學會使用筆記本如云筆記本記錄平常工作進程和會議重點;常常總結思考理解思路;側重學習和工作效力,效力第1,質量第1。
(2)、多聽其他同事和老板上司的意見。
(3)、用發展的眼光和變化的眼光看待公司的業務和自己的掌握的技術及手頭上的工作。
(4)、心態決定1切,工作的價值在于自己的心態的控制和調理。
3、職業發展及2017計劃
(1)、先博而后淵:感覺自己的技術點還是理解的蠻多的,但感覺很多都不夠深入,未來是互聯網+時期,社會變遷很快,特別是信息爆炸的今天,東西太多,不肯能都學的很通。所以未來應當偏向實用驅動,即如果在實際實用處景需要某個技術再去深入學習,邊學邊用更能體現學以致用!
(2)、重視業務,積累業務和管理經驗:技術再牛不能解決實際業務問題都是啥流氓。另外對業務更理解有益于自己對項目管理工作更加順利的展開。作為項目管理人員,項目的人員調和與時間安排計劃,責任越大,思考的問題就越多,遇到的問題處理經驗就越豐富。把控能力也比較強。
(3)、學會和更多的同學同事交朋友:業余時間多和同事大學同學等交換同享,更有益于自己的多元化發展,及適當的拓展自己的朋友圈。
(4)、對不懂的東西保持學習心態:學習最能集中注意力的情況是有著比較強的好奇心和求知欲。所以1般1些技術分享或老員工討論的問題,可能很多概念知識你都不懂,這時候候你就能夠去學習了解這些知識。或你工作中遇到的問題,盡可能尋根究底的去弄清楚是甚么緣由致使的,不要1些老司機幫忙解決了就1了了之。或是其他同事遇到的問題,你都可以去了解1下。
(5)、2017重視技術的應用:技術和業務的結合,向項目資深管理方向邁進!在項目管理和技術方向上“55分賬”,特別是多關注大公司資深管理方面的書籍和經驗。
(6)、2017技術類書單:
《重構》
《代碼整潔之道》
《Java并發編程的藝術》
《高性能Linux服務器構建實踐及性能調優與集群利用》
《Java多線程編程核心技術》
《SOA與Rest》--用Rest構建企業級SOA解決方案
《Spring實踐》
《CentOS Linux系統運維》
《科技之巔》
《硅谷百年史》--共3冊
《VMWare虛擬化與云計算利用案例詳解》
《Java經常使用算法手冊》
《Docker生產環境實踐指南》
《Docker技術入門與實踐》
《DevOps實踐》
《Java EE開發的顛覆者Spring Boot實戰》
《算法導論》
《散布式服務框架原理與實踐》
《大話數據結構》
《神經網絡與機器學習》
《Redis設計與實現》
《用戶體驗要素》--以用戶為中心的產品設計
《白話大數據與機器學習》
《高性能MySQL》
《Hadoop權威指南》
《數據發掘與數據化運營實戰 思路、方法、技能與利用》
《深入理解計算機系統》
《數據結構與算法分析:Java語言描寫》
《Spring技術內幕:深入解析Spring架構與設計原理》
《機器學習》

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产伦精品一区二区三区精品视频 | 综合五月婷 | 中文字幕视频 | 日韩午夜在线视频 | 国产呦精品一区二区三区网站 | 国产精品天天看 | 麻豆视频观看 | 韩国日本美国免费毛片 | 国产玖玖 | 久久久久久久国产精品视频 | 国产一区二区91 | 伊人久久超碰 | 这里只有精品在线观看 | 国产精品国产成人国产三级 | 欧美日韩成人一区 | www色噜噜| 亚洲永久精品国产 | 色一情一乱一伦一区二区三区 | 欧美a级成人淫片免费看 | 国偷自产视频一区二区久 | 我不卡手机影院 | 色婷婷一区二区三区四区成人网 | 亚洲一区成人 | 福利视频一区 | 欧美国产综合 | 毛片毛片毛片毛片毛片毛片 | 成人午夜视频网站 | 精品一区二区三区中文字幕 | 婷婷五月情 | а天堂中文最新一区二区三区 | 色免费在线视频 | 精品精品国产三级a∨在线 在线国产精品视频 | 欧美一区二区三区在线视频 | 久久久精品电影 | 91精品国产综合久久久久久丝袜 | 99国产精品99| 国产成人精品一区二区三区在线 | 日韩精品一区二区三区在线播放 | 99动漫| 2019国产精品视频 | 91欧美精品成人综合在线观看 |