作者 | Jiasm 来源 | https://juejin.im/post/5cef97e0e51d45776031af91 近期在按照业务划分项目时,我们组被分了好多的项目过来,大量的是基于 Node.js...我曾经晚上接到过同事的微信,让我帮他上线项目,他家的 Wi-Fi 是某博士的,下载项目依赖的时候出了些问题。...不过这在我们的 Node.js 项目中就会带来一个问题。 因为我们的 ESLint、单元测试 都是基于 node_modules 下边的各种依赖来执行的。...不过它的维护性并不是很高,尤其是如果 CI/CD 被应用在多个项目中,想做出某项改动则意味着所有的项目都需要重新修改配置文件并上传到仓库中才能生效。...这些都完全与项目之间进行解耦,后续的操作基本都不会让正在使用 CI/CD 的项目重新修改才能够支持(部分需要新增环境变量的导入之类的确实需要项目的支持)。
GitLab CI/CD 在 Node.js 项目中的实践 近期在按照业务划分项目时,我们组被分了好多的项目过来,大量的是基于 Node.js 的,也是我们组持续在使用的语言。...我曾经晚上接到过同事的微信,让我帮他上线项目,他家的 Wi-Fi 是某博士的,下载项目依赖的时候出了些问题。...不过这在我们的 Node.js 项目中就会带来一个问题。 因为我们的 ESLint、单元测试 都是基于 node_modules 下边的各种依赖来执行的。...不过它的维护性并不是很高,尤其是如果 CI/CD 被应用在多个项目中,想做出某项改动则意味着所有的项目都需要重新修改配置文件并上传到仓库中才能生效。...这些都完全与项目之间进行解耦,后续的操作基本都不会让正在使用 CI/CD 的项目重新修改才能够支持(部分需要新增环境变量的导入之类的确实需要项目的支持)。
文章前言 有时候我们在做渗透测试的时候会发现目标网站允许上传PDF文件,同时支持在线预览PDF文件,然而不少类似的网站都会直接通过调用系统IE浏览器来解析PDF,此时如果我们在PDF中插入可以执行的恶意...XSS代码,当用户在线预览时即可触发恶意XSS并窃取用户Cookie等数据信息或进行恶意操作,本篇文章我们主要介绍如何在PDF中构造恶意XSS代码并通过上传PDF来实现XSS攻击 构造流程 Step 1...:下载安装"迅捷PDF编辑器" Step 2:创建PDF文件 Step 2:单击左侧的"页面"标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择"页面属性"命令 Step 3:在“页面属性...文件嵌入到网页中并试运行 </...pdf,不用chrome自带的pdf解析就行,https://github.com/adobe-type-tools/cmap-resources
最近很多小伙伴问我要一些 GitHub 相关的资料,于是我翻箱倒柜,找到了这本非常经典的电子书——《GitHub入门与实践》。...资料介绍 《GitHub入门与实践》从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。...在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。 ? 如何获取?
本次实践是在Node.js环境下部署excalidraw-cn白板工具。...三、本次实践环境介绍 3.1 环境规划 本次实践为个人测试环境,操作系统版本为centos7.6。...Yarn能够保证依赖包的版本一致性,确保项目的稳定性和可靠性。它被广泛用于JavaScript项目中,特别是在React和Node.js项目中。...通过正确管理版本、依赖关系和安全性,以及进行性能优化,可以确保部署的Node.js项目在生产环境中稳定和可靠地运行。...同时,使用yarn工具可以更快、更稳定、更方便地管理项目依赖包,提高开发效率和项目的可靠性。在部署excalidraw-白板工具时,首先需要确保Node.js和npm(或yarn)已经正确安装。
一、背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程及转换后的 PDF 不需要在前端展示给用户。...从上可见,Puppeteer 可以实现在Node 端生成页面的 PDF 功能。 三、实现步骤 1. 安装— 进入项目,安装 puppeteer 到本地。...连接本地浏览器方法如下: const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome' }); 本项目需要部署至服务端...指定路径,生成pdf— 上述指定的页面加载完成后,将该页面生成 PDF。...官网有给 Docker 配置说明[4]可以参考,最终实践可用的 ubuntu 系统的 Dockerfile 如下: # ...省略...
翻译:疯狂的技术宅 原文:https://blog.risingstack.com/pdf-from-html-node-js-puppeteer/ 在本文中,我将展示如何使用 Node.js、Puppeteer...方案1:从 DOM 制作屏幕截图 方案2:仅使用 PDF 库 最终方案3:Node.js、Puppeteer 和 Headless Chrome 样式控制 将文件发送到客户端并保存 在 Docker...我看到过很多使用这个包的项目。但不幸的是,这不是我们想要的,因为我们需要在后端完成对 PDF 的创建工作。 方案2:只使用 PDF 库 NPM上有几个库,如 jsPDF(如上所述)或PDFKit。...最终方案3:基于 Node.js 的 Puppeteer 和 Headless Chrome 什么是 Puppeteer?...它本质上是一个可以从 Node.js 运行的浏览器。如果你读过它的文档,其中首先提到的就是你可以用 Puppeteer 来生成页面的截图和PDF。优秀!这正是我们想要的。
SpringBoot项目中基于PDF模板生成PDF文档 常见的使用方法有POI,ITEXT等模块的使用,本次基于ITEXT模块来实现基于PDF模板生成PDF新文件。 引入依赖 <!...; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfStamper...newFileName.endsWith(".pdf")) newFileName=newFileName+".pdf"; // //模版在项目中的位置...生成异常"); throw new RuntimeException("pdf生成异常"); } } } 模板文件创建 在resources下边创建pdf...文件夹,然后使用 Adobe Acrobat DI创建一个PDF模板 在PDF模板中添加表单域,并设置表单域的变量名,便于后续替换 测试 对象实例: @Data class A{ private
最近 Node.js 团队在官方文档上公布了一份最新的安全实践,解读了一些 Node.js 服务下一些常见的攻击场景以及预防手段,我们一起来看看吧!...与所有运行时一样,如果项目运行在共享的机器上,Node.js 很容易受到这些攻击。使用 secure heap 有助于防止由于指针溢出和不足而导致敏感信息泄漏。...由于这种攻击产生的根本原因是 Node.js 与另一个 HTTP 服务器解释 HTTP 请求的方式不同,我们可以认为它是 Node.js、前端服务器两者的漏洞 。...如果 Node.js 解释请求的方式是符合 HTTP 规范(https://datatracker.ietf.org/doc/html/rfc7230#section-3)的,那么它就不被认为是 Node.js...缓解措施 使用反向代理接收请求并将请求转发到 Node.js 应用程序。
总览 Open HTML to PDF是一个纯Java库,用于使用CSS 2.1(以及更高版本的标准)对合理子集的格式良好的XML/XHTML(甚至一些HTML5)进行布局和格式化,输出为PDF或图像。...使用该库生成漂亮的PDF文档。但请注意,您不能将现代HTML5+直接应用于该引擎并期望获得出色的结果。...特性 使用维护良好且开源(兼容LGPL)的PDFBOX作为PDF库,而不是iText。 提供适当的支持生成无障碍PDF(Section 508,PDF/UA,WCAG 2.0)。...提供适当的支持生成符合PDF/A标准的PDF。 新的、更快的渲染器意味着对于非常大的文档,该项目可以快几倍。 更好地支持CSS3变换。 自动视觉回归测试PDF,有许多端到端测试。...OPEN HTML TO PDF已经在OpenJDK 8、11和17(早期版本)上进行了测试。至少需要Java 8才能运行。 不,你不能在Android上使用它。 你应该能
package.json重要说明 package.json是创建任何node.js项目必须要有的一个文件。...因为在package.json文件中,有详细的项目描述, 包括: (1)项目名称:name (2)版本:version (3)依赖文件:dependencies 等等.. 1....创建node.js项目步骤 (1) 创建package.json文件 (2) 运行npm install 创建node_modules这个文件夹 (3) 编写node.js文件,使用相应外部模块 2....使用npm 操作node node app.js 有了package.json以后我们做的就是一个项目 故,使用npm 可以对象项目的操作 在package.json中,script键可以直接项目进行操作...是把包的名称添加到devDependencies中的 7. devDependencies 和 dependencies dependencies中依赖的是代码中的包和模块 devDependencies中是依赖项目管理工具的
Node.js 调试环境变量 操作系统中设置的环境变量可以控制 Node.js 应用程序的设置。...使用 Chrome 调试 Node.js 应用程序 使用 --inspect 标志启动 Node.js V8 检查器(nodemon 也支持这个标志。)...支持 Node.js 并具有内置的调试客户端。...code.visualstudio.com/docs/introvideos/debugging VS Code 高级调试配置 如果你想在另一台设备、虚拟机上调试代码,或者需要使用其他启动选项(例如 nodemon) 编辑器将启动配置存储在项目隐藏文件夹内的...项目的调试技巧,可以在留言区分享出来~ 本文译自:https://blog.openreplay.com/an-introduction-to-debugging-in-nodejs 参考: https
Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用来方便快速地搭建易于扩展的网络应用。...返回结果如下所示 nvm ls -> v6.9.5 system unstable -> 6.9 (-> v6.9.5) (default) 部署测试项目 1 ....新建项目文件example.js cd ~ vim example.js const http = require('http'); const hostname = '0.0.0.0'; const...运行项目 node ~/example.js & # 一般会将写好的nodejs项目进行如下编译 cd admin-web npm install --registry=https://registry.npm.taobao.org...npm run build:prod # 查看是否监听项目端口,如果返回3000代表OK ss -tnl State Recv-Q Send-Q Local Address:Port
日志记录是每个开发人员从第一天编写代码时就要做的事情,但很少有人知道它可以产生的价值和最佳实践。 在本文中,我们将讨论以下主题: 什么是日志,为什么很重要性?...当你启动 Node.js 服务器时,如果数据库由于某些问题而没有运行,或服务器端口已经被占用时,如果没有日志,你将永远不知道服务器失败的原因。...最佳实践 1)日志的三个重要部分 程序日志既适用于人类,也适用于机器。人类参考日志来调试问题,机器用日志生成各种图表,并通过数据分析来产生关于客户使用的各种结论。...在 Node.Js 中,控制台的实现方式与浏览器不同,控制台模块在使用 console.log 时会在 stdout 中打印消息,如果使用 console.error 它将打印到 stderr。...如果你当前还没有很好的使用日志,请实施日志记录实践并将日志添加到代码审查核对表中。
在这个指南中,我列出了在各个重点领域的最佳实践,都是与 CLI 工具交互最理想的用户体验。 1 命令行的经验 本节将会介绍创建美观且高可用的 Node.js 命令行工具相关的最佳实践。...CLI 工具的最佳实践。...通过 npx 总是获取当前项目安装的模块(当前文件夹的node_modules),因此使用 npx 来调用 CLI 可能会降低性能。...3 通用性 本节将介绍使 Node.js CLI 与其他命令行工具无缝集成有关的最佳实践,并遵循 CLI 正常运行的约定。 本节将回答以下问题: 我可以导出 CLI 的输出以便于分析吗?.../usr/bin/env node 作为最佳实践,但是这仍然假设 Node.js runtime 是被 bin/node 引用,而不是 bin/nodejs 或其他。
本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 Node.js ORM 框架 sequelize 实践 最近在做积木系统2.0,这次使用的nodejs
本篇文章选取CLI(Command Line Tools)子领域,来谈谈Node.js编写CLI的实践,让CLI切实解决实际工程问题。 Why Node.js?...常用的用来编写CLI的语言有 python, ruby, perl, Node.js等等。 为什么选取Node.js作为CLI的语言编写工具呢?...如果模块采用局部安装的方式,则会在项目内的./node_modules/.bin目录创建软链接。...扫描器的实现 在一个工程项目中,有各种各样的规范,比如项目命名规范、描述规范、目录结构规范、README.md规范,是否增加基本监控等等。...编写扫描器scanner,对某个Group里面的所有业务项目进行扫描,将不符合规范的仓库和不符合规范的地方列举出来,并且捞出责任人。最后通过邮件及定时任务发送给相关同学,并且敦促修改。
pdf解析组件 github地址 https://github.com/nan1010082085/vue-components/tree/master/pdf 遇到的问题 参考文章 https://juejin.im.../static/pdf/cmaps/' PDFJS.cMapPacked = true; 字体模糊 if(vm.initFlag){ //默认2倍缩放 vm.scales = 2 }...vm.initFlag = false; let viewport = page.getViewport(vm.scales) 如何使用 将pdf.vue当作一个路由组件使用。...内部执行接口请求,获取pdf 通过pdfjs-dist来解析 ps: PDFJS插件不支持跨域解析, 如需解析跨域文件 或是测试, 请使用如 vue --> proxy
创建项目 npm init 安装相应的库 npm install --save-dev typescript npm install --save-dev nodemon npm install
领取专属 10元无门槛券
手把手带您无忧上云