pupuliao的部落格

寫教學的最大目的是教會未來的自己

Nginx 安裝、設定教學

這篇教學儲了nginx的安裝設定之外 還包括 apache 的關閉等等….

使用環境適 Ubuntu

參考資料

http://mental.we8log.com/mental/entry/240/my_weblog

https://www.digitalocean.com/community/articles/how-to-configure-single-and-multiple-wordpress-site-settings-with-nginx

另外感謝 Licson Lee 狄信祐 在臉書上的教導

 

先轉成root

#sudo su

安裝篇

先把需要的通通安裝….似乎不需要那麼多 XD,管她的 沒漏裝就好

apt-get install nginx php5-cgi php5-cli php5-fpm php-doc

 

如果之前跑apache 的先關掉吧

#/etc/init.d/apache2 stop

在來關閉在開機啟動的設定 (要砍掉也OK啦 自己去找指令)

安裝設定軟體

#apt-get install sysv-rc-conf

#sysv-rc-conf

如下圖,用空白鍵 把底下apache的2 3 4 5 清空,之後按q 離開

sysv-rc-conf

閱讀全文

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Ubuntu Dell BIOS 更新(putty 即可完成)

經過測試 OK

參考資料 http://thoughtsdaily.wordpress.com/2011/11/01/update-dell-bios-in-ubuntu/

 

安裝這個軟體 檢測BIOS

#sudo apt-get update
#sudo apt-get install smbios-utils

看BIOS 資訊

#sudo getSystemId

 

然後就會出現….

Libsmbios version:      2.2.28
Product Name:           PowerEdge 1950
Vendor:                 Dell Inc.
BIOS Version:           2.7.0
System ID:              0x01B3
Service Tag:            16S7Q1S
Express Service Code:   xxxxxxxxxxx
Asset Tag:
Property Ownership Tag:

重點在BIOS Version 和 System ID

請根據System ID 到下面 找尋BIOS,選擇喜歡的版本

http://linux.dell.com/repo/firmware/bios-hdrs/

 

下載bios.hdr

#wget [下載連結]

 

啟動DELL update,沒有出現反應就表示OK

#sudo modprobe dell_rbu

開始更新BIOS

#sudo dellBiosUpdate -u -f [bios.hdr 的路徑]

 

之後就會跳出結果,然後系統會要你重開機,重開機後 自己檢察吧XD

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Ubuntu bonnie++硬碟測速 (Linux 適用)

雖然硬碟測速也有一些簡單只令,但是想要測出準確的HDD IO 有點難度,所以找了這款 有詳細數據

參考資料 http://blog.csdn.net/choice_jj/article/details/8026130

 

 

安裝bonnie++

#sudo apt-get install bonnie

 

詳細的指令教學 請看參考資料

開始測速

#bonnie++ -d [測試的位置] -s [大小] -u [測試身分]

測試位置看你想測哪個資料夾的

大小單位是MB 請至少寫RAM 的兩倍大小

身分就看個人 我是直接root

之後就會跑出成績

 

Version  1.96       ——Sequential Output—— –Sequential Input- –Random-
Concurrency   1     -Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
ubuntu-pupuli 8056M   368  99 73523  13 46462  10  1189  99 100266  11 826.6  21
Latency             55351us     990ms     599ms   16522us   10526us     254ms
Version  1.96       ——Sequential Create—— ——–Random Create——–
ubuntu-pupuliao     -Create– –Read— -Delete– -Create– –Read— -Delete–
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 21678  52 +++++ +++ +++++ +++ 28449  67 +++++ +++ +++++ +++
Latency              1481us     938us    1960us    1079us      26us    2325us
1.96,1.96,ubuntu-pupuliao,1,1388038469,8056M,,368,99,73523,13,46462,10,1189,99,100266,11,826.6,21,16,,,,,21678,52,+++++,+++,+

++++,+++,28449,67,+++++,+++,+++++,+++,55351us,990ms,599ms,16522us,10526us,254ms,1481us,938us,1960us,1079us,26us,2325us

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

openCV Mat的儲存與讀取

之前已經寫過兩篇 關於openCV 資料的儲存與讀取,今天又找到一個方便的方法

儲存架構同樣式XML

 

參考資料  http://blog.csdn.net/mmjwung/article/details/6913540

 

寫入

Mat mat = Mat::eye(Size(12,12), CV_8UC1);  //這沒差

 FileStorage fs(".\\vocabulary.xml", FileStorage::WRITE);  //檔案名稱用 XML

 fs<<"vocabulary"<<mat;  

 fs.release();  

 

讀取

FileStorage fs(".\\vocabulary.xml", FileStorage::READ);  

 Mat mat_vocabulary;  

 fs["vocabulary"] >> mat_vocabulary;  

 

經過測試,一個檔案可以分別寫入多個MAT 然後讀取。

Post to Twitter Post to Plurk Post to Facebook Send Gmail

MariaDB安裝教學

參考資料

1.http://tw.myblog.yahoo.com/jw!kg_rIFWTHgO4kRtDoy15QxVeWQ–/article?mid=32&next=30&l=f&fid=6

2.https://downloads.mariadb.org

3.http://www.oschina.net/translate/mariadb-vs-mysql-a-comparison

 

今天無意間在網路上 看到一篇文章說MariaDB 運作效率筆MYSQL 好,所以我就找了一下資料,詳細的比較說明可以看參考資料第三個連結。

MYSQL 有什麼缺點? 阿….目前最大的風險應該再於 MYSQL 目前被甲骨文收購,甲骨文本來就有在做資料庫方面的業務,MYSQL 什麼時候從開原變成閉原開始收費沒人知道,anyway 我就嘗試安裝了一下,反正沒差,當然我的網站流量也沒高到哪去,單純換好玩的

 

經過測試……基本上….完全相容於MYSQL,不需要做另外設定,指令完全相同,我看過他的安裝過程…..他根本就是置換了MYSQL 的運作核心,如果你不仔細看板號,你會以為是MYSQL 在運作

安裝過程 (UBUNTU版本,期他的請參考官網)

1.進入下列連結,選擇你的 作業系統、版號、mariabDB的版本

https://downloads.mariadb.org/mariadb/repositories/#mirror=uestc

目前有 5.5版和 10.0版,看介紹5.5版相容於MYSQL5.5版本 10.0版本 是基於5.5版加以改進相容MYSQL5.6版

如果不知道 詳細版本的

可以用 #cat /etc/issue 來查

2.把mariaDB放到apt-get 中,請詳確認版號,因為每個版本都不太一樣,我不小心把12.04和13.04搞混 就把apt-get炸了….

如果弄錯了請#sudo vim /etc/apt/source.list 最底下把內之前曾加的 deb…..刪除

#sudo apt-get install python-software-properties
#sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
#sudo add-apt-repository 'deb http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu precise main'

 

3.apt-get 更新和安裝…

sudo apt-get update
sudo apt-get install mariadb-server

 

4.設定root密碼,和MYSQL 介面差不多,然後就enter 一路下去 搞定

 

5.  apache 重新啟動

#/etc/ini.d/apache2 restart

 

經過測試 wordpress 繼續正常運轉 phpMyadmin 也運作正常

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

openCV 記憶體釋放要注意

引用自http://blog.csdn.net/xiaowei_cqu/article/details/7586847

 

1、內存洩露

內存洩露是說沒有釋放已經不能使用的內存,這裡一般指堆的內存才需要顯示的釋放。比如用malloc,calloc,realloc,new分配的 內存是在堆上的,需要用free,delete顯示的回收。內存洩露最明顯的一是程序很慢,在運行程序時你可以啟動任務管理器,會看到程序佔用的內存一直 「砰砰砰」的往上漲:

最後直接崩潰,或者你關閉程序的時候也會異常退出,出現

Debug Assertion Failed!
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

之類的問題。

除了new的對象我們知道要delete。OpenCV中使用cvCreateImage()新建一個IplImage*,以及使用cvCreateMat()新建一個CvMat*,都需要cvReleaseImage()  cvReleaseMat()顯示的釋放

 

  1. IplImage* subImg=cvCreateImage( cvSize((img->width)*scale,(img->height)*scale), 8, 3 );  
  2. CvMat *tempMat=cvCreateMat((img->width)*scale,(maxFace->height)*scale,CV_MAKETYPE(image->depth,image->nChannels));  
  3. cvReleaseImage(&subImg);  
  4. cvReleaseMat(&tempMat);  

另外一些函數要用到 CvSeq*來存放結果(通常這些都要用cvCreateMemStorage()事先分配一塊內存CvMemStorage*),都要是釋放掉相應的內存,這是很難找的。

 

比如從二值圖像中尋找輪廓的函數cvFindContours():

 

  1. CvMemStorage* m_storage=cvCreateMemStorage(0);  
  2. CvSeq * m_contour=0;  
  3. cvFindContours( img, m_storage, &m_contour, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));  
  4. //釋放內存  
  5. cvReleaseMemStorage(&m_storage);  

以及人臉識別中檢測人臉的函數:

 

 

  1. CvMemStorage* m_storage=cvCreateMemStorage(0);  
  2. CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );  
  3. CvSeq* faces = cvHaarDetectObjects( img, cascade, m_storage,1.1, 2, 0,cvSize(30, 30) );  
  4. //釋放內存  
  5. cvReleaseMemStorage( &faces->storage);  
  6. cvReleaseHaarClassifierCascade( &cascade );  

注意這裡我們可以使用
cvReleaseMemStorage( &faces->storage);
來釋放m_storate,也可以使用:
cvReleaseMemStorage(&m_storage);
釋放內存,這是等效的,但一定不要用兩次!!

 

2、一塊內存多次釋放

對應沒有釋放內存,對應就是一個內存釋放多次,如同上面的 cvReleaseMemStorage用了兩次。可能報錯的地方:

 

  1. __declspec(noinline)  
  2. void __cdecl _CRT_DEBUGGER_HOOK(int _Reserved)  
  3. {  
  4.     /* assign 0 to _debugger_hook_dummy so that the function is not folded in retail */  
  5.     (_Reserved);  
  6.     _debugger_hook_dummy = 0;  
  7. }  

或者: Unhandled exception at XXXXXXXXXX in XXX.exe: XXXXXXXXXXX: 堆已損壞。 

 

除了上述的MemStorge問題,使用cvQueryFrame()取出CvCapture*每幀圖像,只需在最後釋放CvCapture*,不需要釋放IplImage*

 

  1. CvCapture* pCapture = cvCreateCameraCapture(-1);  
  2. IplImage* pFrame=cvQueryFrame( pCapture );  
  3. cvReleaseCapture(&pCapture);  

*這篇是以前寫的,其實還是建議大家用C++接口的OpenCV,內存問題很少了~

Post to Twitter Post to Plurk Post to Facebook Send Gmail

在Ubuntu server版上安裝Dropbox

手上剛好有一台server

而為了方便資料輩份,所以我決定透過 dropbox 的同步功能來做(之後可以透過腳本來做定期備份)

因為server本身沒有視窗化介面所以不能用平常的安裝方式

 

網路上應該應該已經有不少方法了,這是經過我實驗後比較快的方法

廢話不多說,進入主題

 

作業系統 Ubuntu 12.04

請用遠端登入控制,因為其中有一個步驟 要用瀏覽器

 

下載dropbox.py

#wget http://www.dropbox.com/download?dl=packages/dropbox.py

下載好後因為檔名問題 要改一下檔名

#cp download?dl=packages%2Fdropbox.py dropbox.py

#rm download?dl=packages%2Fdropbox.py

 

為了日後方便放到/bin 底下

#cp dropbox.py /bin

 

這樣我們就可以使用dropbox 相關指令

可以用

#dropbox.py help 看到有哪些指令可用

 

第一次使用 開始安裝了

在這裡先確定 你用哪個使用者,dropbox 資料夾會自動放到/home/使用者/Dropbox,所以不建議使用root

 

開始安裝

#dropbox start -i

之後就會開始下載了,而且過程式中文的

 

最後會跳出 Please visit https://www.dropbox.com/cli_link?host_id=xxxxxxxxxxxxxxxxx&cl=en_US to link this machine.

複製個連結到流覽器打開他,然後輸入密碼,這樣就OK了

#dropbox.py status

確認現在狀態

如果還沒開起就

#dropbox.py start

 

 

這樣就完成了

 

 

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

手機的通訊系統其實是一個影星和音樂家發明的

 

科技史上最美的女人 手機用戶都應感謝她

海蒂

  

福布斯旗下的《美國發明與科技遺產》雜誌曾經以海蒂為封面,這大概是該雜誌有史以來最美麗的封面了。

   想當初,中文互聯網紅人「145」創造過一句名言:比我聰明的都沒我漂亮,比我漂亮的都沒我聰明。說這句話的人大概不知道下面我們要介紹的這一位:她演 繹了世界上首部「露點」電影、經歷了6次婚姻、還兩次因在商店順手牽羊而入獄,更重要的是,她還能在60多年前提出「跳頻」技術和一系列無線信號技術的全 新概念,其中「跳頻」技術更為當下大熱的3G移動通信技術奠定了基礎。

  她是海蒂·拉瑪(Hedy Lamarr),是出身顯赫的、與各國軍方高層私交甚好的好萊塢巨星,是全世界最美麗的女人,費雯麗也因長得像她而倍感自豪。

  1 手機用戶都該感謝她

   二戰初期,借助強大的U型潛艇,德國人在北大西洋優勢明顯。為了加強這一優勢,他們開始嘗試利用無線電波來無線遙控魚雷的控制系統。這種技術,後來被移 用到無線通訊方面,並和一種被稱之為CDMA的技術交織在一起,無論是WCDMA、CDMA2000、抑或是TDSCDMA。藉著手握CDMA的專利,這 家財富500強的公司依舊保持著每年兩位數的增長,並成為未來20億3G用戶的收稅官。

  就在高通因CDMA專利坐在家裡數錢的時 候,CDMA皇冠上的寶石———擴頻理論的核心基礎卻躺在專利號「2,292,387」的「保密通信系統」文件裡,申請時間是1941年6月10日。直到 1997年,美國電子前沿基金會授予了這項專利第一申請人海蒂·拉瑪(Hedy Lamarr)榮譽技術獎章時,她才真正進入我們的視線。

   在此之前,海蒂是「好萊塢花瓶」的象徵。因為被認為是花瓶,多數人忽略了她的聰明才智。「她有一個非常驚人的專利,人們通常都想不到電影明星有什麼頭 腦,但她確實有。」高通公司聯合創始人安東尼奧(Antonio Franklin)說。1997年,以CDMA為基礎的3G技術開始走入人們視野,科學 界才想起了這位已經83歲高齡的「擴頻之母」。

  隨後,非盈利性、非官方的電子前沿基金會授予海蒂小姐榮譽技術獎章,將她從塵封的檔案 中請出來。但此時,她的專利已經失效,終身未能因此而得利。就像她的兒子、美國電話局主席羅德(Anthony Loder)對她的評價所說:「雖然她已 經被大家遺忘了,但她所做出的一切仍然影響著一代又一代的人。」全球電信和通訊技術行業著名工程師和分析師莫克(Dave Mock)則在2005年出版 的傳記《高通方程式》中,以這樣的文字來描述這個矛盾的天才人物:「只要你使用過移動電話,你就有必要瞭解並感謝她。要知道,這位性感女明星為全球無線通 訊技術所做出的貢獻至今無人能及。」

閱讀全文

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Copyright © 2020. All Rights Reserved.

歡迎光臨
初音