Mac OS X:Web 开发与自动化的理想之选
1. 数据库相关
PHP 和 MySQL 通常协同运行,当 MySQL 启动后,PHP 会立即感知到,刷新 PHP 信息页面即可确认。不过,在 PHP 中访问 MySQL、在 MySQL 里设置用户账户以及数据库编程等内容较为复杂,可通过在线资源及相关书籍深入学习,如《Beginning PHP and MySQL 5》《PHP and MySQL Web Development》《MySQL》等。
PostgreSQL 是企业级的开源数据库解决方案,具备高级特性(如存储过程),但对用户专业性要求较高,缺乏 MySQL 的便捷引导。对于 Mac OS X 用户,可在 www.entropy.ch/ 获取 Mark Liyanage 维护的安装包,更多信息可访问其官网 www.postgresql.org/ 以及苹果相关页面 http://developer.apple.com/internet/opensource/postgres.html 。
常见的开源服务器技术组合被称为 LAMP,即 Linux、Apache、MySQL 和 PHP。
2. 域名技巧
- 自定义域名不依赖 DNS :Mac OS X 允许在本地覆盖 DNS,可通过编辑 /private/etc/hosts 文件将网址映射到 IP 地址。这样做的好处一是避免整天查看枯燥的 IP 地址,能为本地网络机器赋予有趣的名称;二是在本地开发网页时,可解决绝对路径导致的问题。操作步骤为:用喜欢的文本编辑器打开 /private/etc/hosts 文件,添加“127.0.0.1 mydomain.com www.mydomain.com”,注意在上网前将文件恢复正常,且不要编辑文件中的现有条目。
- 动态 DNS :若想在家搭建个人网站又不想购买静态 IP 地址,可使用动态 DNS 服务,如 No - IP(www.no - ip.com/)和 FreeDNS(http://freedns.afraid.org/)。这些服务能将域名指向动态 IP 地址,且刷新时间短,更改传播迅速。
3. 其他考虑因素
- Mac OS X Server :若将网站作为爱好或小型企业运营,标准的 Mac OS X“客户端”版本即可;若有企业级需求,可考虑苹果的服务器版本,它具备额外的管理功能,用户体验良好,详情可访问 www.apple.com/server/macosx/ 。
- Ruby on Rails :除 PHP 外,Ruby on Rails 是快速崛起的 Web 应用开发平台。Ruby 是面向对象的编程语言,Rails 是基于 Ruby 的开发框架,Leopard 系统已包含它们,更多信息可查看 http://developer.apple.com/tools/rubyonrails.html 。
4. 自动化工具 Automator
- 启动与模板选择 :从应用程序目录双击 Automator 图标可启动该工具,启动后会出现模板面板,模板围绕不同类型的数据分类,如文件与文件夹、音乐与音频、照片与图像、文本等,还有自定义选项。以文本模板为例,选择后从“获取内容来源”下拉菜单中选择用户输入,并设置“运行工作流程时询问文本”,然后点击“选择”按钮。
-
工作流程(Workflows)
:Automator 编写的程序称为工作流程,它由一系列简单指令(动作)组成,还可包含变量。动作类似窗口,有标题栏、内容视图和标签式详细视图。标题栏左侧的披露三角形可展开或折叠动作,右侧的 X 图标可移除动作(可通过编辑菜单中的撤销或 Cmd + Z 恢复)。例如,在工作流程中设置“询问文本”动作,将问题文本设为“我要搜索什么关键词?”,勾选“需要答案”,保留“取消”和“确定”按钮,点击工具栏的“运行”按钮,会弹出设计好的对话框,输入搜索词并点击“确定”后,工作流程会继续执行。工作流程下方的标签式详细视图有三个标签:
- 结果(Results) :运行工作流程时可在此查看动作结果,结果可能包含复杂数据,如图像。
- 选项(Options) :是 Automator 的偏好设置,通常只有在运行工作流程时显示动作这一选项,测试时有用,实际使用可能会造成干扰。
- 描述(Description) :显示动作的名称、图标、功能描述、输入输出要求、版本、版权信息等。
| 标签 | 功能 |
|---|---|
| 结果 | 查看动作结果,可能包含复杂数据 |
| 选项 | Automator 偏好设置,如运行时显示动作 |
| 描述 | 显示动作详细信息 |
-
动作(Actions)
:动作是 Automator 的基本工作单元,通常获取数据、请求应用程序执行任务并产生结果,结果可作为下一个动作的输入。可用动作位于库侧边栏,可通过工具栏的“隐藏/显示库”按钮或视图菜单进行显示或隐藏。侧边栏有“动作”和“变量”两个标签,每个标签有两列,左列是分组,选择分组会在右列显示其内容,可通过顶部搜索框过滤右列项目。动作分组如下:
- 日历(Calendar) :iCal 日历、事件和待办事项。
- 联系人(Contacts) :地址簿联系人信息。
- 开发者(Developer) :Xcode、SQL、CVS 等开发工具。
- 文件与文件夹(File & Folders) :Finder 项目和任务,如移动、复制、删除项目,设置桌面图片,设置 Spotlight 注释等。
- 字体(Fonts) :字体管理任务和元数据。
- 互联网(Internet) :Web 和 RSS 数据,包括提取、过滤和加载 URL。
- 邮件(Mail) :邮件任务,如获取、过滤、显示和发送邮件。
- 电影(Movies) :QuickTime、iMovie、iDVD 和 DVD 播放器动作。
- 音乐(Music) :iTunes 和 iPod 动作,以及实用的文本转音频文件动作。
- PDF(PDFs) :Preview 中创建、控制或提取 PDF 文档数据的动作。
- 照片(Photos) :iPhoto、Preview 和 QuickTime 中获取、处理和组织照片的动作,包括控制数码相机和 iSight 网络摄像头。
- 演示文稿(Presentations) :Keynote 中控制幻灯片演示的动作。
- 文本(Text) :TextEdit 中创建、编辑和处理文本文档的动作。
- 实用工具(Utilities) :系统服务和 Automator 控制动作,如刻录磁盘、显示不同类型的对话框,以及运行 AppleScript、运行 Shell 脚本和运行工作流程等动作。
- 其他(Other) :理论上包含不适合其他分组的动作,实际由开发者定义分组,若未指定则归为此类。
graph LR
A[Automator启动] --> B[选择模板]
B --> C[选择数据来源]
C --> D[选择数据提供时间]
D --> E[创建工作流程]
E --> F[添加动作]
F --> G[运行工作流程]
5. 使用动作进行 Google 图片搜索示例
- 生成搜索 URL :从实用工具组中拖动“运行 Shell 脚本”动作到工作流程,它会自动与“询问文本”动作连接。在“Shell”下拉菜单中选择“/bin/bash”,“传递输入”下拉菜单选择“作为参数”,在文本区域输入以下脚本:
echo "http://images.google.com/images?q="$1
运行工作流程将生成完整的 Google 图片搜索 URL。
-
提取链接
:拖动“从网页获取链接 URL”动作,勾选“仅返回与起始页面同域的 URL”选项。由于 Google 搜索结果页面有很多非图片链接,需拖动“过滤 URL”动作,设置过滤规则为以“http://images.google.com/imgres?imgurl=”开头的链接。
-
提取图片链接
:再次添加“运行 Shell 脚本”动作,输入以下脚本:
for url in $@
do
url=${url##*imgurl=}
url=${url%%&*}
echo $url
done
该脚本用于提取图片的实际链接。
-
下载图片
:拖动“下载 URL”动作,Automator 会自动处理列表输入,下载图片。
Mac OS X:Web 开发与自动化的理想之选(续)
6. 自动化操作的总结与拓展
通过前面使用 Automator 进行 Google 图片搜索的示例,我们可以看到 Automator 强大的自动化能力。它允许用户通过简单的拖放操作,将不同的动作组合成一个完整的工作流程,从而实现复杂的任务自动化。
在实际应用中,我们可以根据自己的需求,灵活运用各种动作来完成不同的任务。例如,如果我们想要对一组照片进行批量处理,我们可以按照以下步骤操作:
1. 选择“照片”模板,从“获取内容来源”选择本地照片文件夹。
2. 拖动“调整图像大小”动作,设置合适的尺寸。
3. 拖动“添加水印”动作,设置水印的文本、位置和透明度等参数。
4. 拖动“保存图像”动作,选择保存的位置和文件格式。
通过这样的操作,我们可以快速地对大量照片进行统一的处理,提高工作效率。
同时,我们还可以利用 Automator 的变量功能,使工作流程更加灵活。变量可以在工作流程中存储和传递数据,我们可以在不同的动作中使用变量来动态地调整参数。例如,在上述照片处理的工作流程中,我们可以使用变量来存储水印的文本,这样在每次运行工作流程时,我们可以根据需要输入不同的水印文本。
7. 不同类型动作的应用场景分析
为了更好地利用 Automator 的各种动作,我们来分析一下不同类型动作的常见应用场景。
|动作类型|应用场景|
| ---- | ---- |
|日历(Calendar)|自动创建会议安排、提醒待办事项等。例如,每天自动创建一个提醒自己查看邮件的事件。|
|联系人(Contacts)|批量更新联系人信息、根据特定条件筛选联系人等。比如,将所有联系人的电话号码格式统一。|
|开发者(Developer)|自动化代码编译、部署和测试等任务。例如,在每次代码修改后自动运行测试脚本。|
|文件与文件夹(File & Folders)|定期备份重要文件、清理临时文件等。比如,每周自动将指定文件夹备份到外部硬盘。|
|字体(Fonts)|安装新字体、检查字体更新等。例如,当有新字体可用时自动下载并安装。|
|互联网(Internet)|定期获取网页内容、监控网站更新等。比如,每天自动获取新闻网站的头条新闻。|
|邮件(Mail)|自动分类邮件、批量回复邮件等。例如,将所有来自特定发件人的邮件标记为重要。|
|电影(Movies)|批量转换视频格式、剪辑视频等。比如,将一组视频文件转换为适合移动设备播放的格式。|
|音乐(Music)|批量重命名音乐文件、创建播放列表等。例如,将所有音乐文件按照歌手和专辑进行分类重命名。|
|PDF(PDFs)|合并多个 PDF 文件、提取 PDF 文本等。比如,将多个报告文件合并成一个 PDF。|
|照片(Photos)|批量调整照片大小、添加效果等。例如,将一组照片调整为统一的尺寸并添加复古效果。|
|演示文稿(Presentations)|自动更新幻灯片内容、生成演示文稿等。比如,根据数据自动更新幻灯片中的图表。|
|文本(Text)|自动生成报告、替换文本内容等。例如,根据模板自动生成月度工作报告。|
|实用工具(Utilities)|定时关机、弹出提醒对话框等。比如,在工作一段时间后自动弹出休息提醒对话框。|
|其他(Other)|开发者自定义的特殊任务,根据具体需求而定。|
8. Automator 与其他工具的结合使用
Automator 可以与其他工具结合使用,进一步扩展其功能。例如,它可以与 AppleScript 结合,实现更复杂的自动化操作。AppleScript 是一种专门用于 Mac OS X 的脚本语言,它可以控制各种应用程序的行为。
我们可以在 Automator 的工作流程中使用“运行 AppleScript”动作,来执行 AppleScript 脚本。例如,我们想要自动打开多个应用程序并执行特定的操作,我们可以编写以下 AppleScript 脚本:
tell application "Safari"
activate
open location "https://www.example.com"
end tell
tell application "Mail"
activate
end tell
然后将这个脚本添加到 Automator 的“运行 AppleScript”动作中,当工作流程运行时,它会自动打开 Safari 浏览器并访问指定的网站,同时打开 Mail 应用程序。
此外,Automator 还可以与 Shell 脚本结合使用。在前面的 Google 图片搜索示例中,我们已经看到了如何使用“运行 Shell 脚本”动作来执行 Shell 脚本。通过结合 Shell 脚本,我们可以利用 Shell 的强大功能,如文件处理、网络操作等,来完成更复杂的任务。
9. 安全与性能考虑
在使用 Automator 进行自动化操作时,我们需要考虑安全和性能方面的问题。
-
安全方面
:由于 Automator 可以执行各种操作,包括访问文件、网络等,我们需要确保工作流程中使用的动作和脚本是安全的。避免使用来源不明的动作和脚本,防止恶意代码的注入。同时,在涉及到敏感信息时,如密码、账号等,要注意保护这些信息的安全。
-
性能方面
:复杂的工作流程可能会消耗较多的系统资源,导致系统运行缓慢。因此,在设计工作流程时,要尽量优化动作的组合,避免不必要的重复操作。同时,要注意动作的执行顺序,合理安排数据的传递和处理,以提高工作流程的执行效率。
graph LR
A[选择应用场景] --> B[确定所需动作类型]
B --> C[选择具体动作]
C --> D[组合动作成工作流程]
D --> E[考虑安全与性能]
E --> F[运行工作流程]
F --> G[评估效果并优化]
10. 总结
Mac OS X 提供了丰富的工具和功能,无论是在 Web 开发还是自动化操作方面,都具有很大的优势。通过 MySQL、PostgreSQL 等数据库的支持,我们可以轻松地搭建 Web 服务器;通过 Automator 和 AppleScript 等自动化工具,我们可以实现各种任务的自动化,提高工作效率。
在实际应用中,我们要根据自己的需求,灵活运用这些工具和功能。同时,要不断学习和探索,掌握更多的技巧和方法,以充分发挥 Mac OS X 的潜力。希望本文能够帮助你更好地了解和使用 Mac OS X 的相关功能,让你的工作和生活更加便捷。
超级会员免费看

被折叠的 条评论
为什么被折叠?



