原创 一段示例代碼(C++)讓你完全理解面向對象的七個原則

本章爲概述。後續章節將針對每一種原則給出對應的應用場景和代碼示例。 知名軟件大師Robert C.Martin認爲一個可維護性較低的軟件設計,通常是由於如下四個原因造成: 過於僵硬(Rigidity),過於脆弱(Fragility

原创 深入淺出設計模式之概論

本章爲概述。後續章節將針對每一種設計模式給出對應的應用場景和代碼示例。 知名軟件大師Robert C.Martin認爲一個可維護性較低的軟件設計,通常是由於如下四個原因造成: 過於僵硬(Rigidity),過於脆弱(Fragili

原创 網絡技術入門 :一篇文章讓你徹底理解網絡通信中各種協議和設備的作用

本文通過在局域網中新添加一臺主機,到主機配置,最後訪問網頁的一個過程。來說明網絡通信中各種協議和設備的作用。讓大家對整個網絡通信,在架構上有所理解,不對各種協議做深入說明。 本系列文章 網絡技術入門(一):網絡技術基礎知識系統歸結

原创 網絡技術入門 :HTTP報文和TCP/IP數據包

本章把HTTP報文和TCP/IP數據包放在一起。是因爲: 報文是一個完成的有意義的數據。 數據包可以理解爲組成報文的傳輸單元。 應用程序的數據一般都比較大,因此TCP會按照網絡包的大小對數據進行拆分。這些被拆分的數據塊,編上號,在

原创 網絡技術入門(二):兩個主機(客戶端和服務器)通信過程(宏觀過程)

自己寫文章習慣性在每一個小節上做總結,有時候方便理解可以先看總結的內容。 本章從宏觀(硬件)角度看兩個主機之間的通信過程。 本系列文章 網絡技術入門(一):網絡技術基本認識 網絡技術入門(二):兩個主機(客戶端和服務器)通信過程(

原创 網絡通訊協議圖2020版

下載 《網絡通訊協議關係圖[中文珍藏版][PNG圖片]_2020版》

原创 網絡技術入門(一):網絡技術基本認識

《網絡技術入門》系列文章,分別從宏觀硬件和微觀數據傳輸角度說明網絡傳輸過程。請期待後續系列文章。 本章主要是總結性質的,讓大家有個基本的概念和思路,後續系列文章將會帶來詳細的流程講解。 推薦一本網絡相關深入淺出的書,日本作家戶根勤

原创 音視頻技術之《影響視覺體驗的直播性能指標》

影響視覺體驗的直播性能指標是 延遲、卡頓和首屏耗時 一. 直播第一個性能指標是延遲 延遲是數據從信息源發送到目的地所需要的時間。 1 物理延遲 根據愛因斯坦的狹義相對論,光速是所有能量、物質和信息運動所能達到的最高速度,這個結論

原创 音視頻技術之《移動直播場景的坑與規避措施》

移動平臺上視頻直播的坑主要可以總結爲兩個方面:設備差異,以及網絡環境這些場景下帶來的技術考驗。 移動直播場景的坑與規避措施 1 不同芯片平臺上的編碼差異 iOS 平臺上無論硬編還是軟編,由於是 Apple 一家公司出廠,幾乎不存

原创 Qt 軟件開發框架(詳細版)

該文章用圖例+代碼方式演示了,一個線上軟件基本框架(精簡)。開發工具Qt+VS2015 一. 基本要素 這裏會用簡單的圖例和完整代碼(這裏以Qt代碼爲例),說明一個線上軟件基本的框架。 一個線上windows軟件,一般分爲幾個大的

原创 音視頻技術之《WebRTC實時音視頻技術基礎:基本架構和協議棧》

概述 本文主要介紹WebRTC的架構和協議棧。 最基本的三角形WebRTC架構 爲了便於理解,我們來看一個最基本的三角形WebRTC架構(見下圖): 在這個架構中,移動電話用“瀏覽器M”表示,筆記本電腦用“瀏覽器L”表示,通

原创 音視頻技術之《直播架構》

直播相關知識之一 基本架構 一. 引子-直播基本架構 下面是服務器的整體架構圖: 上面上整體流程 相信一個開發者應該可以看的懂並理解吧!  主要分爲四部分東西吧:  推流端SDK 負責 採集視頻音頻進行編碼傳輸到服務端(某雲),

原创 音視頻技術之《直播概念和流程框架》

一、瞭解直播 熱門直播產品 映客,鬥魚,熊貓,虎牙,花椒等等 1.一個完整直播app功能(來自落影loyinglin分享) 1、聊天 私聊、聊天室、點亮、推送、黑名單等;2、禮物 普通禮物、豪華禮物、紅包、排行榜、第

原创 音視頻技術之《移動直播秒開優化經驗》

現今移動直播技術上的挑戰要遠遠難於傳統設備或電腦直播,其完整的處理環節包括但不限於:音視頻採集、美顏/濾鏡/特效處理、編碼、封包、推流、轉碼、分發、解碼/渲染/播放等。 直播常見的問題包括 主播在不穩定的網絡環境下如何穩定推流?

原创 個人收藏記錄

一 編程語言相關 1 編譯和鏈接的過程 https://blog.csdn.net/guaiguaihenguai/article/details/81160310 二 環境配置相關 三 規範 1 Google 開源項目風格指