puppeteer+rabbitmq:node.js 批量加工pdf服务架构设计与落地-编程思维

智慧作业最近上线「个性化手册」(简称个册)功能,一份完整的个性化手册分为三部分: 学情分析:根据学生阶段性的学习和考试情况进行学情分析、归纳、总结,汇总学情数据; 精准推荐:推荐算法基于学情数据结合知识图谱进行精准练习题推荐; 错题回顾:错题的阶段性回顾复习。 第一部分学情分析的PDF由Node.js加工,与Java后端通过消息队列RabbitMQ进行数据交互,本文简单记录一下Node.js批

前端架构工作-编程思维

工作中所涉及到的工作,也有一些PM的工作,比如:协调人员、拆分任务并分配给相关人员,把控工作进度、评审、变更管理等等。 项目立项,资源申请(服务器资源、人员) 需求评审(业需、软需) 接口文档、技术详设、功能点拆分、测试用例(概要设计、详细设计) 分支模型,版本控制(回滚机制) 技术选型,ui库, css编写BEM规范 代码风格、开发流程约束 eslint - son

eluxjs-让你像切蛋糕一样拆解前端巨石应用_hiisea-编程思维

大家好,EluxJS是一套基于“微模块”和“模型驱动”的跨平台、跨框架『同构方案』,欢迎了解... 可怕的巨石怪 工作中最可怕的是什么?是遇到业务复杂且乱作一团的巨石应用。改一发而动全身,无法渐进式重构,也没人敢对历史包袱进行优化,欠下的代码债只能像滚雪球一样越积越多,终于到某天玩不下去,大佬选择了跑路😄... 不管多么优秀的团队,都不可能一蹴而就的构建好应用,精品一定是在不断优化与重构中打磨成

单据架构—实现页面可配置化_甜点cc-编程思维

本篇是对以前工作中的单据架构实现做的总结,目前工作中我负责的系统也从零开始实现了这套架构功能。 👉“单据”:金融、外贸行业术语,货运单据 👀以前做外贸行业的SaaS软件,表单字段数量之多,没接触过的人肯定难以想象😮。现在在金融行业工作(也有物联网、互联网服务行业工作经验),觉得外贸、财务、金融行业的业务相对来说复杂度更高🎨,技术实现上也更加复杂(👉没有接触过的请先了解一下再发表意见😊)。就比如

组件设计之bem法则 - 编程思维

组件设计之BEM法则 原文:https://github.com/kuitos/kuitos.github.io/issues/30更多精彩文章:https://github.com/kuitos/kuitos.github.io/issues/ BEM定义 Block Element Modifier is a methodology, that helps you to achieve re

2015前端生态发展回顾 - 编程思维

原文:https://github.com/kuitos/kuitos.github.io/issues/32全部文章:https://github.com/kuitos/kuitos.github.io/issues 引用苏宁前端架构师的一个总结作为开篇 编程技术及生态发展的三个阶段 最初的时候人们忙着补全各种API,代表着他们拥有的东西还很匮乏,需要在语言跟基础设施上继续完善 然后就开始

[译注] mvvm 模式 - 编程思维

原文:https://github.com/kuitos/kui...全部文章:https://github.com/kuitos/kui... [译注] MVVM 模式 原文:The MVVM Pattern MVVM 模式跟 Silverlight 这类 XAML 应用平台是天生合拍的。这是因为 MVVM 模式利用了Silverlight 的一些特殊能力,比如说 数据绑定,命令,行为等。MV

面向切面编程—koa、redux框架中间件原理解析 - 编程思维

作者:曦舒 方凳雅集出品 用过express、koa或者redux的同学应该都知道它们都有“中间件”这样一个概念(前端意义上的中间件,不是指平台与应用之间的通用服务),在redux中我们可以通过中间件的方式使用redux-thunk和loger的功能,在koa中我们可以通过中间件对请求上下文context进行处理。 通过中间件,我们可以在一些方法执行前添加统一的处理(如登录校验,打印操作日志等

我对前端架构师的定义 - 编程思维

阅读原文: https://github.com/ruizhengyun/front-end-note/issues/8 近一年多,一直在思考和实践如何做一名合格的架构师。下面从职责和要求两个维度来说说,部分会和前端TL(team leader)工作重叠。具体事项后续完善,望理解。遗漏之处,还请评论区提出,谢谢。 职责(对外输出) 开发层面 参与产品、测试用例评审 参与前端开发,充分理解需求

hybrid app 离线包方案实践 - 编程思维

文章首发于我的博客 https://github.com/mcuking/bl...背景在 H5 + Native 的混合开发模式中,让人诟病最多的恐怕就是加载 H5 页面过程中的白屏问题了。下面这张图描述了从 WebView 初始化到 H5 页面最终渲染的整个过程。其中目前主流的优化方式主要包括:针对 WebView 初始化:该过程大致需耗费 70~700ms。当客户端刚启动时,可以先提前初始化

智联招聘的web模块扩展落地方案 - 编程思维

传统模块化在利于开发的同时,存在诸多不便,例如:当前端多页面工程场景中使用的组件库更新时,需要编译并上线所有使用到的页面,提高了上线成本,存在部分页面漏发或回滚时漏发带来的风险;当使用CDN资源管理组件库时,CDN资源更新可以实现浏览器端更新,但是服务器端渲染场景node端加载资源并执行无法保证与浏览器端渲染中加载的CDN资源版本一致,会带来渲染差异导致重新渲染问题;当采用打包工具提取公共资源时,

可能是多端适配性最好的微前端框架 - 编程思维

引子对微前端方向有了解的同学可能都看过 qiankun 的文档,深入的同学估计也去翻过其代码和 single-spa 的源码。一年前我也是受微前端思想的影响,当时刚好面临的业务是变化频繁,需要支持线上功能的热插拔和独立部署。充分调研了微前端和 qiankun 之后,发现很适合当前业务,才开始开始实践微前端的。由于 single-spa 太过于简陋,就采用 [email protected] 作为微

探索微前端的场景极限 - 编程思维

本文主要介绍总结了一些基于 qiankun 的微前端应用场景与实践基础场景与路由绑定的方式渲染微应用通常情况下,我们接触的最多的微前端的实践,是以 URL/路由 为维度来划分我们的微应用,以 OneX 平台(蚂蚁金融云基于微前端架构打造的统一接入平台)为例:接入这类平台的微应用,通常只需要提供自己的 entry html 地址,并为其分配一个路由规则即可。这背后的实现则是基于 qiankun 的

解密智联招聘的大前端架构ada - 编程思维

Ada是智联招聘自主研发的演进式大前端架构。于2017年正式投入使用后,又经过三年持续演进,全面覆盖了从研发到运维的各个方面,具备跨技术栈工程化体系、交互式图形界面开发工具、自动化发布流程、Serverless运行时和完善的监控预警设施。目前已经支撑集团内数百个工程,在线URL数量多达数千,每日承载请求量逾十亿次。本文将摘取Ada的一些关键特性,向大家介绍Ada的演进成果和设计思想。可演进的工程化

apollo graphql 在 webapp 中应用的思考 - 编程思维

Apollo GraphQL 在 webapp 中应用的思考 原文发表在: https://github.com/kuitos/kui... 简介 熟悉 Apollo GraphQL 的同学可直接跳过这一章,从 实践 一章看起。 GraphQL 作为 FaceBook 2015年推出的 API 定义/查询 语言,在历经了两年的发展之后,社区已相对发达和完善。对于 GraphQL 的一些基础概念,

service worker 学习 - 编程思维

介绍 serviceWorker 可以实现资源、网络请求的缓存和处理,是 PWA 实现离线可访问、稳定访问、静态资源缓存的一项重要技术 特点 必须运行在 https 协议下;为了便于本地开发,localhost、127.0.0.1 这种非 HTTPS 协议也被浏览器认为是安全源 Service Worker 是完全异步实现的,内部的接口的异步化都是通过 Promise 实现,并且在 Servi

从零开始做vue前端架构(6)单元测试 & 代码覆盖率 - 编程思维

新的一年 之前因为上家公司的经营出了问题,年前的大裁员,过了一个漫长的春节。之后加入了新公司,然后正好赶上一个很紧急的项目,忙成狗,因此好久没更新文章了。不过,我又回来啦! 前言 自动化测试,我们将使用karma和nightmare,内容会包括: 单元测试 e2e测试(放下一篇文章) 其实,单元测试一般用在写公共包的时候,比如通用的js函数库,通用的UI组件库。基本不太会在做业务项目的时候还

微前端在解决什么问题? - 编程思维

关注「前端向后」微信公众号,你将收获一系列「用心原创」的高质量技术文章,主题包括但不限于前端、Node.js以及服务端技术 本文首发于 ayqy.net ,原文链接:http://www.ayqy.net/blog/why-... 写在前面 上一篇Micro Frontends已经从概念定义及实现思路上探究了微前端是什么,而要彻底理解微前端的话,还需要想清楚这些问题: 为什么需要微前端? 微前

如何去设计前端框架能力?星巴克消息开放项目从0到1,从点到面的思考 - 编程思维

本文由淘宝前端工程师罗嗣分享,主要讲述了作者在星巴克消息开放项目中的总结和思考,希望对大家有帮助,让业务分享更加有价值。 摘要 从满足星巴克项目需求单点出发,发散到从点到面的思考。从而总结了自己思考的基本流程(方法论)。从如下四个递进方面思考。 业务拓展:拓展自有业务的边界,和其他业务合作共建,形成标准的能力透出, 合力共建。 业务趋势:业务的特点和趋势是如何。技术可以如何储备来应对未来业务的

前端架构,有什么能做的? - 编程思维

前端有架构吗?前端有架构模式吗? 架构是什么? 软件架构,是一种为了解决复杂问题的通用模式。软件架构,是关于软件系统的一系列有层次的技术决策的集合。换句话来说,当我们讨论架构的时候,不能只讨论某某架构,而是要包含其实施,以及后期的维护。 因为: 一个无法上线的应用架构,算不上是好的软件架构 一个没有人能完成开发的软件架构,算不上是可行的软件架构 一个在现有的技术上不可行的架构,算不上是合理的软