人员、任务、进度、工时、周期、依赖关系 一目了然。无论项目大小、简单复杂都能轻松管理
CSS Transition 中的高度从 0 到 auto 以及从 auto 到 0 是个艰难的任务(相比于其它属性的 transition 而言),原因也很简单:就是浏览器不支持此类 CSS 动画,无论在何种情况下,它都不会成功。
但是高度渐变是个很常用的动画效果,如果绕过纯 CSS height 属性,有如下方式来实现:
使用 max-height 属性,为元素设置一个不可能达到的最大高度,然后将 transition 转换为 max-height 从 0 到某个固定的
OSX 🔗
Use brew to install polipo via socks proxy:
$ ALL_PROXY=socks5://127.0.0.1:9500 brew install polipo
Create polipo.config file under Document:
socksParentProxy = "127.0.0.1:9500"
socksProxyType = socks5
proxyAddress
Egret Engine 的学习笔记。
Egret Engine 是一款基于 JavaScript 的游戏制作引擎,支持 2D 与 3D 模式,支持 Canvas 与 WebGL 渲染,目前使用 TypeScript 编写。
显示对象 🔗
“显示对象”,准确的含义是可以在舞台上显示的对象。可以显示的对象,既包括可以直接看见的图形、文字、视频、图片等,也包括不能看见但真实存在的显示对象容器。
在Egret中,视觉图形都是由显示对象和显示对象容器组成的。
对象树
如题,经过长期痛苦的观察以及 debug 过程,以下原因被一一排除:
浏览器差异问题
数据更新问题
ng-repeat 没有添加 track by key 导致的性能问题
Angular 版本问题
MEAN.js 架构问题
实际原因却是因为 MEAN.js 在全局引入了 ngAnimate 依赖。(也算是一个架构问题?)
因此解决办法:
要么将全局依赖去掉,改为各自添加依赖
要么使用 transition: none !important
React 学习笔记(基础篇)。
安装 🔗
npm install -g create-react-app
create-react-app hello-world
cd hello-world
npm start
实践:create 这一步会同时执行 npm install 因此有失败的可能,多尝试几次就成功了。
这个程序跟 vue-loader 很像,会造出一个简单的手脚架,包含了 Babel 编译器以及打包工具等等。但是细看它的 package.js
刚刚过完了一个非常无聊的元旦。虽然像是很快过了一年的样子,但是又感觉过了很久。因为我已经想不起来年初我在做些什么了。
这次主要说些职业生涯和工作上的东西。其它的,想到再说。
工作 🔗
真的要翻看以前写的每周 report 才能想起来自己上半年做了些什么,不过也都是些没多大意思的项目。比较可喜的是,目前我已经从对内支持工具开发转为了对外产品开发。也算是公司对我的一种肯定吧。
公司下半年好像一直在寻找传统商业模式下的新方向,也尝试了一些新的项目,我基本上都有参与
Sometimes we can see unread numbers on inbox label, but can't actually find them.
Fix steps:
In the "Search Current Mailbox (Ctrl+E)" box, type: read:no and hit Enter.
When it shows "Find More on Server" link, click it.
经过一些努力,把博客迁移到了 Github Pages,将域名改成了自定义,并且成功启用了 SSL,以下是步骤(就不截图了)。
部署代码 🔗
Github Pages 支持两种级别的部署:
user / organization 方式
repo 名字必须为 <user-name or org-name>.github.io
pages build branch 固定为 master
部署后的发布域名即为 repo 名
project 方式
d3-interpolate 是 D3 的核心模块之一,与比例尺有些类似,interpolate (插值)所做的也是一些数值映射的工作。区别是,interpolate 的定义域始终是 0 ~ 1,并且始终为线性的。所以,更多时候它用来与 D3 的一些其他模组集成使用(如 transition, scale 等)。
举个例子:
let i = d3.interpolateNumber(10, 20); // 10 as a, and 20 as b
i(0.0); // 10
之前做的柱状图例子:
let data = [250, 210, 170, 100, 190]
let rectWidth = 25
svg.selectAll('rect')
.data(data)
.enter()
.append('rect')
.attr('y', (d, i) => height - d)
.attr('x', (d, i) => i * rectWidth)
.attr('height', d => d)
.at