TAT.liberty 浅谈正则表达式原理
In Web开发 on 2019年07月15日 by view: 428
0

正则表达式可能大部分人都用过,但是大家在使用的时候,有没有想过正则表达式背后的原理,又或者当我告诉你正则表达式可能存在性能问题导致线上挂掉,你会不会觉得特别吃惊?

我们先来看看7月初,因为一个正则表达式,导致线上事故的例子。

https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/

简单来说就是一个有性能问题的正则表达式,引起了灾难性回溯,导致cpu满载。

TAT. zhongzhong React Hooks使用实例(二)
In Web开发 on 2019年07月13日 by view: 205
2

上篇文章我们讲了如何使用React的Suspense组件和lazy方法来实现模块的懒加载,后面还讲了如何使用
React的useState方法来实现自定义的Hooks,从而达到复用的目的。

我们知道,不管在做什么样的前端项目,列表页肯定是存在的,那如何获取列表的数据呢?大部分情况下我们都是在每个模块内部自己实现一个获取数据的方法,然后调用setState来更新数据。那有没有更好的方式可以做到这些,并且能够在一个项目中处处复用这个功能呢?答案就是使用React Hooks。

JavaScript 单元测试如今对于前端开发来说并不陌生,前端工程化之后项目的代码质量越来越受到重视,单元测试无疑是一种衡量代码质量的重要手段,而测试覆盖率则是衡量测试完整性的一种手段:通过已执行代码的覆盖率,用于评测代码的可靠性和稳定性,可以及时发现没有被测试用例执行到的代码块,提前发现可能的逻辑错误。

伊斯坦布尔(以下简称 Istanbul)是一个基于 JavaScript 的测试覆盖率统计工具,目前绝大多数测试框架比如 jest mocha 等都是使用 Istanbul 来统计覆盖率的。伊斯坦布尔有一个比较老的版本 istanbul.js(已不再维护)和一个新的版本 nyc。虽然使用 Istanbul 的人很多,但是几乎没有介绍其实现原理的文章,那么 Istanbul 计算和统计测试覆盖率的整个流程是怎样的呢?

TAT. zhongzhong React Hooks使用实例(一)
In Web开发 on 2019年07月12日 by view: 388
0

React Hooks出来也有一段时间了,在这个过程中有一个前端的React项目是专门用的React的FC组件形式来写的。在过程中提炼了一些使用实例,这里记录下。还有,如果你之前从来没有了解过React Hooks,建议你先

去React官方网站了解React Hooks的基本概念和使用方式。
官方文档链接:https://reactjs.org/docs/hooks-overview.html#state-hook

  • 2019 腾讯AlloyTeam诚邀您加入团队,一起打造最好用的在线文档

腾讯文档在4-18号正式对外发布,也许你已经看到过朋友圈流传的这个截图,关于一个需求也需要提 8 年的小马哥。

腾讯文档的推出标志着腾讯正式进军文档办公领域,目前市场反馈和项目前景都非常好,AlloyTeam正在寻找优秀小伙伴加入腾讯文档项目,一起做业界最好的在线文档。

AlloyTeam招聘优秀初级(包含实习生)、中级、高级web工程师,大量编制,岗位信息如下:

写在前面

Omi 框架 正式发布了 → omi-transform

Made css3 transform super easy. Made 60 FPS easy.

作为 Omi 组件化开发特效运动解决方案,让你轻松在Omi项目里快速简便支持CSS3 Transform设置。css3transform 是经受过海量项目洗礼的,作为移动 Web 特效解决方案,在微信、手Q兴趣部落、日迹、QQ群、QQ附近等项目中广泛使用,以激进的修改DOM属性为代价,带来极为便利的可编程性。

你可以通过css3transform 官方首页快速了解它。

李成熙,腾讯高级工程师,专注于性能优化、工程化和小程序服务。微博 | 知乎 | Github

概念回顾

在掘金开发者大会上,在推荐实践那里,我有提到一种云函数的用法,我们可以将相同的一些操作,比如用户管理、支付逻辑,按照业务的相似性,归类到一个云函数里,这样比较方便管理、排查问题以及逻辑的共享。甚至如果你的小程序的后台逻辑不复杂,请求量不是特别大,完全可以在云函数里面做一个单一的微服务,根据路由来处理任务。

李成熙,腾讯高级工程师,专注于性能优化、工程化和小程序服务。微博 | 知乎 | Github

小程序诞生以来,业界关注小程序前端的技术演进较多,因此众多小程序前端的框架、工具也应运而生,前端开发效率大大提高,而后台的开发技术则关注不多,痛点不少,具体痛在哪里呢?

TAT.heyli 小程序的全栈开发新时代
In Web开发 on 2018年09月24日 by view: 1,926
0

李成熙,腾讯高级工程师。专注于性能优化、工程化和小程序服务。微博 | 知乎 | Github

什么是小程序·云开发

小程序·云开发是微信团队和腾讯云团队共同研发的一套小程序基础能力,简言之就是:云能力将会成为小程序的基础能力。整套功能是基于腾讯云全新推出的云开发(Tencent Cloud Base)所研发出来的一套完备的小程序后台开发方案。

小程序·云开发为开发者提供完整的云端流程,简化后端开发和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代。

该解决方案目前提供三大基础能力支持:

  • 存储:在小程序前端直接上传/下载云端文件,在小程序云控制台可视化管理
  • 数据库:一个既可在小程序前端操作,也能在云函数中读写的文档型数据库

  • 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码

未来,我们还会集成更多的服务能力,为小程序提供更强有力的云端支持。

原文地址

gka-animation

“抓娃娃”并不陌生,存在两种结果:抓到与抓不到。在 Web 动画中,如上图,“抓到”与“抓不到”对应着两个动画,可以使用不同的动画图片资源来实现,似乎毫无异义。

细做观察,不难发现:两个动画中“动画初始到抓取”及“抓取结束到动画结束”的区间中存在相同动画(滑动和晃动抓杆)。既然动画相同,那么可以通过引用同一份动画图片资源,不做相同图片的重复加载,从而减少总资源大小。

“两个动画间存在部分相同的动画,相同部分可以引用同一份动画图片资源,来减少图片的总大小。”

肉眼进行辨别哪些动画是一样的?那是不可能的。gka提供一键式制作多个动画的方式,支持多种图片优化方案(含图片去重)。

gka 是一款简单的、高效的帧动画生成工具,图片处理工具。

官方文档:https://gka.js.org

Github:https://github.com/gkajs/gka