我喜欢的应用

前言

子贡问为仁。子曰:“工欲善其事,必先利其器。居是邦也,事其大夫之贤者,友其士之仁者。”

——孔子(春秋)《论语·卫灵公》

平时在工作生活中,特别注意对工具的选择和使用,无论是在PC、MAC、iPhone、iPad以至vim和shell中都是如此。 探索和体验新的工具是平时的一个小爱好。

开始前,说几个也许有点扯的前提:

  • 极简主义者,不喜欢功能和UI特别复杂的app
  • 喜欢反应快速的东西
  • 略有强迫症,图标非常不搭的app有点受不了,所以同等情况下会选择图标好看的,实在不可替代就丢到Folder中 :)
  • 有娱乐但没有游戏,本人爱玩游戏但对手机游戏完全无爱

正文

Development

Chrome
Windows, Mac, iPhone, iPad

速度快,自带同步,全平台支持,还可以不同类型终端之间访问书签和打开的页面。 强大的插件支持,去优酷广告、JSON格式化显示和HTTP代理都很需要。

Why not Safari?

  1. 对Chrome的插件有强需求

  2. 本人偶尔会开发Chrome插件

  3. 在Windows上肯定会选择Chrome

  4. 喜欢Chrome的设计

ps: 打死不用加壳双核类浏览器!

[备选]Safari, Firefox

Sublime Text
Windows, Mac

Sublime不是真的免费软件,但免费就可以使用全功能,只是会不定期提示你购买。 当时刚回国,卡里有几十澳元,因为很喜欢这个软件,也就付费了。 其实用的并不熟,大部分情况下只用到他自带的语法高亮、主题、语法提示、缩进调整和代码自动格式化相关的一些功能,这些功能都很nice。 Sublime也支持"插件"(叫做package)。比如写Markdown时可以用MarkdownEditing即时预览。 近期,我打算对Sublime的高级用法进行下探索,以后会单独发文介绍的。

ps: Sublime有一个很吸引人的特性,就是多行编辑。不过,在我一次进行了一次选择了两万行再结尾加逗号的尝试后,发现这个功能在量大(其实两万真不能算量大)的时候完全没法用。

Dash
Mac

API文档查询工具,收录了各种编程语言、框架和工具之类的API Documentation、User Manual和Cheat Sheet什么的。从此查文档不用现场Google了。

Productivity

Apple Mail
Mac, iPhone

iPhone上的版本相对较好,偶尔会用,但并不是常用手机收邮件。 Mac上的非常的不给力,主要有两点比较不能忍受:

  1. 收取Gmail有时会导致进程hang死,为此还专门研究了解决方法
  2. 加载和删除邮件操作非常慢,经常删个垃圾邮件删半天。

不过Mac OSX Yosemite有更新,不知道会不会变好。

Airmail
Mac

Airmail可以说是现在Mac最火的email client,购入后(¥12)只是收收生活上的邮件,所以其实也没有认真用。 只能说体验挺好的,特别是跟Gmail配合的很好,具体优点有待更深层体会。 目前还有些小毛病,比如126邮箱无法删除邮件。

ps: 邮箱这块其实我也没太想好,Windows上就outlook,Mac上用Airmail,iPhone上用Apple Mail,各有优势但也都没有特别满意。

Wunderlist
Mac, iPhone, iPad, WebApp

德国出品,Wunder是德语Wonder的意思。 简洁易用的TODO list类app,平时自己要做的事情都记在上面。 UI设计不跟风,至今还不是扁平化但却仍旧觉得很美。勾选操作也很有快感! 缺点是iOS/Mac上同步极其不稳定。

2014.7.31 Wunderlist 3发布。 这是一次大版本的升级,完成了技术重构和界面设计。 Wunderlist终于变成了扁平风格。 其他方面,主要的升级就是分享List和更简单的Collaboration。 以及所谓的Real-time Sync,不过实测表明,iOS/Mac上同步能力提升的比较明显,不过还远远算不上实时。

OneNote
Windows, Mac, iPhone, iPad

随着对Evernote使用的深入,其看似简单实则复杂的功能还有薄弱的排版和阅读效果,开始被我诟病。 Microsoft OneNote作为Office的一部分,功能一上来就是"真复杂"。 但优点是排版效果极佳,而且同样保持了简单易用。 对于梳理资料而存在的话,完全可以取代Evernote。 并且Nadella上台后,也推出了iOS和Mac版本,唯一缺点就是同步速度略慢。

[备选]曾经出现在列表中的Evernote

百度云
Windows, iPhone, iPad, WebApp

2TB真心赞,离线下载可以省去用迅雷。 之前有一个像素的解锁瑕疵,iPhone上至少已经修复了。 况且目前还是内网用户,没有不用的理由。

Dropbox

对于本人来说,算是百度云的冷备,毕竟墙外数据安全性强点。 但又毕竟在墙内会比较卡,而且Dropbox容量只有2G,所以用于备份一些重要数据。

必应词典

比欧陆更加极简,响应速度是优点,没有无用的功能。

[备选]欧陆词典, Google Translate

Reading

Reeder
Mac, iPhone, iPad

售价¥30,绝对物有所值,免费可以选Feedly,但收费的话我推荐Reeder。 Feedly不挂VPN实在会经常刷不出来,挂了VPN速度也不快。 反观Reeder可以直接登录Feedly帐号,速度还飞快,UI设计也更有阅读质感。 值得一提的是,Reeder的share功能反应特别快,分享到Pocket一点就行,完全无滞后感。

Pocket
Mac, iPhone, iPad

传说中的Read it later,Reeder中的RSS源比较多,希望深度阅读的认为,可以从Reeder中share到Pocket。 从阅读体验来说,其实Reeder更好些,但Pocket也逊色的不多。 最近刚出了Premium版,就是太贵了点。 可以离线存储文章,从此不用再担心出现死链了。

PS: 真的书籍就不在手机或平板上阅读了,有Kindle和实体书。

Instapaper
iPhone

Instapaper同Pocket是宿敌,定位相似,价格¥25。 个人体验是Instapaper更专注阅读纯文本,对于文本的排版比Pocket略好。 跟Reeder的设计风格相似,颇为神似,两者配合起来很有感觉。 但它的文章抓取速度比Pocket慢太多了,不知是不是国内网络的原因。 综合的来说,价格算是值得,但我想Pocket其实已经够了。

Social

微信 WeChat
Mac, iPhone, iPad

主要沟通工具。 即使张晓龙说不想让微信做的太重,但它的确已经超贵, 已经很臃肿了,希望能把游戏和购物入口给删了,我不会进去的。 庆幸的是,我的好友里面转脑残文章的几乎没有。

Mac版微信是Native Client,不过功能上跟网页版保持一致。 需要手机扫码才能登陆,只支持正常的聊天功能,不支持朋友圈等扩展功能。

值得一提的是,微信是国内少数开发iPhone和iPad合一版app的公司。

QQ
Windows, Mac, iPhone, iPad

QQ这块得分开说,因为不同版本的QQ简直不是一个软件。

  • Windows 就是从小用到大的那款QQ。

  • Mac 原先版本的Mac qq就是一废品,而更新到现在的版本,绝对是一款好产品了。 界面极简,设计也是Mac风格,不一样的qq体验。

  • iPhone 基本功能的用户体验很好,但极其臃肿,功能很杂。 腾讯的标签页设计的很合理,额外的功能同基础功能,有一种眼不见心不烦的意思。 之前的版本是一种比较白静的UI设计,看着挺舒服。 不过,新版UI一出,完全丑得不能忍,遂删除。

  • iPad 国内的公司对iPad客户端大多开发滞后,所以还保持着跟上一代iPhone QQ一样的功能和UI,这也是没有被窝卸载的原因。

VVebo
iPhone

官方微博客户端功能好多,体积好大,完全用不上。 买了WeicoPro但是近期的版本质量好差很容易crash,而且页面排版也不是很满意。 VVebo简洁功能够用,阅读感觉好!

Instragram
iPhone

图片社交软件,可以围观各种文艺妹子,就是加载速度什么的略慢。 不过后来一想,能看到就不错了,这货用的是facebook的CDN!

Music & Video

Foobar 2000
Windows

简单、音质好、支持插件、初始界面丑陋…… Foobar 2000有很多自己的标签,并得到了一部分注重音质喜欢折腾的用户的青睐。 但它的特点使它注定不会特别大众化,一般的用户听不出来音质的区别,一般的用户一进入初始界面可能就因为难看而失去兴趣,一般的用户可不会自己配插件配UI…… 但这不正是发烧友们和Geek们所爱好的东西?因此,我爱Foobar 2000。

网易云音乐
Windows, Mac, iPhone, iPad

用户体验好,歌曲库资源多。 不过社交感做得太强了,但我认识的好友都不用它“社交”。 还有就是,默认主题比较红火,喜欢能推出一款冷色调主题。

iTunes Internet Radio
Mac

iTunes真心坑货,但其自带的iTunes Internet Radio却是精品。 里面分类齐全,速度也稳定。Classical Music频道是我最爱。

VLC
Mac

Mac上国产万能型播放器还未大规模登陆,VLC作为一款开源播放器能够满足播放QuickTime不支持格式的需求。

在Windows上,替代品比较多,用不用VLC不是很有所谓。

Finance

支付宝
iPhone

很实用的app,移动支付必备,AA也很方便,而且还可以当作支付Token用。

招商银行
iPhone

其中装了两个,一个是招商银行客户端而另一个是掌上生活。 前者主要功能是查询和管理工资卡,后者是处理信用卡事宜。 当然,作为用户体验最好的国内银行之一,招商银行的客户端在银行界那也是没得说!

Tools

Bing
iPhone

由于Google在不翻墙时已经完全无法使用,就下了个Bing搜索试试。同必应词典优点一致。

Apple Maps
iPhone

虽说刚出来时被人吐槽,不过我用的时候已经很带感了。 不喜欢那些功能复杂的地图,集成了寻路、打车和附近商家之类的功能。 只需要一个准确详细的地图的话,我想它已经足够好。

Apple Weather
iPhone

简单实用的天气app,完全可以满足大多数日常需求。

[备选]Yahoo Weather, Accu Weather, Weather Dial

Air Quality
iPhone

由于天气类app中没有选择国产,所以需要用它查看空气污染指数。 新版支持iOS8的Widget,因此也不需要打开app看到里面的广告了。

Clover
Windows

把Windows的资源管理器,用Chrome风格标签页显示,甚至可以使用Chrome的主题文件。

Language Switcher
Mac

作用很简单,可以以单个app为纬度,设置它的locale. 我的Mac设置的是英文,所以大多国际化的程序会默认把界面设成英文界面,并且不能调整。 但有些软件Mac QQ英死早,就可以用它切换回中文而不是把Mac都换成中文。

Mac截图修改保存路径

Mac OSX 提供快捷键进行截图,它们分别是:

组合键 功能
Command-Shift-3 将屏幕捕捉到文件
Command-Shift-Control-3 将屏幕内容捕捉到剪贴板
Command-Shift-4 将所选屏幕内容捕捉到一个文件,或按空格键仅捕捉一个窗口
Command-Shift-Control-4 将所选屏幕内容捕捉到剪贴板,或按空格键仅捕捉一个窗口

功能非常赞,用起来唯一不方便的就是文件会自动保存到桌面。 我们可以通过下面的方法,设置默认的截图保存位置。

# /path/to/screenshot 是要设置的路径  
defaults write com.apple.screencapture location /path/to/screenshot  
killall SystemUIServer

还有开发者做了一个Mac App实现此功能,有兴趣的可以搜索下。 不过,我想对于geek来说,这种方法已经足够 :)

MySQL更新多条记录的不同值

MySQL语句使用过程中,会用到一些多行更新的场景。比较常见的是,把多行都更新成同一个值。如:

UPDATE table_name  
SET column_value=1  
WHERE column_id IN (1,2,3);

如果更新多行数据,且值是不同的,往往会使用for循环进行更新。如:

foreach ($data_list as $item) {  
    $sql = "UPDATE table_name SET column={$item['value']} WHERE column={$item['id']}";  
    $ret = mysql_query($sql);  
    if ($ret === false) {  
        //...
    }  
}  

这样写网络交互次数比较多,可能会导致性能问题,看起来也不优雅。 那能否一条SQL搞定呢?答案是肯定的。

UPDATE table_name  
SET column_value = CASE column_id  
    WHEN 1 THEN 0  
    WHEN 2 THEN 1  
    WHEN 3 THEN 2  
WHERE column_id IN(1,2,3);

同理,也可以使用此方法设置多行多个值。

UPDATE table_name  
SET column_value = CASE column_id  
    WHEN 1 THEN 0  
    WHEN 2 THEN 1  
    WHEN 3 THEN 2,  
SET column_desc = CASE column_id  
    WHEN 1 THEN 'test 1'
    WHEN 2 THEN 'test 2'
    WHEN 3 THEN 'test 3'
WHERE column_id IN(1,2,3);

END.

[翻译]PHP: int(强制转换) vs. intval()

原文信息

Original Page:

PHP: Casting vs. intval()

By Hakre, hakre.wordpress.com

May 13th, 2010

正文

在PHP中,使用(int)$var方式进行类型转换比使用intval($var)函数方式快400%到650%。

运行测试

(int)$val vs. intval($val) 速度对比[系统 #1]

# 输入 (INT)$val INTVAL($val) 比率
#0 42 : 0.068180 / 0.448819 658%
#1 -42 : 0.067972 / 0.448907 660%
#2 4.2 : 0.072348 / 0.450288 622%
#3 '42' : 0.087305 / 0.469350 537%
#4 '+42' : 0.087590 / 0.471153 537%
#5 '-42' : 0.089154 / 0.469826 526%
#6 34 : 0.068234 / 0.451035 661%
#7 '042' : 0.089344 / 0.470391 526%
#8 0x1A : 0.072989 / 0.451909 619%
#9 '1e10' : 0.088196 / 0.469347 532%
#10 26 : 0.068378 / 0.449884 657%
#11 42000000 : 0.068770 / 0.449416 653%
#12 2147483647 : 0.068927 / 0.448028 650%
#13 2147483648 : 0.072599 / 0.450618 620%
#14 4.2E+20 : 0.086305 / 0.467347 541%
#15 '420000000000000000000' : 0.102120 / 0.484245 474%
#16 array() : 0.092310 / 0.472185 511%
#17 array('foo', 'bar') : 0.112644 / 0.494482 438%

(int)$val vs. intval($val) 速度对比[系统 #2]

# 输入 (INT)$val INTVAL($val) 比率
#0 42 : 0.045576 / 0.194759 427%
#1 -42 : 0.042457 / 0.194273 457%
#2 4.2 : 0.047853 / 0.196049 409%
#3 '42' : 0.055792 / 0.209531 375%
#4 '+42' : 0.055158 / 0.208236 377%
#5 '-42' : 0.056604 / 0.209486 370%
#6 34 : 0.042580 / 0.194606 457%
#7 '042' : 0.056834 / 0.209276 368%
#8 0x1A : 0.045320 / 0.196626 433%
#9 '1e10' : 0.054923 / 0.209295 381%
#10 26 : 0.042582 / 0.195295 458%
#11 42000000 : 0.042673 / 0.194469 455%
#12 2147483647 : 0.042560 / 0.194363 456%
#13 2147483648 : 0.045553 / 0.197149 432%
#14 4.2E+20 : 0.054069 / 0.206131 381%
#15 '420000000000000000000' : 0.066170 / 0.218996 330%
#16 array() : 0.057587 / 0.210010 364%
#17 array('foo', 'bar') : 0.071908 / 0.224338 311%

这组测试每个项目进行了100000次循环。两个测试都在windows上运行。系统#1使用的是PHP 5.2.8,而系统#2使用PHP 5.2.9并且有更高的CPU、内存和硬盘速度。

intval()和int的结果对比

为了证明intval()和int得到同样的值,我进行了另一个测试:

# 输入 期待结果 INTVAL($val) (INT)$val 结果
#0 42 : 42 / 42 / 42 通过
#1 -42 : -42 / -42 / -42 通过
#2 4.2 : 4 / 4 / 4 通过
#3 '42' : 42 / 42 / 42 通过
#4 '+42' : 42 / 42 / 42 通过
#5 '-42' : -42 / -42 / -42 通过
#6 34 : 34 / 34 / 34 通过
#7 '042' : 42 / 42 / 42 通过
#8 0x1A : 1410065408 / 1410065408 / 1410065408 通过
#9 '1e10' : 1 / 1 / 1 通过
#10 26 : 26 / 26 / 26 通过
#11 42000000 : 42000000 / 42000000 / 42000000 通过
#12 2147483647 : 2147483647 / 2147483647 / 2147483647 通过
#13 2147483648 : -2147483648 / -2147483648 / -2147483648 通过
#14 4.2E+20 : 0 / 0 / 0 通过
#15 '420000000000000000000' : 2147483647 / 2147483647 / 2147483647 通过
#16 array() : 0 / 0 / 0 通过
#17 array('foo', 'bar') : 1 / 1 / 1 通过

settype()和intval()速度对比[系统 #1]

用于对比,我还进行了settype()和intval()速度测试。 两者的差别并不大,但我不确定这个测试是否合理,因为并不容易直接对这个函数进行测试。既然已经跑了这个测试,我认为值得把结果同前面的数据一起分享出来。

# 输入 SETTYPE($val) INTVAL($val) 比率
#0 42 : 0.533901 / 0.477519 89%
#1 -42 : 0.533729 / 0.478345 89%
#2 4.2 : 0.536932 / 0.480030 89%
#3 '42' : 0.547209 / 0.503447 92%
#4 '+42' : 0.553214 / 0.501764 90%
#5 '-42' : 0.551974 / 0.503403 91%
#6 34 : 0.532637 / 0.478039 89%
#7 '042' : 0.552709 / 0.505796 91%
#8 0x1A : 0.536864 / 0.481672 89%
#9 '1e10' : 0.550352 / 0.506748 92%
#10 26 : 0.537672 / 0.478947 89%
#11 42000000 : 0.536360 / 0.478373 89%
#12 2147483647 : 0.541348 / 0.490556 90%
#13 2147483648 : 0.539018 / 0.486669 90%
#14 4.2E+20 : 0.554357 / 0.499877 90%
#15 '420000000000000000000' : 0.566189 / 0.522929 92%
#16 array() : 0.549919 / 0.505488 91%
#17 array('foo', 'bar') : 0.578893 / 0.527864 91%

更新:

我进行了一些关于0 + $var的测试,因为这也是一种获得数字的方式。 这种方法没那么"类型安全",不过作为对比,我认为有必要一起列出来:

intval()和0 + $var对比结果

# 输入 期待结果 INTVAL($val) 0+$VAR 结果
#0 42 : 42 / 42 / 42 通过
#1 -42 : -42 / -42 / -42 通过
#2 4.2 : 4 / 4 / 4.2 不通过
#3 '42' : 42 / 42 / 42 通过
#4 '+42' : 42 / 42 / 42 通过
#5 '-42' : -42 / -42 / -42 通过
#6 042 : 34 / 34 / 34 通过
#7 '042' : 42 / 42 / 42 通过
#8 1e10 : 1410065408 / 1410065408 / 10000000000 不通过
#9 '1e10' : 1 / 1 / 10000000000 不通过
#10 0x1A : 26 / 26 / 26 通过
#11 42000000 : 42000000 / 42000000 / 42000000 通过
#12 2147483647 : 2147483647 / 2147483647 / 2147483647 通过
#13 2147483648 : -2147483648 / -2147483648 / 2147483648 不通过
#14 420000000000000000000 : 0 / 0 / 4.2E+20 不通过
#15 '420000000000000000000' : 2147483647 / 2147483647 / 4.2E+20 不通过
#16 array() : 0 / 0 / 报错 跳过
#17 array('foo', 'bar') : 1 / 1 / 报错 跳过

(int)$val和0 + $var速度测试[系统 #1]

# 输入 (INT)$val 0+$val 比率
#0 42 : 0.068794 / 0.069249 100%
#1 -42 : 0.074688 / 0.069155 92%
#2 4.2 : 0.073207 / 0.069257 94%*
#3 '42' : 0.086568 / 0.076261 88%
#4 '+42' : 0.087230 / 0.080867 92%
#5 '-42' : 0.090189 / 0.075923 84%
#6 042 : 0.069072 / 0.069243 100%
#7 '042' : 0.088535 / 0.082137 92%
#8 1e10 : 0.072930 / 0.069512 95%*
#9 '1e10' : 0.086942 / 0.082032 94%
#10 0x1A : 0.068921 / 0.069365 100%
#11 42000000 : 0.069203 / 0.069415 100%
#12 2147483647 : 0.069109 / 0.069386 100%
#13 2147483648 : 0.073053 / 0.069277 94%*
#14 420000000000000000000 : 0.092318 / 0.069463 75%*
#15 '420000000000000000000' : 0.105735 / 0.211617 200%*
#16 array() : 跳过
#17 array('foo', 'bar') : 跳过

*: 在上一个测试中,结果未通过

测试结论

使用(int)类型转换,便捷而且没有负面效果。 事实上,它在速度快的同时,还和intval()函数有完全一样的结果。 两者甚至还会有同样的warning信息。

扩展阅读

深层原因

对于作者的结论,网友Joseph Scott对OPCODE进行了分析,解释了其深层原因。

intval()

0 ASSIGN  
1 SEND_VAR  
2 DO_FCALL  
3 ASSIGN  
4 RETURN  
5* ZEND_HANDLE_EXCEPTION

int

0 ASSIGN  
1 CAST  
2 ASSIGN  
3 RETURN  
4* ZEND_HANDLE_EXCEPTION

最终结论

  1. int比intval()快3-6倍。
  2. SEND_VAR和DO_FCALL操作,是导致int比intval()快很多的原因。
[转]看月亮和看星星
Copyright © 芒果派
转自 http://atomatopie.tumblr.com/post/94999424136

回想和小琳琳在一起的时候,我们在无意间做了很多都是是彼此的第一次的事情。

比如有一次,我们吃完晚饭去gym锻炼,走到campus square的时候,天上就开始飘起了雪花,生长在大湖建的小琳琳从来没看过下雪,当时惊喜地像个小孩,印象里,他好像特别兴奋地说,这是初雪啊,今年的初雪啊,我真没想到这辈子第一次看雪,竟然是跟小罗罗一起看的啊!我就在一旁吃吃地笑,嘲笑他没见过世面。除了看雪,我们还一起去看过月亮,看过星星,这个也就是今天要说的故事。

有一天晚上,我们从实验室出来,当时正好台风sandy扫荡过屌丝镇,惠风和畅,天朗气清。突然,小琳琳指着天上的月亮说,你看月晕。我第一次听到这个名词,似懂非懂地看着月亮,那月亮很亮,清澈的玉盘被蒙上羞涩的棉纱,周围出现了一个银白色的光环。我问小琳琳,月晕是什么啊?小琳琳说,月光通过云层中的冰晶时,经折射而成的光在月亮周围形成光圈,有时也呈银白色光圈,这些‘晕’其实就是卷层云,我们上科学课的时候也说到,冷空气遇到暖和的湿空气,就形成要下雨的云,这时,天上很冷,水滴都冻成了六角形的冰晶,当晚上的月光照射这些冰晶时,就形成了月晕。其实,小琳琳当时也解释了一大堆,后来我全给忘了,以上的释义全部来源于百度百科。我们就一边看着月亮,一边走回家,在家门口还给月晕拍了照片,结果因为像素太渣,拍下来的照片像是黑夜里的一盏白炽灯。我和小琳琳都觉得很可惜,于是我俩决定要买一台单反,下次再看到月晕的时候就可以拍下来。现在虽然有了单反,但这一拍星星拍月亮的计划却永远地流产了,也不知道我这辈子还能不能再看见一次月晕。

还有一次,也是冬天,我们从实验室出来,小琳琳说,今天天上星星好多啊,你看,猎户座!我就傻乎乎地问他哪个是猎户座。小琳琳嘲笑我说,猎户座是最好找的星座,因为有三颗小星星连成一条线,还有两颗大星星在下面组成了一个梯形。于是在北斗七星之后,我终于又认识了一个星座。看完猎户座,我还觉得不过瘾,朝小琳琳瞎嚷嚷说,好久没坐车了,我们开着车去山顶看吧。小琳琳想了一会说,你是萌萌萌小罗罗吗,那我们去mountain top campus看星星吧。我说,好啊好啊,正好可以试试star walk准不准。

小琳琳开着他的煤矿老板专用小雅阁,沿着盘山公路开到了山顶。天气实在太冷,我哆哆嗦嗦地打开了star walk准备校准。就在这时,小琳琳向我展示了他高逼格的天文知识,他指着我们头顶的一颗星星说,这颗最亮的星星是天鹅座β星,英文叫Albireo,它距离地球385光年,我们现在用裸眼观测天鹅座β是一颗单星。在那一瞬间,我对小琳琳真的崇拜地一塌糊涂,由衷地惊呆了。但小琳琳继续很冷静地向我解说,但事实上,借助天文望远镜观察,通常所谓的天鹅座β实际上是颗双星,一颗是黄色的,另一个是蓝色的,从地球观测相距34弧秒,因为两颗子星的颜色正好相反,所以这是全天颜色差距最显著的双星,过去,人们认为它们仅仅是光学双星,两者之间并没像真正的双星系统那样有公共点做轨道运行,无论如何,尽管两者间的距离遥远,但现在一般都认为它们是真正的双星。我听得云里雾里,但实在是被小琳琳这满腹天文经纶佩服地五体投地,只是嘿嘿嘿地笑了几下,认真地看着天鹅座。突然,一个闪着绿光、蓝光、黄光的飞行体快速移动,“小琳琳,那是飞碟吗?”我几乎是喊了出来!“你是超级幸运星小罗罗吗?”“嗯?什么?那是飞碟还是啥!”我还是不敢相信自己的眼睛,小琳琳却笑着说,“那颗是行星啊!超级幸运小罗罗,我们刚刚目击了颗小行星啊,全世界每年只有约250个人才能看到呢!”我看着小琳琳,傻傻地说不出话来,只听得小琳琳说,“因为太空各种旋转,总会有新的小行星误入能被地球观测到的区域!”说完,他跑去车里拿出了笔,在纸上写起了各路公式,我不明所以地看着他,不知道他要做什么。只见小琳琳图了一会,突然开口说,“算好啦!”“什么?”小琳琳指着小行星划过的天边说,今晚的这颗小行星就是我们一起新发现的,我给他命名为2014LL 南瓜派星,因为你做的南瓜派是世界上最好吃的南瓜派。我哈哈哈哈大笑,“小琳琳,你还能再土一点吗?”他却一本正经地说,“这是实话,我最喜欢芒果派做的南瓜派。”我内心好是欢喜,只顾抿着嘴傻笑。小琳琳继续说,“刚我算了,这颗南瓜派星,哈哈,我也觉得这个名字好好笑,这颗南瓜派星的周期是83年,83年以后我们还要一起看!”“哈哈哈”我心里又是高兴,又是感动,却还是傻不拉几地煞风景地问了句,“83年以后还不知道能不能看见呢!”“你是超级笨笨小罗罗吗?”小琳琳拍着我头反问道,“那就代表要永远在一起拉!”甜言蜜语听得我又惊又喜,一冲动就bia叽一下在小琳琳脸上亲了一口。

Mac OSX 10.9 Mavericks清除DNS缓存

不说废话,正确的清除DNS缓存方式为:

dscacheutil -flushcache
sudo killall -HUP mDNSResponder