原创 【leetcode】Min Stack
Problem Code typedef struct { int *value; //Array to put elements int minIndex; //The minimum's inde
原创 ngx_listening_s
ngx_listening_s 這個結構體在Nginx中用來監聽一個端口。位於“Nginx包/src/core/ngx_connection.h”下。 typedef struct ngx_listening_s ngx_li
原创 【latched】Single Number II
Problem Code int singleNumber(int* nums, int numsSize) { int tmp = 0; for(int i=1;i<numsSize;++i){
原创 操作系統重要數據結構
段選擇符 請求特級權RPL(Requestd Privilege Level) 提供段保護信息,在特級權之間的切換 指示標誌TI(Table Index) 0:在GDT中查找;1:在LD
原创 ngx_hash散列表
ngx_hash_t散列表(全匹配) 散列表槽的結構 typedef struct { /* 指向用戶定義元素數據的指針,如果當前ngx_hash_elt_t槽爲空,則value=NULL */ void
原创 Nginx master工作流程
master工作流程圖 master進程不需要處理網絡事件,它不負責業務的執行,只會通過管理worker等子進程來實現重啓服務、平滑升級、更換日誌文件、配置文件實時生效等功能。 它會通過檢查一下
原创 2016 360校招筆試編程題
360校招編程題 第一題 題目 有一個小鎮選舉鎮長,滿足條件如下: 1. 每個人都認識自己; 2. 鎮長必須不認識除了自己以外的任何人; 3. 每個人都必須認識鎮長。 輸入: 第一行爲數據個
原创 猴子背香蕉
猴子背香蕉問題 問題描述 有一個猴子,身邊有100根香蕉,一次最多背50根,離家50步。它揹着香蕉每走一步都會吃掉一根,請問到家時,它最多剩下幾根? 個人思路 我覺得要抓住一點,就是如何達到最優:走同樣多的路程,每次
原创 《深入理解Nginx 模塊開發與架構解析》筆記之epoll事件模塊
epoll Linux epoll Linux epoll工作模式 水平觸發LT 邊緣觸發ET 前者是默認的,可以處理阻塞和非阻塞套接字,後者只能處理非阻塞套接字。 Linux epoll原理
原创 《深入理解Nginx》之HTTP模塊
Nginx HTTP模塊 ngx_http_module 對於每一個HTTP模塊,都必須實現ngx_http_module接口。 typedef struct { /* 在解析http{}配置項前的回調函數
原创 Nginx監聽端口管理
Nginx監聽端口管理 每監聽一個TCP端口,都將使用一個獨立的ngx_http_conf_port_t結構體表示。 ngx_http_conf_port_t typedef struct { //socket
原创 Nginx worker工作流程
worker工作流程圖 worker接收的信號 worker進程的工作方法:ngx_worker_process_cycle,它會關注4個全局標誌位。 1. sig_atomic_t ngx_terminate; 2
原创 【leetcode】Candy
Problem Code /* #include <stdio.h> #include <stdlib.h> #include <stdbool.h> * 1、找出“兩邊高,中間低”的那個點,設爲1(可能有很多這樣的
原创 《深入理解Nginx 模塊開發與架構解析》筆記之定時器
Nginx 定時器 Nginx 對時間的管理 Nginx爲了提高速度,自己實現了對時間的管理,設計了數據結構和一些變量,存儲在內存中。每一個進程都會單獨地管理當前的時間。 ngx_time_t typedef st
原创 Nginx事件模塊
ngx_event_module_t 這是事件模塊都必須實現的接口。 typedef struct { //事件模塊的名稱 ngx_str_t *name; //在解析配置項前,