懒懒交流会

到杭州后第一次参加部门以外的交流会,也没想到以前听说过,而现在自己能够参加:)

懒懒交流会,今天的主题有这四个。

1. WEB信息无障碍

记性不好,只记得大概是这个标题,演讲者/讲师是位美女(真的是美女,我保证不再滥用这个词)。标题起得很大,内容大概是说读屏软件如何如何工作,怎么写HTML代码会让各种没有视力的人/物更好地去理解内容,除了读屏软件以外,另一个就是搜索引擎啦。谈了一些细节,比如img标签任何时候都要有alt这个属性,如果是装修性的图片就设空,讲到这里我还提问了:“既然是装饰性的,为何不让CSS来完成这项工作?”,貌似美女没有答到我的要点,也许是她认为负责HTML和CSS的人都是分开的吧。除了IMG外,另一个就是:应该用label包围input,还是用for?答案显然易见。其实我更好奇的是关于javascript怎么写,才不会影响到读屏软件:)

2. 火星来客

如标题所言,内容很符合,一点都不标题党。

3. Web Developing in Search

这个有点意思,PPT全是英文的,看起来也很舒服,就是偶尔会看到一两个单词不认识。

淘宝在开发中同时使用了Git,是因为Git 更 flexible, lightweight(好奇,有比Git更heavyweight的吗?),另一个就是扩展分支很容易,在各种版本控制软件的书籍中,SVN, CVS的都将分支列为高级教程,而Git是在基础教程过后马上开始,容易创建branch也许是Linus的想法吧XD。

不过很惭愧,用了这么久的Git,分支之类的功能还不太熟悉。

同时还提到他们用了git hooks来实现一些工作(反正不是部署),例如email通知之类的。

上面说了Git应用于开发中,而他们同时也使用了svn来部署,理由是有权限控制,不知道这个权限控制的概念是不是与gitosis的作用相同呢?另一个理由则是容易控制。这个理由没搞懂,演讲者也没细谈 OR 我忘记了。

同时部署时也使用了版本目录(版本号阿时间戳之类的),这样就避免了冲突,也容易实现回滚与部署。

还提到了javascript测试时使用的一些工具:gjslint.vim, javascriptlint.vim, reviewboard之类未曾听过的名词。

还有剩下的就是assets之类的,比如将文件/模块分得很细(反正最后也要合并起来)之类的做法。

4. UED WORKFLOW

抱歉,不记得标题了。大概就是讲工作流程吧。
每个规模不同的部门/公司都有各种workflow,作为实习生的我认为。。。这个仅供参考吧:)

最后,每个填一张feedback,每张feedback最下面都有编号,于用抽奖,结果还抽中我了XD, 只是奖品是一张彩票。。。

feedback里面提到的一个问题关于code review的,我一直认为review很重要;如果像pair programming那样就显得点浪费,如果是两个人相互review,感觉效果会好很多。

使用Git Hooks 更新网站

使用hooks 来更新网站是很愉快的事情

只需要将服务器上的仓库目录中的hooks/post-receive-sample 复制一份为post-receive,再用一个有权限的linux user在htdocs目录下git clone /data/xx/xx.git

修改 仓库目录中的hooks/post-receive

写下以下脚本

echo 'updating website'
cd /data/web/somedir/
unset GIT_DIR
chmod 777 * -Rf
git checkout --force
git pull --force
chmod 777 * -Rf
echo 'update successfuly'

脚本来自 aligo

这里还有一个更复杂的 使用 Git Hooks 实现自动项目部署

pebbly 用到的一些技术

pebbly 是我花时间比较多(应该是最多)的项目,也是我刚开始学PHP的第一个项目。

目前运行在PHP 5.3.3 上,Web服务器是Nginx 0.8,MySQL 是5.1,还用了比较常见的ImageMagick在相片上传方面,主要用于处理图片尺寸和锐化。

-待续