手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:github

如何禁用flash

本来是不想禁用的,但发现机器的风扇就一直没停过,CPU消耗的最大的就是firefox下的flash插件 .没辙了.我还是禁用它吧.
嗯flashblock即可,但其实我是想从软件的底层就直接禁用它.可惜没有好的办法....只能用插件了.网上类似的教程还有很多,比如这个:

内容来源:http://orzl.com/weblog/disable-the-flash-on-mac

在Mac下禁用Flash的原因众所周知,这次实在是忍无可忍了。

  1. Firefox禁用Flash
    可以使用插件如 - Flashblock:
    下载地址: https://addons.mozilla.org/en-US/firefox/addon/flashblock/
    安装之后网页所有的Flash位置都会显示一个"Play"的占位图标,只有点击图标才会播放对应的资源。
    另:除了Flash以外,它也可以阻止Silverlight,且支持域名白名单。
    Flashblock的官方网站: http://flashblock.mozdev.org/
  2. Chrome禁用Flash:
    方法一: 使用和Flashblock一样的插件:https://chrome.google.com/webstore/detail/flashblock/gofhjkjmkpinhpoiabj...
    方法二:还有一种办法是针对Dev版本启用自带的插件:"Click to Play"。
    "Preferences" - "Privacy" - "Content settings" - "Plugin-in" - "Click to Play"。
    支持域名白名单。
  3. Safari禁用Flash:
    方法一:修改浏览器代理:
    修改浏览器代理为iPad,访问支持HTML5的网站如优酷土豆等会切换到HTML5版本。
    Step 1: 在菜单栏中显示"Develop"选项: "Preferences" - "Advanced" - "Show Develop menu in menu bar"
    Step 2: 在菜单中选择"Develop"选项,进入"User Agent",选择:“Sarafi iOS 5.1 - iPad” 。

    方法二:使用Safari插件:ClickToPlugin & ClickToFlash Safari extensions
    http://hoyois.github.com/safariextensions/clicktoplugin/

    推荐的这个插件分两个版本,一种仅针对Flash,另外一种支持屏蔽的插件包括:Flash、Java、Silverlight、Quicktime、Shockwave等。

    且均支持白名单。

于是乎,世界清静了.嗯,我没有那么急的需求要看flash....而且开了之后,耗电量也大增,何必呢.

Tags: flash

Mou生成PDF时颜色偏淡的解决方法

Mou是一款很优秀的Markdown编辑软件,在MAC下面的展现比较趋向于完美,但一直以来生成PDF时,颜色都非常淡:
大小: 37.09 K
尺寸: 500 x 246
浏览: 1968 次
点击打开新窗口浏览全图
眼睛都快看花了,而LiteIDE里,作者说他是用的Mou授权的CSS文件,却生成出来是这样的效果:
大小: 41.91 K
尺寸: 500 x 273
浏览: 2107 次
点击打开新窗口浏览全图
这相差也太大了。所以就发了封邮件给作者,作者回复的很快,然后发现我也被鄙视了。。。

XML/HTML代码
  1. 你好!我猜你一定是 Mou 的老用户了(从 0.7.2 之前就开始用了),因为这个 CSS 早在 Mou 0.7.3(去年8月19号) 就已经更新过了(PDF颜色加深)。  
  2.   
  3. 但是为了保证用户之前自定义 CSS 的安全,Mou 不会主动覆盖旧的 CSS,如果想使用新的 CSS,需手动删除  
  4. ~/Library/Application Support/Mou/CSS/  
  5. 目录下旧的 CSS,重启 Mou,Mou 会创建新的 CSS。  
  6.   
  7. 这点已在 Release Notes 中多次提及:  
  8. http://mouapp.com/releasenotes/  

看了一下mouapp的releasenotes,那一行果然是其他颜色的。。。天啊。更新这么多次了,都没有看过别人的releasenotes。。。郁闷
大小: 147.47 K
尺寸: 500 x 221
浏览: 1995 次
点击打开新窗口浏览全图
于是进入目录,删除了CSS,重打开Mou,Export 一份PDF,果然正常了。Oh Yeah。。

作者还提供了修改CSS的方法:

XML/HTML代码
  1. 另外如果需要自定义 CSS,不能直接修改 .app 包里的,如果真的那样设定,岂不是每一次更新,用户的自定义 CSS 都会丢掉?  
  2.   
  3. 正确的目录是  
  4. ~/Library/Application Support/Mou/CSS/  
  5. 如果你在 Preferences>CSS 里点击 Edit… 按钮,引导过去的也是这个目录而不是 .app 包里的。  
  6.   
  7. 关于自定义 CSS,可以直接修改现有的,也可以把新的 CSS 文件(文件名随意)拖到这个目录下,重启 Mou 后它会自动刷新 CSS 列表,当再次进入 Preferences>CSS 里时,就可以在列表中选用你新加入的这个 CSS 了。  
  8.   
  9. 还有一篇关于只应用于 PDF 的自定义 CSS 技巧的 Blog:  
  10. http://chenluois.com/blog/mou-pdf-export-page-break/  

享受Mou吧

Tags: mou, pdf, markdown, liteide

SQL to Mongo Mapping Chart

mysql 与 mongo之间是怎么替换的?
官方有一个表格:

SQL Statement Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 10 SKIP 20 $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));
DELETE FROM users WHERE z="abc" $db->users->remove(array("z" => "abc"));


不过,硬要说的话,这个还不全,http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart,这里有更全的。
在上面的页面还能够讲这个mapping chart导出成pdf。
比如,这个:docs-8716963-090117-10.pdf

Tags: mongo

来自coolshell:重构代码的7个阶段

代码重构是所有人的噩梦。怎么样重构一系列代码,是一件非常重要的事情。
在没转这篇文章之前,我的重构都是先从部分非关键代码开始重构,而且把这一部分慢慢的独立成一个模块,在采用新的架构的时候,这一块也可以被嵌入的新的架构中。
当然在其中也会遇到一系列的问题,但这样来说会轻松一点。
OK,让我们来看原文吧。
原文是来自:http://coolshell.cn/articles/5201.html

你曾去想重构一个很老的模块,但是你只看了一眼你就恶心极了。文档,奇怪的函数和类的命名,等等,整个模块就像一个带着脚镣的衣衫褴褛的人,虽然能 走,但是其已经让人感到很不舒服。面对这种情况,真正的程序员会是不会认输的,他们会接受挑战认真分析,那怕重写也在所不惜。最终那个模块会被他们重构, 就像以前和大家介绍过的那些令人销魂的编程方式中的屠宰式编程一样。下面是重构代码的几个阶段,文章来自:The 7 stages of refactoring,下面的翻译只是意译。

第一阶段 - 绝望

在你开始去查看你想要重构的模块的,你会觉得好像很简单,这里需要改一个类,那里需要改两到三个函数,重写几个 函数,看上去没什么大不了的,一两天就搞定了。于是你着手开始重构,然后当你调整重构了一些代码,比如改了一些命名,修理了一些逻辑,渐渐地,你会发现这 个怪物原来体型这么大,你会看到与代码不符甚至含糊不清的注释,完全摸不着头脑的数据结构,还有一些看似不需要方法被调了几次,你还会发现无法搞清一个函 数调用链上的逻辑。你感到这个事可能一周都搞不定,你开始绝望了。

第二阶段 – 找最简单的做

你承认你要重构的这个模块就是一个可怕的怪物,不是一两下就可以搞定的,于是你开始着干一些简单的事,比如重新命名一下几个函数,移除一些代码的阻碍,产生几个常量来消除magic number,等等,你知道这样做至少不会让代码变得更糟糕。

第三阶段 – 再次绝望

但是接下来的事会让你再次撞墙。你会发现那些代码的瑕疵是些不痛不痒的事,改正这些事完全于事无补,你应该要做 的事就是重写所有的东西。但是你却没有时间这么干,而这些代码剪不乱理还乱,耦合得太多,让你再一次绝望。所以,你只能部分重写那些不会花太多时间的部 分,这样至少可以让这些老的代码能被更多的重用。虽然不完美,但是至少可以试试。

第四阶段 – 开始乐观

在你试着部分重构这个模块几天之后,随着重构了几个单元后,虽然你发现改善代码的进度太慢了,但此时,你已知道代码应该要被改成什么样,你在痛苦之 后也锁定了那些那修改的类。是的,虽然你的时间预算已经超支,虽然要干的事比较多,但你还是充满希望,觉得那是值得的。你胸中的那团火又被点燃了。

第五阶段  - 快速了结

在这个时候,你发现你已花了太多的时间,而情况越来越复杂,你感到你所面对的情况越来越让你越到不安,你明白你自己已经陷入了困境。你原本以为只需 要一次简单的重构,然而现在你要面对的是重写所有的东西。你开始意识到原因是因为你是一个完美主义者,你想让代码变得完美。于是你开始在怠慢你文档,并想 找到一个捷径来重写老的代码,你开始采用一些简单而粗暴,快速而有点肮脏的方法。虽然不是很完美,但你就是这样去做了。然后,你开始运行测试做UT,发现 UT报告上全是红色,几乎全都失败了,你恐慌了,于是快速地fix代码,然后让UT 能工作。此时,你拍拍自己胸口,说到,没问题 ,于是就把代码提交了。

第六阶段 – 修改大量的Bug

你的重写并不完美,虽然其过了测试,但是那些UT测试对于你的新的代码有点不太合适,虽然他们都没有报错,但是他们测试得范围太小了,没有覆盖到所 有的情况和边界。所以,在这以后,你还需要几周或是更长的时间不得不来修正越来越多的bug,这使得你的设计和代码在每一次quick-fix后就变得越 来越难看。此时,代码已经不像你所期望的那样完美了,但你依然觉得他还是比一开始要好一些。这个阶段可能历经几个月。

第七阶段  - 觉悟

经过了6个月,你重写的模块又出了一个比较严重的bug。这让你重构的那个模块变得更难堪。你发现出的这个问题是和当初的设计不一致,你还发现被你 重构掉的那段老的代码并不是当初看上去的那么坏,那段老的代码确实考虑到了一些你未曾考虑到的事情。这个时候,你团队里有人站出来说这个模块应该被重构或 是重写,而你却不动声色地一言不发,并希望那个站出来的人能在几个月后能觉悟起来。

——————

不知道这是不是你的经历,我经历过很多次这样的事。对于很多维护性质的项目,我犯过的错误让我成了一个实实在在的保守派,我几乎不敢动,那怕看到代 码很不合口味。当然,那些从来没有写过代码的敏捷咨询师一定会说用TDD或是UT可以让你的重构更有效也更容易,因为这样会让他们显得更我价值,但我想告 诉你,这种脱离实际的说法很不负责任,这就好比说—— 我在杀猪的时候遇到了一些麻烦,因为我对猪的生理结构不清楚,或是这本来就是一头畸形的猪,导致我杀的猪很难看,而伟大的敏捷咨询师却告诉我,要用一把更快更漂亮的刀。软件开发永远不是那么简单的事,杀猪也一样。

-----------------------
不过我想,更多的时候,安排你重构一份代码的时候,你可能想到的就是我情愿重写一份也不愿意重构,对着数据库结构和一些业务逻辑,然后就开始重写了。只是这样的写法,后面遇到的问题会非常非常多。你呢?也是这样的吗?

Tags: 重构