编程
大厂自研跨端框架技术揭秘
导言 本文将围绕跨端框架技术的主题,分析其技术目标和 3 种演进方向,接着揭秘业内的自绘跨端方案的技术实现 —— 包括 Kun、WebF、TDF、Weex 2.0、Waft 与 MiniX 等方案,分析各自的特点与不足,总结跨端框架的研发思路与技术要点…
Chromium 渲染流水线——字节码到像素的一生
现代浏览器架构 在开始介绍渲染流水线之前,我们需要先介绍一下 Chromium 的浏览器架构与 Chromium 的进程模型作为前置知识。
两个公式
公式 1: 浏览器 = 浏览器内核 + 服务
Safari = WebKit + 其他组件、库、服务
Chrome = Ch…
前端开发中的大小写敏感问题
大小写敏感(case sensitivity)是软件开发领域的议题,指同一个 “词” 拼写的大小写字母的不同可能会导致不同效果的场景。 接下来,我们谈谈前端开发领域中一些常见的大小写敏感 / 不敏感的场景:
HTTP Header
HTTP Method
URL
Cookie…
引擎剖析:JS 中的字符串转数值
JS 中,字符串转数值的方式有以下 9 种: parseInt()
parseFloat()
Number()
Double tilde (~~) Operator
Unary Operator (+)
Math.floor()
Multiply with number
The…
Flutter 产物分析与减包方案
在混合开发场景下,Flutter 的包增量略大一直是被大家诟病的一点,但 Google 官方明确表示了 Flutter 不会支持动态化,而且目前 Flutter SDK 官方还没有提供一套定制方案。因此想要瘦身,那么只能自己动手丰衣足食了。 所谓减包…
Flutter 异常处理方案——灰度与降级
1. Flutter 异常概述 关于 Flutter 异常类型与捕获的文章网上已经有许多了,本文不再详细赘述,此处仅做个小结以保证文章的完整性。
Flutter 异常具体可分为以下几类:
Dart 异常
App 异常
同步异常
异步异常
Framework 异常
E…
Flutter 核心原理与混合开发模式
在 「Fan 直播」的 Flutter 混合开发实践中,我们总结了一些 Flutter 混合开发的经验特此分享。本文将从 Flutter 原理出发,详细介绍 Flutter 的绘制原理,借由此来对比三种跨端方案;之后再进入第三篇章 Flutter 混合开发模式的讲解…
Flutter 混合开发框架模式探索
由于 Google 官方提供的 Flutter 混合式开发方案过于简单,仅支持打开一个 Flutter View 的能力,而不支持路由间传参、统一的生命周期、路由栈管理等业务开发中必要的能力,因此我们需要借助第三方混合开发框架(如 Flutter Boost、Thrio…
Pokemon 种类与属性值的数据探索
简介 今天在 kaggle 上看到了一个比较有意思的 Dataset,收录了手游 Pokemon 中 721 只神奇宝贝的基本数据,包括 id,名字 (name),类别 (type1),二级分类 (type2),基本属性 (血量, 攻击力, 防御力, 魔攻 Attack, 魔防…
B站2000万用户分析
前言# 前两天闲来无事,花了四五天的时间从 B 站(http://bilibili.com)抓取了其 2000 万 全部用户。
代码挂在了 Github 下:https://github.com/airingursb/bilibili-user,大家可以自己下载爬取。
B 站介绍…
Flutter Boost 混合开发实践与源码解析
1. 简介 Flutter Boost 是闲鱼团队开发的一个 Flutter 混合开发框架,项目背景可以看看闲鱼的这篇文章:码上用它开始 Flutter 混合开发 ——FlutterBoost。
文章中主要讲述了多引擎存在一些实际问题…
React Hooks 源码解析(4):useEffect
React 源码版本: v16.11.0 源码注释笔记:airingursb/react 1. useEffect 简介#
1.1 为什么要有 useEffect#
我们在前文中说到 React Hooks 使得 Functional Component 拥有 Class…
React Hooks 源码解析(3):useState
React 源码版本: v16.11.0 源码注释笔记:airingursb/react
在写本文之前,事先阅读了网上了一些文章,关于 Hooks 的源码解析要么过于浅显、要么就不细致,所以本文着重讲解源码,由浅入深,争取一行代码也不放过。那本系列讲解第一个 Hooks…
React Hooks 源码解析(2): 组件逻辑复用与扩展
React 源码版本: v16.9.0 源码注释笔记:airingursb/react
如何复用和扩展 React 组件的状态逻辑?具体而言,有以下五种方案:
Mixins
Class Inheritance
Higher-Order Component
Render…
React Hooks 源码解析(1):类组件、函数组件、纯组件
React 源码版本: v16.9.0 源码注释笔记:airingursb/react
1 Class Component VS. Functional Component
根据 React 官网,React 中的组件可分为函数式组件(Functional Component…
双生日记开发经验分享
Hello,我是双生日记的 Founder & Developer Airing。该项目的小程序端获得了 2018 C4—— 微信小程序应用开发赛的一等奖,而 iOS 端则获得了 2018 C4—— 移动应用创新赛的一等奖,目前累计注册用户已达 1 万 +,并仍在不断开发维护中~…
HPP 的攻击举例与防范
HPP 的攻击原理 HPP,即 HTTP Parameter Pollution,HTTP 参数污染。在 HTTP 协议中是运行同样名称的参数出现多次,攻击者通过传播参数的时候传输 key 相同而 value 不同的参数,从而达到绕过某些防护与参数校验的后果。它是一种注入型的漏洞…
XST 的攻击原理与防御
XST 的攻击手段 XST 的全称是 Cross-Site Tracing,中文译作 “跨站式追踪攻击”。具体而言,是客户端发 TRACE / TRACK 请求至服务器,如果服务器按照标准实现了 TRACE / TRACK 响应,则在 response body…