原创 PEP 8 代碼規範

代碼排版 縮進 每層縮進使用四個空格 續行要麼與圓括號、中括號、花括號這樣的被包裹元素保持垂直對齊,要麼放在 Python 的隱線(注:應該是相對於def的內部塊)內部,或者使用懸掛縮進5。使用懸掛縮進的注意事項:第一行不能有參數

原创 Pycharm 5.0 and Pycharm 2016 的破解

在安裝之後,調整時間到2xxx年,然後申請三十天試用,之後退出pyCharm,然後將時間調成回來 在註冊的時侯選擇 License server ,填 http://idea.lanyus.com ,然後點擊 OK(5.0) 在

原创 python list和dict的遍歷

list遍歷 其實在python中有很多種遍歷的方法,但是想要獲取下標卻是不那麼容易,主要有以下兩種方法 方法一: for i in xrange(len(list)): print(i, a[i]) 方法二: for i

原创 java.lang.IllegalStateException: Already connected

今天在調試程序bug的時候出現了這個異常,開始嘗試做了很多事情都不奏效。比如connection.disconnect(),設置ConnectionTimeOut等等,於是上網上查了一下。目前造成這種異常的主要原因有兩種(待補充)

原创 git submodules

git權威指南: 項目的版本庫在某些情況下需要引用其他版本庫中的文件,例如公司積累了一套常用的函數庫,被多個項目調用,顯然這個函數庫的代碼不能直接放到某個項目的代碼當中,而是要獨立爲一個代碼庫。那麼其他項目要調用公共函數庫該如何

原创 如何修改java String

衆所周知,String 類是不可變對象,那麼是否有方法改變它呢? String的成員變量都是private final的,即爲初始化之後不可改變,但是其中value比較特殊,因爲它是一個引用變量,value是final修飾的,也就

原创 一行python實現樹形結構

定義 使用內置的defaultdict 我們可以很容易的定義一個樹形數據結構 def tree(): return defaultdict(tree) example: json風格 users = tree() users['h

原创 python map

function with many args map函數,採用偏函數方式來爲函數來添加多個參數 map(functools.partial(self.english_recursive, branches=branches, i

原创 數據推送方式- polling vs Websocket vs SSE

我們可以使用以下三種方式來創建一個實時的web應用程序 Long polling or short polling(client pull) WebSocket(server push) Server-Sent Events(ser

原创 客戶/服務器程序設計範式

unix 網絡編程第30章讀書筆記, 這裏只記錄大致實現方式, 具體代碼實現還請閱讀此書 TCP 迭代服務器 完全同步方式, 完全處理某個客戶的請求之後才專向下一個客戶,優點是代碼簡單,並且沒有進程控制所需的時間 TCP 併發服務

原创 modern python dictionaries

本文是pycon 2017上的演講, 主要涉及python 字典的實現,以及如何實現一個更加高效的字典, 主要改進的地方就是講key的hash值進行保存,當rehash的時候不用重新計算所有的key值,可以大大提高效率 視頻地址: Y

原创 計算機基本組成原件— 加法器, 振盪器,觸發器

基本元件 加法器 origin: + 0 1 0 00 01 1 01 10 add: + 0 1 0 0 1 1 1 0 這個是由一個或門與與非門組成的異或門 carry: + 0

原创 python OrderedDefaultDict 的實現

class OrderedDefaultDict(collections.OrderedDict): def __init__(self, *args, **kwargs): if not args:

原创 tornado ioloop

初步解析 socket 流 import socket EOL = b'\n\n' response = b'HTTP/1.0 200 OK\r\nDate: Mon, 1 Jan 1996 01:01:01 GMT\r\n' re

原创 hasattr() A Dangerous Misnomer

不要使用 python 中的 hasattr() 除非你只在python3環境中使用它並且知道它的內部原理 總的來說,不要以如下方式使用 if hasattr(x, "y"): print x.y else: print