2014/4/11

[筆記] Drupal 在 XAMPP Windows 版速度很慢的問題

修改 apache/conf/httpd.conf,將以下兩項的值改為 on,並移除其前方的註解符號#
EnableMMAP on
EnableSendfile on
修改 php/php.ini,移除 realpath_cache_size 前方的註解符號;,並將其值改為 4M
realpath_cache_size= 4M
修改 mysql/bin/my.ini
innodb_flush_log_at_trx_commit = 2
修改完畢後,從 XAMPP 控制臺重新啟動 MySQL、Apache。

2014/3/25

SQL Server 使用OpenQuery,並使用參數傳值

在SQL Server中建立好與Oracle連接後,可透過下列方式查詢Oracle DB Server的資料
SELECT * FROM OpenQuery([linkedServerName],'SELECT * FROM dual')
ex: SELECT * FROM OpenQuery(PROD,'SELECT * FROM dual')

但如果你要傳的SQL帶有字串時,如下語法
SELECT * FROM dual WHERE EmplID='12258'
則需要透過「轉義字符(')」來控制,因此SQL修改成如下的方式傳值
SELECT * FROM OpenQuery(PROD,'SELECT * FROM dual WHERE EmplID=''12258''')

如果今天你要在傳的SQL中再加上參數了話,就會變得複雜了,請參考下列SQL來處理
DECLARE @SQL VARCHAR(1000)
DECLARE @OrgID VARCHAR(10)
SELECT @OrgID = 'SPK1'
SET @SQL = 'SELECT * FROM dual WHERE OrgID ='+@OrgID
SET @SQL = 'SELECT * FROM OpenQuery(PROD, ''' + REPLACE(@SQL, '''', '''''') + ''')'
EXEC(@SQL)

透過REPLACE函數,將SQL字串中的轉義字符調整成所需的樣式


2014/2/3

iPhone iPad 所對應的CSS自適應設定

近幾年在設計網站的時候,經常會遇到為了設計出針對特定的裝置,而使用不一樣的CSS設定,一位來自緬甸的設計師Stephen整理了一系列Apple裝置的CSS設定,這樣的整理時在減省了不少查詢時間,讓針對不一樣螢幕大小的設定能更快速完成。

網站:http://stephen.io/mediaqueries/
部分設定值如下:

iPhone 5 in portrait & landscape
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 568px) { /* STYLES GO HERE */}
iPhone 2G-4S in portrait & landscape
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) { /* STYLES GO HERE */}


2014/1/2

網頁中NAME與ID的區別和相似之處

HTML中常會看到「表單的NAME」和「ID」這兩種屬性,其實他們是同一個意思,都是為了標記對象名稱。他們所不同的是NAME是由Netscape定義的,而ID是由Microsoft定義的。

再來,表單元素(form input textarea select)與框架元素(iframe frame)必須使用NAME,因為這些元素都與表單(框架元素作用於form的target)提交有關,在表單的接收頁面只接收有NAME的元素。

這時賦與ID的元素通過表單是接收不到值的,大家自己可以驗證一下。

那ID可以用在那些元素呢?像是body li a table tr td th p div span pre dl dt dd font b 等等,都是可以使用ID。

最後要怎麼記憶這些,只能賦與ID但不能賦與NAME的元素呢?只要記住下句話就OK囉~

「除去與表單相關的元素都只能賦ID」

2013/12/23

筆記:Apple Web App 常用的meta設定

詳細的設定介紹請參考Apple官方網站:
https://developer.apple.com/library/safari/documentation/appleapplications/reference/safariwebcontent/usingtheviewport/usingtheviewport.html

viewport:開發者決定手持裝置的縮放比例設定
<meta name = "viewport" content = "width = device-width, initial-scale = 1.0, user-scalable = no">
  • l width=device-width 定義手持式裝置網頁寬度。設定成device-width可讓瀏覽器自行判斷手持式裝置寬度,也可以直接設定大小,如width=320。
  • l initial-scale 畫面是以多少倍的 viewport 來顯示
  • l minimum-scale 畫面縮小倍率限制。
  • l maximum-scale 畫面放大倍率限制。(0 < user-scalable < 10.0,預設值0.25)
  • l user-scalable 是否允許放大或縮小視窗(預設為YES)。

2013/12/17

(Windows)如何讓Sublime Text 2變已註冊

Sublime Text真是個好用的免費Code Editor,先前介紹了Mac版解除「贊助訊息」的方法,這次來做Windows的。

如果你口袋有多餘很多贊助費(US$70),還是很建議你贊助他一下唷~

For Windows User:
  1. 首先,先到Sublime Text的網站下載安裝:http://www.sublimetext.com/
  2. 開啟Hex編輯器(16進制的程式編輯器)
  3. 使用該編輯器開啟 sublime_text.exe 檔案
  4. 將全部「33 42」的字組,修改成「32 42」,修改後若無法儲存,請檢查是否擁有修改檔案的權限
  5. 完成後重新開啟Sublime Text並輸入下列序號
—–BEGIN LICENSE—–
Patrick Carey
Unlimited User License
EA7E-18848
4982D83B6313800EBD801600D7E3CC13
F2CD59825E2B4C4A18490C5815DF68D6
A5EFCC8698CFE589E105EA829C5273C0
C5744F0857FAD2169C88620898C3845A
1F4521CFC160EEC7A9B382DE605C2E6D
DE84CD0160666D30AA8A0C5492D90BB2
75DEFB9FD0275389F74A59BB0CA2B4EF
EA91E646C7F2A688276BCF18E971E372
—–END LICENSE—–
打完收工!

2013/12/15

三種網頁轉址的方法

1. HTML 的轉址方法: 
在 HTML 網頁的 </head> 前加入以下 HMTL 碼,網頁就會自動轉址。 
<meta http-equiv="refresh" content="0;url=http://mepopeidia.com" />
其中 content=... 中的 0 是指 0 秒後自動重新整理,並轉址到 "http://mepopeidia.com" 這個 URL。 

2. Javascript 的轉址方法: 
在 HTML 網頁中原則上是任一地方加入以下 JavaScript 網頁就會轉址。但放在網頁 HTML 碼的開始較有效率(也較有意義)。 
<script>document.location.href="http://mepopedia.com";</script>

3. PHP 的轉址方法: 
<?php
    header('Location: http://mepopedia.com');
    exit;?>

2013/11/23

(Mac)如何讓Sublime Text 2變已註冊

Sublime Text真是個好用的免費Code Editor,小小的遺憾是如果你沒有付費註冊了話,有時儲存時不時就會跳出一個贊助訊息,雖然無傷大雅,但用起來就是有那麼一點小不爽,如果你口袋有多餘很多贊助費(US$70),還是很建議你贊助他一下啦~

不過在此之前,我們可以透過下列方法讓這點小缺憾,消失:)

For Mac User:
  1. 首先,先到Sublime Text的網站下載安裝:http://www.sublimetext.com/
  2. 開啟終端機
  3. 進入Sublime的目錄(cd /Applications/Sublime\ Text\ 2.app/Contents/MacOS/)
  4. 用vim編輯檔案(vim Sublime\ Text\ 2)
  5. 變更成HEX模式(:$!xxd)
  6. 搜尋5BE509C33B020111,並修改5BE509C32B020111即可(:%s/5BE509C33B020111/5BE509C32B020111/g)
  7. 完成後重新開啟Sublime Text並輸入下列序號
—–BEGIN LICENSE—–Patrick CareyUnlimited User LicenseEA7E-188484982D83B6313800EBD801600D7E3CC13F2CD59825E2B4C4A18490C5815DF68D6A5EFCC8698CFE589E105EA829C5273C0C5744F0857FAD2169C88620898C3845A1F4521CFC160EEC7A9B382DE605C2E6DDE84CD0160666D30AA8A0C5492D90BB275DEFB9FD0275389F74A59BB0CA2B4EFEA91E646C7F2A688276BCF18E971E372—–END LICENSE—–

打完收工!

2013/11/20

安裝 phpMyAdmin

安裝步驟:

  1. 請至官方網站下載最新版本。
  2. 將下載的檔案解壓縮至WEBROOT目錄(D:\WebServer\wwwroot)。
  3. 複製config.sample.inc.php成config.inc.php。
  4. 修改config.inc.php
       $cfg['Servers'][$i]['auth_type'] = 'http';  /* cookie改成http */
       $cfg['Servers'][$i]['AllowNoPassword'] = true;  /*要改成true,因為MySQL root預設為空白*/
  5. 輸入 http://localhost:8081/phpmyadmin/index.php ,就可以進入phpmyadmin來管理MySQL了。

 

更新方式:

當出現「有新的phpmyadmin可用,請考慮升級」時,這不是太大的問題,要更新時到官方網站下載新版本,再覆蓋到原本的資料夾位置就行了,但千萬記得備份你的config.inc.php檔案。

 

其他常見問題:

  1. 新出的版本都沒有正體中文,所以當phpmyadmin再抓OS預設語言時,就會以簡體中文顯示,這時就算你將config.inc.php檔案中的預設語言改成 $cfg['DefaultLang'] = 'zh_TW' 一樣不會有任何作用,請至網站下載(ok 3.4.2) Traditional Chinese translation for 3.4.x,並將下載回來的檔案放置WebROOT底下phpMyAdmin\locale\zh_TW\LC_MESSAGES目錄中。
  2. 使用cookie方式登入時,常會出現下圖錯誤。請確認php.ini內有將extension=php_mcrypt.dll打開,並確定啟動apache時,php能順利帶起mcrypt這模組。image
  3. session問題
    1. 請檢查php.ini中session.save_path設定的路徑,並確保有權限存取此目錄。
    2. 將下列語法存成session_test.php,可以用來檢查session相關所有訊息。

<?php
ini_set('display_errors', 'On');
error_reporting(6143);
session_start();
$sessionSavePath = ini_get('session.save_path');
echo '<br><div style="background:#def;padding:6px">'
   , 'If a session could be started successfully <b>you should'
   , ' not see any Warning(s)</b>, otherwise check the path/folder'
   , ' mentioned in the warning(s) for proper access rights.<hr>';
if (empty($sessionSavePath)) {
   echo 'A "<b>session.save_path</b>" is currently', ' <b>not</b> set.<br>Normally "<b>';
   if (isset($_ENV['TMP'])) {
      echo $_ENV['TMP'], '</b>" ($_ENV["TMP"]) ';
   } else {
      echo '/tmp</b>" or "<b>C:\tmp</b>" (or whatever', ' the OS default "TMP" folder is set to)';
   }
   echo ' is used in this case.';
} else {
   echo 'The current "session.save_path" is "<b>', $sessionSavePath, '</b>".';
}
echo '<br>Session file name: "<b>sess_', session_id(), '</b>".</div><br>';
?>

2013/11/3

觀影心得:電影教我了那些事


電影教我了那些事 2013.11.01


對於許多人而言,電影或許只是稀鬆平常的休閒活動,但其實仔細去觀察,電影其實是所有故事形式中最精練的一種形式,可以承載最多的詮釋空間。從電影中角色的個性、劇情的曲折、背後成就該電影的技術細節,如同拼圖般地拼貼出導演想要表現的故事。

近期影響我最深的電影,莫過於喬治克隆尼與珊卓布拉克所演的「地心引力」,從片頭一開始訴說宇宙間沒有傳遞聲音的介質開始,緊接著是一段欣賞地球視角的寧靜,讓原本帶點吵雜的影廳,像是頓時失去聲音的介質,只剩屏息以待的影眾,等待主角的第一句話:「Beautiful, don’t you think?」

在如同太空劇場般的開頭,導演透過連續20分鐘一鏡到底的拍攝手法,表現與我們熟知的一切截然不同的外太空環境,真實的展現太空人在充滿未知的環境中工作的樣貌,雖然每個人各個樣貌鎮定,而那裡的每一步,都反應著眼前所即將面對的狀況,瞬息萬變的恐懼,其實隱藏在故事中,每個人物的心中。

探索未知是所有人,人生中所一直在嘗試的。在外太空中,沒有太多可以借鏡的經驗可以直接套用,有的是可以不斷嘗試的機會,有時你必須運用的是反向的思考模式,而有時你說不定要用42度的方式(42是生命、宇宙以及任何事情的終極答案;出自「銀河系漫遊指南」)。生命中有太多的問號難以解答,但透過探索,你還是可以找到一個方向。

小時候在科博館的我,曾想過飛躍到太空之中,一睹那地球奇幻般的景色,然而隨著時間的飛逝,距離太空也逐漸越變越遠了,透過觀賞這部電影,又讓我喚回兒時的期盼,雖然不直接卻真實讓我體驗到成為太空人的挑戰。

電影可以豐富許多一輩子不容易遇到的體驗,德國哲學家Walter Benjamin 曾說:「故事是來自遠方的親身經歷。」這一次我在影廳中成了太空人,下一次或許我會成為福爾摩斯身旁的小助手,而我可以確信,每一次你將得到與原本人生道路,截然不同的體驗。