原创 Prometheus從入門到精通:一、部署

一、Prometheus是什麼? prometheus是一個開源指標監控解決方案,指標就是指的CPU的使用率、內存使用率等數據。 二、Prometheus的架構 這裏直接粘貼官網的架構圖: 三、安裝 這裏採用docker的方式來安裝,如果

原创 gevent WSGIServer實現優雅退出

一、背景 項目中其中一個服務原來是基於tornado開發的,雖然tornado是一個異步框架,但是由於業務邏輯中存在大量的同步操作,例如:查數據、查es等;導致服務性能很低,於是經過調研最終決定將底層框架切換到gevent,但是該優化上線後

原创 Python庫之SQLAlchemy

一、SQLAlchemy簡介 1.1、SQLAlchemy是什麼? sqlalchemy是一個python語言實現的的針對關係型數據庫的orm庫。可用於連接大多數常見的數據庫,比如Postges、MySQL、SQLite、Oracle等。

原创 發佈一個python庫

最近項目中使用的一個python SDK封裝的C SDK版本太低了,有bug,因此需要使用最新版本的C SDK重新編譯python SDK,但是在替換爲新的C SDK後執行編譯時發現有報錯,原來的python SDK使用cython對C的S

原创 查看python字節碼指令

最近在看《python源碼剖析》這本書,其中大部分分析過程都是需要查看字節碼指令的,但是書中沒有指定如何獲取一段代碼的字節碼指令,查了一下文檔才發現該如何生成字節碼指令,記錄一下: 假如有一個python文件simple_obj.py,內容

原创 PEP 3101 -- Advanced String Formatting(高級字符串格式化)

原文:https://www.python.org/dev/peps/pep-3101/ 一、抽象 該PEP提出了一種用於內置字符串格式化操作的新系統,旨在替代現有的%字符串格式化操作符。 二、基本原理 Python當前提供了兩種字符串插值

原创 Effective python

目錄第一章:用pythonic的方式思考1:確認使用的python版本2:遵循PEP8風格指南3:瞭解bytes、str與Unicode的區別4:用輔助函數來取代複雜的表達式5:瞭解切割序列的辦法6:在單次切片操作內,不要同時指定start

原创 python之__slots__用法

一、背景 python是一個動態語言,可以支持我們在運行時動態的給類、對象添加屬性或者方法;但是如果我們想要限制可以添加的屬性或方法該怎麼辦呢? 二、__slots__ python允許在定義class的時候,定義一個特殊的__slots_

原创 gevent源碼分析:協程切換(上)

一、背景 大家都知道gevent的機制是單線程+協程機制,當遇到可能會阻塞的操作時,就切換到可運行的協程中繼續運行,以此來實現提交系統運行效率的目標,但是具體是怎麼實現的呢?讓我們直接從代碼中看一下吧。 二、切換機制 讓我們從socket的

原创 源碼安裝python3.7

背景 yum無法直接安裝python3.7版本,於是嘗試從源碼直接編譯安裝,記錄一下編譯過程,一邊後續查閱參考。 安裝 下載源碼 https://docs.python.org/3/using/unix.html#building-pyth

原创 源碼安裝vim8

背景 突然想要試用youcompleteme插件,但是yum安裝的vim版本太低了,於是索性直接從源碼編譯vim8來使用,中間遇到了一些問題,記錄一下以備後續查閱。 安裝 下載源碼 git clone https://github.com/

原创 搭建gitbook

簡介 gitbook是一個非常方便的文檔管理工具。 參考文檔 https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md

原创 也來談談python編碼

一、coding:utf-8 讓我們先來看一個示例,源碼文件是utf-8格式: print('你好 python') 當使用python2執行該程序時會收到一下報錯: File "./hello_world.py", line 2 Syn

原创 linux常用工具之rpm

rpm: 1 rpm -qf /usr/bin/erl 查詢該命令屬於的package  

原创 C# 與 SQL 的類型對應關係

C#中的類型和SQL Server中的類型對應關係   SQL Server類型 C#類型 bit bool tinyint byte smallint short int int bigint long real float float