存档

‘Mac OS X’ 分类的存档

不折腾之搭建Mac上的PHP开发环境

2010年8月28日 admin 没有评论

在最开始使用MacBook的时候写过一篇使用macport架设PHP开发环境的文章,但我现在已经不想在折腾这种事情了,我想这是一些对于认识的进化吧。

在最初开始学习PHP的时候,一个集成环境是多么的方便,在不理解Apache,PHP,MySQL之间的关系的时候,可以让初学者失去学习的兴趣,而PHP是一种Web语言,很少独立使用。当已经入门后,开始想搞明白开发环境,所以会选择自行搭建一个,从中也可以了解其中的一些关系。就这样开始折腾不同的安装方法与配置参数,并以此为乐趣。当对这些原理后,渐渐的失去了不断折腾的兴趣,更希望一种集成环境来简化一些工作,并且自己也可以非常灵活的设置相关配置参数。(其实这跟重装系统是一样的,想当年就经常重装系统,结果到后来,1年不重装系统是多么正常。)

在Mac系统下,集成环境不像Win那么多,XAMPP的设置非常不爽,整个目录是/Applications下面。还好Zend官方提供了Zend Server Community Edition产品,于是使用了一下,还不错,Apache,PHP,MySQL,phpMyAdmin这些基本的都有了,但还是有些东西需要调整。

下载好DMG后,直接安装,Zend Controller直接拖到应用目录就行了。所有的东西被安装到了/usr/local/zend 目录下面去了。/usr/local/zend/bin/zendctl.sh 这个脚本是管理服务脚本。Zend Server Community Edition产品自带一个管理界面,这个Web应用是使用lighttpd做为服务器,所以如果需要使用Web管理应用需要启动lighttpd服务器。注意:默认的Apache的端口不是80,所以可以自动调整一下。/usr/local/zend/apache2/htdocs的目录用户权限级是staff,所以在这个目录创建文件不需要管理员权限。

phpmyadmin也是由lighttpd提供服务的,而且默认配置只能使用127.0.0.1来进行访问。编辑/usr/local/zend/gui/lighttpd/etc/lighttpd.conf文件,搜索phpmyadmin,修改成url.access-deny = ( “localhost” )。然后重启lighttpd,可以使用上面的脚本。

MySQL的root用户没有密码。不过有一个问题默认的MySQL没有使用端口监听的方式运行,而是使用Unix的socket通信的。我试着修改/usr/local/zend/mysql/data/my.cnf 但总是不成功。

另外还集成了Zend Framework和Zend Debug这些有用的东西。

分类: Mac OS X, PHP, 思念的东西 标签:

3月过半

2010年3月15日 admin 没有评论

已经休息了有半个月了,这段时间在研究iPhone的开发,对iPhone的认识每天都在增加。虽然现在的进度比原来还是要慢一些,可能还会有几个需要进行攻克的地方。希望能在下周拿出一个完整的版本,恐怕Mac的版本是赶不及了,那么计划可能会调整一下。
最近晚上睡不着,心静不下来,休息的这段时间,作息时间需要调整一下,早睡早起是好事。
昨天,尽然发现GarageBand的钢琴教程尽然有中文字幕的,有时间的话搞个MIDI USB键盘玩玩。后面的课程可以免费下载,不过下载好了后就不要再点下载了,否则会再次下载。。。

分类: Mac OS X, iPhone OS, 思念的东西 标签:

iPad是iPhone OS新的容器

2010年3月13日 admin 2 条评论

昨天iPad开始预定了,我想一个关键问题是:你是否认为iPad仅仅是iPod Touch的放大版吗?
最近我在做一些iPhone的开发,在这之前也做了一些Mac OS X上面的工作。iPhone的OS是所使用的技术是非常先进的,据我现在所了解的,大部分Mac OS X平台上先进的技术都被放到了iPhone上,iPhone OS 3.0是一个分水岭。由于Mac OS X有历史问题,许多软件都还没有升级到新的技术平台,而在iPhone上面完全没有这种问题。随着iPhone的应用程序越来越多,从另外一个方面来讲能够为iPhone开发软件的程序员越来越多,这种资源恐怕是Apple所最需要的,而且Apple在这方面一直做得不错,相对于M$。你恐怕大概明白我的意思了,iPod Touch做为iPhone OS的容器已经太小了,显然你不能把MP3做为主要需求的iPod做成iPad的大小。又回到了前面的话题,当iPhone的程序员越来越多的时候,他们可很容易的转向也为Mac OS X开发程序,因为这些技术是共用的。当然Mac OS X也会不断的发展,什么所谓Mac OS X被iPhone干掉的说法至少在相当一段时间内的shit。随着技术发展,这两种系统在大部分技术上是相同的,但依然有他们各不相同的部分,这完全是由人机界面来决定的:物理设备和虚拟设备。
也许,现在做一个完全的“平板电脑”,有一些不明的风险。做为公司来讲也不会不考虑这个问题,这种问题在Apple也发生过,所以,我想现在的Apple肯定不会犯这种错误,先找个Kindle来练一下手。如果有另外一款Touch设备,那也许才是所谓的“平板电脑”,或许这种设备并不存在,谁知道咧?

分类: Mac OS X, iPhone OS 标签:

有趣的Xcode

2010年2月27日 admin 没有评论

Xcode用的久了,也就发现一些有趣的小功能。功能虽小,但非常有用。

1.更有效的组织你的代码
你可以比较下面两张图片:
b
另外一张,
a
图片上面的功能是显示当前编辑的文件方法和变量的信息,这是一个非常重要的功能。一方面显示整个文件定义的方法和变量,还可以快速的定位到指定的方法或变量。在Eclipse中被称为Outline的边栏也是这类东西,其它一些IDE或Edit也有类似的功能。但Xcode把这个功能进一步强化了,所带有的好处绝不只是一点点。你可以自己来组织方法和变量的信息,如图片1中的横线和描述信息。要实现如上效果也非常简单,只需要加上特殊的注释信息:
#pragma mark -
这将生成一个水平线,注意-后面不要有空格。
#pragma mark – 你的注释
效果如下,我在注释下面又加了一条水平线:
cc
这种组织方法相比用按字母排序的显示更人性化。

分类: Mac OS X 标签:

如何使用iTunes来享受iPod

2010年1月23日 admin 没有评论

按照官方的说法,iTunes 是一个供 Mac 和 PC 使用的免费应用程序,能播放你所有的数字音乐和视频、将你所有的媒体文件收藏导入 iPod 和 iPhone。精彩娱乐生活的所有一切,iTunes 随时随地为你准备就绪。简单的说,iTunes是一个媒体管理器,你可以单独使用她;如果你使用iPod或iPhone的话,iTunes是必须的。

也许你喜欢使用像千千静听或foobar 2k这类音乐播放器,但iTunes提供的Cover Flow视图是一种浏览音乐绝好的使用体验。而且,在对音乐的管理上,iTunes是非常优秀的。当然,这样的一个软件要大的多,启动的速度也没有什么优势。所以,如果你只想要一个纯音乐播放器,不需要知道是哪张专辑、作曲等等信息的话,iTunes不适合你。但是,iTunes提供的其它功能,也许会让你对她爱不释手。

Podcast,这个东西实际上是一种订阅服务,通过特定的软件浏览,所订阅的内容是一些音频和视频。通过Podcast你可以把一些文字读出来并录成音频及发布,方便用户只需要用耳朵就能了解一些有趣的事物。视频内容不如音频内容流行,当然发布视频也是可以的。这类服务在国内并不是太流行,但关于新闻的订阅还是比较流行的。可能是国内的这种服务非常少,导致让人们不能进行足够的认识。很幸运的是,有一个叫静雅思听的网站制作了一些非常好的Podcast资源,静雅思听的所有可订阅资源,直接点击栏目标题旁边的图标就可以自动订阅了。

a

订阅成功后,iTunes软件会自动检测是否有新的内容更新,如果有更新的话会自动下载的本地并标识为未观看。
b

那个圆圈代表观看的进度,如果是实心的话表示没有观看过,如果不是实心的话会显示这个文件观看到哪一个位置了,下次播放的时候会从这个位置开始播放。

如果你使用iPod来同步你的Podcast的话,默认情况下iTunes只会把你没有观看过的内容同步到你的iPod,这种同步连播放到那个位置都同步了,你不用担心要手动跳到后面的位置。这种功能是不是非常具有人性化,哈哈。

苹果官方有一个iTunes Store里面也有许多的Podcast资源,实际上你可以在那里面找到静雅思听。

Genius是一个比较新的功能,这个功能的牛B之处就是可以帮你在你的音乐库找到类似的曲目,但这之前有两个前提条件,一个iTunes Store的帐号和完整的曲目信息。由于iTunes Store的帐号是区分国家的,可能注册上有点麻烦,不过已经有很多教程了。如果你的音频没有曲目信息的话,那这个功能也基本上残废了。但是花点时间去注册和收集有曲目信息的音乐有时候会给你带来意想不到的喜悦。

智能播放列表这种东西与iPod一起使用非常有意思。在与iPod同步的时候,可以选择同步特定的播放列表,因为我不想我的iPod的里的音乐是一样的。所以我要创建一个智能播放列表,我希望所有的音乐评分大于2星或者所有最近一周内播放过的音乐,最后由于我的iPod容量有限,我只想同步最多不超过4G的音乐。
c

这个播放列表够智能的吧,还有许多条件给你自行选择,多试几次你就会知道了。

当你每次把iPod接到电脑的时候,iTunes会自动根据你的设置把你的iPod同步成最新的状态,完全不用操心管理任务东西,而iTunes也强制你不能做一些其它的细微的操作,也许刚一上来觉得非常不好用,那是因为你原来没有用过这种更好的音乐管理体验,当你尝试后,你会发现这是多么的人性化。还在犹豫什么咧,你可以去淘宝网看看iPod,或者去苹果官方网站查看更多的信息

分类: Mac OS X, 思念的东西 标签:

设置合适的Time Mechine硬盘大小

2010年1月4日 admin 没有评论

Time Mechine是一个用起来非常舒服的东西。但是需要额外一块硬盘作为代价,还好现在随便找一块硬盘还算方便。虽然有Time Capsule这种官方的解决方案,但你确信你需要这玩意?如果只需要备份你的系统和有一块额外硬盘,那么,你可以继续往下看。
Time Mechine备份数据的特点是只备份上一次修改过的数据,但你可以找回已前任意的一个版本,只会占用少量的额外硬盘空间,这与Ghost备份所需要的磁盘空间有非常大的差距。Time Mechine所占用的磁盘大小,只会影响保存系统版本数量有关,在磁盘空间不够时会提示你删除旧的系统版本,所以,Time Mechine的磁盘空间不需要设太大,不然就有点浪费硬盘空间,因为有难想像你记得几个月前某个文件。当然,这个功能也许会在某些时间救你一命,所以,你可以根据自己额外硬盘的情况来分配硬盘空间,使用Time Mechine的硬盘,将被格式化成Mac的文件格式,Win下面是无法正常读取的。一般设置成你当前系统的2倍左右的空间就可以了,如果你有很多视频并且不断添加新的视频的话,就另当别论了,那样直接上Time Capsule比较好。
在使用Time Mechine还原系统的时候,如果你有排除过的目录,那个这个目录在还原系统后会消失,因为这个目录不在Time Mechine的版本中,请注意。这个教训非常深刻。

分类: Mac OS X 标签:

免费的可视化的HTML编辑器

2009年12月28日 admin 没有评论

Dreamweaver是非常好的可视化HTML编辑器,但必尽是收费软件。虽然这个软件也有Mac版,但我感觉不怎么好用,之后就被我删除了。我一直使用Aptana做为我的主要IDE开发工具,但这种软件也无法达到像Dreamweaver这样的高度,因为Aptana这类软件只能提供一个内嵌的浏览器来预览,但始终不能进行编辑。
像专业的前端开发人员,手写HTML代码不应该是问题,所以可视化编辑并不是必须的。也许更希望看到某一个HTML标记的长宽、padding、margin属性信息。于是我想到了Firebug Lite,如果你不知道Firebug是什么的话,你基本不用做前端的东西了。由于Firebug现在只能在Firefox中运行,其它浏览器无法得到这个扩展带来的帮助,但Firebug有一个Lite版本,可以在任意浏览器中运行。Firebug Lite是用纯JavaScript实现的,并不依赖任务浏览器环境,但在提供的功能上要差许多,但是查看每一个HTML标记的坐标信息还是显示了的。
使用Firebug Lite也非常简单,只需要在页面中加载一段js就可以了。

<script type='text/javascript' 
        src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>

这样的话就可以结合Aptana + Firebug Lite来做简单的页面设计开发了。

分类: Mac OS X, Web 标签:

Mac OS X 10.6下简单搭建Lighttpd+PHP+MySQL环境

2009年12月22日 admin 2 条评论

其实这类文章网上已经比较多了,不过现在最新的版本是10.6,所以重新整理一下。并且尽量使用官方提供的安装包。

虽然在Mac OS X 10.6中是自带Apache,但没有mod_php5,所以没法简单的开启php的支持。不过在Mac OS X 10.5中是自带mod_php的。如果在Mac OS X下做开发,MacPorts是必不可少的东西,这是一款包管理软件。当然,还是有其它的包管理系统FinkHomebrew这些选择,不过今天的重点是如何快速的搭建Lighttpd+PHP+MySQL环境。

首先,需要安装MacPorts,在安装之前,必须先安装Xcode Tools,在安装选项确保已经选中命令行开发。一般买Mac的时候,会附赠两张光盘:系统盘和开发工具盘,你可以在开发工具盘里找到Xcode Tools,或者去Apple官方网站去下载最新的Xcode Tools。

在MacPorts的官方下载页面选择你的Mac OS X版本,最新的版本是1.8,下载好镜像运行安装程序即可。在安装过程中会进行源码树同步,所以不必在安装完成后执行sudo port -v selfupdate。

安装lighttpd非常简单,只需要执行:
sudo port install lighttpd

等安装完毕后,按提示执行:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.lighttpd.plist

运行之后每次开机会自动启动lighttpd,之后你需要创建一个默认的配置文件,不过已经有一个样例文件
cd /opt/local/etc/lighttpd/
cp lighttpd.conf.default lighttpd.conf

在lighttpd.conf的配置文件中,取消mod_fastcgi前面注释,以启用fastcgi的支持。接着搜索fastcgi.server,取消该配置项前面的注释。类似于下面
fastcgi.server = ( “.php” =>
( “localhost” =>
(
“socket” => “/opt/local/var/run/lighttpd/php-fastcgi.socket”,
“bin-path” => “/opt/local/bin/php-cgi”,
“max-procs” => 1,
“bin-environment” => (
“PHP_FCGI_CHILDREN” => “1″
),
)
)
)
由于是在自己的开发机上,可以设定PHP_FCGI_CHILDREN为1,这样就只会产生一个php-cgi进程。

注意:请确保/opt/local/var/log/和/opt/local/var/run/这两个目录可写,通过以下命令修改权限,
sudo chmod 777 -R /opt/local/var/log/
sudo chmod 777 -R /opt/local/var/run/

现在开始安装MySQL,为了简单方便,我们直接从官方网站下载已经做好的镜像文件,在安装镜像文件中,自带了系统偏好设置项,安装之后可以通过系统偏好设置项来启动MySQL。

最后,安装PHP,需要注意在最新的MacPorts中有4个版本的PHP:php4、php5、php5-devel、php52,其中php5是最新的PHP 5.3,其它的一些库的只支持这个版本的,所以这里我就安装php5这个版本。至少php 5.3和php 5.2的区别可以去查看一下文档。由于使用fastcgi运行,所以在安装php5的时候加上fastcgi这个参数,
sudo port install php5 + fastcgi

安装完成后,我们需要创建一个 php.ini文件
sudo cd /opt/local/etc/php5/
sudo cp php.ini-development php.ini

在php.ini文件中找到cgi.fix_pathinfo = 1这一行,取消前面的注释。

在PHP 5.3中有一点需要说明,MySQL的原生驱动已经在PHP的源码里面了,在原先的版本中PHP的MySQL扩展使用的是libmysql这个库,不过现在已经内置了一个性能更好的库。注意:这和mysql扩展不是一类东西,所以,在PHP中依然使用mysql、mysqli、pdo_mysql这三种扩展。要安装这三个扩展的支持也非常简单,
sudo port install php5-mysql

安装完成后,需要设定mysql的socket连接,修改php.ini文件中以下几项

pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket =/tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock

这样一个简单的Lighttpd+PHP+MySQL环境就可以运行了。

分类: Mac OS X, PHP 标签:

在Mac OS X 10.6上安装PHPUnit

2009年12月13日 admin 没有评论

在最新的Mac OS X 10.6中,默认自带一个CLI的PHP解释器和PEAR库,所以安装PHPUnit非常方便,但按PHPUnit的文档说明可能会出现安装不成功的问题,这是由于PEAR库比较旧,需要升级一下。打开终端执行:
sudo pear upgrade PEAR
然后再按PHPUnit文档中安装章节中的那样:
sudo pear channel-discover pear.phpunit.de
sudo pear install –alldeps phpunit/PHPUnit
完成之后就可以运行phpunit了。

分类: Mac OS X, PHP 标签:

看来很是期待Mac OSX 10.6呀

2009年7月15日 admin 没有评论

今天把我工作主要的开发工具Aptana升级到了1.5版,按官方的releasenote说明,性能得到大幅提升,这点的倒是非常明显,但内存占用还是挺大的,不过Safari在内存也是非常惊人。其原因是新的Aptana是基于Eclipse 3.5,而Eclipse 3.5是基于Cocoa的,如果说Eclipse转换到基于Cocoa而不是Carbon,因此性能得到挺升,那么Mac OSX 10.6中许多组件都转移到Cocoa,那样性能的提升就非常明显了。

分类: Mac OS X 标签: