怎么解释手动档换档原理?

有的人喜欢讲物理,讲扭力,学渣根本听不懂,我也是学渣。

在我看来,理解这个事,关键不是靠的物理学的那些概念和量。

量化一个事情很简单,记住个公式也不难。用一个词把问题给概括过去也容易,但是没有卵用,因为这些东西与一个人既有的思维模型没有关系,所以假装懂,最后还是不懂。

我的理解是从反面来的。

首先从实践出发,低速高档开不动会熄火,高速低档会耗油会冒烟。

那么为什么低速高档开不动会熄火呢?先想想熄火是怎么回事,内燃机就是一个炉子,炉子里氧气不足或者没人点火就会“熄火”。

低速高档是什么情况呢,最典型就是起步,也就是说车子根本没速度,这时你用高档是什么情况呢:首先,你踩着离合器发动了车子,这时发动机就在那里空转,然后接着你把离合器慢慢松开(且不谈你快抬离合的问题),这时就是一个大齿轮去推小齿轮转(这是个简化的说法,但是根本上是没错的),而小齿轮带着巨大的车胎以及整个汽车,大齿轮转一圈要很长时间,即使这样也没推动小齿轮动一下,这时离合器松得太多,双方合得太深,就会导致某一圈没转完活塞就歇在那儿了,此时要么废气没排出去,要么不能往回进行空气压缩,总之不能再进行一次燃烧了。这就熄火了。所以从根本上说,熄火并不是一种保护机制,而是错误流程中的必然。

 

顺便转一个细节问题:四冲程发动机是不断点火重新燃烧的吗

答案是:汽油车确实是这样的。柴油机不用,因为柴油被压缩到一定程度会自爆?(或者说它可以被压缩得很厉害?)

既然可以在服务器端设置跨域,为何要用JSONP?

改标头:

在请求页面上使用Access-Control-Allow-Origin标头。

使用如下标头可以接受全部网站请求:

header(‘Access-Control-Allow-Origin:*’)

  使用如下标头可以接受指定网站请求:

header(‘Access-Control-Allow-Origin:http://www.abc.com’)

 

大家不用这个,大概是为了安全?

git弄好了,可是用尽各种办法也不能自动登录

每次push都要先输入密码,编辑什么.gitconfig文件也好,_netrc也好,.git-credentials也好,统统无用。

如果无法自动登录,我就不会去试hook的自动刷新。想来肯定会提示输入密码的,那没意思。

之前玩的新浪sae,貌似跟着操作一下就实现了自动监视更新。

这么个屁事,实在不行写个脚本自动运行,隔一段时间跑一次。但是总觉得好难受,为什么别人都能搞定,我这儿就不行。

早知道就不安装github的git客户端了,这玩意网上的教程都教的是如何使用github,我自建服务器人家就不说怎么搞了。实在没意思,不过为这个破事浪费我这么多时间,也真是无语。

我用git的本意只不过是为了能够不断更新(其实也就是一个备份,并不会在太多机器上安装客户来玩),免得一次要上传太多的文件,像现在这样,好处不多,麻烦不少,也挺愁人的。

git安装

http://www.centoscn.com/image-text/install/2014/0514/2972.html

没搞定密钥文件的事情,因为在服务器端的那个文件完全是自己创建的,根本找不到相应的目录。所以只好自己登录了。

微信小程序框架”分析”

我的习惯是不看说明书直接开搞,这次也不例外。

结果把所有代码层面的bug都清除了,还会发现终极bug出在对框架的理解和应用上。

首先是setTimeout问题,这玩意是会突破页面,在任何时候发生作用的,也就是说如果你设定定时弹框的话(用系统组件showModal之类),就算你点返回离开当前页面,它还是会准时生效。一开始我想把它写在page()方法里应该没事,结果发现根本挡不住。只好在unload的时候把它清除掉。现在猜想可能有如下可能:

可能性1:点返回时用的是navigateback,毕竟不是redirect,所以意味着原页还存在着,所以setTimeout是在原页运行,但是模态框的特点就是杀到前台最高点,何况它本身是wx对象的方法,所以就弹了。

可能性2:微信小程序就是一单页应用,页面根本都不存在,如果不封装的话,一切都会乱跑。

总之无论如何,现在我把所有直接用到this的都给封到page()里去是没错的,但是现在关页面就清掉所有定时器,这个做法可能会导致以后的逻辑问题,还是应该改掉

装逼被雷劈,踩坑踩到吐

2号下午更新:

把跳页面的过关方式改成了setData,结果因为key的问题把我坑苦了。(重新更新必须把key去掉)。

还有个this问题没解决,只是混过去了,至今没搞明白。

________

昨天说小程序并不复杂。

于是为了写一个小游戏,我从昨晚9点干到现在。

只是实现了一点基本的判定逻辑,过关加分还没实现(想想应该很简单吧)。

坑如下:

1、四个选项,点中正确的下一步,要判断是否正确,就得拿选中的和正确的进行对比(废话),按传统的做法当然是可以把正确结果做个全局变量或者放到hidden域里,但是这样显然太low。退而求其次我是不是可以把正确答案绑到每个选项的data里呢,我不想这么干,于是想着直接把比较的结果(三元运算得到一个boolean值)绑定到某个data项上,最终我如愿以偿了,但是这样做竟然还有顺序的问题,真是醉了。

2、我照着默认工程中的navigatTo方法来跳关,结果是过了3关死也过不去,后来硬是被我猜到原因:这方法是打开新页,而我只注册了5个页面,首页、游戏页面、加个3个关刚好是5个页面……redirectTo方法我都是自己瞎试出来的!

考虑到这玩意性能实在是太低(也许是因为模拟器加解释执行导致的?)总之,我决定明天把重定向也给干掉,看看能不能直接重新绑定数据,能省一点是一点啊。

怪不得人家要用redux之类的高级玩意,硬写效果真心不好。

3、好久没搞,被js对象的传址不传值给害惨了。写个swap根本就没swap成。