原创 Tornado-6.0.3源碼分析之IO Event 事件的IOLoop類及其子類

一、前述 通過上一篇的Configurable類的相關介紹,這裏再進一步說明IOLoop類,其類的註釋也說明了,在Tornado 6.0版本中,Tornado的IOLoop類只是對asyncio event loop的包裝而已。也

原创 word文檔中添加打勾、打叉的實現

1、打勾    輸入2611 -> 選中2611 -> 按alt+x 2、打叉    輸入2612 -> 選中2612 -> 按alt+x

原创 高cpu進程排查方法

有時候對於C或者C++程序來說,會比較高的佔用電腦cpu。 而且程序一般運行在linux環境下,剛好之前排查過這類問題,作個簡單的記錄。 一般採用三個步驟,可大致定位問題位置: (1)使用 top 命令查看cpu佔用較高的前幾位程

原创 Tornado-6.0.3源碼分析之前述

閒言之語 許久沒有想起寫博客了,之前嘗試寫了幾遍,但是都沒有好好堅持下來。以致於,很多自己遇到的問題,自己想到的解決方案沒有被記錄下來。如今回想起來,竟也是幾乎全忘光了,突然感覺這種狀態不能這麼繼續下去。如今,在學習python的

原创 Tornado6.0.3-源碼分析之HTTPServer

一、前述 在開始正篇之前,先簡單瞭解下http協議。 http協議是基於客戶/服務器模型,面向tcp連接的協議。典型的http事務處理過程如下: (1)客戶端與服務器建立連接; (2)客戶端向服務器提出請求; (3)服務器接受請求

原创 Tornado-6.0.3源碼分析之IO Event 事件的Configurable類

一、前述 要想理解tornado的io event實現,主要是要學習熟悉python 標準庫的asyncio庫。對於這個庫的API的,python在規劃是分爲兩個層次的,如果是爲了理解Tornado庫,至少要先理解下,Asynci

原创 Tornado-6.0.3源碼分析之TCPServer

一、前述 在IOStream之上,區分爲服務端和客戶端的不同實現,對於服務端,實現方向是TCPServer–> HTTPServer --> web應用實現;對於客戶端,實現方向是TCPClient --> HTTPClient;

原创 Tornado-6.0.3源碼分析之IOStream類

一、前述 前面講到的IOLoop類是可以實現對套接字相關的網絡讀寫狀態的監聽和回調處理。在Tornado的實現裏面,對於網絡的數據的讀寫操作,進行了一層封裝,以IOStream類,對上提供相應的操作接口。IOStream類並不是實

原创 C#學習之旅之屬性和方法

屬性和方法是c#程序中的兩個重要組成部分。其中,屬性提供靈活的機制來讀取、編寫或計算私有字段的值,而方法則以一部分代碼構成代碼塊的形式存在,用來實現一部分特定的功能。

原创 程序的優化和簡化技巧之一

最近在學習《c和指針》這本書,感覺書中有很多的編程技巧,之前在學習過程中,沒有學習到,這裏做個簡單的記錄。 對於c語言的鏈表,簡單來說,可以有單鏈表和雙鏈表兩種,每種都有實際運用中的優勢所在。但是鏈表因爲操作的是指針,因此也存在更大的風險

原创 C#學習之旅之數組與集合

常說,三天不念口生,三天不做手生。沒有堅持下來,感覺學習起來也是蠻吃勁的,最主要的原因是會忘記了原有的知識點。 今天學習了一個數組與集合,對於數組主要是熟悉下基礎的概念,基本的用法,而集合是一個新的學習概念,感覺比較新穎。

原创 C#學習之旅(3)-字符與字符串

在文字的處理方面,大多都是通過字符和字符串的操作來實現。在C#中,主要用Char類、String類、StringBuild類來實現。在學習過程中,發現對於這類的處理,在調用上主要有兩個使用方式,一種是類的static函數調用,另一種是用例

原创 知識點整理----輸入/輸出函數

在c語言學習過程,不可避免地需要進行數據的輸入和輸出操作。c標準庫(stdio.h)也爲不同使用場景提供了許多函數。但是如果沒有整理學習,在後續需要查找的時候就會花費時間,因此在這裏爲自己做個整理記錄。 一、錯誤報告與終止執行 vo

原创 偶然小問題記錄

在工作中常常會遇到非技術性的小問題,如果不解決,則影響自己的工作效率,同時影響心情。本文章的主要目的是在於記錄所遇問題與解決方法,而這個解決方法可能是網上查找資料並驗證通過,或者是自己探索發現。只是希望自己不會在同一個地方,花費時間,解決

原创 函數指針

指針一直都是c語言中的難點,但是指針在使用中,更多的情況是指向數組、變量等類型。而函數指針一般比較少直接運用。對於函數指針,最常見的兩個用途就是轉移表和作爲參數傳遞給另一個函數。函數指針也和其他指針一樣,對函數指針進行訪問前必須把它初始化