原创 Python系列之Socket

Socket介紹 1、什麼是Socket? Socket是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口。在設計模式中,Socket其實就是一個門面模式,它把複雜的TCP/IP協議族隱藏在Socket接口後面,對用

原创 Protobuf3隨筆(一)定義一個消息類型

先來看一個非常簡單的例子。假設你想定義一個“搜索請求”的消息格式,每一個請求含有一個查詢字符串、你感興趣的查詢結果所在的頁數,以及每一頁多少條查詢結果。可以採用如下的方式來定義消息類型的.proto文件了: syntax = "p

原创 GIT系列之GIT服務器搭建

git服務器簡單搭建 以下操作以CentOS6.8爲例 git 安裝 yum install git git 服務器打搭建 創建用戶和用戶組 groupadd git adduser git -g git 創建autho

原创 Python系列之多進程

1、進程理論 什麼是進程 進程:正在進行的一個過程或者說一個任務。而負責執行任務則是cpu。 進程與程序 程序僅僅只是一堆代碼而已,而進程指的是程序的運行過程。 併發與並行 無論是並行還是併發,在用戶看來都是’同時’運

原创 CentOS系列之簡單搭建ftp服務器

注:以下全部是以CentOS 6爲例 # 如果有需要的小夥伴可以將yum源轉換到國內可以將以下shell粘貼帶命令行等待執行結果 cd /etc/yum.repos.d mv /etc/yum.repos.d/CentOS-

原创 ETCD持久化監聽數據丟失小記

etcd是CoreOS開發的分佈式高可用鍵值存儲系統。隨着CoreOS和K8s等項目在開源社區日益火熱,etcd組件也漸漸爲開發人員所關注。 etcd也是受到ZooKeeper與doozer啓發而催生的項目,除了擁有類似功能,更專

原创 ElasticSearch 優化

ElasticSearch 優化 ES優化的幾個方面 Filesystem Cache 數據預熱 冷熱分離 ElasticSearch 中的關聯查詢 Document 模型設計 分頁性能優化* Fi

原创 Python系列之信號量、Event、定時器

信號量 信號量也是一把鎖,可以指定信號量爲5,對比互斥鎖同一時間只能有一個任務搶到鎖去執行,信號量同一時間可以有5個任務拿到鎖去執行,如果說互斥鎖是合租房屋的人去搶一個廁所,那麼信號量就相當於一羣路人爭搶公共廁所,公共廁所有多個

原创 Python系列之簡單算法

冒泡排序 插入排序 希爾排序 選擇排序 歸併排序 快速排序 堆排序 更新中 排序算法可以分爲內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過

原创 Python系列之GIL全局解釋器鎖

首先需要明確的一點是GIL並不是Python的特性,它是在實現Python解析器(CPython)時所引入的一個概念。就好比C++是一套語言(語法)標準,但是可以用不同的編譯器來編譯成可執行代碼。>有名的編譯器例如GCC,INT

原创 PHP系列之Thinkphp(理論及簡單配置篇)

5.0版本對模塊功能做了靈活設計,默認採用多模塊的架構,並且支持單一模塊設計,所有模塊的命名空間均以APP作爲艮命名空間(可配置更改) 1、ThinkPHP運行流程(瞭解) 1.加載ThinkPHP.php 2.加載./th

原创 Java系列之簡介

Java概述 1.1、Java語言發展史和平臺概述 A:Java語言發展史 詹姆斯·高斯林(James Gosling)1977年獲得了加拿大卡爾加里大學計算機科學學士學位,1983年獲得了美國卡內基梅隆大學計算

原创 CentOS系列之composer安裝

對於現代語言而言,包管理器基本上是標配。Java有Maven,Python有pip,Ruby有gem,Nodejs有npm。PHP的則是PEAR,不過PEAR坑不少: 依賴處理容易出問題 配置非常複雜 難用的命令行接口 好在我

原创 CentOS系列之全文檢索引擎sphinx/coreseek

此次我們選用CentOS 6 安裝預裝軟件 執行命令: yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-

原创 Python系列之死鎖現象和遞歸鎖

死鎖 所謂死鎖: 是指兩個或兩個以上的進程或線程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱爲死鎖進程,如下就是死鎖