如果要做一个有多种颜色主题(甚至可以支持自定义)的网站,我们可以为不同颜色主题分别写样式,但更好的方式是抽象出一套颜色体系,定义出颜色规范,确定几种元颜色值,不同颜色主题都通过这几种元颜色值按一定的变化方式产生,于是,多颜色主题的支持将会非常方便,并且其结果也将会令人满意,不会出现颜色值不协调、对比度不够等问题。

就像一个方程,给定特定几个参数,然后生成一套颜色主题。

而这也与通常设计的习惯相同,一般一套主题不会有特别多的色调,很多颜色都是相近或者是通过变换产生的。设计师们可能没有一种明确的计算方式,但凭他们的设计直觉会选出较合适的颜色值。

继续阅读

最近在尝试在公司内部推广使用 Wiki,感想颇多。人与人之间的差别关键在于认知的差异。

这篇文章最初发布在公司内部 Wiki 系统中,骥图打造团队知识型氛围,提高领导对知识管理的重视,同时推动运维升级和完善 Wiki 系统。

我尽量避免长篇大论,简明扼要地总结关键说服点,发表出来也希望对其它公司团队有用。

继续阅读

筛选简历是企业接触候选人的第一步,高效准确地过滤候选人简历,能够提高招聘效率,减少不必要的成本。本文意图总结整理一套有效地简历快速筛选方法,让即使不太深入了解专业技术的 HR 也能够高效地筛选出更加符合要求的简历。

这里的目标人选是具有以下潜在特征的候选人:

  • 职级在 P5 以上
  • 有一定的专业能力素质
  • 聪明、自律
  • 拥有一般程序员特征
  • 三观正(不是小粉红、自干 5、热血青年等)

经过几年的面试经验,我发现透过简历可以分析出很多信息,优秀候选人的简历总是有相似的特征和亮点,如都会经常翻墙查阅国外技术资讯和趋势。

当然也不排除一些例外情况:候选人公司、业务或团队问题导致候选人工作经验方面受些影响,但优秀人才的特质总会让其想办法去做出突破限制,个人成长方面,公司环境毕竟不是决定因素。

继续阅读

目前前端三大框架(Vue.js, Angular.js, React.js)都在引领着前端的组件化开发方向,组件化的前端开发方式的确为业务实现带来了前所未有的方便,其实组件化开发早已经具有(YUI),但如何封装一个优秀的组件,可能并不是每位前端开发者都能够做好的。

组件封装有一定的不确定性,更多时候是在做几个方面的权衡,并且在业务不断变化中,可能还会面临一些调整和重构。

组件化开发的意义有很多,一些新手会狭隘地认为只是为了复用(包括对于模块化的理解),认为只有一个地方用就没必要抽取封装为组件,但实则不尽然:

  • 组件化是对实现的分层,是更有效地代码组合方式
  • 组件化是对资源的重组和优化,从而使项目资源管理更合理
  • 组件化有利于单元测试
  • 组件化对重构较友好

继续阅读

试用期是公司对新入职员工的考核,同时也应当作为新入职员工对公司和团队的考核,体现在团队流程制度、文档、工作氛围、福利等方面。

一、考核时间

入职后六个月

二、考核方向

工作态度

  1. 遵守公司规章制度,考勤制度,安全制度等,认同公司价值观
  2. 个人职业道德、文化与企业文化是否匹配;性格和组织特征是否冲突,个性与工作内容是否适合
  3. 关心公司新闻动态,积极参与公司举办的各种活动
  4. 对工作认真、负责、用心和勤奋,有职业成就动机
  5. 对工作结果负责,不推卸责任
  6. 积极为公司和团队提出有建设性意见,勇于指出不足,推动改进

继续阅读

D3(Data-Driven Documents) 是一款基于 SVG 的非常基础、强大和应用广泛的库,提供了对于 DOM 结点操作的高效封装,适用于数据可视化的实现。

D3 的核心库主要做了以下封装:

  1. DOM 选择器
  2. DOM 操作函数
  3. 动画变换

其实很像是 jQuery,但与 jQuery 又有些根本的不同:

继续阅读

最近项目由于业务复杂度的不断提升,前端页面的数据层管理有些混乱和低效,出现数据更新同步复杂,数据源众多等问题。

vuex 对于一般复杂的前端组件共享数据是没什么问题的,但是当后端数据源复杂,数据需要进行复杂的合并、关联计算、预处理时,mutation 和 action 就会写得愈加复杂,同时团队成员也可能由于水平问题及对业务的不同角度理解,容易造成数据层混乱,使接下来新业务功能的开发越来越复杂,代码慢慢变得维护困难。

在这种背景下,似乎 RxJS 是不错的解决方案。

继续阅读