代码重构之道

上周在乐问看到有同学提问:“在腾讯,代码重构有意义吗?”,之前在码客也看到提问:“关于代码重构有什么好的方法论吗?”,个人对代码重构非常感兴趣,在13年就开发接触代码重构的概念,学习相关理论方法,一直在坚持实践,现在基本已养成一种习惯了,所以周末系统梳理了重构原理、相关概念和操作技巧,抛砖引玉,跟大家分享交流

彻底弄懂浏览器缓存策略

浏览器缓存策略对于前端开发同学来说不陌生,大家都有一定的了解,但如果没有系统的归纳总结,可能三言两语很难说明白,甚至说错,尤其在面试过程中感触颇深,很多候选人对这类基础知识竟然都是一知半解,说出几个概念就没了,所以重新归纳总结一下,温故而知新

Flutter 混合开发框架模式探索

原生APP和Flutter如何混编,本文告诉你答案

Flutter Boost 接入实践(iOS 篇)

我们给 Android 接入 Flutter Boost 之后,现在我们来看看如何给 iOS 工程(OC)接入 Flutter Boost

Flutter Boost 混合开发实践与源码解析( Android )

教你如何在安卓工程里集成Flutter Boost 混合开发

React Hooks 源码解析(4):useEffect

如何更好理解useEffect,本文给你答案

React Hooks 源码解析(3):useState

useState使用与源码解析,不容错过

QQ音乐web前端诚聘,欢迎大家的加入

QQ音乐web前端社会招聘

React Hooks 源码解析(2): 组件逻辑复用与扩展

这一期让我们来聊聊组件逻辑复用与扩展

React Hooks 源码解析(1):类组件、函数组件、纯组件

React Hooks 学习系列,欢迎大家一起来学习

react之jsx编译原理

带你揭晓reactjsx的奥秘

如何优雅地定位外网问题——动手搭建用户行为轨迹追踪系统

在定位外网问题时,最怕的是遇到无法复现或者是偶现的问题,我们无法在用户的设备上通过抓包、打断点或日志来分析问题,只能靠仅有的页面截图和用户的片面描述作为线索。此时,也只能结合“猜想法”和“排除法”进行分析定位,排查了半天也很有可能没有结果,最后只能回复“可能是缓存或者app的原因,请清下缓存或者重新安装app试试”。

理解JS浮点数

相信大家在平常的 JavaScript 开发中,都有遇到过浮点数运算精度误差的问题,比如 `console.log(0.1 + 0.2 === 0.3) // false`。在 JavaScript 中,所有的数字包括整数和小数都是用 `Number` 类型来表示的。本文通过介绍 `Number` 的二进制存储标准来理解浮点数运算精度问题,和理解 `Number` 对象的 `MAX_VALUE` 等属性值是如何取值的,最后介绍了一些常用的浮点数精度运算解决方案。

Web Components 介绍

任何UI框架或库最期望目标之一是帮助我们建立通用的模式或约定。这些约定使UI代码易于共享并为其提供理论基础。很长一段时间,每个框架或库都有自己的实现或UI组件版本。仅在该组件的生态中,这些组件可以实现代码复用。如果给定的UI组件/插件需要在不同的技术依赖中使用,往往由于特定的生态系统限制而成为局限。

  • joema
  • 2019-04-13
  • 1079已阅读

制作60fps的高性能动画

说到web的高性能动画,这部分内容其实已经是老生常谈的了,不过其中还是有不少比较新的而且非常实用的内容可以和大家分享一下。 读完这篇文章后相信大家都会对动画渲染的机制以及制作60fps动画的关键要素有足够的理解,以后遇上了动画相关的问题也可以很好的从源头上解决。

web模拟终端博客系统

前段时间做了一个非常有意思的模拟终端的展示页:http://ursb.me/terminal/(没有做移动端适配,请在PC端访问),这个页面非常有意思,它可以作为个人博客系统或者给 Linux 初学者学习终端命令,现分享给大家~

自己动手打造前端性能监控系统

一个页面性能差的话会影响到很多方面。在公司层面,页面性能会影响公司收益,如用户打开页面等待的太久,用户可能会直接关掉页面,或者下次不再打开了,特别是在移动端用户对页面响应延迟容忍度很低。

[译]开始在web中使用JS Modules

JS modules,即ES6的模块化特性,让人眼前一亮的新玩法。

前端水印生成方案

前段时间做某系统审核后台,出现了审核人员截图把内容外泄露的情况,虽然截图内容不是特别敏感,但是安全问题还是不能忽视。于是便在系统页面上面加上了水印,对于审核人员截图等敏感操作有一定的提示作用。

【译】JavaScript与WebAssembly进行比较+在哪些情况下会优于JavaScript

了解WebAssembly的功能以及使用场景

详解WebRTC——网页实时通信技术

WebRTC相关技术有很多可以创新的点,比如业界已有创业团队在做Web P2P,核心技术就是WebRTC + DASH协议,共享空闲资源,基于此可以做雾CDN,节点都在用户侧,去中心化

直播全流程探索

近年来,直播兴起,QQ音乐也接入了直播能力,支持演唱会的直播和主播、明星直播,根据互动方式的不同,我们可以分为互动直播和推流直播,本人有幸参与了直播从无到有的过程;对直播这一块有了一个比较清晰的认识,本文主要对web部分的直播流程进行介绍

  • joema
  • 2018-05-27
  • 1563已阅读

puppeteer初体验

puppeteer 翻译是操纵木偶的人,利用这个工具,我们能做一个操纵页面的人。puppeteer是一个nodejs的库,支持调用Chrome的API来操纵Web,相比较Selenium或是PhantomJs,它最大的特调就是它的操作Dom可以完全在内存中进行模拟既在V8引擎中处理而不打开浏览器,而且关键是这个是Chrome团队在维护,会拥有更好的兼容性和前景。

vue打包优化之code spliting

在http1的时代,比较常见的一种性能优化就是合并http的请求数量,通常我们会把许多js代码合并在一起,但是如果一个js包体积特别大的话对于性能提升来说就有点矫枉过正了。而如果我们对所有的代码进行合理的拆分,将首屏和非首屏的代码进行剥离,将业务代码和基础库代码进行拆分,在需要某段代码的时候再加载它,下次若再需要用则从缓存中读取,一来可以更好地使用浏览器缓存,再者就是可以提高首屏加载速度,很好提升用户的体验。

Top