網頁

2014年3月27日 星期四

Dashboard 程式的執行時間

在撰寫 dashboard 時。不知什麼原因,後端資料的產出有時結果出現的很快,有時出現的很慢。加入以下 timer 這段程式可以大概推敲出那一段程式卡住了。
  • 後端在做分析 20 多萬筆的資料,理論上在資料庫應不會反應這麼慢,應該是在於程式的寫法上。
  • 後來查找資料才明白,原來 MySQL 有自動快取( query cache )的功用,這也是 MySQL執行會這麼快的原因之一,當接收到一個相同的 SQL Query 時,會直接由先前已分析過的快取直接引用結果,所以才會出現覺得有時快有時慢的錯覺。
  • 程式加快的方式應該可以考慮以下兩種做法:
  • 後來重新將程式修改過,改成先刪除不需要的資料,將要分析的資料單獨另外寫到一個獨立的資料表內,再去做分析。分析的時間由原本的 10+ sec 變為 <0.2 sec,真的還差真多。
//PHP Timer code
//程式起始時間
$time_start = getmicrotime();
…...
//放要測試的執行程式
…...
$time_sql = getmicrotime();
$time = $time_sql - $time_start;
echo "執行SQL條件的執行時間 : $time seconds"; //輸出總運行時間

function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
//PHP Timer code EOF 

相關資料:



2014年3月26日 星期三

創新、創造價值

有想法、有創意真的很好。如果你的身份是屬於發想者而不用負責實現或收尾工作時,那真的很棒,恭喜你,提完後無事一身輕。但如果您是屬於實作者或是收尾者時,那也要恭喜你。生活中總是充滿變數,也因為如此才會多彩多姿。

看人家做事情都感覺都很簡單,待自己深入之後才會了解,發覺人家做的快、做的順、做的好,根本不是您想像中的那一回事;大家都想要自動化、系統化。最好是能讓一鍵送出所有的程序就全部完成。但其實真正能做到這樣時,有時換個角度去想想,其實應該要有警覺性。真的要開始思索或著手找未來的第二春。

創新、創造價值。不管對組織與個人都重要。記得在進入清華時,老師和我在聚餐的談話,有一句話令我印象深刻 ~「創造被利用的價值」。其實在實現這段話的過程中,就會讓你凡事都是以積極的心態去學習。沒有不可以,只是你要不要做,要不要把它做好而已。

我們要努力的培養自己習慣去問為什麼要這樣做、有沒有更好的方式可以逹到相同的效應、
努力培養自己習慣性去拆解事物,習慣性去結構化的理解事物;先培養出你的「洞悉力」,你就會發現處處是「潛在機會」。如此一來,你就是那能掌握機會、開創新局的大將之才。」這句話也很棒,共勉之。

相關資料:

2014年3月20日 星期四

Apache 特定目錄限制存取

這是由 Apache 所提供的簡易方法 。不過太久沒做了,簡單註記一下。回復記憶。
  1. 使用 htpasswd function 
  2. Create your htpasswd files. E.g htpasswd –c C:\Apache\htdocs\test\.htpasswd login_name 
  3. Add .htaccess files 或寫入到 httpd.conf (or placed in httpd.conf inside a <Directory /usr/local/apache/htdocs/secret> section.)
相關參考:

2014年3月17日 星期一

Windows ISO TO USB 的方法

最近拿到一台小筆電要安裝新的作業系統,但沒有光碟機,所以只好自行製作可以將 Windows ISO 轉到 USB 隨身碟內,再透過隨身碟來做安裝的動作。但實作 ISO TO USB 時遇到了一些問題,稍微簡單記錄一下。

一開始是使用 wintobootic 的工具但是實作時,在將 ISO 轉入到 USB 時一直卡著也不知是遇到了什麼問題,後來改用 Microsoft 提供的工具也是會有狀況。現在想想應該問題的原因點是相同的。
  1. ISO TO USB工具:Windows 7 USB/DVD download tool or wintobootic
  2. 製作時出現的狀況:The selected file is not a valid ISO file. Please select a valid ISO file and try again
  3. 解決方式可參照下面參考資料,將拿到的 ISO檔再重新轉存過。重點是它的屬性值UDF需要勾選起來(如下圖)。
  4. wintobootic v2.1 在 virustotal website 有偵測到 Trojan,該不該使用它就請自行判斷。
  5. 有幾支隨身蝶會出現 We were unable to copy your files. Please check your USB device and the selected ISO file and try again.的問題。解決方式請參考以下資料。
  6. 用這個比較快  Rufus
參考資料:


2014年3月13日 星期四

滑鼠游標指定到網頁表單內的特定欄位(Javascript)

同仁在詢問我在使用訪客系統時,可否在開啟頁面的同時,將游標指定到借閱的欄位內?

做法還蠻簡單的,只要一行 javascript 即可。

在 <body> 標籤內加入指定的表單名稱內的欄位名稱後再使用 focus()即可。

<body onLoad="document.p_check.guest_id.focus()">

對照表單:
<form id="p_check" name="p_check" method="post" action="#">
<input type="text" name="guest_id" value="" ACCESSKEY="B" />
</form>

不想寫在<body>標籤內也可以改成這樣的寫法,如下:

<script>
  window.onload = function ()
  {
  document.p_check.guest_id.focus();
  }
</script>