2016年6月27日 星期一

ubuntu VirtualBox 無法執行


錯誤代碼 rc-1908

執行以下兩個,重新編譯 VirtualBox 就可以開啟VM了

1.sudo cp /etc/init.d/vboxdrv.dpkg-bak /etc/init.d/vboxdrv
2.sudo /etc/init.d/vboxdrv setup

2016年6月3日 星期五

以 lumen 為例,自訂 URL 進行本機開發



文章目的

  設定一個自訂網址,方便開發系統 ( lumen )


Step 1 :

  編輯:C:\Windows\System32\drivers\etc\hosts

  新增你想要的 Domain , 以 lumen.sam 為例

  此時,在瀏覽器輸入 lumen.sam 就會找 127.0.0.1 這個 IP Address

         127.0.0.1       lumen.sam


Step 2 :

編輯:C:\xampp\apache\conf\extra\httpd-vhosts.conf  (  注意 xampp 安裝位置 )

新增以下內容

<VirtualHost *:80>
    ServerAdmin webmaster@lumen.sam
    DocumentRoot "C:/MyWeb/lumen/public"
    ServerName lumen.sam
    ErrorLog "logs/lumen.sam-error.log"
    CustomLog "logs/lumen.sam-access.log" common
</VirtualHost>


Step 3 :

編輯:C:\xampp\apache\conf\extra\httpd-xampp.conf

<Directory "C:/MyWeb/lumen/public/"> 
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Require all granted
</Directory> 

finall :

restart apache

網址列輸入  http://lumen.sam  即可出現網站.




2013年12月27日 星期五

正規化表示式 note.


? 抓取最短符合 ( 非貪婪 )

. 配合 /s 可包含 換行

可查詢  正規化表示式 、 貪婪  關鍵字

2013年12月17日 星期二

PHP 檔案操作

如何對檔案進行 唯一 的資料讀寫

fopen  開檔
flock LOCK_EX 鎖檔
fread filesize  讀入檔案
rewind  移動檔案 point
ftruncate 0 清空檔案
fwrite   寫入檔案
flock LOCK_UN  解鎖
fclose  關檔

程式範例



$handle = fopen("file.txt","r+");

//Lock File, error if unable to lock
if(flock($handle, LOCK_EX)) {
    $count = fread($handle, filesize("file.txt"));    //Get Current Hit Count
    $count = $count + 1;    //Increment Hit Count by 1
    rewind($handle);    //Move file point
    ftruncate($handle, 0);    //Truncate the file to 0
    fwrite($handle, $count);    //Write the new Hit Count
    flock($handle, LOCK_UN);    //Unlock File
} else {
    echo "Could not Lock File!";
}

//Close Stream
fclose($handle);







2013年10月23日 星期三

心得

一些心得....


2013年10月22日 星期二

Linux 指令

剛剛同事分享一個 tips

!! 兩個驚嘆號,是重覆上一個指令

! 一個驚嘆號是 重覆上一個 相同 指令,解釋如下:

以下是我輸入指令的歷程


ls -l -h
ls -l
cat /etc/hosts
grep "xxx"
df -h

此時,我再輸入

!ls
則會執行 ls 最近的一次指令

就是 ls -l




[資料備份] 利用 PHP PharData 進打檔案打包並上傳至FTP

本來打算用簡單的 Shell Script 進行備份

且相關文章教學,也是很多....

But ....

出現了一個問題,在執行 ftp 連線,會停留在輸入帳、密階段

即使已經有設定帳、密還是一樣 ....

anyway ~

練習一下,用 PHP 撰寫備份程式吧!!


2013年10月21日 星期一

利用 htaccess 保護網頁

利用 htaccess 保護網頁(目錄) 需進行登入,才有辦法檢視

這功能很常用,每次用都 google , 今天就醬它給它記錄下來

需求說明:

我要將 /var/www/phpMyadmin/ 此目錄設定需登入才有辦法瀏覽

在該目錄底下新增 .htaccess 檔案


nano .htaccess

貼上以下內容 ( 使用者名稱,以 shazi 為例 )


AuthType Basic
AuthName "Restricted Access"
AuthUserFile /var/www/phpMyadmin/apasswords
Require user shazi
再進行建立 密碼檔 apasswords


htpasswd -c /var/www/phpMyadmin/apasswords shazi

輸入密碼(2次)

完成!!



2013年10月20日 星期日

淘寶網購買心得 ( 非教學文 )

最近想買 Raspberry Pi 的 攝影鏡頭
其實,台灣不管是露天還是拍賣都有在賣

但在最近淘寶網的廣告(全家便利商店取貨)實在打的很兇
不得不給它試一下....

2013年10月17日 星期四

Notepad++ 無法調整字型

Notepad++ 是一個很實用&占用資源又低的開發工具

今天在調整字型遇到一個問題,設定好之後,重開又還原了 (設定失效)


2013年10月16日 星期三

Linux SSH 登入限制

SSH Tunnel 算是公司很常用的功能....

最近有同事想試看看,所以也開了一個 SSH 的帳號

但又不想被登入亂搞...( 哈....我承認我想得比較多 )

後來,找到了這篇,還不錯!!


2013年10月9日 星期三

檢查 PPPOE 是否連線正常

需求 & 目的:
在家裡架了一台主機,使用動態IP連線,利用NO-IP服務進行 Domain 連結,為了讓主機都可以隨時保持連線,不管是 AP關閉 or 主機重開,都可以自動連線。


2013年10月7日 星期一

記錄 Client 端 IP

因為擔心 NO-IP 無法正常運作

所以,在開機後,送一個 HTTP REQUEST ( GET ) 到另一台主機

主要是為了取得開機後所產生的 IP

以下是 負責記錄 Client 傳送過來的 IP 位置


2013年10月1日 星期二

NodeJS , return From call Function.

在 NodeJS , 因為是 事件驅動

所以在 流程上的控制比較無法像一般程式那麼直覺式的方式去執行

可以利用 callback 的方式,轉換成比較像是 一般程式 的執行方式去呼叫

HTTP POST in NodeJS

使用 NodeJS 建立 HTTP POST 傳送

( PS : 範例中,是 讀取  js file )


async.forever

NodeJS Async套件中,其中一個功能筆記

在 Async 有一個方法 forever ( 以下是

forever(fn, callback)

Calls the asynchronous function 'fn' repeatedly, in series, indefinitely. If an error is passed to fn's callback then 'callback' is called with the error, otherwise it will never be called.


2013年9月30日 星期一

JavaScript Note.

記錄一下,剛剛 Study Code 的小小筆記

這是一段 NodeJS 的程式碼

JavaScript 雙驚嘆號 ( 兩個驚嘆號 )

文章轉自此

! (驚嘆號)在JavaScript會先針對參數為 空(null)、零、空字串(Empty)、未定義(undefined) 視為 false 值,然後將其強制轉型為 布林值 Boolean

兩個驚嘆號,賜再將 false 轉成 true.


2013年7月7日 星期日

給 JavaScript 的 Class 新增方法 ( .method vs .prototype )

今天閱讀JavaScript,看到一個,給 類別 新增方法(method)的方式
除了使用 prototype 的方式之外,也可以利用 Class.method('方法名稱' , function(){}};

2013年6月28日 星期五

Javascript prototype String.format

讓JavaScript也有類似 sprintf 的功能



if (!String.prototype.format) {
 String.prototype.format = function() {
     var formatted = this;
     for (var i = 0; i < arguments.length; i++) {
         var regexp = new RegExp('\\{'+i+'\\}', 'gi');
         formatted = formatted.replace(regexp, arguments[i]);
     }
     return formatted;
 };
}



使用方式如下:


var _str;
_str = 'The {0} is dead. Don\'t code {0}. Code {1} that is open source!'.format('ASP', 'PHP');
alert(_str);

參考自此