原创 牛頓迭代法求解方程

說明:該篇博客源於博主的早些時候的一個csdn博客中的一篇,由於近期使用到了,所以再次作一總結。原文地址 概述 牛頓迭代法(Newton’s method)又稱爲牛頓-拉夫遜(拉弗森)方法(Newton-Raphson metho

原创 Unix/Linux下5種I/O模型

1. 五種I/O模型 在網絡編程,經常接觸下述的I/O相關的概念: 同步(Synchronous) 異步(Asynchronous) 阻塞(Blocking) 非阻塞(Non-blocking) 信號驅動(Signal dr

原创 Unix系統編程(6) - I/O多路複用之select

1. I/O多路複用基本思路 I/O多路複用就是讓應用程序可以同時對多個I/O端口進行監控以判斷其上的操作是否可以進行,達到時間複用的目的。由於I/O多路複用是在單一進程的上下文中的,因此每個邏輯流程都能訪問該進程的全部地址空間,

原创 C++四大類型轉換

C++ 是一門強類型語言(相比C++來說C語言是弱類型語言),不同自定義類型之間的轉換必須進行顯式轉換。(C++中也有隱式類型轉換,所以關於C++到底是強類型語言還是弱類型語言是一個比較尷尬的問題。) C++ 中提供了四種轉

原创 Unix系統編程(5) - 多線程併發服務器

1. 多線程 & 多進程 線程是進程內的獨立執行實體和調度單元。又稱爲“輕量級”進程。創建線程比創建進程要快10~100倍(數據待考證),又因爲一個進程下的所有線程都共享一些內核資源,相比多進程併發服務器來說,多線程併發服務器在節

原创 Unix系統編程(8) - I/O多路複用之epoll(Linux)

1. epoll的由來 epoll是在Linux 2.6.28內核提出的,是select和poll的強化升級版本。相比select和poll,epoll更靈活,沒有描述符限制。epoll在Unix中是沒有的。 epoll使用一個

原创 渲染管線之旅|03 圖形管線概覽及GPU中頂點處理

系列文章原發布在自己搭建的博客上:https://binean.top/ 通過前面幾篇的內容,我們知道,應用程序中的Draw API調用會經過D3D Runtime, 用戶態驅動等等各個層級,最終將命令傳到GPU的命令解釋器,

原创 渲染管線之旅|02 GPU內存架構和命令處理器

系列文章原發布在自己搭建的博客上:https://binean.top/ 上一篇中主要介紹了3D渲染命令到達GPU之前經歷過的各個階段。用下圖可以概括上一篇中所講的內容,當然其中很多細節沒有出現在圖中。之前我們說KMD將命令送

原创 渲染管線之旅|01 從App到硬件各個層級

系列文章原發布在自己搭建的博客上:https://binean.top/ 0. 介紹從App到硬件各個層級 (Introduction: the Software stack) 我在這裏發佈了東西已經有一段時間了,我可能會用這

原创 機器學習 - K近臨法(KNN)

博客內容源於《統計機器學習》一書的閱讀筆記。Python的源碼實現源於《機器學習實戰》部分內容。 1. K近臨算法 【算法描述】給定一個訓練數據集,對於新的輸入實例,在訓練數據集中找到與該實例最近臨的K個實例,這個k個實例的多

原创 讓你不再害怕指針

0. 複雜類型說明 要了解指針,多多少少會出現一些比較複雜的類型,所以我先介紹一下如何完全理解一個複雜類型,要理解複雜類型其實很簡單,一個類型裏會出現很多運算符,他們也像普通的表達式一樣,有優先級,其優先級和運算優先級一樣,所以我總結

原创 Unix系統編程(7) - I/O多路複用之poll

poll的機制與select類似,與select在本質上沒有多大差別,管理多個描述符也是進行輪詢,根據描述符的狀態進行處理,但是poll沒有最大文件描述符數量的限制。 poll和select同樣存在一個缺點就是,包含大量文件描述

原创 【數據結構】鏈表相關內容

1. 寫一個已序鏈表 題意理解:簡單來看也就是說,在鏈表添加節點的時候就將元素添加到合適的位置,使得鏈表總是已序的。 #include <iostream> using namespace std; //定義節點的結構體 s

原创 設計模式學習(代理模式)

代理模式是爲其他對象提供一種代理以控制對這個對象的訪問。 #include <iostream> using namespace std; class Interface { public: virtual v

原创 機器學習 - 樸素貝葉斯法

博客內容源於《統計機器學習》一書的閱讀筆記。Python的源碼實現源於《機器學習實戰》部分內容。 首先,需要回顧下面的三個重要的公式: 條件概率: P(A|B)=P(AB)P(B) 全概率公式: P(A)=∑iP(A|