Category: MacOS X

  • Run a PHP script from the command line with MAMP

    我在 Mac 上開發 PHP 一直是用 MAMP 這個好用的 App。不過如果碰到需要在 Terminal 下以指令方式執行 PHP 程式就有點麻煩。 MAMP 裡的 php 路徑頗長…. 像這樣… /Applications/MAMP/bin/php/php5.3.6/bin/php -v # 查詢 PHP 版本 所以還是來修改一下 ~/.bash_profile 吧。如果沒有這個檔案,自己建一個。 在裡面加入這一行… export PATH=/Applications/MAMP/bin/php/php5.3.6/bin/:$PATH 存檔後離開。 在 Terminal 下輸入 source ~/.bash_profile 會重讀設定檔,然後剛才的修改就生效了。這樣以後要執行 PHP script 直接輸入 php 就可以了,方便許多。

  • Mac OS X: How to verify a Hash digest?

    Mac OS 內建了一些校驗文字或檔案 Hash 值的指令,不過我常用的只有 md5。這天需要用 SHA1 的時候一整個想不起來要用什麼指令… XD 來彙整一下這些指令好了… 先從基本的 md5 開始。 計算檔案的 md5: $ md5 example.jpg MD5 (example.jpg) = e9f598ee0208e6757dc583303a05847a 計算字串的 md5: $ md5 -s “password” MD5 (“password”) = 5f4dcc3b5aa765d61d8327deb882cf99 計算檔案的 sha1: $ shasum example.jpg 61350660b5c4554d846cca893c09eb05e61cb223  example.jpg 其他雜湊公式: $ openssl sha1 –help  

  • Installing ionCube Loader on MAMP

    在幫客戶 debug 的時候注意到 SVN 裡一小部份程式碼居然被 ionCube 加密過了…. 加密後的程式碼丟到 SVN 是有個屁用啊。 算了,這不重要。重點是我的開發機變成也要可以執行 ionCube 才行。要在 Mac 上的 MAMP 下安裝 ionCube loader 還蠻簡單的,隨手筆記一下。ionCube 的 loader 是免費的,encoder 才要付費。 先到 Loaders for ionCube Encoded Files 下載對應的 loader。我的開發環境是 OS X (x86-64)。下載了 .zip 包,解開來有幾個檔案。 其中的數字是 PHP 的版本,例如 5.2, 5.3 等,_ts 是指 Thread Safety,MAMP 的 PHP 沒有 Thread Safety,所以選用一般版即可。如果不確定環境有沒有 ts,可以用 phpinfo 看一下。 建議將…

  • Update Subversion on Mac OS X 10.8

    雖然現在程式碼管理已經以 Git 為主了,不過偶爾需要維護一些舊案子還是會用 SVN,懶得轉了。 Mac OS 本身有內建 SVN,不過卻是 1.6 版,最近修改一個舊案子就有碰到 project 已經升 1.7,Versions 和 SmartSVN 也用 1.7,唯獨 Terminal 下的 command line 卻是 1.6 的窘境。所以想說來更新一下好了,用最簡單的方法。 先到 http://www.wandisco.com/subversion/download 下載 for Mac OS 的 SVN,目前最新的版本為 Subversion 1.7.9 for OSX 10.8.x。接著依一般 App 安裝方式進行,預設安裝路徑為 /opt/subversion。 接著在 Terminal 輸入 export PATH=/opt/subversion/bin:$PATH 來變更系統路徑。醬醬,完成。 可以用 svn –version 來看版本號碼。 $ svn –version svn, version 1.7.9 (r1462340) compiled Apr…

  • How to create MySQL configuration file (my.cnf) on MAMP?

    因為想修改 MySQL 的一些設定,卻遍尋不著 MAMP 的 my.cnf 寫在哪,後來才在一篇日文的教學裡找到蛛絲馬跡。 用以下指令可以找到 MAMP 裡的 .cnf,一開始並沒有出現 my.cnf,而是些預設的範本。 $ find /Applications/MAMP/ -name my*.cnf /Applications/MAMP//Library/support-files/my-huge.cnf /Applications/MAMP//Library/support-files/my-innodb-heavy-4G.cnf /Applications/MAMP//Library/support-files/my-large.cnf /Applications/MAMP//Library/support-files/my-medium.cnf /Applications/MAMP//Library/support-files/my-small.cnf 接著用以下指令,會看到一大排資訊。 $ /Applications/MAMP/Library/bin/mysql –help 其中可以找到這麼一行… 這一行就是 MySQL 讀取 my.cnf 的順序。 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf 接著把我需要的設定寫在其中一個就可以了。為了方便記憶和下次再找檔案,我會建議寫在這裡。 /Applications/MAMP/conf/my.cnf

  • How to find out CPU model on Mac?

    一時好奇如何查詢自己 Mac 上的 CPU 型號是什麼,在 Google 上找到了解答,只需要在 Terminal 下個指令就可以了。 sysctl -n machdep.cpu.brand_string 得到以下字串 Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz 查看完整的 CPU 資訊 system_profiler SPHardwareDataType 得到以下資訊 Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro8,1 Processor Name: Intel Core i5 Processor Speed: 2.3 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per…

  • Mac OS X: Fix Duplicate Items on「Open With…」List

    在 Mac OS X 的 Finder 中,對檔案按右鍵會有一個 Open With 的選單,選擇用哪一個軟體開啟檔案。隨著系統安裝的軟體越來越多,當然選擇也增加了。但 Mac 卻有個鳥問題,當這些軟體版本更新後,選單項目不會自動更新,而會一直增加…. 超瞎… 在一張 .JPG 圖片上 Open With 的選項居然有這麼多重複的,這其實是在催眠我該重灌 Mac 了吧? 其實是有解法的,打開 Terminal 輸入以下指令: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/\ LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local\ -domain system -domain user 執行需要幾秒的時間,然後在 Dock 上的 Finder 圖示上按下 Control + Option + 左鍵,選重新啟動 (Relaunch)。然後就會還你一個乾淨的 Open With 了,噢耶,又不用重灌了。

  • How to use the MAMP Mysql command line client in a terminal

    這篇是寫給自己的筆記,因為我老忘了路徑…. Mac 用 Terminal 登入 MAMP MySQL 的路徑如下 /Applications/MAMP/Library/bin/mysql -uroot -p

  • Enabling SSL on MAMP on OS X

    我習慣在本機上開發程式,做完初步測試後才會佈署到測試主機或正式主機。為此,有些要求使用 https 安全連線的頁面在本機就無法進入,所以才興起了在本機簽署一個憑證作為開發之用的念頭。因為步驟還蠻長的,做個筆記給未來的自己。

  • Remap windows and alt keys in Mac OS X

    原本在公司放了一把 Ducky 機械鍵盤,後來公司的開發機換成 Macbook Pro 後,這把鍵盤就英雄無用武之地,擺在旁邊積灰塵。今天在公司等待下午茶的時間,看著隔壁的同事光明正大地打起 Diablo3,我就把鍵盤接上 Macbook 試試,是可以用的 (這點我之前就試過了),只是 Alt 鍵和 Windows 鍵與 Mac OS 相反。 所以只要找個方法讓這兩個鍵相反,就跟原本的 Mac 排列相同了。 本來還以為又要靠 Terminal 還是第三方軟體才能達成,沒想到 System Preferences 裡就可以設定了。在 Keyboard 選項裡,點選 Modifier Keys…,接著照下圖設定即可。

  • Bookmark: Learning Object-C by Cocoa Dev Central

    學習 Apple APP 開發會經歷好幾個階段,像是如何使用 XCode 開發工具,如何撰寫 Object-C,以及如何使用 Cocoa。在學習 Object-C 的過程中逛到這個專門提供 iOS 程式開發教學的網站 Cocoa Dev Central,文章簡單易懂,排版也非常容易閱讀。其中關於 Object-C 的章節是我最近在閱讀的。 http://cocoadevcentral.com/d/learn_objectivec/

  • Sync Files and Folders Outside Dropbox Folder

    我是最近才開始用 Dropbox,雖然早就聽聞 Dropbox 的大名,但以前沒需求。實際有了需求才申請了 Dropbox,確實地感受到它強大的同步處理機制,如同它所宣稱的 Simplify your life,解決了我在三台 Windows,一台 MacOS 和一支 Android 手機間同步檔案的問題。 不過 Dropbox 的同步似乎限於它的資料夾,不能隨便選一個資料夾就設定同步。但是有一些檔案我並不想塞在 Dropbox 資料夾也希望能同步。這時候作業系統提供的檔案連結功能就派上用場了。微軟在 Windows Vista/7 的 NTFS 中提供了 Junction, Symbolic Link,作用等同於 Linux / Mac 下的 Symbolic Link,讓系統模擬出一組指向實際檔案位置的連結,藉此騙過應用程式。這個概念和 WinXP 時代以來就常用的捷徑 (shortcut) 不同,捷徑是無法騙過應用程式的,因為它實際上只是一個 .lnk 檔案。 使用 Symbolic Link 這種連結必須以指令的方式達成。以 Windows 7 為例,在命令提示列下輸入 mklink /D “C:\Users\Steve\Documents\Dropbox\DesiredFolder” “C:\Path\To\DesiredFolder” 在 MacOS 或 Linux 下使用 ln…

  • Disable Mac OS X mouse acceleration via the command line

    2011 年夏購入了一台 Apple Macbook Pro,從此踏入 MacOS X 的世界,當初購入的目的是想學 Ruby, RoR 和 Object-C,不過工作上幾乎還是用 Windows 7。我覺得我跟 Mac 一直沒有很熟。換了工作後發現新同事們使用 Mac 做網站開發的比例非常高,老闆也不介意我帶自己的 Mac 上班,所以就開始逼著自己長時間用 Mac 來熟悉它。 MacOS X 預設是有滑鼠加速的,這點我很不習慣,滑鼠加速會讓滑鼠在長距離移動時,游標移動的速度以等比的方式增加。個人覺得這是一種介面上的不一致,總讓我摸不透滑鼠要移多快才能到預期的點。下圖左是關閉滑鼠加速度,不管使用者的手移動多快,滑鼠游標的加速度都不會改變,所以游標的速度跟手移動的速度一致。下圖右是開啟滑鼠加速 3.6 倍,使用者的手移動越快,游標會有額外的加速度,這種不一致的速度讓我老是找不到飛到螢幕外的游標。               經過一番 Google 後發現可以用指令的方式關閉滑鼠加速。加 terminal 輸入以下指令: defaults write .GlobalPreferences com.apple.mouse.scaling -1 修改完畢後重新開機,滑鼠游標就不會再輕功似亂飄了。