Archive for 六月, 2010

ActionSript3 正则表达式规则

正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了

^\d+$  //匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$  //匹配正整数
^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$  //匹配负整数
^-?\d+$    //匹配整数
^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数
^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数
^(-?\d+)(\.\d+)?$  //匹配浮点数
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$
下表是元字符及其在正则表达式上下文中的行为的一个完整列表:
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。
^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。
$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。
* 匹配前面的子表达式零次或多次。
+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。
{n} n 是一个非负整数,匹配确定的n 次。
{n,} n 是一个非负整数,至少匹配n 次。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。
. 匹配除 “\n” 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。
(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。
(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。
(?!pattern) 负向预查,与(?=pattern)作用相反
x|y 匹配 x 或 y。
[xyz] 字符集合。
[^xyz] 负值字符集合。
[a-z] 字符范围,匹配指定范围内的任意字符。
[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。
\b 匹配一个单词边界,也就是指单词和空格间的位置。
\B 匹配非单词边界。
\cx 匹配由x指明的控制字符。
\d 匹配一个数字字符。等价于 [0-9]。

\D 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。
\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。
\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。
\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。
\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。
\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八

Tags: ,

Mac OS X 操作系统快捷键

[启动时的迅捷]

启动时按住 X 键 : 强制从 Mac OS X 启动(适用于那些在同一宗卷上安装了 Mac OS X 和 Mac OS 9 双系统的 Mac ,不要把 Boot Camp 混淆进来)
启动时同时按住 Option-Command-Shift-Delete 键 : 跳过默认的启动宗卷,搜索其他可启动宗卷(比如可启动的光盘或外置硬盘)
启动时按住 C 键 : 从可启动光盘(比如随机附带的1号盘)启动
启动时按住 N 键 : 试图从兼容的网络服务器(NetBoot)上启动
启动时按住 T 键 : 以“目标磁盘模式”启动,简单地来说就是把本机变成一个火线接口的外置硬盘
启动时按住 Shift 键 : 以安全模式启动,并临时关闭启动项和一些非必需的内核扩展组件,一些功能和应用程序可能无法正常工作(适用于 Mac OS X 10.2 或更高版本)
启动时同时按住 Command-V 键 : 以详细模式启动,会显示详细的状态信息
启动时同时按住 Command-S 键 : 以单用户模式启动(在需要用 UNIX 命令为计算机排除故障时才用,只推荐有一定的 UNIX 经验的用户并且明白自己的操作后果的情况下使用)

[在 Finder 窗口下的迅捷]

Command-W : 关闭窗口
Option-Command-W : 关闭所有窗口
Command-右方向键 : 在“列表显示模式”下展开选中的文件夹
Option-Command-右方向键 : 在“列表显示模式”下展开选中的文件夹及其子文件夹
Command-左方向键 : 在“列表显示模式”下折叠选中的文件夹
Option-Command-上方向键 : 关闭当前文件夹并在新窗口中显示上一级文件夹

[菜单命令的迅捷]

Shift-Command-Q : ( Apple 菜单)注销当前用户
Shift-Option-Command-Q : ( Apple 菜单)立即注销当前用户
Shift-Command-Delete : (Finder)清倒废纸篓
Option-Shift-Command-Delete : (Finder)直接清倒废纸篓(不显示警告/确认对话框)
Command-H : (Finder)隐藏窗口
Option-Command-H : (Finder)隐藏其他窗口
Command-N : (文件)新建一个 Finder 窗口
Shift-Command-N : (文件)新建文件夹
Command-O : (文件)打开…
Command-S : (文件)存储
Shift-Command-S : (文件)存储为…
Command-P : (文件)打印…
Command-W : (文件)关闭窗口
Option-Command-W : (文件)关闭所有窗口
Command-I : (文件)显示简介
Option-Command-I : (文件)显示检查器(相当于 Live 的“显示简介”,点哪个项它就显示哪个项的简介)
Command-D : (文件)复制(注意这个“复制”是指在当前窗口克隆一个选中的 Finder 项,和 Windows 上的“复制”不是一回事,请 Switch Users 注意区别)
Command-L : (文件)制作替身
Command-R : (文件)显示原身(针对“替身”而言)
Command-T : (文件)对 Mac OS X 10.2.8 或更早的版本而言,将当前选中的 Finder 项添加到个人收藏;对 Mac OS X 10.3 或更高的版本而言,将当前选中的 Finder 项添加到 Sidebar (就是完整模式的 Finder 窗口左边的那列),在 Mac OS X 10.3 或更高的版本下用 Shift-Command-T 迅捷来实现“添加到个人收藏”的功能
Command-Delete : (文件)移到废纸篓
Command-E : (文件)推出(光盘或者活动磁盘之类的)
Command-F : (文件)查找
Command-Z : (编辑)还原
Command-X : (编辑)剪切(注意只能剪切内容,不能剪切 Finder 项, Switch Users 不要因为 Windows 上的习惯思维而混淆概念)
Command-C : (编辑)拷贝(将当前选中的内容拷贝到夹纸板,这个就是 Windows 上的“复制”了)
Command-V : (编辑)粘贴
Command-A : (编辑)全选
Command-1 : (显示)以“图标显示模式”显示
Command-2 : (显示)以“列表显示模式”显示
Command-3 : (显示)以“分栏显示模式”显示
Command-B : (显示)隐藏工具栏
Command-J : (显示)查看显示选项
Command – [ : (转到)向后
Command - ] : (转到)向前
Shift-Command-C : (转到)直接打开“电脑”
Shift-Command-H : (转到)直接打开“个人”文件夹
Shift-Command-I : (转到)直接打开 iDisk
Shift-Command-A : (转到)直接打开“应用程序”
Shift-Command-F : (转到)直接打开“个人收藏”
Shift-Command-G : (转到)打开“转到文件夹”对话框
Command-K : (转到)打开“连接到服务器”对话框
Command-M : (窗口)最小化当前窗口
Option-Command-M : (窗口)最小化全部的窗口
Command-? : (帮助)打开“帮助显示程序”
Command-Space : 显示 Spotlight 搜索栏( Mac OS X 10.4 或更高版本才有 Spotlight ),它可能和选择输入法的迅捷冲突,所以也可能被设置为 Control-Space
Command-esc : 打开 Front Row (当然,前提是安装了 Front Row ,没有遥控器的 Mac 是没有 Front Row 的,要破解才可以安装)
Option-Command-8 : 打开/关闭“缩放”功能
Option-Command-+(加号/等号) : 放大
Option-Command–(减号/下划线) : 缩小
Control-Option-Command-8 : 反转黑白(即“万能辅助”里的“黑底白字”)
Control-F1 : 打开/关闭“全键盘控制”
Control-F2 : (键盘导航)将焦点移到菜单栏
Control-F3 : (键盘导航)将焦点移到 Dock
Control-F4 : (键盘导航)将焦点移到活跃窗口或下一个窗口
Control-F5 : (键盘导航)将焦点移到窗口工具栏
Control-F6 : (键盘导航)将焦点移到浮动窗口
Command-F5 或 fn-Command-F5 : 打开/关闭 VoiceOver ( Mac OS X 10.4 或更高版本)
Control-Option-F8 或 fn-Control-Option-F8 : 打开 VoiceOver Utility ( Mac OS X 10.4 或更高版本)
Control-Option-F7 或 fn-Control-option-F7 : 显示 VoiceOver 菜单( Mac OS X 10.4 或更高版本)
Control-Option-; 或 fn-Control-option-; : 启用/禁用 VoiceOver Control-Option 锁定功能( Mac OS X 10.4 或更高版本)

[“万能辅助”中“鼠标键”的迅捷]

数字小键盘 8 : 向上
数字小键盘 2 : 向下
数字小键盘 4 : 向左
数字小键盘 6 : 向右
数字小键盘 1, 3, 7, 9 : 对角线移动
数字小键盘 5 : 点按鼠标键
数字小键盘 0 : 按住鼠标键
数字小键盘 . : 释放鼠标键(当按 0 之后就需要用它来释放)

[其他命令迅捷]

Option-Command-D : 打开/关闭“自动隐藏和显示 Dock ”功能
Command-Tab : 切换运行中的应用程序
tab : 将焦点移到下一个项
Command-上方向键 : 移到上一级目录
Command-下方向键 : 移到下一级目录
Page Up 或 Control-上方向键 : 上翻一页
Page Down or Control-下方向键 : 下翻一页
Option-拖动 : 将拖动的项目复制一份到拖动的目的地
Option-Command-拖动 : 在拖动的目的地创建被拖动的项目的替身
Command-拖动 : 将拖动的项目移动到目的地(避免在不同宗卷之间拖动时自动复制项目)
Shift-Command-C : 在应用程序中显示颜色面板
Command-T : 在应用程序中显示字体面板
Command-Shift-3 : 将屏幕图片存储为文件
Command-Control-Shift-3 : 将屏幕图片拷贝到夹纸板
Command-Shift-4 : 将所选区域的图片存储为文件
Command-Control-Shift-4 : 将所选区域的图片拷贝到夹纸板
Command-Shift-4, 然后按空格键 : 将所选窗口的图片存储为文件
Option-Command-esc : 强制退出
Control-Eject : 显示“重新启动/睡眠/关机”对话框(“您真的要现在关机吗?”)
Control-Command-Eject : 退出所有应用程序然后重新启动
Option-Command-Eject 或 Option-Command-Power : 睡眠
Command-点按窗口工具栏按钮(右上角) : 循环显示该窗口的工具栏模式(比如“图标和文字”、“仅图标”、“仅文字”、是否“使用小尺寸”等,由 Finder 或应用程序窗口自身决定)
Command-` : 当 Finder 或应用程序有多个窗口显示时,循环显示每个窗口
fn-Delete : 向前删除键(适用于笔记本型电脑,等同于 Apple 外置键盘的方向键上的 Delete 键)

截屏幕快捷键-OX 10.5.8

1)Command-Shift-3: 将整个屏幕拍下并保存到桌面。
2)Command-Shift-Control-3:将整个屏幕拍下并保存到剪贴板(Clipboard),你可以Command+V直接粘贴到如Photoshop等软件中编辑。
3)Command-Shift-4:将屏幕的一部分拍下并保存到桌面。当按下着几个键后,光标会变为一个十字,你可以拖拉来选取拍摄区域。
4)Command-Shift-Control-4:将屏幕的一部分拍下并保存到剪贴板。

7)Command-Shift-4再按空格键:
这时光标会变为一个照相机图标,点击可拍下当前窗口或菜单或Dock以及图标等,只要将照相机图标移动到不同区域(有效区域会显示为浅蓝色)点击。

Command-Shift-Control-4再按空格键:
将选取的窗口或其他区域的快照保存到剪贴板。

当然,派屏幕照你可以用功能强大但要付费的Snapz Pro,不过一般的应用,这些快捷键也够用了。

用grab.app也可以做到。finder中找吧,应该时自带的程序,不过你不找,很难出来,我都放到了dock中了。。

以下不适合我的mac版本

5)Command-Shift-Capslock-4 (适用于OS9): 将当前的窗口拍下并保存到桌面。
6)Command-Shift-Capslock-Control-4 (适用于OS9): 将当前的窗口拍下并保存到剪贴板。

Tags: ,

HTML5 – 越来越明显的弊端

首先我要申明一点
对于任何一门技术 我都不抱任何意见。。我希望互联网技术能快速发展
我更希望全世界都只用一个最标准的浏览器
但事实是不可能。。
我并不想拿Flash与Html5来炒作什么。。
一直以来的这些蹩脚新闻已经够烦了。。

首先我想说明一点乔老大的话
乔老大说Adobe闭塞。。这个我想明眼人自己都会分清红皂白
我没必要再多扯了。。
我想说的是 是的 乔老大 你没错 Adobe Flash是闭塞。。
但它比起Apple来说 简直就是完全开源的。。
虽然我用着iPhone 甚至写这篇博文的时候都用的MBP
正是因为我用了Apple产品 我喜欢用Apple产品 所以对其有一定了解 所以才说这些
苹果所有环境都是不对外开源的 乔老大担当了一个进入他们产品的技术的质量检验官
所有他觉得可以的技术就可以很顺利的进入他们的产品
但事实是 这些产品基本上都是他们自己的 或者甚于他们的技术所开发的
而今天的Apple 是否因为它的完全闭塞而怎样?
没有 而且更火了
这有其必然之处。。
乔老大是关键因素 他老人家眼光更犀利 更独特。。
由他掌握的事物 并且出自他手的产物都尽善尽美 让人家感觉眼前一亮
我希望是一直让人们眼前一亮
但是对于Flash 他同样由Adobe掌握着
说它开源吧 它只开了一部分
其它大多由Adobe去维护 通过encosystem里的一些声音来修正ActionScript的一些需要与不需要的内容。。
而Flash发展到现在 也很火。。
再重新往回看。。
全世界提倡开源 意为完全的开放
诸如Java Chrome Android 等等等等的开源产品
其中以google开源产品最为繁多也最为及时 个人观点
而众多开源产品 都有其维护者
Java 由Oracle维护着
Chrome与Android由google维护着
如果撇开开源这一概念不说
让我们对比一起Apple产品与其它产品的区别。。
首先 他们都由世界级的技术团队或者企业维护着
区别在于 一方开源 一方闭塞
开源 所有想对其贡献自己一份力的人都可以去“完善”它
而对目前一些大型开源项目 甚至产品来说 完善这么一个庞大的源代码不是一个人所能为之的
那些维护这些开源产品的团队或企业
他们扮演的角色其实跟其它普通技术开发人员一样
在这个开源项目中 他们只是一个代码完善者
只是他们有更强大的技术团队 更多的精力完全投入到此项目中
而一个开源项目 说是开源的 源代码开放于全世界技术人员
但真正的完善与更新 仍然是来自于这些维护这个项目的企业或者团队
因为他们对于他们自己的开源产品更深入了解这其中优良或缺
一位此局外的开发人员 最多去深入了解它的内部源代码
或拿其开发框架以贡献给全世界。。
但在技术层面来讲
开发人员技术有好或差 今天我也可以写一套东西出来开源
但是 性能也好 优化也好 都不见得是最好的。。
可能其它人写出相同的却比你的要好上千万倍
就好比Java这么一个历史悠久的开源项目
至今为止有无数的框架
但真正有多少框架被众多开发人员所利用?
更多的在这些竞争中都淘汰了。。
而对于如此悠久的Java 可以有众多开发人员去深入研究 而对于一门新兴技术
这都将是个未知数
所以 我个人观点是 一门技术也好 产品也好 面对开源 必定是此产品十分成熟后的举动
其中包括成熟的API 成熟的用户群 成熟的开发群 等等
而在其未成熟之前 开源 可能很糟糕。。。
我列举以下两个产品作对比
Android iPhone
首先说iPhone吧 功能很强大 应用非常多 有非常好的一个商业运作模式 iTunes让它的一切操作非常简单 在当下 如此火的一款手机中 所有应用企业都在为其开发他们自己的iPhone Version的产品
而Apple向来的经典设计 让人们对他一见钟情
Android 后起之秀 google拿他出来就开源了 所以很多手机生产商都拿来作为自己手机的运行平台
非常强大 以至于一面市 其人气狂飙。。
但由于其商业运作模式不同
其软件商店由于杂货店 什么应用都有 有好有差数不胜数
量是多 但质却一直上不去
对比其与iTunes
开源好吗?好!
开源最直接 最现实的就是 它 免费!
所有企业都喜欢免费的产品 这意味着他们的产品可以降低更多的成本 以获得更多的利润
对比这两者 从技术上讲 都无可挑剔
因为它们背后的维护团队非常之强大
而对于市场 Android明显不及iPhone
未来 Android可以很轻松的占据大半江山 但iPhone 仍会以它的经典立于不败
由于开源 意味着任何人都可以加入这个项目的开发
而其中就会产品好与差的区别
但是这些好与差都不会被拒之门外 对于开发者 很开心的去开发了这样的应用 并通过此平台推广于用户
对于用户 他们不知道开源与不开源到底为何物。。
他们只知道 这个产品好用与否 这个环境干净与否
如果让用户感觉到这样的产品存在问题 他们可能就会选择其他更好的
而Apple充当的就是这样的一个角色
他们严格的把关进入他们app store里的应用
让人感觉 他很闭塞 他不开源 不开放其中的权限
但是apple向来给我的感觉是 他们始终以用户为中心
更甚者 他们疯狂的以自己完美的产品为中心
而这两点 都会疯狂的吸引用户去靠拢它
而对于 以产品为中心 来吸引用户 有一定的难度
因为这是建立在用户的信任基础上的。。
但一旦赢得了用户的信任 以产品为中心来吸引用户 会比以用户为中心来吸引用户 要来的强大的多
而且更加主动 占据了主导地位 真正的让用户跟着你走
也就是为何今天的Apple到了能呼风唤雨的地步
市场有了用户才有存在的价值
没有用户 任何技术都是空谈
与其如此被动的去求用词来使用自己的产品 何不卯足了劲
让自己的产品更加完善 让用户自己找上门来 如此来的更有主动权

而对于此立场的Apple 他完全可以让现今互联网进行一次彻头彻尾的洗牌。。
就好比 他提倡HTML5 拒绝Flash
其原因为Flash是一个插件
虽然Apple如此成功的抓住了用户的心 但是我仍希望各位能清醒的对待这一切。。
Adobe开发Flash的初衷 是为了让这个因为各大browser以及OS造成的如此混乱的互联网与操作系统能变得纯净一些
在某种角度上讲 它与HTML根本是扮演着不同的角色
HTML是大房 而Flash只是二房 它做的事情永远是HTML做不到的事情
HTML4的时候是这样 HTML5呢?
也有其做不到的地方 而Flash要做的 就是这些
就好像犯法者永远都在钻法律的漏洞一样。。
比喻可能不是很恰当 但道理完全相同
不说各大浏览器
拿各种操作系统来说 世界上有数不胜数的操作系统
有些我连名字都不知道
像Unix Linux FreeBSD Mac OS X Windows Ubuntu 等等等等的操作系统
这些操作系统 除了windows外 某种意义上来说 他们都是相同的
都源自于一个鼻祖
但他们相同吗?
答案是否定的!
他们由不同的开发商开发
都加入了他们自己认为他们产品应该有的东西
使得他们与其它产品之间产生了差异 而此时 对于软件开发商来讲
势必要针对各种流行的操作系统 各自开发一个版本
这对于这些开发商来讲是非常头痛的一件事情
而Adobe正在做的 也包括了统一这些其中的差异。。
再回到browser 对于用户来讲 最经常使用的便是操作系统
其次就是浏览器
他们上网浏览全要借助于它
就好像操作系统一样 每个开发商都有自己的特色 浏览器何尝不是?
不说IE9以前的版本
就拿IE9 Firefox 3.6 Chrome Safari
他们虽然都自称非常遵循HTML5标准
但这个标准 只是他们自己的理解 他们自认为的标准
而事实是需要在标准的基础上统一大家的标准
HTML5在各个浏览器上实现方式都不同
技术是好 但性质与HTML4有何区别?
而HTML5的功能更强大 这也面临着更混乱的局面
www.apple.com/html5
试着拿到Chrome或者Firefox中看一看?
它只会提示你下载Safari
这是标准?
W3C不是某一家公司的 而是这个互联网的。。
而对于一门技术来讲
其实Adobe与Apple立场一样
他们控制着技术与产品的进入
同时他们也保证了他们的运行环境尽可能的完善。。
而Adobe很明确知道开源的好处
正慢慢的试着向开源发展 但很明显 它只是做了一些无关痛痒的小动作
以示它开源了 但Apple 完全没有
却指着别的人鼻子骂人家不开放。。
所以在我看来。。
HTML5会颠覆现在的browser技术
但是 它会念网页设计更加痛苦
而Flash Player 它会继续做HTML做不到的事
并且让开发browser应用的开发者更轻松

Tags:

老乔D8会议上说的话真TM扯

http://www.macx.cn/a/a.htm?B=4000&ID=1509129&AUpflag=1&ANum=1
这篇是乔布斯在D8会议上的谈话。。

首先申明一下 本人也是苹果爱好者 手中拥有的产品不多 但我用的到的算都有
Macbook Pro mc373 今年刚出的15寸标配
iPhone 3Gs 16G 白色 正版港行
iPod 32G 08年前后买的 算比较老了 但我听歌是完全够的
我在静观iPhone 4G的上市 如果它有实质性的更新 我会继续选择iPhone 4G
但是对于他的言论 我很气愤。。。

关于 Flash:“它过时了”

过时了????

Steve:我不觉得他们想看 flash……

不好意思 我想看。。。

对于他说的 Flash过时了???
那好 针对这句话我陈述一下我的观点。。。
Flash能充分体现它的功能方面的要靠ActionScript 以下简称AS
当然 在动画方面 很多时候ActionScript能做的 时间轴都能做 也就是通过Flash的制作环境就能完成的
这些细致对比我就不多说了。。
AS经历了三个版本 从最早的1.0 到2.0 到现在的3.0
1.0目前应用相对来在FMS服务器端用的最多 因为FMS只能用AS 1.0 这些都是将Flash lite排除在外的
因为我对Flash lite知之甚少 无资格谈论
其它应用我相信已经很少了 除非某些公司有具体针对业务需要用1.0
而2.0相对于1.0可能比较多一些
因为很多动画产品方面的人才一直致力于2.0 而对于他们来说 完全没有非要过渡到3.0的必要
而真正3.0的开发者 都是一些大型的应用 如 企业级 网络游戏 等等的网络交互应用。。
因为3.0与之前的版本相对比 有了质的改变
虽然是质的改变 但我还是会说 Flash的确慢 Flash的确有很多东西很难控制与操作
但这只是说“难” 至少对我来说 是难
因为很多东西不受我控制 一切交由虚拟机
但这也只是相对的 而且这些所谓的“难” 也是可以避免的
这只是要求开发者的良好编程习惯与高超的编程技术。。
在当前铺天盖地的高级语言的世界里
开发者很难通过高级语言直接操作到底层。。
而操作不了 不代表开发者就不要了解
如果你认为它是高级语言 不管你怎么写 高级语言什么都能帮你处理掉
那我只能说 你这不是编程。。
而从1.0到2.0 Flash从最初的大多都只是做做小广告小动画到一些小型的应用交互以及整站
更大型的应用它们能做 真的能做 但是我想没有任何人愿意真的去商用
因为这样的周期 不是一般的公司能承受的 如果是大公司 他们就不会选择AS1.0/2.0去实现他们如此大型的应用
而到了3.0 随之更新的flex
真正的实现了大型应用甚至企业级应用
简单的开发 即可让其运行于各个平台
这不是我们开发者最需要的吗?
而对于用户 难道你用习惯了QQ
但却发现QQ只能运行于windows平台的时候
你放弃了你爱的mac平台只为了使用QQ?
当你狠下心转向了mac平台却天天烦恼用不上QQ吗?
这只是个比喻。。。
而对于老乔说的 Flash过时了 我想试问。。
一个产品 就算要走下岥路 也肯定要经历 从低到高 再从高到低吧
而Flash 它到最高点了吗?
它一直处于低点。。之前的它 根本做不了大型企业级应用
而现在使用3.0去做大型企业级应用很方便 但也并不是最普及的选择
难道这样的AS 就已经是最高点了吗?
难道不觉得 AS现在刚刚开始在往高处走吗?

而我气愤的写下这篇博文的原因就是我上面帖的第二句话
我想请问一下 你凭什么将你的想法强加于我?
西方民主自由 思想自由 你把你的想法加强于用户 这就是你脑子里的自由?
你决定了用户能使用什么样的产品 这就是你所理解的自由的含义?
老乔的谈话中还说 他从来没有想把微软当敌人。。
我真的奇怪 那以前做的那些针对windows平台电脑的广告都是假的?
今天 Apple市值超过了Microsoft
他表现得非常的大度的说了句 我并没有当你为敌人
而google呢?
老乔说 他并没有想消灭google的手机 只是想做出比google更好的产品。。
我真的想问一下 乔爷爷在美国的时候是不是都不用google地图
只用他们自己研发的compass的?
我是不是可以这样理解他的话
你深刻的知道 iPhone固定于某些群体的 而Android
是真正的开放式 Android占居了各位价位
它始终会占居大部分的市场份额 只要Android改变它现有的一些不完善的模式
再说到他口的Hypercard
我查了一下google 在wiki里找到了相关资料
我所查到的资料里显示 Hypercard最早是mac的产品
貌似能做到AS1.0早就能干的事。。
我不知道过去的mac是怎样一个产品
但对于现在的mac来理解它的过去
Hypercard估计也只能用于mac吧?
这样的产品当年能比Flash还要流行?
我很怀疑 当年mac用户比windows用户多?
不可能吧。。。
回过头来说用户是否想看Flash
我不知道国外用户的心态
我也不拿一些专业人士来作比较
我们只能最最普通的用户作比较
这个群体的人 并不关注IT技术
他们拿到一件产品 使用过后 如果他觉得不好用 他会直接放弃选择别的
如果他们觉得好用 就会选择一直使用下去 就算在使用过程中
偶尔出现些异常 他们并不知道这样的异常是如何发生的
当浏览器崩溃时 他们不会马上就把罪名加到Flash的头上
事实是 Flash可能会造成浏览器的崩溃 JS不可能吗?VB不可能吗 PHP不可能吗?
事实上是都有可能
这个群体中 有多少人真正知道自己在浏览网页的时候对着的这个窗口叫做 浏览器?
他们又何曾知道 他们使用的还是古老的IE6.0 而重新想着去选择更先进的Chrome/Firefox/Safari等浏览器?
他们不知道。。
而苹果产品 之所以一些调查数据显示其占有市场如此之高 我真的不相信 光光美国用户能让数据处于如此之高
反而 中国用户完全可以改变任何一件产品的市场占有率的数值。。
当然 iPhone在中国的使用者可能并不是如此之多
而对于中国用户 他们习惯了tudou youku
你说一句 你不认为他们想看flash?
有多少中国iPhone用户 手上拿的是需要破解的iPhone?
有点脑子的年轻人都选择了购买水货而拒绝无wifi的联通版
而对于水货 港版却相当来说 价格更高 上市更晚
很多人手中拿的 都是需要破解的欧版
而这些人将手机破解后 都会选择越狱 因为我们无法很方便的在iTunes里购买apps
也不想花这钱 中国人一向都是使用免费产品的
而他们需要像black ra1n 这样的越狱工具
当他们越狱后更多的选择了能让iPhone支持Flash的第三方工具
你说他们不愿意看flash?
再说iPad
http://www.macx.cn/a/a4000i1507210.htm
这里说 将超400万 那至今肯定还没超400万
我也不知道这个数字是否准确
但我想在中国 这件产品普及率 个人感觉并不是那么的多
而我在苹果专卖店看到的那些大款手中拿着iPad试用的时候
玩着开车类的游戏 胡乱晃动iPad就可想而之
他们会拿它来看书? 很少 因为他们没时间 很多可能也不会用
他们会拿它来干啥?
他们为啥会买iPad?
我想最多的就是 新鲜 有钱没地儿花 玩几天给孩子或者送人
它真的有多少的实用性我仍然很怀疑
我不否认它将来的作用 但至少在当下
它就是有钱人的象征。。
当然 如果你爱看书 我也想买一个拿看书
但摸摸口袋 我真的怀疑我是不是有钱到这种地步 花半万买个东西来看书
因为用它玩游戏 我想出家门没多远就算返回家里充电了。。。
而对于这一群体的人 他们压根儿就不知道flash是啥
他们也不会拿这个东西去上网
你说他们不愿意看flash?
是的 他们不愿意在iPad/iPhone/iPod touch中看flash 因为根本看不了
他们在自己的PC上看
而乔爷爷却一直自作多情的在那认为用户不需要Flash

真的扪心自问一下
科技如此发达的现今社会 你是否真的如此前卫到
拿iPhone/iPad当PC一样上网?
我想这部分人可能连10percent都不到。。
如今的这些产品 只是PC的陪衬而已
只是在外为了方便 作一些短时间的上网浏览或简单操作而已。。
凭什么拿这样的产品来衡量一门技术的好与差?
太可笑了吧。。
而对于苹果用户
我真的想说 其实很多人因为某些人所定义的言论 极力的将自己往那个方向靠近
而逼着自己去接受苹果产品让自己感觉不舒服的地方
有苦不说 还要极力追捧 何必呢。。。

Apple为了用户体验 极力控制进入他们产品的技术
某些时候他们真的做到了让用户有好的体验
但也同样扼杀了好的技术与好的体验 只是因为他们觉得不好
而对于他们一个群体的人的智慧 能代表全世界人类吗?
不能!
但他们却为所有人作了决定 决定了所有人该用什么应用 不该用什么应用。。
这些是他们为了自己的商业利益 还是真的为了用户的体验?
对于flash 真的希望各位能清醒一下 好好分析一下
从老乔到现在为止对flash的评价
他压根儿就不了解这门技术
完全是用他自己的意愿强加于用户
这其中的对与错 我想有思想的人都能分析的出来。。

Tags:

完整版AS3中文排序

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package 
{
import flash.utils.ByteArray;
 
public class SortByGB2312
{
public function SortByGB2312() {
throw new Error("There is an unexpected error!");
}
public static function sort(arr:Array):Array {
arr.sort();
var byte:ByteArray = new ByteArray();
var sortedArr:Array = [];
var returnArr:Array = [];
for (var m:int = 0; m < arr.length; m++ ) {
var str:String = arr[m];
if (str.charCodeAt(0) < 123) {
returnArr[returnArr.length] = str;
arr[m] = null;
continue;
}
byte.writeMultiByte(str.charAt(0), "gb2312");
}
for (var n:int = 0; n < arr.length; n++ ) {
if (String(arr[n]) == "null") {
arr.splice(n, 1);
n--;
continue;
}
}
byte.position = 0;
var len:int = byte.length / 2;
for (var i:int = 0; i < len; i++ ) {
sortedArr[sortedArr.length] = { a:byte[i * 2], b:byte[i * 2 + 1], c:arr[i] };
}
sortedArr.sortOn(["a", "b"], [Array.DESCENDING | Array.NUMERIC]);
for each(var obj:Object in sortedArr) {
returnArr[returnArr.length] = obj.c;
}
byte.clear();
return returnArr;
}
}
}

继上一个版本 此版本兼容支持 英文、数字开头的字符串进行排序。。
因此此版本已完整支持 中英文以及数字、符号开头的字符串进行排序。。。
待优化~~

使用:

SortByGB2312.sort(["在这里","z阿里巴巴","1淘宝网"]);
output:
1淘宝网,z阿里巴巴,在这里

Tags: ,

WP SlimStat