Time of Update: 2017-01-19
複製代碼 代碼如下:/******** basic.c ********/#include "basic.h"pid_t Fork(void){ pid_t pid = fork(); if (pid < 0) { fprintf(stderr, "Fork error: %s\n",
Time of Update: 2017-01-19
my2048.c複製代碼 代碼如下:#include"my_getch.h"#include"math.h"#include"time.h"#define SPACE() printf(" ")#define RED_NUM(n) printf("\033[;31m%4d",(n))#define GREEN_NUM(n) printf("\033[;32m%4d",(n))#define BLUE_NUM(n) printf("\033[;34m%4d",(
Time of Update: 2017-01-19
瞭解網路傳輸協議的人都知道,採用TCP實現檔案傳輸很簡單。相對於TCP,由於UDP是面向無串連、不可靠的傳輸協議,所以我們需要考慮丟包和後發先至(包的順序)的問題,所以我們想要實現UDP傳輸檔案,則需要解決這兩個問題。方法就是給資料包編號,按照包的順序接收並儲存,接收端接收到資料包後發送確認資訊給發送端,發送端接收確認資料以後再繼續發送下一個包,如果接收端收到的資料包的編號不是期望的編號,則要求發送端重新發送。下面展示的是基於linux下C語言實現的一個樣本程式,該程式定義一個包的結構體,其中包
Time of Update: 2017-01-19
linux下使用md5sum遞迴產生整個目錄的md5今天要用md5sum操作目錄,遞迴組建目錄下所有檔案的md5值,結果發現它不支援遞迴操作於是寫了個php指令碼處理下代碼: <?php $path ='/data/www/bbs/source'; $outfile = 'file.md5'; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) {
Time of Update: 2017-01-19
Step1. 安裝 Apache 在terminal中輸入命令複製代碼 代碼如下:sudo apt-get install apache2 開啟瀏覽器,在地址欄輸入:127.0.0.1,如果出現了 “It works!”,表明安裝成功Step2. 安裝 php5 在 terminal 中輸入:複製代碼 代碼如下:sudo apt-get install php5 libapache2-mod-php5 php5-mysql 重啟 apache2 :複製代碼 代碼如下:sudo /etc/
Time of Update: 2017-01-19
參考phpinfo的資訊,iconv模組也已經正確載入。 google一下。原來才知道,原來在linux版本下iconv這個方法還是有點下下問題的。 csdn上的一個網友給出的解決方案為: view sourceprint?一種方法是把iconv換成 mb_convert_encoding 另一種方法是修改iconv 的實現,從glibc 改為libiconv 搞了半天,煩躁! 有朋友碰到的話,也可以這麼解決了
Time of Update: 2017-01-19
看到有人在有漢字的字串 前加一個 ‘ 或是任意半形符號,讓bug將其除掉,不過這樣做太麻煩了。最後呢,找來一個類比fgetcsv功能的函數。 複製代碼 代碼如下: function __fgetcsv(& $handle, $length = null, $d = ‘,', $e = ‘”‘) { $d = preg_quote($d); $e = preg_quote($e); $_line = “”; $eof=false; while ($eof != true) { $_line .=
Time of Update: 2017-01-19
但伺服器上,很多使用Linux伺服器,來源程式使用UTF-8,這樣很容易產生字元編碼的問題. 如果僅僅將CSV檔案轉碼為UTF-8,這樣在Windows伺服器上沒有問題, 而在RedHat5.5上,用fgetcsv取得的數組中,如果某列的內容是中文,則該列對應的數組元素為空白字串,而英文則正常. 這時,需要設定地區: setlocale(LC_ALL, 'zh_CN.UTF-8'); 代碼如下 複製代碼 代碼如下: // 上傳的CSV檔案,通常是用Excel編輯的GBK編碼, //
Time of Update: 2017-01-19
預設情況下,linux上apache使用的預設文件目錄是:/var/www預設連接埠是:80如果想發布自己的一個系統資來源目錄,可以使用下面的方法,執行如下命令:(1)添加監聽連接埠#cd /etc/apache2#vim ports.conf檔案添加:NameVirtualHost *:8000Listen 8000(2)配置虛擬目錄#cd /etc/apache2/sites-available#cp default default-me#vim default-me檔案內容如下:複製代碼
Time of Update: 2017-01-19
1、關閉nginx利用ps -aux | grep nginx 查看nginx是否啟動 如果啟動了就kill殺死2、建立/etc/init.d/nginx檔案root@dnnp:~/software/nginx-1.2.3# vim /etc/init.d/nginx3、添加許可權並啟動root@dnnp:~/software/nginx-1.2.3# chmod +x /etc/init.d/nginxroot@dnnp:~/software/nginx-1.2.3# /etc/init.d/
Time of Update: 2017-01-19
廢話不多說,直接上步驟1、修改php-fpm.conf設定檔修改/usr/local/php/etc/php-fpm.conf(當然這個跟你配置的php路徑相關)設定檔啟動pid=run/php-fpm.pid; Pid file; Note: the default prefix is /usr/local/php/var; Default Value: nonepid = run/php-fpm.pid啟動error_log=log/php-fpm.log; Error log file;
Time of Update: 2017-01-19
系統:Ubuntu 13.10第一步:安裝libevent-dev$aptitude search libevent-dev$aptitude install libevent-dev第二步:下載memcached並安裝官網地址:http://memcached.org/$wget -c http://www.memcached.org/files/memcached-1.4.17.tar.gz$tar -zxvf memcached-1.4.17.tar.gz$cd memcached-1.4
Time of Update: 2017-01-19
memcacheQ是一個單純的分布式訊息佇列服務。一,MEMCACHEQ的應用背景Web應用中為什麼會需要訊息佇列?主要原因是由於在高並發環境下,由於來不及同步處理,請求往往會發生堵塞,比如說,大量的insert,update之類的請求同時到達mysql,直接導致無數的行鎖表鎖,甚至最後請求會堆積過多,從而觸發too manyconnections錯誤。通過使用訊息佇列,我們可以非同步處理請求,從而緩解系統的壓力。在Web2.0的時代,高並發的情況越來越常見,從而使訊息佇列有成為居家必備的趨勢,
Time of Update: 2017-01-19
Varnish是一款高效能的開源HTTP加速器,挪威最大的線上報紙 Verdens Gang 使用3台Varnish代替了原來的12台Squid,效能比以前更好。但與老牌的squid相比,各有各的優劣勢,網上大量的相對比較只是在其個人對自己熟悉的應用的最大使用上的發揮而已,可能squid到了有能力的人手上才足以發揮最強大的威力Varnish採用了“Visual Page
Time of Update: 2017-01-19
1. bash中的$相關參數 複製代碼 代碼如下:$0 - 表示當前檔案名稱 $* - 以空格分離所有參數,形成一個字串 $@ - 以空格分離所有參數,形成一個字串組合。與$*的不同表現在被""引用時,"$*"是一個字串,而"$@"則包含多個字串 $# - 傳遞給進程的參數數目 $? - 上一條命令的執行結果,沒有錯誤時為0 $$ - 本條命令的PID 2. bash技巧,由變數的內容來組合為另一個變數的變數名
Time of Update: 2017-01-19
一、兩個重要目錄:Apache有兩個重要的目錄:1、配置目錄/etc/httpd/conf;2、文檔目錄/var/www:二、兩種配置模式:Apache在Fedora下的兩種配置方式:文字模式(終端命令列)和圖形化配置。兩者各有優勢:圖形化下配置,更容易上手,在文字模式下直接編輯httpd.conf檔案,自由性更強些、更直接。三、Apache服務的啟動與關閉Apache服務的停止、啟動、關閉可以通過兩種模式下進行操作:文本(終端)模式下和圖形化介面。四、終端下的操作如果你想用Linux作為WWW
Time of Update: 2017-01-19
之前在命令列下面列印JSON的時候統統都是Cat,然後將結果複製到支援JSON解析的編輯器裡面,非常曲折。簡單的搜尋了一下之後,在StackOverflow上找到了一篇文章。支援率最高的那個答案需要Python2.6+的支援,可是伺服器上的版本為2.4,升級之後的影響不可預料,遂放棄。繼續看下面的答案,有一個叫jq的小工具貌似還不錯,下載下來測試確實能滿足要求。#cat food.json | jq '.'即可獲得格式化好的結果給大家詳細介紹下jq吧jq官網 : http://stedolan.
Time of Update: 2017-01-19
Arch Linux 記錄,archlinux記錄安裝過程及遇到的問題:下載鏡像,刻盤。重啟進入 LiveCD 之後,按照 Wiki 進行設定及安裝。。。。比較麻煩的是連網,因為要串連無線網,所以比較麻煩,主要使用 wpa_supplicant 和 dhcpcd 解決。參考 Linux系統下中 在命令列中實現Wifi 串連的方法。安裝完成之後發現引導有問題,使用 rEFInd 解決,在 rEFInd 中指明 vmlinuz-linux 。menuentry
Time of Update: 2017-01-19
LVS+keepalived 實戰,lvskeepalived實戰一、分別在backup lvs和master lvs上安裝LVSwget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gzuname -rln -s /usr/src/kernels/2.6.18-164.el5-i686/ /usr/src/linuxtar zxvf ipvsadm-1.24.tar.gzcd ipvsadm-1.
Time of Update: 2017-01-19
Ubuntu16.04 與Windwos10時間不同步問題解決,windwos 最近有時間,整了Ubuntu16.04和Windows10雙系統,登陸完Ubuntu後回到Windwos,發現時間不準,網上找方案,如下辦法完美解決,備忘之。首先在Ubuntu下開啟Terminal終端,輸出如下代碼,讓Ubuntu時間與windows伺服器同步。1 sudo apt-get install ntpdate2 sudo ntpdate