原创 Ubuntu SSH 配置學習筆記

工作中遇到的問題 ssh [email protected]時出現問題: FATAL :failed to begin relaying via SOCKS ssh_exchange_identification:   Connection   

原创 Fix patch error "Hunk #* FAILED at * (different line endings)"

Apply Patch的時候後有時候會遇到詭異的問題,明明patch是對的,卻打不上,提示如下錯誤: Fix patch error "Hunk #* FAILED at * (different line endings)" 有一種可

原创 淺析什麼是HOOK

首先明確一點:hook是一個編程機制,與語言無關。 貼一段維基百科中對鉤子的定義: 鉤子編程(hooking),也稱作“掛鉤”,是計算機程序設計術語,指通過攔截軟件模塊間的函數調用、消息傳遞、事件傳遞來修改或擴展操作系統、應用程序或其他軟件

原创 Git 協作:Fetch Pull Push Branch Remote Rebase Cherry-pick相關

前言 學習git的時候,我們首先學習的是最常用的,自己獨立開發Software時用的命令: git init

原创 apt-get update 101錯誤解決辦法

在一次裝好Ubuntu系統, 執行 sudo apt-get update 時,報了錯 " W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-securi

原创 Python函數參數中的冒號與箭頭

在一些Python的工程項目中,我們會看到函數參數中會有冒號,有的函數後面會跟着一個箭頭,你可能會疑惑,這些都是什麼東西? 其實函數參數中的冒號是參數的類型建議符,告訴程序員希望傳入的實參的類型。函數後面跟着的箭頭是函數返回值的類型建議符,

原创 Python中的多線程編程,線程安全與鎖(二) Python中的多線程編程,線程安全與鎖(一)

在我的上篇博文Python中的多線程編程,線程安全與鎖(一)中,我們熟悉了多線程編程與線程安全相關重要概念, Threading.Lock實現互斥鎖的簡單示例,兩種死鎖(迭代死鎖和互相等待死鎖)情況及處理。今天我們將聚焦於Python的Th

原创 使用pdb模塊調試Python Python 調試器之pdb

在Python中,我們需要debug時,有三種方式: 加log語句。最簡單的方式是添加print()語句來輸出我們想要獲知的狀態或者變量,好處是簡單容易操作,壞處是debug完了之後,還需要將print語句註釋掉;進階的方法是使用logg

原创 聊聊Python中的GIL python中的GIL詳解

對於廣大寫Python的人來說,GIL(Global Interpreter Lock, 全局解釋器鎖)肯定不陌生,但未必清楚GIL的歷史和全貌是怎樣的,今天我們就來梳理一下GIL。 1. 什麼是GIL GIL的全稱是 Global Int

原创 設計模式之策略模式的Python實現

1. 策略模式解決的是什麼問題 策略模式解決的應用場景是這樣的: 在業務場景中,需要用到多個算法,並且每個算法的參數是需要調整的。那麼當不同的行爲堆砌到同一個類中時,我們很難避免使用條件語句來選擇合適的行爲。我們需要解決的是把算法封裝起來,

原创 設計模式之單例模式與工廠模式的Python實現(二) Python中的staticmethod與classmethod python中@classmethod @staticmethod區別

2. 工廠模式 工廠模式是創建型設計模式的一種。核心的思想是,通過傳遞給類或函數某種產品的信息來創建產品並返回。當我們想得到產品a對象,只需把產品a的名字傳遞給工廠函數就能得到產品a對象。而核心思想的背後是爲了遵循著名的“開閉原則”:對擴展

原创 設計模式之單例模式與工廠模式的Python實現(一) 談談Python中元類Metaclass(一):什麼是元類 Python中的單例模式的幾種實現方式的及優化

1. 單例模式 單例模式(Singleton Pattern)是一種常用的軟件設計模式,該模式的主要目的是確保某一個類只有一個實例存在。當你希望在整個系統中,某個類只能出現一個實例時,單例對象就能派上用場。 比如,某個服務器程序的配置信息存

原创 Python的高階函數小結

一. 高階函數定義 簡而言之,Python的高階函數就是指一個函數作爲參數傳遞給另外一個函數的用法。 舉一個最簡單的高階函數來說明: >>> def add(x,y,f): return f(x) + f(y) >>> add(

原创 [Python]Pandas簡單入門(轉)

本篇文章轉自 https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb?hl=zh-cn#scrollTo=zCOn8ftSyddH 是Google

原创 Python中的返回函數與閉包

返回函數,顧名思義,就是高階函數可以把函數作爲return值返回。與閉包的關係是:閉包需要以返回函數的形式實現。   一. 返回函數 比如我們有一個求和函數: >>> def calc_sum(num_list): s = 0