原创 從網卡到應用層nginx,一個經歷了什麼?

內容目錄數據包從網卡到nginx從網卡到內存內存-網絡模塊-協議棧傳輸層應用層nginx處理socket套接字的流程下面進入nginx http請求處理的11個階段處理請求的過程 數據包從網卡到nginx 本文將研究一個數據包從被網卡

原创 libev源碼解讀

1、源碼: 源碼參見官網或者我的github上 2、安裝使用: 安裝與基本使用參見我的另一篇博客:傳送門 3、架構 Libev通過一個 struct ev_loop結結構表示一個事件驅動的框架。在這個框架裏面通過ev_xxx結構

原创 幾種典型的服務器網絡編程模型歸納(select poll epoll)

1、同步阻塞迭代模型 同步阻塞迭代模型是最簡單的一種IO模型。 其核心代碼如下: bind(srvfd); listen(srvfd); for(;;) { clifd = accept(srvfd,...); //開始接受客戶

原创 tornado框架的學習與應用

簡單介紹一下所使用的高併發框架tornado,它是一個用python編寫的可擴展的非阻塞式web服務器及其相關工具的開源框架,在處理嚴峻的網絡流量時表現得足夠強健,但卻在創建和編寫時有着足夠的輕量級,並能夠被用在大量的應用和工具中。 先

原创 JS和JSP的區別

最近很多同學在糾結於名詞縮寫之間的相似性,因此本人也來寫一篇,講講JS和JSP的區別。 SUN首先發展出SERVLET,其功能比較強勁,體系設計也很先進,只是,它輸出HTML語句還是採用了老的CGI方式,是一句一句輸出,所以,編寫和修改H

原创 PyQt5 與PyQt4的區別

1、不與 PyQt4 兼容 2、不再對Python老版本提供支持(Python 2.6 之前) 3、不再實現PyQt4不推薦的API接口 PyQt5 不支持任何在PyQt4版本中標記爲不推薦或捨棄的Qt API(如果有就會當Bug處理

原创 N皇后問題的c++解法

N皇后問題: 國際象棋中皇后的勢力範圍覆蓋其所在的行、列以及兩條對角線,現在考察如下問題:如何在n x n的棋盤上放置n個皇后,使得她們彼此互不攻擊 對於任何整數:n>=4,這就是n皇后問題。我們常說的8皇后問題也就是n爲8的時候

原创 博客嵌入音樂播放器

1、從網易雲音樂找一首歌,譬如: http://music.163.com/#/song?id=432506345 2、點擊“生成外鏈播放器” 3、複製iframe插件下面的html代碼,粘貼到你的博客文本中即可 譬如複製: <ifr

原创 Anaconda使用指南

一、爲什麼選擇Anaconda? 1.1 什麼是 Anaconda? Anaconda是專注於數據分析的Python發行版本,包含了conda、Python等190多個科學包及其依賴項。 1.2 什麼是 conda ? conda 是開

原创 c++11:static_assert 與assert

assert的作用是先計算表達式 expression ,如果其值爲假(即爲0),那麼它先向stderr打印一條出錯信息,然後通過調用 abort 來終止程序運行。assert分爲動態斷言和靜態斷言2種。 c++0x引入了static_a

原创 Python 正則re模塊之compile()和findall()詳解

首先我們看下官方文檔裏關於的compile的說明: re.compile(pattern, flags=0) Compile a regular expression pattern into a regular expression

原创 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

Spring Tool Suite: 報錯信息The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path 好久不寫Jsp,今天

原创 c++程序編譯過程

編譯主要分爲4個過程: 預處理-編譯優化-彙編-鏈接 1) 編譯預處理 預編譯程序完成的工作,可以說成是對源程序的“替換”工作。經過這個過程,生成一個沒有宏定義、沒有條件編譯指令、沒有特殊符號的輸出文件。 宏定義命令;例如#def

原创 Python3爬蟲實戰:爬取大衆點評網某地區所有酒店相關信息

歷時一下午加一晚上,終於把這個爬蟲代碼寫好,後面還有很多想完善的地方(譬如數據存儲用redis、使用多線程加快速度、爬取圖片、細分數據等等),待有空再做更改,下面是具體的步驟與思路: 工具:PyCharm、Google Chrome開發者

原创 oracle merge into的用法

對一張表,在不同的條件下實現不同的操作(update/insert),在 oracle 中可以用 merge into /////////////// 有一個表T,有兩個字段a、b,我們想在表T中做Insert/Update,如果條件滿