原创 Linux-基於epoll的聊天室項目

GTK-linux,類似WIN32 1.進程同步: 通過信號量實現進程同步,約定兩個程序打開同一個文件 創建信號量: 客服端和服務端一樣,前後臺分離 2.進程通訊: 管道會創建FD1,FD2,實現兩進程通訊 兩進程都有FD1,

原创 Linux-signal異步通知機制

Linux中的信號 kill -9 pid #kill只是起到發送信號的作用,-9參數纔是殺死進程 ctrl+c相當於kill 2 pid 3和9不可被捕捉替換 信號可做兩個進程之間的通訊,同步,而不是發送數據 #define S

原创 Linux-TCP/UDP程序

程序設計 TCP 服務器端監聽0.0.0.0以獲取所有網卡(主機所有IP地址)收到的請求 netstat -aptn#查看主機端口 socket底層有緩衝區,就算程序阻塞也能暫存收到的數據 代替客戶端發起tcp連接 UDP

原创 Linux-IO複用,select

select將IO擴充複用,一個IO監聽多個文件,當至少有一個文件有事件時select纔會返回。但還是受句柄限制(fd句柄索引文件,走虛擬文件系統,監聽文件的輸入輸出,文件多時會很耗時),和poll基本一致 select雖然能實現

原创 MySQL筆記13

VS配置 https://blog.csdn.net/qq_33530388/article/details/73433557 https://blog.csdn.net/YaboSun/article/details/81159

原创 棧與隊列(python)

線性表的利用方式 #!/usr/bin/env python # -*- coding:utf-8 -*- class Stack(object): def __init__(self): self.__li

原创 python私有化、import、封裝

私有化 xx: 公有變量 _x: 單前置下劃線,私有化屬性或方法,from somemodule import *禁止導入,類對象和子類可以訪問(避免與其他模塊命名衝突等場景) __xx:雙前置下劃線,避免與子類中的屬性命名衝突,

原创 python深拷貝與淺拷貝

淺拷貝 函數傳參並在函數內修改這個參數是會改變這個參數的(和C不同),如果參數寫成copy.deepcopy(參數),則無法修改原來的參數 如果拷貝的是元組,那麼它不會進行淺拷貝,僅僅是指向 淺拷貝是對於一個對象的頂層拷貝 通俗的

原创 python多繼承問題-MRO方法解析順序表

函數名 其實是變量名。若兩個模塊有同名函數,函數變量名會指向最後import的那個函數 python很少使用重載 文件描述符fd最多1024個 python3裏有一種默認的處理父類調用順序的C3算法,用來保證每個類只調用一次。每

原创 MySQL筆記11

簡介 https://blog.csdn.net/w_linux/article/details/79666086 https://blog.csdn.net/sk199048/article/details/50596092 使

原创 鏈表(python描述)

單鏈表ADT模型 節點類 class Node(): def __init__(self,elem): #存放元素數據 self.elem=elem #下一個節點

原创 python拆包-args、kwargs

class Son1(Parent): def __init__(self, name, age, *args, **kwargs): # 爲避免多繼承報錯,使用不定長參數,接受參數 print('Son

原创 python上下文管理器,with

對於系統資源如文件、數據庫連接、socket 而言,應用程序打開這些資源並執行完業務邏輯之後,必須做的一件事就是要關閉(斷開)該資源。 比如 Python 程序打開一個文件,往文件中寫內容,寫完之後,就要關閉該文件,否則會出現什麼

原创 python類特殊屬性

私有屬性本質(名字重整) 給未聲明成員賦值,會新建一個普通成員 魔法屬性,類特殊屬性 doc 表示類的描述信息 class Foo: """ 描述類信息""" def func(self):

原创 MySQL筆記9

觸發器,事件 是一種特殊的存儲過程 MySQL不支持check create trigger triggerName after/before insert/update/delete on 表名 for each row