2010年8月25日 | 分类: 未分类 | 标签: , , ,
写在前面:

第一次听说GitHub是在kissy源代码转到GitHub上托管的时候,最初的感觉是类似Google Code和SourceForge,并没有了解具体的内容,查询资料汇总如下:

GitHub.Com是什么?

GitHub可以托管各种Git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。GitHub主要用Rails实现。

Git是什么?

The stupid content tracker,傻瓜内容跟踪器。Linux 是这样给我们介绍Git的。Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS, Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。作为开源自由原教旨主义项目,Git没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,没有Windows版本,目前也没有这样的开发计划。

GitHub支持SVN?

GitHub支持SVN版本控制,只不过是只读的,不能提交。

如何用SVN检出GitHub上的项目?

kissy项目:svn checkout http://svn.github.com/kissyteam/kissy.git
tinymce项目:svn checkout http://svn.github.com/tinymce/tinymce.git
规律很好找吧?如果你像我一样,只是用来研究代码,那么只读又有何妨?

写在后面:

Git很强大,可惜Linux不懂,想了解的请自行搜索。

没有评论 (54 views)
2010年8月21日 | 分类: 前端开发 | 标签: ,
写在前面:

在最早的时候,就开始发现margin有问题(但并不知道是重叠问题),很自信和某同事说过:少用margin-bottom,那玩意无效,很遗憾的是被同事因为一次应用戳穿而取笑,但是我却也解释不出所以然出来,则不了了之了;再后来,开始发现margin重叠的一些原因,开始规避它,尽量不出现父元素的margin-bottom和子元素的margin-bottom;而现在我将在能力范围内整理margin的重叠问题。

相关概念:

边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。实际上margin的重叠问题不能算是浏览器的bug。几乎所有的浏览器都会按照这个来解释。

经典问题:

.box1{ background:red; }
.box2{ background:blue; margin-top:20px; }
<div class=”box1″>
<div class=”box2″>
受影响的父元素“被”margin-top
</div>
</div>

想象中,应该是box2的顶端是应该出现20px的红色空白部分的,但现实运行的结果是box1的顶部出现了20px的空白

发生机制:

常规流中两个或多个块级盒子的垂直相邻边界会重合,结果的边界宽度是相邻边界宽度中最大的值。如果出现负边界,则在最大的正边界中减去绝对值最大的负边界。如果没有正边界,则从零中减去绝对值最大的负边界。注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成。

例外情况:

水平边界永远不会重叠。
浮动盒子、绝对定位盒子、内联块盒子、根盒子的边界永不重叠。
overflow属性不等于visible的元素与它的非浮动子元素之间边界不发生重叠。

解决方案:

1.解决之
在父元素上应用
float:left float:right position:absolute display:inline overflow:hidden等等
2.适应之
有道是:“如果反抗没有用,那就好好享受吧”,合理利用margin的重叠,结构清晰,样式稳定,也不是难事。

写在后面:

adang编写高质量的代码中这样说,“如果对相邻的模块同时使用了margin-top和margin-bottom,边距会重合带来不必要的麻烦,所以最好统一使用margin-top或者margin-bottom,不要混合使用,从而降低出现问题的风险。”我在实际项目操作的时,也采用了这种做法,看来,我喜欢反抗哈。

2 条评论 (69 views)
2010年8月18日 | 分类: 前端开发 | 标签:

转自adang编写高质量的代码。

分工安排主要包含以下内容:
1.公共组件(包括common.css 和 common.js) 一人维护,各子频道专人负责,每个频道正常情况下由一人负责,要详细写明注释,如果多人合作,维护的人员注意添加注释信息。
2.视觉设计师设计完设计图后,先后交互设计师沟通,确定设计可行,然后先将设计图给公共组件维护者,看设计图是否需要提取公共组件,然后再提交给相应频道的前端工程师。如果有公共组件要提取,公共组件维护者需对频道前端工程师说明。
3.如果确定没有公共组件需提取,交互设计师直接和各栏目的前端工程师交流,对照着视觉设计师的设计图进行需求说明,前端工程师完成需求。
4.前端工程师在制作页面时,需先去common 文件中查询是否已经存在设计图中的组件,如果有,直接调用;如果没有,则在app.css 和 app.js 中添加相应的代码(app指各频道自己的文件)。
5.前端工程师在制作过程中,发现高度重用的模块,却未被加入到公共组件中,需向公共组件维护人员进行说明,然后公共组件维护人员决定是否添加该组件。如果确定添加,则向前端工程师说明添加了新组件,让前端工程师检查之前是否添加了类似的组件,统一更新成新组件的用法,删除之前自定义的css 和js。虽然麻烦,但始终把可维护性放在首位。
6.公共组件维护者的公共组件说明文档,需提供配套的图片和说明文字,方便阅读。

1 条评论 (74 views)
2010年7月28日 | 分类: 前端开发 | 标签: , ,

页面做好了部分,FF下也调试过了。但却被发现2个问题,记录如下:

1. FF下不同的电脑,同一版本的浏览器对空格的解析宽度不一样?
经过测试,出问题的浏览器由于安装的是中国版的FF的缘故,中国版的FF下默认会安装一个设置显示字体的插件,刚好同事的电脑修改了显示字体,估计很多字体对空格的解析宽度都不一样。

2. FF3.1下有个小问题,造成了以下2个延伸问题

2.1 如何多版本FF共存,安装中…

详细步骤:FFA(3.6.8) FFB(3.0)
1. 国际惯例,先备份FF(FFA)的配置文件,位置在:
{用户名}\Application Data\Mozilla
{用户名}\Local Settings\Application Data\Mozilla

2.安装老版本的FF(FFB),连续下一步,不用我在教你,建议换个安装目录

3.找到FFA的运行文件,发送到桌面快捷方式,右键属性,在目标栏目的最后加入 -P 3.6 -no-remote

4.运行FFB,系统会让你配置profile,原来的那个修改为3.6,新建一个修改为3.0

5.修改FFB的快捷方式,右键属性,在目标栏目的最后加入 -P 3.0 -no-remote

6.现在2个都可以用了。调试还是比较方便的,并不影响FFA已经安装的插件等。

可惜2个不能同时运行,谁告诉我?呵呵。

2.2 上哪里去下历史版本的FF,官网上只提供最新的和次新的下载,网上搜索到一个地址,可以下载所有历史版本的FF:
http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ 也是官方的,大家放心下载。

2 条评论 (133 views)
2010年7月16日 | 分类: 未分类 | 标签: , ,

这个BUG只出现在IE6下,今天测试页面的时候发现并找到的解决方案:

BUG症状:

IE6边框时断时续,时有时无,其他流行浏览器均正常显示

BUG条件:

1px边框,border:1px solid #ddd;子元素下有浮动;最后已加清除浮动附加div class=”clear”

BUG解决方案:

父元素上zoom:1或者height:100%

另外一个边框BUG:

IE bug: 1像素的dotted/dashed边框 涉及浏览器为IE6/IE7

4 条评论 (169 views)