开发小记三则

Posted in   Code   at 2013-05-29

和人交流,容易产生新想法

最近有一个问题一直困扰着我,如何让jwplayer显示正在播放文件的信息。

背景: jwplayer播放smtp流,此流由第三方提供,依次按照list播放。

目的: 当jwplayer播放某个视频文件时,显示对应的文件信息。

解决过程:

  • 最先想到的就是jwplayer的playlist参数,此参数记录jwplayer播放的文件或者文件列表以及文件的详细信息,这个文件可以是xml文件,也可以是其他格式。于是google上狂搜jwplayer playlist smtp, 都没有得到完美的答案,要么是介绍playlist的使用,要么是介绍smtp流的使用,把二者集合到一起的也需要smtp server和playlist在同一台服务器,对于本人,smtp server上不可能放置playlist。就这个结论花了两天的时间。

  • 无奈,只好求助朋友,给7打电话,讨论这个问题,和他的讨论让我思路清晰。目前只能在自己的服务器解析playlist并显示。可是什么时候显示呢?浏览器什么时候请求数据?还是服务器不断的推送数据?另外还有可能有一种不同步的问题,来自自己服务的列表,和第三方服务器的列表不同步。

  • 最终用了js的setTimeout方法,在第一次请求时,得到下一次请求的时间,用setTimeout来设置定时任务,让请求循环下去。

张弛有度,效果更佳

为了找到一个关于点击图片实现放大显示的js代码,花了一天的时间还是没有满意的结果,最后只好搁置。第二天早晨接着做这件事,没想到半个小时搞定。也许是量变到质变,也许是休息了一晚脑子开动了。

总之,如果技术上的事,如果超过半天还没有合适的方案,要么和别人讨论,要么休息调整一下思路。

持续改进

首先让代码完成任务,三分钟后,优化代码,真的controller中method的代码不宜超过3行。

TextMate常用快捷键

Posted in   TextMate   at 2013-04-09

control + W == 选定词 control + A == 光标移到行首 control + E == 光标移到行尾

command + E == 把当前选中的词作为搜索的词 command + F == 在当前文档中搜索单词 command + shift + F == 在当前工程中搜索单词 command + G == 搜索下一个 command + shift + G == 搜索上一个

command + T == GO to File command + L == GO to Line

Git学习纪录

Posted in   git   at 2013-04-08

git也用了一段时间,可是其中的一些概念还是不清楚,于是抽空补习一下。

几个基本概念

  • working directory (working tree) 工作目录,保存当前正在工作的文件所在的目录
  • stage (index) 索引,是工作目录和git库目录之间的暂存区
  • git directory (history) ,所有历史提交的纪录
  • branch 分支,指向某一个commit的提交
  • HEAD, 指向当前分支

几个命令

  • diff,用于查看两次提交之间的变动。

    • 查看 stage 和 working directory之间的变动,命令 git diff

    • 查看 当前branch 和 working directory之间的变动,命令git diff HEAD

    • 查看 当前branch 和 staging之间的变动,命令git diff --cached

    • 查看 某分支maint 和 working directory之间的变动,命令git diff maint

    • 查看 提交b325c 和 提交 da985之间的变动,命令git diff da985 b325c

  • commit, 在git history中,创建一个新的提交,并把此时的节点设为父节点,然后把当前分支指向新的提交节点,主要任务创建提交

  • checkout,用于从历史提交(暂存区域)中拷贝文件到工作目录,也可以用于切换分支(即移动HEAD),主要任务拷贝文件, 移动HEAD_

  • reset, 把当前分支指向另一个位置,并且有选择的变动工作目录和索引。也用来从历史仓库中复制文件到索引,而不动工作目录。主要任务移动分支

  • merge,把不同分支合并起来,合并前,索引必须和当前提交相同。主要任务合并分支

  • rebase,合并命令的另一种选择,在当前分支上重演另一个分支的历史,提交历史是线性的。主要任务提交历史线性

具体参考图解Git