原创 Unix shell輸入輸出重定向

寫程序的時候,適當地打印出一些進度或者日誌信息常常能幫助我們跟蹤程序的運行結果。但是,這些結果或者日誌信息打印到屏幕上並不能作爲以後檢查問題的依據。這就是重定向的作用,寫程序的時候,我們可以方便的將相關的信息打印到屏幕或者是從鍵盤接收輸入

原创 Python面向對象編程-封裝

大家使用Python這門語言,大多是作爲一門腳本語言來使用。這裏熟悉下python的面向對象的特性。 1、幾個基本概念 1.1 面向過程和麪向對象 根據操作數據的函數或語句塊來設計程序的過程,叫做面向過程編程。與之相對應的,如果把數據和功

原创 Checkio: Feed Pigeons

題目如下: I start to feed one of the pigeons. A minute later two more fly by and a minute after that another 3. Then 4, a

原创 Checkio: Roman numerals

題目: Roman numerals come from the ancient Roman numbering system. They are based on specific letters of the alphabet w

原创 unix改變shell顯示顏色

編寫shell腳本的時候,通過改變shell的顯示顏色,不但能夠改變使用shell終端的體驗,而且更爲實用的是,能夠通過改變顯示內容的顏色來區分正常輸出,warning和error等不同關注級別的輸出內容。 1、轉義序列(Escape s

原创 Linux刪除破折號開頭的文件與Windows下批量去掉文件的隱藏屬性

昨天去打印店打印材料,結果中毒了,所有的文件都隱藏了,生成了一堆快捷方式。回來之後,我順手把它插到Linux的機器上,想刪掉那些詭異的文件。下面是這個過程中,遇到的問題。 1、無法刪除‘-’開頭的文件 本來看到有好多windows下.ln

原创 Python Checkio

今天偶爾從一個師兄那裏看到了checkio,感覺很好玩。 我看到的第一個題是要求寫一個函數,接收一個數組,然後返回其中的重複元素,而且元素的順序不能發生變化。換句話說,就是去掉其中不含重複的元素。比如: checkio([1,2,3,1,

原创 VMware、Centos和Unity模式以及其它VMware虛擬機相關

這裏用的是centos 6.4的64位版本。 1、雙系統和虛擬機 剛學Linux的時候,老師強調不要用虛擬機,因爲可能會比 cd /tmp/vmware-tools-distrib/較卡,而且ubuntu有非常方便的五筆安裝,所以一般會雙

原创 C語言內存分配函數malloc、calloc和realloc

C語言中常用的內存分配函數有malloc、calloc和realloc等三個,其中,最常用的肯定是malloc,這裏簡單說一下這三者的區別和聯繫。 1、聲明 這三個函數都在stdlib.h庫文件中,聲明如下: void* realloc(

原创 如何判斷機器是大端還是小端

這是一篇沒多少新意的文章,對big endian和little endian熟悉的人沒必要看,免得浪費時間。 1、概念 所謂大端小端,指的是對於多字節的數據類型(比如,int)在內存中存放的字節順序。小端是指低地址的字節存放的是數據的低位

原创 Gitlab搭建

下面是gitlab官網上面的安裝說明,複製過來的。因爲折騰起來的確挺費勁,所以這裏把要注意的幾個沒說清楚的地方記錄下。 Overview The GitLab installation consists of setting up the

原创 數據結構_線性表

線性結構有這樣的特點,在數據元素的非空有限集中:(1)存在唯一的一個被稱作“第一個”的元素;(2)存在唯一的一個被稱作“最後一個”的數據元素;(3)除第一個之外,集合中的每個數據元素均只有一個前驅;(4)除最後一個之外,集合中的每個數據

原创 python文件讀寫操作

python中,可以通過open()函數打開一個文件創建一個file類的對象來操作文件,也可以在打開文件創建file對象時指定文件打開的模式(如果沒有指定打開模式,默認爲r),來決定能對文件進行的操作。這裏說的文件讀寫操作就是利用file

原创 Linux在所有文件中查找和替換

經常會碰到這樣的情況:查找某個目錄下所有包含某個字符串的所有文件,並將這些文件中的這個字符串用另外的字符串替換進行替換。這種情況下,網網要檢查的文件比較多,逐一進行檢查替換太麻煩,這個時候,我們就應該找一個能夠一條命令解決問題的方法。 1

原创 數據結構_棧

棧和隊列是兩種重要的線性結構。從數據結構的角度看,棧和隊列也是線性表,其特殊性在於棧和隊列的基本操作是線性表操作的子集,它們是操作受限的線性表,因此,可以稱它們爲限定性的數據結構。但從數據類型角度看,它們是和線性表大不相同的兩類重要的抽象