标签 知识 下的文章

stroke-dashoffset 造成的高 CPU 与内存占用问题

最近在做一个前端项目(对我终于写前端了),在做动画的时候发现网页很卡,后来发现是 CSS 动画的问题,刚开始开启了 3D 加速,发现然而并没有什么卵用,后来我就开始搜一下这个属性有没有什么过渡方案,就引发了一连串的故事……

stroke-dashoffset 是啥

SVG 中 path 可以构造很多形状,如果要绘制一些动画效果,有两个 stroke 属性非常关键:stroke-dasharraystroke-dashoffset

- 阅读剩余部分 -

WebDriver.io Chrome Driver setValue 不准确问题的研究

昨天在修一个旧程序的问题,在重新安装之后发现原来的程序跑不了了,一个模拟登录的程序,在输入正确的时候输出了 {login: false},在排除了是登录逻辑变更之后使用 waitUntil 暂停了一下发现在 setValue 时,driver.io 会少几个字母,例如:abcdefg 在输入后可能会变为 abcdfg

刚开始的时候以为是因为电脑卡的关系,后来释放了一下内存,依旧是这样,于是开始查 issue,实际上报 setValue 问题的人很多,官方都是 close 处理,然后查到了:

After update chrome browser to the Version 62.0.3202.75 (Official Build) (64-bit) spec symbols are missed in set text and browser settings page is opening unexpectedly on enter spec symbol or capital letter.

换句话说,这是一个 Chrome Driver 的 bug,在 Chrome Driver v2.33 已经解决了这个问题,可以尝试:

  1. 升级你的 Driver
  2. 使用其他浏览器的 Driver(逃

从 PostCSS 与 cssnext 中看 CSS 的新特性

今天刚好看了一下 PostCSS,看到了 postcss-cssnext 的网站,觉得用来学习一些新特性(虽然现在来看似乎不怎么新)。

先来介绍一下 PostCSS 与 Sass / Less / Stylus 相比的区别,也就是后处理器和预处理器的区别。

预处理器与后处理器

对于预处理器(Sass / Less / Stylus)而言,就像 JavaScript 的方言语法 coffeescript,或者 HTML 的方言语法 pug(jade) 那样,你需要学习一套新的不同的语法,这些 CSS 方言通过编译器编译成 CSS 文件,最终浏览器实现解析。

- 阅读剩余部分 -

折腾记:Hello Parcel

Parcel 是一个新出的「快速,零配置的 Web 应用程序打包器」,光是零配置这一点,看着就已经比 webpack 好一万倍了——webpack 让我们怀疑,前端是否要衍生出一种副职业:配置工程师。我至今也没有能够掌握「如何优雅的配置 Webpack」,之前本来准备用 poi来简化 webpack 配置,不过突然想起了这个更高、更快、更强、(更懒)的新道具,于是又折腾了起来。

Parcel 有啥优点

首先,他的优点是零配置,也就是说,你不用自己配置就能支持 JS / CSS / HTML,开箱即用。此外,零配置不代表不能配置,它提供了接口,可以让你进行一些插件的开发,在此基础上做出一些 DIY,零配置的意义其实是带默认值、开箱即用的配置,而并非不可配,灵活性差。

- 阅读剩余部分 -

CSS 实现左右交换的效果

鞋厂的 App 有这么一个效果,而我的小伙伴刚好要做这样一个效果,于是就开始研究到底是怎么做的,Emmmm,大家都知道我平时糊设计图的功底为 0,所以好好研究了一下。:

2017-12-05 at 20.42.gif

首先布局用 flex 可以实现,而动画可以用 transform 或者 animation 实现。

这个布局第一反应是 justify-content: space-between,写了一波之后果然可以实现这个效果,但是动画该怎么定位才是大难题。

- 阅读剩余部分 -

GitHub / GitLab Webhook 接口开发指南

前一阵子要开发一个从 GitLab / GitHub 通过 Webhook 拉取文件并且上传指定 OSS 的接口,于是就找起了 GitHub 和 GitLab 的官方文档。

当然官方文档实在是太过冗长,尤其是公司自建的 GitLab 版本还有可能不一致,所以就只能看搭建的 GitLab 提供的文档信息,对于一些遇到的问题就看命看版本查了。

- 阅读剩余部分 -

localhost / 0.0.0.0 与 127.0.0.1 的区别

在服务端开发的时候,我们往往会遇到这样的问题:localhost / 127.0.0.1 和 0.0.0.0 有什么区别,为什么我设置的 host 在外网无法被正常的访问。

首先先来说说最简单的 localhost,服务端开发的新手可能会认为:localhost === 127.0.0.1,毕竟在大多数场合里访问,似乎这两个地址都能访问到同样的网站。其实他们之所以一样,是因为在 /etc/hosts 中的指向,同样的你也可以改成其他地址,换言之,localhost 只是一个一般的域名,如同其他域名一样,你可以在 hosts 中任意修改其解析的指向。

- 阅读剩余部分 -

Haproxy 入门、监控和 statsd 打点指北

作为一个奇奇怪怪的前端码畜,偶尔就会和一些奇奇怪怪的事情打交道,前一阵子也算是挺忙的了(尽管只是个没有更新博客,连续跳票的借口)。

这次使用 haproxy,是因为他作为负载均衡和反向代理而言配置起来比 Nginx 简单,并且自己就提供了监听页面。

我们来看一个完整的配置文件就知道了:

- 阅读剩余部分 -