由于同时拿到过德国和澳大利亚的offer,对这两个国家的签证都有研究。这篇文章就聊聊这两个国家的工作签吧。
最近的海外面试(前端)经历
从去年 10 月开始投简历到今年 1 月为止,这三个多月的时间我断断续续面了五六家海外的公司,主要集中在欧洲和澳洲,面的都是前端开发的职位。这里就介绍下整个面试经历,希望对有同样想法的同学有所帮助。
webpack使用小记
如果前两年大家还在讨论grunt和gulp等构建工具的话,现在无疑是webapck的时代。严格来讲,webpack其实和grunt/gulp根本不是一种东西,它不是一个构建工具,而是module bundler
。简单来说,webpack将JS、CSS、HTML(包含各种预处理器)以及图片等等都视为“资源”,每个资源文件都是一个module文件,而module文件之间存在依赖,webpack就是根据module文件间的依赖将所有module打包(bundle)起来。而回忆我们用grunt/gulp构建项目时,做的很大一部分工作也无非是将JS、CSS、HTML编译合并压缩等等,所以从这个层面上讲用webpack和grunt/gulp得到的结果是一样的。但webpack好就好在使用loader的概念让配置更加容易,再也不用和一堆文件路径打交道了。这篇文章就讲一下自己在使用webpack时的一些实践。
用 TravisCI 来做持续集成
持续集成的好处自不用说,一个是省了手动 build 部署的繁琐,二是每一个提交都有自动跑测试保证质量。平时在公司 Jenkins 用的比较多,开源世界里同样也有能和 Jenkins 比肩的好工具:TravisCI。TravisCI 可以和 Github 无缝集成,每次 push 都可以触发相应的操作,跑测试、自动部署都不在话下。这篇文章就记录一下我在angular1-webpack-starter项目上使用 TravisCI 的经验,最终实现的效果就是:提交一个 commit 后,自动跑单元测试,然后 build 项目,然后将测试覆盖率报告和站点部署到 Github Pages 上去,最后跑 E2E 测试。
Angular 里的 E2E 测试
谈谈单元测试中的关注分离
前端的单元测试越来越受到重视,网上也有很多讲解Angular中如何写好单元测试的文章,我自己在最近的angular1-webpack-starter项目中也写了很多单元测试。单元测试的一个核心理念就是对“单元”进行隔离,然后单独测试。可是网上的很多教程存在不少误区:比如在controller的测试中去使用$httpBackend,在引入第三方service的时候使用真实的service等等,说到底都是没有实现“关注分离”(Separation of Concerns),“单元”没有真正的被隔离。这篇文章就谈谈Angular的单元测试中如何更好的实现关注分离。
ES6与Angular 1.x
ES6出来也很长时间了,把ES6应用在Angular 1.x的文章也不少,有了class
这个语法糖Angular里的很多东西都可以写的比较规范了,但很多文章非要把Angular里的所有概念都写成class,这我就觉得没啥必要了。这篇文章就谈谈我自己在ES6和Angular 1.x上的一些实践。
用 Angular 1.x 做组件式开发
自打去年参加了 JSConf 后一直断断续续看了很多 React 的资料,不得不承认 React 确实在很多方面给人耳目一新的感觉,尤其是组件化的思想给我留下了很深的印象。JSX 的语法虽然一开始很难让人接受,但 React 将函数式编程的思维用在组件化上,确实值得借鉴。作为一个 Angular 死忠粉,自然很想把这种好的思维方式也用在 Angular 上了,于是就有了angular1-webpack-starter这个项目。这篇文章就来记录下用 Angular 来做纯组件式开发的一些尝试吧。
JSConf2015(ShenJS)深圳之行有感
上个月11、12号飞深圳参加了今年的JS开发者大会,头一次参加这种大会还是挺兴奋的,见到了一些以前只知道名字的大牛,也开阔了视野。前段时间在公司分别给组内和全公司做了分享,PPT做的老累了,就拿劳动成果凑一篇博客吧。