值得购买的Mac App清单

常用,值得花钱购买的!

A Better Finder Rename 9 帮助你快速地同时更改多个文件名称,并且附有多种更改的选项的一款批量命名工具。
Adobe Illustrator CS5 矢量图形工具
Adobe Photoshop CC 2014 照片处理工具
Adobe Premiere Pro CS6 视频制作工具
Airmail 2 一款轻量级的邮件客户端,支持Gmail,iCloud,AOL及其他IMAP类型邮箱产品,几乎拥有Sparrow所有的功能,界面也如Sparrow一样简洁,同时提供了多种主题和消息推送功能。
Alfred 2 Alfred本质上是一种Spotlight的化身,但更好,扩展更强大。
AppDelete 一个OS X 上的卸载程序,不仅会删除应用程序,而且会删除随着关联文件的小工具,偏好窗格,插件和屏幕保护程序。操作也十分简单,只需拖拉程序到 AppDelete 窗口内就可以了。
Archiver 一款功能齐全的压缩解压工具
Axure RP Pro 7.0 帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示 意图、操作流程图、以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与开发。
Bandizip X 一款易用、可靠和快速的解压缩软件。这款解压缩软件可以解压目前最流行的压缩格式
Bartender 一款非常实用的Menubar菜单栏管理小助手。
BatchInpaint 一款简单实用的图片去水印软件,能够对指定的图片进行水印去除。当然你也可以去除不需要的任何一个图片区域,包括文字,人物,线条等等。
Capture NX 2
Capture One 专业的原始文件转换器和图像编辑软件。它将所有必备工具和高端性能融于一体、使您在一套快捷、灵活且有效的工作流程中捕获、整理、编辑、分享以及打印图像。Capture One Pro 强大且直观的工具组合为专业摄影师所使用、以卓越色彩和细节实现世界一流的图质。
Charles 一款Mac上的HTTP代理服务器、HTTP监视器、反向代理服务器,可以让开发者监视查看所有连接互联网的HTTP通信,包括请求,响应和HTTP头信息等等,俗称“抓包”工具,对于Web开发人员来说是一款很有价值的辅助工具,具有Firefox插件
Clarify 图片标注应用
CodeKit 一款非常强大帮助建立网站实用小工具,它可以自动编译 Less、Sass、Stylus、CoffeeScript、Jade或Haml 的脚本文件,节省大量时间。
Coffitivity 比起在安静的 家中/办公室 一个人办公,似乎周围有些噪音反而会让人保持高效率/高创作欲望的工作,比如在咖啡馆?

Coffitivity 就是一款模拟(国外)咖啡馆内背景音的服务。一段25分钟,恰好等于一个番茄钟

DaisyDisk Mac平台的可视化的硬盘空间存储状态检查工具,它可以对你的磁盘使用状况进行准确的分析,让你非常轻松就能揪出占用磁盘空间的那些文件,使用起来非常方便,安装之后,选择磁盘——Scan,几分钟之后就可以看到结果。
Disk Drill Mac上的数据恢复软件,它能从你硬盘上恢复你丢失的数据,并支持外置硬盘, 支持HFS, HFS+, FAT, NTFS 等文件系统。
djay 一个非常简单实用的 DJ 播放软件,完全模拟了真实硬件的所有功能,自动获取 iTunes 内的曲库,操作非常顺畅方便,简单易用,资源占用率很低,操作基本上无延迟。
ExpanDrive 为每个应用程序构建云存储的云盘创建工具,就如同在Mac上的插上USB驱动器。有了ExpanDrive,你可以安全地直接从Finder甚至终端访问任何远程文件服务器。
FaceFilter3-PRO 一款基于专业的美容理论,具有一套完整的化妆系统的专业人像美容特效工具。简单地修饰你的照片,使您在任何情况下都更好看
Fantastical Mac平台上一个非常受欢迎的日历应用
Fonts Sketch出品公司制作的字体查看工具
GitStatX 统计Git信息生成报表的工具
Hocus Focus 自动隐藏 闲置 应用程序 视窗
HTTPScoop HTTP监视器
HueShifter 一款惊人的颜色替换或图像“颜色漂移”的新应用程序。不像其他的图形应用程序, HueShifter作品在视觉上保持一致性色彩让您可以做出几乎是察觉不到的变化
iA Writer iA Writer提供了独特的“无干扰模式”,该模式隐藏了一切可能对写作造成干扰的界面元素,只留下一张白纸、一个键盘,以及右上角灰色的“小锁头”(这是 用来退出无干扰模式的),而且只高亮显示正在编辑的几行文字,其余的文字会淡化处理,想来也是为了最大程度的让写字者集中注意力于当前的文字。
IconKit 一款ICON图标制作工具,它能带给你的出色使用体验,可以帮助广大开发人员、设计师和编辑轻松拖动生成512 x 512规格大小的ICON图标,然后做你想做的事情
iExplorer 可以让你非常轻松的访问到 iPhone/iPad 上的应用程序目录、照片目录,比如你 iPhone 照片库中的照片都可以直接在 iExplorer 的界面中访问到,而通过其他第三方程序创建的内容,也基本都可以从这个 iExplorer 中直接在电脑上读取。
Image Smith 一款Mac平台的图片批量转换工具,支持多种常见的图像格式,如JPG、GIF、PNG。功能:包含了30种以上预置设定的缩放与大小调整、翻转或旋转、色调、饱和度、明亮度等內容的修改、对比度控制、套用深褐色效果……等等,同时亦可于处理前进行预览。
Image Vectorizer BITMAP IMAGE TO VECTOR GRAPHIC CONVERSION AT THE TOUCH OF A BUTTON
Instant 把照片处理成宝丽来效果应用
Kaleidoscope 一款很强大的文件和图像比较工具,支持任何文本文件和 jpeg、tiff、png、psd 等格式的图像文件,同时和 git、svn 等版本控制工具能够完美的结合。
MAMP PRO Mac OS X 上专业级版本的经典本地服务器环境的软件。MAMP这几个首字母代表苹果的OSX系统上的Macintosh、Apache、MySQL和PHP,顾名思义,你应该知道MAMP的强大功能! MAMP 内含 Apache 伺服器、PHP 安装套件以及MySQL安装套件。
Mindjet MindManager 一个创造、管理和交流思想的通用标准,其可视化的绘图软件有着直观、友好的用户界面和丰富的功能,这将帮助您有序地组织您的思维、资源和项目进程。
MongoHub Mongo DB 客户端
MouApp Markdown 编辑器,两栏界面,直观清爽,功能简洁到位
Mouseposé 录屏或者接投影仪做演讲时,常常希望观众更清楚的看到鼠标位置、点击操作以及键盘输入的字符。
MyThoughts 一款先进、全面而又富有创新的思维导图软件,是头脑风暴展现的极佳助手,拥有3000种图像说明、无缝集成iPhoto,可以添加外链、QuickTime视频及社交分享等等。
Napkin 250元的精巧图形标记小应用
Navicat Premium 一套数据库管理工具,让你以单一程序同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
Numi 2 一款切换你键入文本的程序。它结合和文本编辑器,计算器和定制机制,你只需直接键入,不必切换你键入的是文字,数字,它会自动切换并计算,这款程序存在菜单栏里,简单方便,不会占用你太多空间。它还有自动求和和%改进工作,还支持货币符号哦,允许你与其他Numi用户共享你的计算。
OmniFocus 最强GTD工具
OmniOutliner Professional 日常工作想法记录的一款软件工具,OmniOutliner可以草案待办事项清单,建立日程,管理任务,跟踪费用,笔记,计划活动. OmniOutliner是一个灵活的集创造、收集、组织信息为一体的软件。
PaintCode 专门为设计师准备的简单的矢量图形绘图应用程序,通过PaintCode没有编程经验的设计师也能立即画出美丽的控件,图标或其他UI界面元素并直接生成适用于iOS或者OS X的Objective-C代码。
Paparazzi! 输入网址 将网页保存成Sketch文件
Paste 颜值很高的剪贴板管理工具
Permute 音视频格式转换器,非常小巧便捷,支持拖拽操作转换视频及音频文件,几乎支持市面上所有的视频及音频格式,支持将视频格式转换成苹果电视、Xbox、Playstation、iPhone等常见的移动设备可播放的音视频格式。
PhotoBulk 图片批量水印工具,无论是文字类还是图片类的水印,PhotoBulk 都能替你加上,通过两侧写着 text 和 image 的开关就能调节。对于水印,软件提供了一些最基本的设置,比如文字的字体、大小,图片的分辨率、透明度等。
photomosaic 制作马赛克拼图工具
Pixate Studio 交互原型制作工具
Pixelmator Photoshop 的替代软件 ,它是Mac 平台上专有的图像处理软件。
Quiver 程序员专用的记事本应用,可轻松混合文本、代码、Markdown 文本到一个记事本中。提供强大的代码编辑,以及对 Markdown 和 LaTeX 的编辑和即时预览,提供全文搜索功能。
Reeder 最好体验的RSS阅读工具
Reflector 通过 AirPlay 功能将 iPhone/iPod Touch/iPad 屏幕镜像直接输出至 OS X 系统的应用。
Reveal XCode 界面开发辅助工具
ScreenFloat 一款能保持你所需要信息总是可见的小工具。ScreenFloat 会把你需要的相关部分进行截图,并且使这截图信息会浮显示在所有窗口的最前面。
ScreenFlow 强大、易于使用的截屏视频软件。它可不是一个简单的录屏软件,与其说是录屏软件,倒不如说是视频编辑软件。
Sequel Pro MySQL 数据库客户端
Sip 一款设计师和前端应该会需要的屏幕取色软件,你只需要鼠标点一下即可取得屏幕当前位置的颜色值,并将数据自动存到剪切板,方便随时粘贴出来。支持 CSS、UIColor 等多种格式。
SizeUp 一款通过快捷键来操作窗口的实用分屏小工具。

SizeUp将桌面以两种方式进行划分:1/2(half)和1/4(quarter)。通过为每一个动作分配快捷键,可以快速的将窗口布置于桌面的1/2和1/4处。

Snapheal 专业图像特效制作软件,并不需要任何特殊的知识,简单易于上手。

删除不需要的对象,删除皮肤瑕疵和文字

克隆图章工具修复图像

调整饱和度,伽玛值,曝光,色温等

降低噪声和锐化图像

控制阴影和高光!

Sparkbox 一个素材库,一个你越用越“丰富”的素材库。你可以将你平时收集的,包括 PSD 在内的各种图片素材,通过拖放的方式导入到软件中,让 Sparkbox 来帮你分类管理。不仅如此,你还可以给素材添加各种标签,或是根据图片的色系来快速找到合适的素材。软件还自带标注功能,你可以在图片上纪录你的一些 idea,方便日后的使用。
Sublime Text 代码编辑器
Transmit FTP 客户端软件,支持 Unicode 以外的各国编码,也支持 iDisk 的 WebDAV 及 TLS,SSL 等传输,有标签页功能,使用类似 OS X Finder 的 Sidebar 侧边栏设计,同时还制作了专门的 Dashboard Widget 来方便你随时拖曳文件到 FTP 服务器里。
Ulysses 一个独特的文本编辑器,它的目的是给富有创新精神的作家,小说家和作家最好的写作经验。
Xee³ 一款轻巧,快速的图片浏览器,让你在苹果下也能有在使用ACDsee的感觉,使用Xee打开图片
HexColorPicker XCode颜色选择插件
Little Snitch 网络流量监控客户端,用于本机的安全性监察
Sentenza Desktop 把网站打包成一个Mac应用,比如Trello
Spark 自定义键盘功能
Live Interior 3D 室内设计,房型图制作
Sketch 拥有美观界面和强大功能的专业矢量图形绘制工具。
Lightroom 当今数字拍摄工作流程中不可或缺的一部分。现在可以快速导入、处理管理和展示图像。其增强的校正工具、强大的组织功能以及灵活的打印选项可以帮助您加快图片后期处理速度,将更多的时间投入拍摄当中去。

 

 

Mac 上的 PHP/JS 项目开发工具

最近做了一段 PHP 的开发项目,以前习惯用 zend studio 做 PHP 的开发,这次因为两个原因重新组织了一下开发工具,一个是因为现在的项目前端的开发尤其是 JS 的工作量很大,另外是以前用 Windows,现在用 Mac,相比之下 Mac 上的工具软件更好用和强大一些。

==Coding


Sublime Text 3 – 最厉害的还是文件索引 cmd+P,另外 Sublime Text 3 和 2 相比有一个新增的重要功能是『Go to definition』,对 MVC 这种不断需要切换文件的框架非常有帮助。


iTerm – 除了历史记录,最常用的就是用来放 douban.fm


SourceTree – 虽然很多人在 Mac 上用 tower,虽然刷新速度有些慢,但觉得最好的地方还是它一目了然的文件 diff 功能。


Sequel Pro – 连 MySQL 和操作速度,非常快。


HTTPScoop – 捕捉 HTTP 连接,web 编程 debug 的必备。


Chrome – Chrome 的 DevTool 做得太好了,能帮助你轻松搞定所有前端 js 的问题。


Dash – 非常方便的文档查询工具,非常全,自动更新,而且最新加进去了快捷键查询。


Kaleidoscope – 实际经验是那些最耗费时间的问题,最终往往被它解决掉的,极其直观好用的文件比较和修改工具。

==项目管理


Evernote – 对每一个功能点的开发,以前喜欢用纸笔先理清思路,现在就直接在 evernote 里面建一个 note,将来需要的时候检索也非常方便,复用性很好。

Tower.im – 在国外最近冒出来的众多向 basecamp 致敬的产品中,唯一觉得和自己合拍的一个产品就是 tower.im,现在不管大大小小项目,只要有协作就会用它。

==时间管理


AntiRSI – 这个行业最大的问题就是容易不知不觉地久坐,所以现在开工前必先打开这个软件,它的设计让你很难 ignore 它,强行退出除外。


Vitamin-R – 在任务紧张的时候,喜欢用番茄工作法,因为能够比较清楚的衡量进度,来不及至少可以提前预警,Vitamin-R是一个不错的番茄工作法工具。


douban.fm Linux 版本 – 太安静的时候提高效率用。

==其它

喜欢在第二屏的桌面上显示常用软件的快捷方式帮助记忆,分享一个自己做的,左边是 iTerm 的常用快捷键,右边是Sublime Text 3的。

用 IFTTT 发下雨天提醒邮件

IFTTT默认的天气channel 不支持摄氏度,也不支持中文,所以自己做了一个实用的下雨天提醒。

简单来说功能就是:

IF 明天或后天上海下雨 THEN 发邮件通知我

如果有 IFTTT 帐号而且在上海的朋友直接用下面的分享链接即可:

https://ifttt.com/recipes/116415

如果不在上海的话,自己照着做一个应该也不难,只需要在下面的网站找到城市名称,然后找到 RSS 链接替换掉就可以了(唯一注意:RSS条数选2)

http://weather.raychou.com/?/list/1655

《打造Facebook》阅读笔记

    – 扎克伯格

        – 扎克伯格喜欢的三句话

            – 天佑勇者

            – 每个孩子都是天生的艺术家,问题是长大后如何保持童心

            – 凡是都应简化到不能再简化

        – 每年给自己制订一项挑战

    – 雅虎的经验

        – 在公司的发展道路上应该避免失误

        – 没有一种文化或者机制来协调不同组之间的计划和优先级

    – Facebook的面试 – 招聘永远是第一位的

        – 1分钟 – 大致描述本次面试

        – 4分钟 – 面试官自我介绍

        – 5分钟 – 为什么对facebook感兴趣

        – 10-15分钟 – 之前最骄傲的项目

        – 20分钟 – 具体技术问题

        – 5分钟 – 留给应聘者提问

    – 新兵训练营

        – 是什么?六周集中培训,了解融入公司

        – 为什么?文化,大公司,让最需要合作的人互相认识,形成信任感

        – 导师是谁?一年以上,自愿申请(25%时间),经理方向的技术牛人

        – 干什么?

            – 第一周

                – 导师一起午饭,回答问题

                – 电脑+桌子

                – 6封邮件

                    – 1:welcome letter

                    – 5: 任务 – 修复错误

                – 提交代码

                – 参与每周的代码发布活动

            – 第2-3周

                – 完成课程

                    – 公司产品、技术框架、工具

                    – 公司运营、商业模式、部门介绍

                – 接触需要招人的组

                    – 和经理交流

                    – 了解产品

                    – 参加会议讨论

                    – 第三周周末选出3个备选组

            – 第6周

                – 决定备选组

        – 训练营结构

            – 负责人

            – 2-4导师

            – 每个导师带5-9人

                – 背景类似分一组

        – 其他

            – 时间分配

                – 60% 写代码 修错误

                – 40% 其他

            – 鼓励新员工做感兴趣但不熟悉的岗位

                – 前提:聪明、学习能力

            – 不是直接给答案,而是让他自己找原工程师聊聊

            – 代码库

            – 评级:rockstart, solid, shaky

            – 相信每一个已经过了面试的人,尽可能为他们找到岗位

        – 思考

            – 新人如何融入

            – 内部是否有足够机会

            – 文化是否鼓励高效(流程)、合作(活动)、创新

    – 黑客文化

        – Hackathon 每3月一次

            – 放下自己日常的工作,完全根据兴趣来开发

        – 硅谷的工具文化

            – dont make me think

        – Hack A Month – 员工换组计划

    – 产品开发流程

        – 白板

            – 任务 负责人 日期

            – 进度温度计

        – 简报

            – 每周五所有项目进展的汇总

            – 发给所有关注产品的人

            – 要点

                – 1分钟内读完

                – 开头明确列出这周核心数据变化 —Highlights—

                – 只涉及最重要的3-5个项目 —Key Projects Update—

                – 描述重点在东西上:Had, Next, Plan

        – Post-Mortem会

            – 任何突发事件的事后分析

                – 一句话总结发生了什么

                – 影响多大 – 量化

                – 问题的原因

                – 事件发生的具体时间表

                – 如何避免将来犯类似错误的行动方案

    – 激励体系

        – 期权 Options – 行权 Exercise Options

            – 一般在股票还比较低的时候发放

        – 受限股票单元 Restricted stock unit RSU

            – 只能在公司上市后在公开市场上兑现

            – 分48个月发放

            – 和offer&绩效相关

    – 天使投资和创新精神

        – 最佳创业团队是三人组

            – CEO:远见 理想 激情 对产品有想法有经验 知道解决什么问题和为什么这个问题重要

            – 技术:除了写程序可以什么都不管 但对产品认同

            – 商务和运营:跟人打交道,拓展商务机会

            – 对人负责,能够尊重别人对他信任的团队,困难的时候能够抱团而非鸟兽散

            – 全能型创始人未必是好事

        – 硅谷经验

            – 一个团队就几个人,但工程师质量能达到世界顶尖水平

            – 中国有在技术上很强的人,但具备国际视野的人太少

                – 开发一个产品究竟是自己做还是用开源的工具?需要视野

        – 山寨

            – 微创新 vs 破坏性创新

            – 互联网市场还没有完全开放

MBP的Fusion Drive升级

最近在家基本用mac,所以最终还是把硬盘给升级成Fusion Drive,好处是一劳永逸,性能提高同时,把硬盘容量提高到1.1TB;麻烦的地方是备份安装过程还是比较麻烦,而且费时。

装备准备:

1. 120G SSD x1

2. 1TB 5400转硬盘 x1

3. MBP专用硬盘托架 x1 (link

4. 240G 备份用移动硬盘 x1

5. 8G以上U盘或SD x1

升级过程:

1. 下载最新的OS X Mountain Lion 10.8.2 完整正式版安装盘 (link)

2. MAC系统下制作 OS X Lion启动U盘 (link)

3. 测试启动U盘是否可用 (link

4. 用Time Machine备份当前系统到240G 备份用移动硬盘上

5. 安装托架、120G SSD、1TB 5400转硬盘

6. 配置Fusion Drive (link

7. 从移动硬盘上恢复Time Machine备份(插着移动硬盘重启电脑,然后按住键盘上的Alt键,然后选择Recovery HD, 准备从移动硬盘恢复系统数据到新的Fusion Drive)

8. 收尾:包括想想怎么处理多出来的那块原来MBP里面的240G硬盘等等

最后:我觉得谁开家专门的改装店必火,这太TM繁琐了

搞定firefox 2 on Ubuntu 8.04

Ubuntu 8.04 默认的firefox版本是 firefox 3 beta 5,不过很多以前的extension不能用,所以把firefox 2也给装上了。

装firefox 2其实很简单,“添加/删除”里面就有,不过问题是装好后发现不能装extension,报下面这样的错误:

"installLocation has no properties" error in nsExtensionManager.js

Google了好一会才终于找到解决方法:

打开终端输入:

find ~/.mozilla/firefox -follow -name extensions.rdf

然后用进入extensions.rdf文件所在的目录,删除extensions.rdf文件,或者也可以用下面的命令:

mv extensions.rdf extensions.rdf.bak

重启firefox后就可以了,如果还不行重复以上操作再试(我试了两次才可以的)

然后就可以继续用foxmarks,foxdie这些firefox 3上还不支持的插件了。

Ubuntu 8.04 黑体解决方案

虽然Ubuntu自己的正黑已经是很不错了,但还是觉得Mac上的黑体更正,所以做一下笔记,供大家参考:

1、下载 STHeiti 字体

这里下载 stheiti.rar 字体包,解压后复制到 /usr/share/fonts/truetype 下面。

设置 STHeiti.ttf 可读权限:
sudo chmod a+r /usr/share/fonts/truetype/stheiti.ttf

2、设置 STHeiti 为首选中文字体

sudo gedit /etc/fonts/conf.avail/69-language-selector-zh-cn.conf

分别找到:
<string>DejaVu Serif</string>
<string>DejaVu Sans</string>
<string>DejaVu Sans Mono</string>

然后在它们后面分别加上一行:
<string>STHeiti</string>

刷新字体缓存:
sudo fc-cache -f -v

3、设置英文字体和渲染方式

打开 “系统-首选项-外观-字体” 面板,做如下图的设置:

4、强制 STHeiti 不使用微调

sudo gedit /etc/fonts/fonts.conf

<fontconfig>

下面加入下面一段:

<match target=”font”>
<test name=”family”>
<string>STHeiti</string>
</test>
<edit name=”hinting”>
<bool>false</bool>
</edit>
</match>

OK,使用Ctrl+Alt+BackSpace重启x看效果。

It’s HOT – Ubuntu 8.04

XP用了这么多年早就厌了,Vista厌得更快,最近在工作外的时间用的系统主要是iPhone Mac OS和Ubuntu 704。

期盼Ubuntu的8.04版好多天,周五它终于正式发布,于是下载下来装了一下。

安装的速度快得惊人,完成安装前的选项后去刷牙洗脸,回来发现竟然已经好了,总共不过十来分钟,和臃肿的Windows形成很大的反差,也许这就是为什么用Vista的时候总觉得:It is not cool at all!

开机时候又听到了那段可爱的打击乐(据说Ubuntu “乌班图”是一个非洲部落的名字),Ubuntu的声音可以说的上古怪,回让你觉得自己好像是在探索一个雨林之类的地方,不过也正因如此才大受geek们的喜爱。

当然它和其他操作系统比起来,好处不仅仅是开机音乐,具体可以看一下这篇文章

晒一个我的桌面,自己配了一个Mac桌面主题和字体,当然除此之外都是Ubuntu的:

Ubuntu 8.04 ISO下载

http://forum.ubuntu.org.cn/viewtopic.php?t=117757

从Windows硬盘安装

http://www.alanoy.cn/archives/ubuntu-804-ltc-install-and-settings.html

设置字体

http://www.ericfish.com/?q=329

Mac主题安装

http://tech.idv2.com/2006/09/21/make-your-ubuntu-looks-like-macos/

另外我的一些小建议:

1. 要下载容易安装的desktop版本,而非alternate

2. 用迅雷下载要快很多

3. 安装时拔掉网线

4. 如果安装停在82% “apt 配置”,见3

5. 配置源(其实就是到这个服务器得到一个软件列表,配好后你就可以自由安装列表中的所有软件),我用的是 tw.archive.ubuntu.com,ADSL网络。

因为看到一篇以前的文章,所以好奇心驱使去google看了两张最新的趋势图

可以看出:

1. Ubuntu已经从linux阵营里脱颖而出,并开始挑战XP

2. XP虽然还暂居第一,但江河日下

3. Vista的确比较失败,整个一去年的中国股市

4. Leopard看趋势有点竞争力,但也还有点小众

按周统计的月报表

很少研究SQL,不过其实它本身还是可以解决很多问题。

刚才花了点时间用SQL解决了一个这样的问题:

做一张按周统计的月报表,如果一周里面有3个工作日是这个月的,则在本月报表中统计,统计这样的周时需要把属于该周其它月的那几天也统计进来。写出来的SQL如下:

declare @month int
declare @theFirstDate datetime
declare @theEndDate datetime
declare @firstMonday datetime

— @month is defined to get the calc month of current year
set @month=4
–get '2008-04-01'
set @theFirstDate = DATEADD(mm, @month-1, DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
–get '2008-05-01'
set @theEndDate = DATEADD(mm, @month, DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

–get the first monday of every month (can be a weekday of last month), ex: '2008-03-31'
set @firstMonday = DATEADD(wk, DATEDIFF(wk,0,@theFirstDate), 0)

–if in the first week there are more than 3 days belong to the month, the first week will be count
If DATEDIFF(dd, @firstMonday, @theFirstDate) < 3 AND DATEDIFF(dd, @firstMonday, @theFirstDate) >0
Begin
— get the time period, and calc the report, ex: 2008-03-31 ~ 2008-04-04
select CAST(@firstMonday AS CHAR) + CAST(DATEADD(wk, 1, @firstMonday) AS CHAR)
End

— the next monday, ex: 2008-04-07
set @firstMonday = DATEADD(wk, 1, @firstMonday)

— if datediff between the next monday and the first day of next month larger than 2, this week will be count
While DATEDIFF(dd, @firstMonday, @theEndDate) >= 3
Begin
— get the time period, and calc the report
select CAST(@firstMonday AS CHAR) + CAST(DATEADD(wk, 1, @firstMonday) AS CHAR)
— the next monday, ex: 2008-04-07
set @firstMonday = DATEADD(wk, 1, @firstMonday)
End

最近在看《编程之美》,觉得这个应该也可以是道不错的面试题。 

Biogon Photoblog Release PHP Version

Biogon Photoblog开始的时候是用asp.net写的,后来因为换了PHP空间,就在graceric基础上用PHP重写,但和asp.net版本最大的不同是php版不上传照片,而是你需要先把照片上传到flickryupoo或者footbig,然后把图片url复制过来。

最初的设计动机是既想要一个比较个性化的空间,有不用花钱去买大的硬盘和流量,而且大家都知道flickr保留所有历史照片,但是如果不付费你却只能看到最近的200张,所以biogon也可以用来记录那些被隐藏的照片们。

简介:

这个系统让你只需要很小的一个PHP空间就可以有一个完全个性化的照片博客。

开发环境

* PHP+MySQL

系统需求:

* OS: Any, Linux preferred
* Web Server: Apache 1.3/2.0/2.2
* PHP: 4.0/5.0 with MySQL
* DB: MySQL 4.1/5.0/5.1

下载:

Release ver/1.04
Download Install URL:
http://biogon.googlecode.com/files/biogon-php-release-105.zip

说明:
*Biogon Photoblog PHP 安装说明
*Biogon Photoblog PHP 操作说明
*photo url 输入框中可以填入任意flickr或者footbig或者lensbig的图片链接地址,系统会自动识别。
*yupoo的图片需要输入原图(即最大的图片url)作为 photo url。

相关链接:
http://code.google.com/p/biogon

更新历史:

ver/1.00
第一个发布版本,支持yupoo照片

ver/1.01
支持footbig和flickr的照片

ver/1.02
修复照片描述的显示

ver/1.03
修复评论发布时间问题

ver/1.04
支持PHP5,支持Lensbig的照片

ver/1.05
修复时区问题