原创 python正則表達式使用實例-替換字符串HTML標籤

最近因爲需要把字符串中的html標籤替換掉,想到的是使用正則來做,因爲原來模塊是用C++碼的,所以就用的glibc的regex來做的。後來查資料發現用python來做這件事,簡單方便,而且一次性可以完成所有替換,不想用C還需要自己

原创 LeetCode:Add Two Numbers

leetcode的第二題,把兩個整數表示成兩個鏈表,鏈表表示順序和整數的順序反過來,其實可以轉換成兩個整數相加,但是萬一是大數呢。 我的思路就是使用的是python的鏈表表示兩個整數,然後把低位相加,再和剩餘的高位拼接起來,中間只

原创 Linux一條命令改變圖片大小

Linux下面有一條命令可以改變圖片大小,使用非常方便。 Example: convert -resize 100x100 test.jpg test-new.jpg 更多使用方式參考:man convert. 點贊

原创 坑爹的AWS免費服務

今天突然收到一個十幾美刀的賬單,心裏感覺莫名其妙。 仔細一看原來是亞馬遜的aws收費,我本來以爲AWS的服務器是免費的,所以就申請了兩個實例。其實aws的免費是每月750小時,如果我同時申請了兩個實例,每個實例運行750小時,那我

原创 一致性hash以及python代碼實現

背景:自己之前的項目裏面使用了redis作爲KV存儲,不僅是因爲性能,主要是需要用redis的hash數據結構。後來隨着業務發展,讀寫壓力越來越大,一開始的做法是讀寫分離,接着一主多從,發現還是不能很好的解決寫redis的壓力,又

原创 LeetCode:Median of Two Sorted Arrays

第四題是找兩個已經排序的數組的中位數,其實就是尋找兩個排序數組的第k個數。尋找第k個數就需要把k均分到兩個數組,可以用到結論如果a[k/2-1]小雨b[k/2-1],那麼a[0]-a[k/2-1]必定存在於第k小的有序數列中。 解

原创 尋找一個數組中的最大和最小數

工作一段快兩年了,感覺之前學的數據結構和算法基本忘得差不多了,最近一段時間準備複習一下相關知識。 有一個求數組中最大和最小數的題目,基本的思路是遍歷一遍數組,然後每個一個元素都和最大值和最小值比較,時間複雜度是2(N-1)或2N。

原创 LeetCode:Two Sum

這是第一題的python代碼,思路是將輸入映射成爲一個map,數組元素的值爲key,下標爲value,然後直接去map中查找target減去每一個元素之後的值,在map中找到key對應的value以及剛纔的那個索引就是返回結果。這

原创 bgsave出錯原因分析

redis bgsave出錯 權限問題 沒有遇到過 dump.rdb所在的文件夾用戶沒有權限,導致dump.rdb文件停止更新,此時修改redis數據時會報錯,原因是默認配置 stop-writes-on-bgsave-error y

原创 基於Python的CGIHTTPServer簡單的交互實現

原文地址 基於Python的CGIHTTPServer簡單的交互實現 介紹 對於服務器後端開發者而言,有時候需要把自己的一些服務直接暴露給PM或者其他RD使用,這個時候需要搭建一套web服務可以和前端用戶做簡單交互,按照最常規的做法,一般

原创 Python模版引擎Jinja2

轉載地址 導語 最近在調研開發一個BS服務框架,需要能夠根據protobuf文件以及配置文件能夠自動生成相關的代碼,代碼註冊之後可以直接編譯得到一個直接支持一種數據流的BS服務模塊。即實現一個可以根據數據格式定製化的BS服務框架。因爲

原创 LeetCode:String to Integer (atoi)

這一題我總結主要考慮的異常case如下: 空字符串 都是空白符 空白符+正負號結束 空白符+異常字符 空白符+數字+異常字符 還有轉換過程中的數據溢出 代碼如下: #! /usr/bin/env python # -*

原创 python使用heapq實現小頂堆(TopK大)/大頂堆(BtmK小)

參考鏈接 https://www.coder4.com/archives/3844 求一個數列前K大數的問題經常會遇到,在程序中一般用小頂堆可以解決,下面的代碼是使用python的heapq實現的小頂堆示例代碼: # !/usr/

原创 C語言正則表達式使用及注意點

轉載地址 C語言正則表達式使用及注意點 正則表達式作爲程序員必備的高效率技能之一,程序開發中不可避免的就會用到,最近在開發中就需要使用C語言的正則表達式來解決一些問題。吐槽一句(gcc版本太低,用不了C++11的特性,也就用不了c++的r

原创 Python傳輸解析PB消息Client段程序

參考鏈接 http://blog.csdn.net/huithe/article/details/5223785 程序中使用python直接通過protobuf協議訪問服務器,當服務器返回的數據比較大的時候,client端在接收數據之