Category: MacOS X

Set the Primary Display on a Dual-Screen Mac Setup

Posted by – January 22, 2014

多螢幕的作業環境非常方便,以前在當文字編譯的時候,因為公司提供每人兩台螢幕,那時候第一次感受到多螢幕對工作效率的提升非常顯著。
這次則是購入了 Dell U2414H 螢幕來作為第二螢幕。接上 Mac mini 後,一時想不起來怎麼設定 Mac OS 的主要螢幕。摸索了一陣才想起來這個設定藏在一個很難發掘的地方。

原來是在 System Preferences... > Displays > Arrangement。

然後拉那條白色的 bar,移到另一個螢幕就是設定主螢幕了。就醬,一點都不難,但是因為沒有提示,少用就忘記了。

mac_os_x_set_primary_screen

 

Mac OS X VPN 設定

Posted by – January 16, 2014

工作的關係常要跑到客戶那邊處理一些有的沒的,從外面要連回公司要用 VPN 連線。

前些時候把 Macbook Pro 洗白白重灌 Mavericks 後,覺得 VPN 就怪怪的,顯示的 IP 都不是公司的 IP。

找了一下設定,原來是少勾了一個選項。
先打開網路設定,進入 VPN 的畫面,點選右下方的 [Advanced...]。

mac_os_x_vpn_setting_step_1

More

Disable Cache for PHP 5.5.3 in MAMP

Posted by – January 3, 2014

前些時間接手一個已經上線的案子,進行改版作業。從 Git 上把 code 拉下來,執行一下就... 爆了。發現同事用了相當新的 PHP 語法。我本機的開發環境是 PHP 5.2.x,無法執行。

馬上想到 MAMP 可以切換成新的版本,切換成 5.5.3 問題就解決了。

MAMP PHP version switch More

Installing node.js on OSX 10.9 Mavericks

Posted by – January 2, 2014

除了 LAMP 外,一直想學點新把戲。2014 年的第二天,終於把工作告一段落,偷閒來看一下 AngularJS 的教學。沒想到教學文件是基於 node.js 執行的。

不過以前在 Mac OS X 上安裝 node.js 還挺麻煩的。沒想到跑去 node.js 網站上一看,居然已經有 node 和 npm 包在一起的 pkg 安裝包了,真是佛心。所以安裝完全無痛啊!

NodeJS Official Site More

Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections

Posted by – August 22, 2013

Mac OS 會在資料夾寫入一個名為 .DS_Store 的隱藏檔,這個檔案是用來紀錄該資料夾的一些自定義屬性,像是檔案排列之類的。有點像 Windows 的 Thumbs.db,都是挺令人煩燥的檔案,儘管正常情況下是看不到的。

Mac OS 預設很奇妙地會在許多地方留下這個足跡,例如隨身碟或連線磁碟,留在本機就算了,留在非本機硬碟真的很惱人。

還好,這個設定是可以修改的,打開 Terminal 輸入以下指令:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

如果要改回來,在 Terminal 輸入以下指令即可。

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

適用的 Mac OS 版本:10.4 ~ 10.8。

Run a PHP script from the command line with MAMP

Posted by – August 8, 2013

我在 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?

Posted by – July 3, 2013

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

Posted by – June 10, 2013

在幫客戶 debug 的時候注意到 SVN 裡一小部份程式碼居然被 ionCube 加密過了.... 加密後的程式碼丟到 SVN 是有個屁用啊。

算了,這不重要。重點是我的開發機變成也要可以執行 ionCube 才行。要在 Mac 上的 MAMP 下安裝 ionCube loader 還蠻簡單的,隨手筆記一下。ionCube 的 loader 是免費的,encoder 才要付費。

先到 Loaders for ionCube Encoded Files 下載對應的 loader。我的開發環境是 OS X (x86-64)。下載了 .zip 包,解開來有幾個檔案。

Unpacked ionCube Loader File

其中的數字是 PHP 的版本,例如 5.2, 5.3 等,_ts 是指 Thread Safety,MAMP 的 PHP 沒有 Thread Safety,所以選用一般版即可。如果不確定環境有沒有 ts,可以用 phpinfo 看一下。

建議將 loader-wizard.php 丟到 MAMP/htdocs 下面執行一下,會提示安裝路徑和是否安裝成功等訊息。

以我的環境來說,我是把 ioncube_loader_dar_5.3.so copy 到

/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/ioncube_loader_dar_5.3.so

接著打開 /Applications/MAMP/bin/php/php5.3.6/conf/php.ini,在 1085 行左右加上以下設定:

zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/ioncube_loader_dar_5.3.so"

注意:如果 php.ini 裡沒有出現 zend_extension,這行加在任一位置,否則,把它加在第一個 zend_extension 語句前。

存檔,重新啟動 server,再用 loader-wizard.php 檢查一下,確定 loader 安裝成功。

Install ionCube successfully

Update Subversion on Mac OS X 10.8

Posted by – May 21, 2013

雖然現在程式碼管理已經以 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 3 2013, 13:49:20

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

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

Posted by – March 14, 2013

因為想修改 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