原创 Python系列之多線程

1、線程理論 在傳統操作系統中,每個進程有一個地址空間,而且默認就有一個控制線程 線程顧名思義,就是一條流水線工作的過程(流水線的工作需要電源,電源就相當於cpu),而一條流水線必須屬於一個車間,一個車間的工作過程是一個進程,

原创 Python3聊天室

服務端(Server) import socket import struct import json import hashlib import threading class Server(object): #

原创 Mysql系列之分區

分區功能並不是存儲引擎來完成的, 因此不是隻有InnoDB纔有分區功能,MyISAM,NDB等都支持分區功能,但也並不是所有的引擎都支持,如:CSV就不支持。在使用分區功能之前,應對存儲引擎有所瞭解。 分區表 概述 MySQL數據庫

原创 Python系列之簡單算法分析

時間複雜度與空間複雜度 算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表着用系統的方法描述解決問題的策略機制。 時間複雜度 時間複雜度是指執行算法所需要的計算工作量 計算時間複雜度的

原创 CentOS系列之Elasticsearch

簡介 Elasticsearch 是一個開源的搜索引擎,建立在一個全文搜索引擎庫 Apache Lucene™ 基礎之上。 Lucene 可以說是當下最先進、高性能、全功能的搜索引擎庫–無論是開源還是私有。 但是 Lucene 僅僅只是一

原创 CentOS系列之shell

shell初步 基礎命令 1列出文件和文件夾ls 2顯示當前目錄的路徑pwd 3切換目錄cd 4將文件時間修改爲當前時間touch 5創建新的空文件touch 6創建新目錄mkdir 7複製文件cp oldPath newPath 8

原创 CentOS系列之Docker

Docker 文檔 注:本操作是在CentOS 7平臺上 基礎操作 搜索鏡像 docker search [IMAGENAME] docker search centos pull鏡像 docker pull [IMAGENAM

原创 Python系列之Django(ORM)

ORM 基礎操作 鏈接mysql數據庫 在setting.py中修改數據庫配置文件,本教程咱們以MySQL爲例 'default': { 'ENGINE': 'django.db.backends.mysql',

原创 PHP系列之Session安全

CentOS安裝 以CentOS 6.9 爲例 未完待續

原创 PHP系列之Swoole

Swoole介紹 PHP的異步、並行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文

原创 Mysql系列之查詢收集

SQL隱藏敏感數據 模擬部分數據: 第一查詢表結構(sys_users): SELECT * from sys_users; 第一種方式:將手機號碼中間四位隱藏 select replace(mobile, SUBSTR(mo

原创 PHP系列之RabbitMq(一)

RabbitMQ 介紹 RabbitMQ 是一個由 Erlang 語言開發的 AMQP 的開源實現。 AMQP :Advanced Message Queue,高級消息隊列協議。它是應用層協議的一個開放標準,爲面向消息的中間件設計,基

原创 Python系列之協程

首先我們達成一個共識:cpu正在運行一個任務,會在兩種情況下切走去執行其他的任務(切換由操作系統強制控制),一種情況是該任務發生了阻塞,另外一種情況是該任務計算的時間過長或有一個優先級更高的程序替代了它 上圖中第二種情況並不能提升效

原创 Python系列之IO

IO介紹 同步(synchronous) IO和異步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分別是什麼,到底有什麼區別?這個問題其實不同的人給出的答案都可能不同,比如wik

原创 Python系列之進程池與線程池

在剛開始學多進程或多線程時,我們迫不及待地基於多進程或多線程實現併發的套接字通信,然而這種實現方式的致命缺陷是:服務的開啓的進程數或線程數都會隨着併發的客戶端數目地增多而增多,這會對服務端主機帶來巨大的壓力,甚至於不堪重負而癱瘓,於是我