ELab团队

其他

解读SourceMap

encoded+base64.encode(digit);//第四步:生成的vlq字符进行base64编码并拼接
2023年3月27日
其他

浅谈前端组件设计

UI首次接触headless概念是在chrome浏览器中,在headless模式下用户无需看到网页界面即可进行网页操作,现在广泛用于web自动化测试和爬虫场景中。与之相似的,Headless
2023年2月21日
其他

Web GIS 开发入门

http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}[4],其中
2023年1月30日
其他

数据不够实时:试试长连接?

服务端会一直hold住客户端的请求,这部分请求会占用服务器的资源。对于某些语言来说,每一个HTTP连接都是一个独立的线程,过多的HTTP连接会消耗掉服务端的内存资源。难以处理数据更新频繁的情况:
2023年1月17日
其他

DeepKit —— 赋予 TypeScript 更多可能性

会有一个迷你虚拟机,负责解析和执行这些字节码,最后会返回一个类型对象。更详细的原理可以参考:https://github.com/microsoft/TypeScript/issues/47658在
2022年12月29日
其他

ESLint 机制分析与简单插件实践

另一个是我们所安装的比如VSCode的ESLint插件,那么这两个东西有什么联系呢。Npm包:是实际的lint规则以及我们执行lint的时候,控制代码如何去进行格式化的。Vscode插件:
2022年12月14日
其他

造轮子利器:AST与前端编译

},};除了以上将typescript转换为javscript的插件外,日常中我们还会用到许多其他的插件/预设,例如@babel/react
2022年12月7日
其他

创造属于你自己的交互事件——屏幕手势识别

API,所以方便在各种支持JS的端运行和部署。低延迟、高私密性:得益于可完全在端上运行,不必将验证数据发往服务器等待服务器响应,从而具备了低延迟、高安全性优势。学习/调试成本低:对于WEB
2022年11月29日
其他

Hybrid 远程调试的前世今生

提供了一种类似「门卫」的解决方案:内部运行一个守护进程(lockdown),运行在固定端口(62078),支持系统服务访问能力。暂时无法在飞书文档外展示此内容于是可以先通过该服务找到
2022年11月17日
其他

从零实现一个迷你 Webpack

Compiler;文件生成至此我们已经将入口文件和其所依赖的所有文件编译完成,现在需要将编译后的代码生成对应的文件。根据最上面利用官方
2022年11月12日
其他

浅谈搭建平台 - 画布篇

加载模块是个更好的选择,对现代打包工具有较好的支持,有一套规范可以实现复杂的依赖引用,而且还支持各种模块的规范。依赖分析除了加载物料本身还远远不够,物料在实现时会依赖很多通用的基础库、框架,如
2022年11月11日
其他

前缀树在前端路由系统中的应用

树。这种数据结构通常用来储存字符串,并且是以路径字符节点的形式来储存。拥有公共前缀的字符串,会共享同样的父节点路径。前缀树是通过利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。前缀树的
2022年11月11日
其他

欢迎加入飞书 aPaaS 团队

也是字节跳动战略性业务,公司投入大量的资源与关注,未来会支撑公司内外多条业务线,覆盖范围广,具备非常多样、复杂的业务落地场景,整体发展空间很大;团队里有行业先行者、领域专家,此前已经在
2022年11月2日
自由知乎 自由微博
其他

探究 LightHouse 工作流程

https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview[7]性能评分:
2022年11月2日
其他

高挑战,大舞台!飞书 aPaaS 团队等你来!

也是字节跳动战略性业务,公司投入大量的资源与关注,未来会支撑公司内外多条业务线,覆盖范围广,具备非常多样、复杂的业务落地场景,整体发展空间很大;团队里有行业先行者、领域专家,此前已经在
2022年10月28日
其他

你不知道的前端蓝牙应用实践 -- 心率带

});得到输出,某米耳机:大家应该已经发现,给到的特征值其实是ArrayBuffer格式。(了解更多:谈谈JS二进制:File、Blob、FileReader、ArrayBuffer、Base64
2022年10月28日
其他

微前端如何做样式隔离?

red。由于子应用的样式晚于主应用加载,所以主应用的样式会被覆盖。以上问题在同时加载多个子应用时也会存在:各个应用之间也可能存在同名的
2022年10月14日
其他

Tauri:下一代桌面应用开发框架?

everywhere)缺点需要打包JRE,体积大总的来说,虽然不同大类技术栈的应用具体实现原理有所不同,但是相关开发的技术栈的大致特点可以归纳如下:系统API调用和交互:原生应用
2022年10月13日
其他

Web 3D 从入门到跑路

textureLoader.load('../public/textures/RoofTilesTerracotta004/RoofTilesTerracotta004_COL_1K.jpg'),
2022年9月28日
其他

使用 WebAssembly 打造定制 JS Runtime

DuktapeDuktape是一个嵌入式Javascript引擎,专注于可移植性和低空间占用。Duktape易于集成到C/C++项目中:将duktape.c,
2022年9月24日
其他

前端也要懂算法,不会算法也能微调一个 NLP 预训练模型

NLP任务的发展有两个明显的阶段,我们以bert模型为区分点,前半段是基础的神经网络阶段(bert模型之前的阶段),后半段是BertTology阶段(bert模型之后的阶段)参考
2022年9月23日
其他

联机游戏原理入门即入土 -- 入门篇

https://github.com/SmaIIstars/react-demo/tree/master/src/pages/socket/chat-room[2]同步策略主要实现:
2022年9月15日
其他

Plasmo Framework:次世代的浏览器插件开发框架

https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/apps#_feature_storage[20]Github
2022年9月14日
其他

深入理解 Mocha 测试框架:从零实现一个 Mocha

ESM的实现,另外还有预加载,懒加载的实现,以满足在不同场景下测试用例的执行时机。我们此处简单的将测试用例文件的路径写死即可,直接加载我们本地使用的测试用例文件://
2022年9月2日
其他

Single Source of Truth:XCode + SwiftUI 的界面编辑的设计理念

thought."([2])要注意,图灵是否完备跟语法是否简单没有直接关系,一门语法非常简单但是图灵完备的语言可以参照:https://esolangs.org/wiki/SNUSP
2022年9月1日
其他

深入理解 D3.js 可视化库之力导向图原理与实现

进行数据可视化。在数据可视化中,我们很多时候会使用图来表达数据中所蕴含的信息,图方便让我们清晰的理清各个节点之间的联系,快速提取有用信息。而图布局算法可以使散乱的信息
2022年8月25日
其他

浅析神经网络 Neural Networks

https://github.com/Linjiayu6/Tensorflow.js-LinearRegression/blob/master/src/tensorflow.js[4]过往实验例子:
2022年8月24日
其他

贝塞尔曲线轨迹运动原理与实战

如何判断stroke-dashoffset的距离?跟手移动2px,绿色实线或灰色实线移动多少?stroke-dasharray的初始值设置为多少?如何求三阶贝塞尔曲线函数的坐标P0
2022年8月18日
其他

你不知道的 Rust

match匹配模式Rust的招牌match匹配模式在进行匹配模式判断的时候比JavaScript/TypeScirpt的switch句式要优越不少,下面是具体的例子,根据字符串s的内容做匹配:let
2022年8月11日
其他

一次 VSCode 插件内存泄露背后的技术思考

https://chromium.googlesource.com/v8/v8.git/+/refs/heads/main/include/v8-typed-array.h#25[10]llnode
2022年8月10日
其他

深入浅出富文本编辑器

复制粘贴可以大幅提升编辑器效率,但是我们需要对剪切板中的视频和图片进行特殊处理,将剪切板中的内容转化成自定义的格式,并自动上传其中图片和视频。基本原理监听用户的粘贴操作,读取
2022年7月22日
其他

Cutter - Web视频剪辑工具原理浅析

web视频剪辑工具(cutter),这个工具可以方便老师们编辑拍摄好的视频。这是一个挺有意思的项目,预计分多章和大家分享介绍。本期主要介绍下其大体流程,方便大家对其原理有一个简单认知Cutter
2022年7月21日
其他

你可能需要一个四舍五入的工具函数

2^-4(小数点向右移4位,二进制中底数为2)对科学记数法数据的二进制表示64位存储科学记数法第一位是符号位,0是正数,1是负数,(-1的0次方还是1次方),case里就是
2022年7月14日
其他

前端 · 单元测试 · 初窥

expect('10').toBeType('number');});接下来就是生成一份比较优雅的测试结果,可查看多文件所有测试用例的集成结果和细节:module.exports.Result
2022年7月13日
其他

浅析eslint原理

https://eslint.bootcss.com/docs/developer-guide/working-with-rules[2]ESTree:
2022年6月18日
其他

使用Svelte开发Chrome Extension

最近Chrome浏览器升级到96大版本后,二维码入口从地址栏移动至二级菜单。这对H5前端开发来说不太友好,每次需要页面二维码时都需要多点两下(* ̄︿ ̄)。因此萌生了开发一个二维码Chrome
2022年5月27日
其他

Web3.0开发入门

网络中,针对区块数据的有效性达成共识,决定了谁可以将新的区块添加到主链中(挖矿机制)。工作量证明共识机制(PoW),矿工需要将网络中未确认的交易按梅克尔树组装成候选区块,在候选区块的头部有一个
2022年5月25日
其他

前端工程师如何快速使用一个NLP模型

HuggingFace(当然github自己搜也行,但比较零散)Q2:有了模型怎么用?A2:不用慌,HuggingFace提供了非常详细的上手教程,可以快速上手!↓↓↓↓先简单说下Hugging
2022年3月16日
其他

了解下Rust 模块使用方式

lib.rsadd.rs负责入口模块的导入导出,add文件夹下则存放其余相关联的其他模块。这类似于javascript的index.js统一导出了多个其他模块。和上面不同的是这里
2022年3月2日
其他

为什么说 WebAssembly 是 Web 的未来?

-fno-inline将调试信息单独存储调试信息包含代码的详细信息,定义的类型、变量、函数、函数作用域、以及文件位置等任何有利于调试器使用的信息,所以通常调试信息比源代码还要大。为了加速
2022年1月24日
其他

浅析 JavaScript 沙箱

插件的运行机制:总而言之,只要遇到不可信的第三方代码,我们就可以使用沙箱将代码进行隔离,从而保障外部程序的稳定运行。如果不做任何处理地执行不可信代码,在前端中最直观的副作用/危害就是污染、篡改全局
2021年10月28日
其他

深入浅出 Performance 工具 & API

https://zh-hans.reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html[5]React性能测量和分析:
2021年8月26日
其他

光速入门 VSCode 插件开发

acquireVsCodeApi();vscode.postMessage('xxx');插件接收消息:panel.webview.onDidReceiveMessage(message
2021年8月25日
其他

下一代前端构建工具 - Vite 2.x 源码级分析

/@fs/Users/bytedance/Projectes/my-projects/learning/vite/vite/packages/vite/dist/client/env.jsGET
2021年7月1日
其他

前端也要懂编译:AST 从入门到上手指南

error找到函数声明(FunctionDeclaration)父节点,提取函数名信息将函数名信息包装成字符串字面量(StringLiteral)节点,插入函数调用表达式的参数节点数组中const
2021年4月22日