原创 關於asyncio知識(二)

一、asyncio之—-入門初探 通過上一篇關於asyncio的整體介紹,看過之後基本對asyncio就有一個基本認識,如果是感興趣的小夥伴相信也會嘗試寫一些小代碼嘗試用了,那麼這篇文章會通過一個簡單的爬蟲程序,從簡單到複雜,一點一點的改進

原创 Python Every Class Needs a __repr__

一、思考 當我們在Python中定義一個類的時候,如果我們通過print打印這個類的實例化對象,或者我們直接輸入這個類實例化對象會返回怎麼樣的結果,如下代碼: >>> class People(object): ... def

原创 關於asyncio知識(一)

一、介紹 asyncio 是python3.4 引入的一個新的併發模塊,主要通過使用coroutines 和 futures 來讓我們更容易的去實現異步的功能,並且幾乎和寫同步代碼一樣的寫代碼,還沒有煩人的回調。 在2018年6月 3.7的

原创 linux環境快速安裝python3

之前在linux上安裝python3的時候,爲了讓不影響linux環境原有的python2的環境,選擇的方法都是下載對應的linux環境的python包,不過 這裏需要注意的是,不要更改linux默認輸入python 進入python2的方

原创 從yield 到yield from再到python協程

yield 關鍵字 def fib(): a, b = 0, 1 while 1: yield b a, b = b, a+b   yield 是在:PEP 255 -- Simple

原创 PEP 492 -- Coroutines with async and await syntax 翻譯

因爲工作中慢慢開始用python的協程,所以想更好的理解一下實現方式,故翻譯此文 原文中把詞彙表放到最後,但是我個人覺得放在最開始比較好,這樣可以增加當你看原文時的理解程度 詞彙表 原生協程函數 Native coroutine funct

原创 一次python 內存泄漏解決過程

最近工作中慢慢開始用python協程相關的東西,所以用到了一些相關模塊,如aiohttp, aiomysql, aioredis等,用的過程中也碰到的很多問題,這裏整理了一次內存泄漏的問題 通常我們寫python程序的時候也很少關注內存這個

原创 關於python協程中aiorwlock 使用問題

最近工作中多個項目都開始用asyncio aiohttp aiomysql aioredis ,其實也是更好的用python的協程,但是使用的過程中也是遇到了很多問題,最近遇到的就是 關於aiorwlock 的問題,在使用中碰到了當多個協程

原创 aiohttp文檔翻譯-server(一)

web server 快速入門 運行一個簡單的web server 爲了實現web server, 首先需要實現request handler 一個 request handler 必須是一個coroutine (協程), 它接受一個Req

原创 關於go語言的測試相關內容筆記

其實之前對於測試自己一直比較弱,不管是python的還是go的,關於測試這塊並沒有非常注重,這次就好好整理一下關於go的測試 單元測試 Go程序主要包含三類測試: 功能測試(test)、基準測試(benchmark,也稱性能測試)以及示例測

原创 WebSocket 理論知識整理

最近工作用到websocket, 之前雖然也用到了一些簡單的東西,但是並沒有認真整理一下。所以這次準備瞭解一下WebSocket. WebSocket產生的背景 WebSocket是一種在單個TCP連接上進行全雙工通信的協議. 這意味着雙方

原创 關於python中pika模塊的問題

工作中經常用到rabbitmq,而用的語言主要是python,所以也就經常會用到python中的pika模塊,但是這個模塊的使用,也給我帶了很多問題,這裏整理一下關於這個模塊我在使用過程的改變歷程已經中間碰到一些問題 的解決方法 剛開寫代碼

原创 關於python單例的常用幾種實現方法

這兩天在看自己之前寫的代碼,所以正好把用過的東西整理一下,單例模式,在日常的代碼工作中也是經常被用到, 所以這裏把之前用過的不同方式實現的單例方式整理一下   裝飾器的方式 這種方式也是工作中經常用的一種,用起來也比較方便,代碼實現如下

原创 初識go的tomb包

在分析github.com/hpcloud/tail 這個包的源碼的時候,發現這個包裏用於了一個另外一個包,自己也沒有用過,但是這個包在tail這個包裏又起來非常大的作用 當時並沒有完全弄明白這個包的用法和作用,所以又花時間找了這個包的使用

原创 《深入理解計算機系統》閱讀筆記--信息的表示和處理(下)

本應該之前整理好的,又拖到現在,不管怎麼樣繼續堅持看下去,從二章開始就越來越不好理解了 整數運算 再次來看之前的一個例子: root@localhost: lldb (lldb) print (500 * 400) * (300 * 2