首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏CODING DevOps

    大型前端项目 DevOps 沉思录 —— CI 篇

    3. 编译并整理产物 在中小型项目中,这一步通常会被直接省略,直接将构建产物交由部署环节实现。但对于大型项目来说,多次频繁的提交构建会产生数量庞大的构建产物,需要得到妥善的管理。 这对于发布频率越来越高,发布周期越来越短的现代大型项目中无疑是一个最优解。 3. 大型项目中产物->制品的建立 对于大多数项目来说,在代码编译完成生成产物后,部署项目的方式就是登录发布服务器,将每一次生成的产物粘贴进发布服务器中。 3. 分级构建 众所周知,流水线的执行时间一定会随着任务数量的增多而变慢。大型项目中,随着各项指标计算的接入,各项测试用例的数量逐渐增多,运行时间迟早会达到我们难以忍受的地步。 这是每一个成功的大型项目最终一定要实现的目标。 参考资料 1.

    58630编辑于 2021-12-03
  • 来自专栏腾讯云原生团队

    大型前端项目 DevOps 沉思录 —— CI 篇

    成龙,腾讯前端开发工程师,负责腾讯文档前端开发与研发效能提升,AlloyTeam成员。 编译并整理产物 在中小型项目中,这一步通常会被直接省略,直接将构建产物交由部署环节实现。但对于大型项目来说,多次频繁的提交构建会产生数量庞大的构建产物,需要得到妥善的管理。 这对于发布频率越来越高,发布周期越来越短的现代大型项目中无疑是一个最优解。 大型项目中产物->制品的建立 对于大多数项目来说,在代码编译完成生成产物后,部署项目的方式就是登录发布服务器,将每一次生成的产物粘贴进发布服务器中。 大型项目中,随着各项指标计算的接入,各项测试用例的数量逐渐增多,运行时间迟早会达到我们难以忍受的地步。 但是,测试用例的数量一定程度上决定着我们项目的质量,质量检查决不能少。

    59130编辑于 2021-12-03
  • 来自专栏趣学前端

    前端经验总结」大型业务项目中,前端如何撰写设计文档

    项目开发流程 看一下这个项目开发流程图,当项目启动之后,产品的同事会先来一轮需求宣讲,告知大家本期大致做什么,产品的同事会整合各方的发言在完善一轮功能。 下面我以最新一期接第三方支付的需求为例,讲讲这个耗时半个月的项目是怎么写前端设计文档的。 3、对于旧的、已经有开发经历的、熟悉的概念和功能,着重整理功能通用性、代码可扩展、代码可阅读等几个方面。 见3.后台系统不同数据类型按钮操作分类 功能设计上,采用物理隔离的方式,不同类型封装不同的组件。 批量是为了解决超过100条数据操作的问题,所以批量导入的数据是不设限制的,这个时候后端可能一次性给过来几千条数据,前端一次性加载有一定概率导致页面卡顿。

    1.1K30编辑于 2023-03-31
  • 来自专栏程序员成长指北

    基于微前端大型中台项目融合方案

    这篇文章通过实现一个商城后台,介绍了基于 umi 框架的微前端落地方案,通过这篇文章,你可以收获 超级简单的、可用于生产环境的基于 umi 的微前端实践,包括一套示例代码 全新的、基于微前端大型中台项目前端组织方式 @umijs/plugin-qiankun[3] umi 的 qiankun 插件,极其方便的在 umi 框架中使用 qiankun 的微前端能力 ❞ ❝PS:想做 qiankun、umi、antd ,可以完美的拆分大型中台项目,也可以平滑的升级历史应用。 总结 微前端大型中台项目带来了福音,我们可以非常灵活的进行应用拆分和组合。基于这一套玩法,我们不仅可以完成“总分”形式的组合,也可以实现“任意套娃”,极大的提升了中台应用的灵活性。 我想象中未来的中台前端也是微服务化,每个小组维护自己的数据和页面,通过“总分”和“套娃”组成一个大型中台应用。

    1.7K10发布于 2020-09-08
  • 来自专栏用户6296428的专栏

    适用于既有大型MPA项目的“微前端”方案

    作者:杨超 团队:业务中台 一、背景 对于大多数有点历史的复杂前端项目来说,应该已经经历了从刀耕火种的大型单仓库构建到多业务应用独立开发部署的过程。 毕竟, MPA架构的前端不是 生而为快,其最大的优势在于开发和维护的高效。 那么,在面对一个大型的 MPA架构前,我们的页面还可以再快一点吗? 前方踩坑警告 第 3 点需要特别注意,对于 hash的变更,理论上我们是不应该干预的,避免影响 react-route之类的基于 hash实现的单页和浏览器的默认 hash跳转行为。 3.提供统一的跳转方法 ZanSpa.navigateTo(urlOrEvent)。 3、子页面注册 在上一步中,资源解析并且 diff 更新后,样式、脚本和模板加载完成。

    2.1K20发布于 2020-08-24
  • 来自专栏前端Q

    大型 3D 互动项目开发和优化实践

    3D项目相比之前的2D项目改变的主要是客户端的表现。 开源渲染库— 另外也比较了 Web 前端使用量较多的两个 3D 渲染库: three.js 提供的组件粒度较小,较基础,能做很高程度的定制化二次开发,但如果需要开发一个互动项目,需要开发的组件比较多 babylon.js 以上两个策略都是现在较大型3D 游戏会使用的加载策略,能减少同一屏幕中绘制的面数量,减轻渲染压力。 场景搭建工具— 在之前的项目开发过程中,设计师和产品、运营都需要通过前端输出demo才能大概体验到 3D 场景的效果,决定下一步如何调整。 (2023最新版) 放心,前端死不了

    1.3K20编辑于 2023-08-23
  • 来自专栏腾讯技术工程官方号的专栏

    大型前端项目的断点调试共享化和复用化实践

    作者:enoyao,腾讯工程师 背景 随着我们项目越来越大,我们有可能需要维护很多的模块,我们腾讯文档 Excel 项目大模块有 10 几个,而每个大模块分别有 N 个小模块,每个大模块下的小模块都有主要的负责人在跟进模块问题 ,让他去慢慢定位问题,这样的每个新同学对模块的熟悉,学习和维护的成本就会变得越来越大,项目越大这种情况就会越严重! 方案 由于上面的问题真的很痛,我们在爬滚中逐渐摸索了一套方案,我们暂且叫它为基于断点调试的共享化和复用化的实践方案吧,这里有个关键词是断点,相比作为每一个开发者都不陌生,在我们前端,模块定位问题的时候, debugger 位置 pasteFromInter 2 行 4 列 isShapePasteFromOuter 256 行 89 列 isImgPasteFromOuter 867 行 12 列 对于大型项目来说 当然实际情况可能还要比想象中复杂,举个简单的例子:因为分发的开关有可能会注入到一些被打包到 worker 的代码里面,worker 在大型项目中运用的很多,但是 worker 里面无法读取 document

    1.1K107发布于 2020-10-10
  • 大型前端项目性能瓶颈:内存泄漏排查与解决方案

    大型前端项目性能瓶颈:内存泄漏排查与解决方案 背景与症状 长时间使用后页面越来越卡顿,滚动或交互明显变慢;内存占用持续上升且不回落 典型指标:用户设备内存占用(UA-specific memory)上涨 、FPS 降低、GC 频率升高、主线程占用增多 高风险场景:大型单页应用、长列表、复杂图表/Canvas、WebSocket/SSE、频繁路由切换、跨标签页缓存 常见泄漏模式 未清理的事件/定时器/观察者 :子应用切换后主应用仍持有资源句柄 排查流程(Chrome DevTools) 建立可复现路径:清空缓存→打开页面→执行关键交互→等待数分钟→重复 3 次 Memory 面板: Heap snapshot canvas.width = canvas.width 可重置 自动化检测与回归 Puppeteer 脚本对比内存 import puppeteer from 'puppeteer' const runs = 3 Puppeteer 内存趋势脚本 文档:是否记录组件与资源生命周期 知识库:是否沉淀常见泄漏模式与修复方法 结果与总结 通过快照对比与保留路径定位,结合资源生命周期清理与缓存策略,可系统性消除内存泄漏 在大型前端项目中建立

    58210编辑于 2025-12-15
  • 大型前端项目代码拆分:按业务模块 功能维度的实战思路

    大型前端项目代码拆分:按业务模块 / 功能维度的实战思路 目标:提供一套在大型前端项目中实施代码拆分的可执行方法,覆盖按业务模块与按功能维度的两种视角,并给出目录规范、构建配置、状态与依赖治理、迁移步骤与实战案例 适用场景:技术能力复用高、跨业务通用(UI、表单、网络、权限、i18n) 核心原则:横向复用、低耦合、稳定接口与语义化版本 优势:统一维护避免复制;风险:共享层升级影响面广,需契约测试与变更告知 目录与项目结构 Monorepo(推荐大型项目) repo/ apps/ web/ # 主 Web 应用(聚合业务模块) admin/ product/ member/ shared/ ui/ utils/ network/ pages/ routes/ store/ 适用中型项目或小团队 模块间通信优先事件总线(pub/sub),定义事件命名与载荷结构 状态边界:全局只保留会话级核心(登录、权限、主题);业务状态留在模块内,通过共享服务或事件同步 构建与加载策略 路由级拆分与多入口 多入口:大型模块或应用独立入口

    25710编辑于 2025-12-15
  • 来自专栏腾讯大讲堂的专栏

    大型项目研发经验分享:以3A游戏为例

    本文作者:evvafan,腾讯IEG研发项目管理 前言 笔者有幸曾较长时间参与过一款“3A”游戏研发,该游戏预告于今年科隆展重磅亮相,本文将基于PM在项目中自己研发总结的方法论进行探讨分享。 前言部分将讲解:我对于3A游戏的理解,项目背景和项目诉求。 什么是3A? 这个解释可以看出是站在游戏开发者的视角去理解3A,但我们也会发现,有许多打着3A称号的游戏,其实并未被玩家所认可。那么我的理解是,3A是一个标签,它是玩家给予一款游戏最高的认可。 其中”内外部成本“中的内部员工工资和供应商合作单价已超出PM的项目管理范畴,所以此处不做拓展讨论 。 最后想用和该经验非常契合的六西格玛项目环进行总结。

    2K10编辑于 2022-12-13
  • 来自专栏程序员的知识天地

    如何阅读大型前端开源项目的源码,授人以鱼不如授人以渔

    这篇文章主要讲的是阅读大型前端开源项目比如 React、Vue、Webpack、Babel 的源码时的一些技巧。目的是让大家在遇到需要阅读源码才能解决的问题时,可以更快的定位到自己想看的代码。 授人以鱼不如授人以渔,希望大家可以通过这篇博客,了解到阅读大型前端项目源码时的切入点。在之后遇到好奇的问题时,可以自己去探索。 这里要强调一下,大型的开源项目一般都会有一个 Contribution Guide,目的是让想贡献代码的开发者更快上手。里面就有讲怎么在本地构建代码。 我们鼓励大家在本地把大型项目的源码跑起来,自己随意把玩,研究。因为源码也是普通的代码,并没有太多门槛。 自己整理了一份2018最全面前端学习资料,从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴,有想学习web前端

    1.5K10发布于 2018-10-27
  • 来自专栏君赏技术博客

    建议大型项目用上Try Catch建议大型项目用上Try Catch

    建议大型项目用上Try Catch 我们在平时项目做功能的时候,经常会遇到崩溃的情况。如果是我们在开发测试阶段,我们可以找到原因修复。但是遇到已经上线,出现这种问题。 最近写的项目用Swift语法进行编写的,对于之前我们在Object-C中NSError**类型的指针标识遇到了什么错误,现在转成Swift方法直接进行throws进行抛异常。 比如我刚刚写的项目,就用上了,感觉用完顿时高大上了许多。

    1.2K10发布于 2018-08-31
  • 来自专栏崔哥的专栏

    laravel 集成 vue3前端项目

    现在大多项目都是前后端分离的,但是如果前后端都是一个人做,前后端来回切也挺不方便的。 好在 laravel 给我们提供了 Vite,下面我以一个纯前端项目企业展示型小程序 - 管理员端 为例,介绍一下如何把 vue3 项目集成到 laravel 准备 创建一个laravel的项目 composer /resources/js', import.meta.url)) } }, }); 集成 Vue3 项目 web路由 vi routes/web.php Route::get( main.js']})]--}} @vite('resources/js/main.js') </head> <body>

    </body> </html> 复制前端项目前端项目克隆到enterprise-admin目录,把相关文件复制到laravel-demo下面(一些参数不能覆盖,需要合并一下) enterprise-admin/src/* -> laravel-demo

    1.3K10编辑于 2024-05-15
  • 来自专栏雪胖纸的玩蛇日常

    21.多端项目上线部署(3)部署前端项目newpc

    1.上传项目newpc 1.打包 在newpc目录下,将node_modules目录删除,然后将newpc项目打包为zip包 ?  2.上传newpc.zip到云服务器上 ? ?   3.解压newpc.zip unzip newpc ls ?   npm install cnpm -g --registry=HTTPS://registry.npm.taobao.org; cnpm -v 2.安装依赖包 cd newpc cnpm install 3. 项目打包 1.修改项目的host cd src/api/ ls vim api.js i#进入编辑模式,将host的127.0.0.1,修改为公网IP,然后点击【Esc】键,输入:wq,保存退出 2.打包项目 cd ../.. npm run build 4.安装Nginx 建立软链接 (在部署后端项目的时候已经安装过了) 5.修改nginx配置文件 cd /etc/nginx/sites-available

    86320发布于 2020-07-07
  • 来自专栏愿天堂没有BUG(公众号同名)

    SpringCloud实战:项目准备,构建大型实战项目

    项目准备阶段 本章中,我们将开始一个大型实战项目——博客网站。通过“以战代练”的方式来学习如何构建Spring Cloud微服务架构,让读者走出理论的丛林,在实践中玩转微服务架构。 我们知道,在正式开始搭建框架之前,首先应分析项目需求,再进行原型和UI设计,接着设计数据库结构,最后根据项目特点进行技术选型。本章将依次为大家介绍框架搭建前的准备事宜。 一个好的项目开发,产品设计阶段需要占到整个项目进度的50%甚至更多,才能保证整个项目开发的合理性。 一个优秀的产品应遵循以下几个原则。 用户至上。 (3)根据工程的作用,添加该工程的基本依赖。可以按照以下操作依次进行。 本文给大家讲解的内容是springcloud实战:项目准备,构建大型实战项目博客网站 下篇文章给大家讲解的是springcloud实战:从公共模块入手搭建一套完整的微服务架构; 觉得文章不错的朋友可以转发此文关注小编

    1K30编辑于 2022-10-28
  • 来自专栏小白维基

    「翻译」如何组织大型 Python 项目

    项目包含近 3万个 Python 文件,由全球 400 多名开发者共同维护。为了应对代码日益增长的复杂性,项目采用了分层架构的设计。 分层架构确实能够有效降低大型项目的复杂度,方便独立开发。但也存在一些缺点,比如容易在高层产生过多代码,完全实施分层需要花费时间等。 总体来说,尽早引入分层架构,能够减少后期的重构工作量,是管理大型 Python 项目的一个有效方式。 本文通过一个真实的大规模 Python 项目案例,生动地介绍了分层架构的实施过程、优势和不足,对于管理大型项目很有借鉴作用。 如果你正在开发一个大型的 Python 项目,或者哪怕是一个相对较小的项目,不发试试分层结构,还是那句话:越早分层需要面对的麻烦就越少。

    97430编辑于 2023-08-09
  • 来自专栏玩转JavaEE

    大型项目的 Gitflow 实践

    1、项目背景,简单了解一下; 2、svn迁移git的过程,简单介绍迁移的经过; 3、正式使用gitflow前的尝试,如何尝试,尝试结果等; 4、研发模式调整,为什么调整,如何考虑的; 5、敏捷思维,gitflow 一、项目背景 我们的产品作为公司最重量级的产品,尝试使用git时(2016年10月)研发团队总体107人左右,研发经理6人、需求12人、架构师1人、系统分析师1人、测试26人、开发61人,整个团队负责全国 研发模式的问题 1、主干3个月一版,全国性需求响应慢,从上面图中可以看到,主干开发的3个月过程中,分支随意合并,导致主干没办法发布,只能卡到最终的时间点发布。 (2)大一些的需求可以在feature上开发,可以跨几个版本发布,比如一个大需求要开发3个月,不会导致主干必须等3个月,可以提前投入开发,开发完了就合并到dev即可。 首先,gitflow仅仅是一个工具,能够有效提高发布频率,让大型项目更加灵活,带来的不便就是有一定的学习成本,管理成本有所提高(需要配套的工具才能降低),提高效率方面需要结合很多其他方面才能提高。

    61140编辑于 2022-03-04
  • 来自专栏python编程军火库

    python 大型项目神器实战

    / python 生产实战 python 大型项目神器实战 / 在 fastapi 1.1 依赖注入适用场景列举: 1.业务逻辑复用 2.共享数据库连接 3.安全机制、权限校验、角色管理等 所有上述使用场景,借助于依赖注入可提高代码复用率,减少代码重复。 当一个新的请求到来的时候,实际的调用流程如下: 1.调用依赖项函数(传递合适的参数) 2.得到依赖项目函数的返回结果 3.把返回结果传递给路由函数中对应的参数 4.路由函数中业务流数据处理 5.获取的数据返回给客户端 /前端 2.1 函数级依赖项 # -*- encoding: utf-8 -*- from fastapi import Depends, FastAPI app = FastAPI() async fixed_content_included: bool = Depends(checker)): return {"fixed_content_in_query": fixed_content_included} 3

    1.1K40发布于 2021-05-11
  • 来自专栏DevOps时代的专栏

    大型项目的 Gitflow 实践

    1、项目背景,简单了解一下; 2、svn迁移git的过程,简单介绍迁移的经过; 3、正式使用gitflow前的尝试,如何尝试,尝试结果等; 4、研发模式调整,为什么调整,如何考虑的; 5、敏捷思维,gitflow 一、项目背景 我们的产品作为公司最重量级的产品,尝试使用git时(2016年10月)研发团队总体107人左右,研发经理6人、需求12人、架构师1人、系统分析师1人、测试26人、开发61人,整个团队负责全国 研发模式的问题 1、主干3个月一版,全国性需求响应慢,从上面图中可以看到,主干开发的3个月过程中,分支随意合并,导致主干没办法发布,只能卡到最终的时间点发布。 (2)大一些的需求可以在feature上开发,可以跨几个版本发布,比如一个大需求要开发3个月,不会导致主干必须等3个月,可以提前投入开发,开发完了就合并到dev即可。 首先,gitflow仅仅是一个工具,能够有效提高发布频率,让大型项目更加灵活,带来的不便就是有一定的学习成本,管理成本有所提高(需要配套的工具才能降低),提高效率方面需要结合很多其他方面才能提高。

    1.1K50发布于 2019-10-21
  • 来自专栏前端开发

    前端开发】创建Vue3项目

    步骤3:运行安装程序找到已下载的.msi文件,双击开始安装。安装向导启动后,按照提示进行操作:点击【Next】按钮继续安装。 your-project-name>...Done.根据自己需求选择yes or no通过一下步骤安装,启动服务器cd <your-project-name>npm installnpm run dev运行之后会显示如下界面说明创建项目成功 3.项目目录结构创建完项目之后会有一些文件被创建:.vscode vscode配置文件夹node__modules Vue项目的运行和依赖文件public资源文件.gitignoregit忽略文件index.htmlHTML

    47910编辑于 2024-03-21
领券