avatar
Articles
158
Categories
18

Home
Archives
Categories
Salute Those Who Gaze At The Stars
Home
Archives
Categories

Salute Those Who Gaze At The Stars

Webkit系列:第一回(先验内容)
Created2024-09-04|Webkit系列
一些关于浏览器的先验内容 2005年苹果开源了自家的safari浏览器内核webkit,2008年,谷歌改造webkit为blink,开发出了chromium,最终推出chrome。 chrome是一个典型的多进程的架构,即chrome这么个应用,是由多个子进程组成的,具体包括如下: 浏览器进程: 负责管理除了页面显示的其他区域,也就是及页面地址栏那些东西,当然还包括书签等。 渲染进程: 该进程又称为内核,将请求资源转换为可视化(可听化)的图像结果,就是浏览器内核。渲染进程又有多个重要的子线程组成, GUI线程: 浏览器拿到请求资源后,有一步操作就是,根据html和css文件分别生成dom树和样式树,然后生成渲染树和布局树,这部分的工作,就是gui线程负责实现的。 JS线程:又称为js主线程,就是执行js代码的。 合成器线程:该线程获得布局树后,通过栅格化确定一帧的每个像素点数据,最终交由GPU进程处理。 定时器线程: 如果当js主线程执行代码时,遇到settimeout和setInterval两定时器的时候,主线程会把定时器函数扔给定时器线程处理,自己继续往下执行。定时线程等待设 ...
Rust系列*
Created2024-08-02|Rust系列
谷歌插件流程:第三回
Created2024-07-31|前端剑气双修
前面我们通过两篇文章,介绍了一个插件的完整开发过程。本文,我们从更加细致的层面,梳理下开发谷歌插件的必知规则 先看看我们的manifest.json文件内容{ "name": "Ta-da", "description": "zhihu_small_video_down", "version": "1.0", "manifest_version": 3, "background": { "service_worker": "background.js" }, "permissions": ["storage", "activeTab", "scripting"], "action": { "default_popup": "popup.html" }, "content_scripts": [ { "matches": [ "http://*/*", "https://*/*" ], "j ...
打通最后一公里:项目部署
Created2024-07-24|前端剑气双修
本文介绍前后端分离项目,部署相关的细枝末节,打通最后一公里 静态站点部署这类的项目部署,很简单,都不需要关注域名服务器那些东西,可以借助vercel这样的第三方,一键部署。具体流程:前端项目挂在github上,然后去vercel上面导入即可 非静态站点部署一般这种项目会涉及两部分,前端、后端。前端负责视图,后端负责数据接口。具体流程: 前端 通过npm run build,打包生成生产环境所需文件。 后端 将后端应用打包成可执行文件部署到服务器上。 配置后端服务器:部署后端应用到服务器上,确保后端应用能够正常运行。你可能需要安装相应的运行环境和依赖。 配置数据库:如果后端应用需要连接数据库,确保数据库服务已经正确配置并运行。 配置域名和端口:确保后端服务器的域名和端口设置正确,以便前端应用可以与后端应用通信。 当然这个流程涉及诸多的细枝末节,我们慢慢道来…
基于cesium开发应用之问题
Created2024-07-22|性能的考量
本文主要记录cesium开发过程中的坑加载模型太多导致卡顿加载上千个地标、模型、轨迹线等 Cesium Entity 时,页面帧率(FPS)骤降,操作视角卡顿,甚至浏览器内存溢出。原因:Cesium 默认对每个 Entity 单独渲染,海量实体导致 DrawCall(绘制调用)激增;解决方案: 数据分块 + 视域剔除:基于Cesium.ScreenSpaceCameraController监听视角变化,仅渲染当前视域内的实体,远距实体暂存 / 销毁;// 批量点优化(10万+点) const pointCollection = new Cesium.PointPrimitiveCollection({ frustumCulling: true, // 开启视口剔除 }); 开启性能优化配置viewer.scene.fog.enabled = true; // 开启雾效,远距模型自动淡化 viewer.scene.debugShowFramesPerSecond = true; // 监控帧率 viewer.scene.maximumAliasedLi ...
区块链文档2*
Created2024-05-28|区块链研发
区块链文档1*
Created2024-05-17|区块链研发
React系列:第十一回(fiber最终版)
Created2024-05-16|React系列
本文介绍my_react的最终版在前作的基础上,新增了diff差异标记及commit阶段的全量更新。完整代码如下,不赘述了。 let nextUnitOfWork = null; let wipRoot = null; let currentRoot = null; // 新增:保存已提交的旧 Fiber 树(current 树) let deletions = []; // 新增:保存需要删除的 Fiber 节点 // 1. 标记类型常量(精简版) const Placement = 'PLACEMENT'; // 新增节点 const Update = 'UPDATE'; // 属性更新 const Deletion = 'DELETION'; // 删除节点 // 创建文本节点 Fiber const createTextNode = (child) => ({ type: 'text', props: { nodeValue: child, children: [] } }); // 创建元素 Fi ...
React系列:第十回(commit+Reconciliation)
Created2024-05-15|React系列
本文将介绍隔离fiber两个阶段:Reconciliation、Commit前文的瑕疵在上一篇文章中,我们介绍了基于fiber架构及requestIdleCallback,实现react快速渲染的demo.但是存在一点问题。仔细观察下面的代码: const performUnitOfWork = (fiber) => { console.log('<<<<<<<<<<<<<<<<performUnitOfWork>>>>>>>>>>>>>') console.log('fiber>>>', fiber) if (!fiber.dom) { fiber.dom = createDom(fiber) } if (fiber.parent) { fiber.parent.dom.appendChild(fiber.dom) } const elements = fiber?.props?.children ...
CSS系列:目下大前端样式的终极解决方案
Created2024-05-06|css专栏
本文主要介绍tailwind,这个在我看来,能够解决目前前端领域中,各种样式问题的终极解决方案,的库。 前端跟css相关的几个典型场景:移动端适配、页面换肤。相信做过的同学,无一不疯狂的掉过头发。倒不是说因为这个有多难,而是很烦,很杂。研发和产品互掐的重灾区。一套代码多端适用,确实很美好,但是这就要求项目从一开始就要严格关注到这个问题,以便后期的适配。 最近在帮一家海外的公司做项目时,发现他们的项目大量使用tailwind。更让我惊讶的是,他们的项目中,所使用到的组件,全部都是自己的开发人员自己实现的,搭配tailwind,对设计图的还原度,无限接近百分百,让我叹为观止。在接触他们之前的职业生涯中,基本上都是做的toB的业务,重逻辑功能的实现,至于ui,只要不是难看到人神共愤,基本上就可以了。接触了toC的业务之后突然发现,专业的前端,除了具备技术技能,还需要锻炼自身的美感。 tailwind这个库方便在哪? 极大的简化了css相关的代码 完美解决各端适配的问题举例: 在tailwind的配置文件中设定好自身需要的几种端的大小 screens: { xs: '300p ...
1234…16
avatar
Miles | Isshin
Articles
158
Categories
18
Follow Me
Announcement
変わらない闘志,折れない魂
Recent Post
Cesium系列:概览2026-01-20
Mysql的问题及对策2026-01-19
3d点云项目性能测试2025-12-25
借助AI的能力,实现本地知识库(非工具版)2025-09-26
借助AI的能力,实现本地知识库(工具版)2025-09-25
Categories
  • AI2
  • Miscellany7
  • Paperjs系列7
  • React系列11
  • Rust系列1
  • Webkit系列4
  • Webpack系列8
  • css专栏5
Archives
  • January 20262
  • December 20251
  • September 20255
  • August 20252
  • July 20252
  • March 20251
  • February 20251
  • January 20251
Info
Article :
158
UV :
PV :
Last Push :
©2020 - 2026 By Miles | Isshin
Framework Hexo|Theme Butterfly