首页 文章 精选 留言 我的

精选列表

搜索[前端工程化],共10002篇文章
优秀的个人博客,低调大师

前端工程化:基于 JavaScript 的表单输入清洗与边界测试

一、 业务背景与痛点在涉及复杂数据交互的 Web 业务中,表单数据的准确性直接影响后续的流程流转。在实际测试(如联调测试环境接口 api.172card.tianzhuicn.com/api/submit)时发现,用户在使用浏览器的“自动填充”功能或复制粘贴时,极易在纯数字标识码(如测试用例 17200077)的末尾带入不可见的零宽字符(\u200b)。这会导致后端正则校验直接抛错,引发用户报错。

优秀的个人博客,低调大师

(五)Java工程化--Jenkins

Jenkins简介 Jenkins 是一种用Java语言实现的持续集成工具,Jenkins是一个平台, 在此基础上实现下面两个目的. CI 持续集成(Continous Integration) CD 持续交付(Continous Delivery) 安装 下载地址: https://jenkins.io/ 文件名为jenkins.war 启动命令:java -jar jenkins.war --httpPort=8099 访问http://localhost:8099 第一次访问会有guide,按guide配置好用户/插件等 插件安装:建议安装推荐的插件, 如不安装插件有的配置项出不来;系统管理-->插件管理-->可选插件 可以查找和安装插件 配置 (进入“系统管理”菜单) 全局工具配置 点击 系统管理-->全局工具配置 在此目录下配置JDK和MAVEN环境,以及git; (不安装git相关插件看不到配置项) JDK和Maven是配置home路径, git需要配置git.exe文件的全路径 创建任务 Jenkins的学习主要是要自己动手, 本文不再截图凑篇幅, 实践中遇到相应问题可以从管网查找资料,该下载插件的下插件,该在流程中作相应配置的做配置. 在我从上家公司离职之前的几个月, 公司的运维正在做CI方面的工作, 其间也是根据实际情况慢慢摸索, 一方面是要满足各种不同语言,项目,场景的CI, 另一方面也证实Jenkins的强大适应性,丰富的插件几乎能满足各种需求.

优秀的个人博客,低调大师

(二)Java工程化--Maven实践

Maven项目版本号 默认版本号: 1.0-SNAPSHOT 最佳实践是约定该版本为不稳定版本,如果发布一定要删除; 建议的版本规则: 主版本号.次版本号.增量版本号-<里程碑版本> 如:1.0.0-RELEASE 10.2.5-FINAL 等. 最佳实践是结合自身情况制定大家都认可的版本号规则. 常见命令 内置的maven插件提供了常见的命令, 可以在以下位置找到对应的包: .m2\repository\org\apache\maven\plugins compile clean 删除/target,将已编译的二进制文件等删除 test test case junit/testNG package 打包 install 把项目install到本地仓库 deploy 发布jar到remote服务器 mvn help:system 查看环境变量 插件 插件仓库 https://maven.apache.org/plugins/ http://www.mojohaus.org/plugins.html 常见插件 findbugs 静态代码检查 versions 统一升级版本号 统一升级版本 http://www.mojohaus.org/versions-maven-plugin/ 可以查看使用示例, 常用的设置版本的命令为mvn versions: set –DnewVersion=1.1.0-final mvn versions:set -DnewVersion=1.1 source 打包源代码,当jar提供给外部的时候斟酌使用 assembly 打包zip、war tomcat7 <plugins> <!--静态代码bug扫描--> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>3.0.0</version> <configuration> <threshold>High</threshold> <effort>Default</effort> <findbugsXmlOutput>true</findbugsXmlOutput> <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory> </configuration> </plugin> <!--版本号管理--> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.3</version> </plugin> <!--打包源代码--> <plugin> <artifactId>maven-source-plugin</artifactId> <version>2.3</version> <executions> <execution> <id>attach-sources</id> <phase>install</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <!--这个有点晕,生成可执行jar包什么的--> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version> <configuration> <archieve> <manifest> <mainClass>com.xlx.Test</mainClass> </manifest> </archieve> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> <!--tomcat插件--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/</path> </configuration> </plugin> </plugins> 自定义插件 学习地址https://maven.apache.org/guides/plugin/guide-java-plugin-development.html 创建项目 修改pom的<packaging>maven-plugin</packaging> 添加依赖 <dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>LATEST</version> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>LATEST</version> <scope>provided</scope> </dependency> </dependencies> 写代码实现AbstractMojo @Mojo(name="xlxTest",defaultPhase = LifecyclePhase.PACKAGE) public class Test extends AbstractMojo { /** * 接收的参数 */ @Parameter private String message; /** * 接收多个值的参数 */ @Parameter private List<String> options; /** * 命令行中接收,注意必须有property mvn:package -Dargs=this is from cmd */ @Parameter(property = "args") private String args; public void execute() throws MojoExecutionException, MojoFailureException { System.out.println("my first maven plugin message is : " + message); System.out.println("my first maven plugin options is : " + options); System.out.println("my first maven plugin args from evm is : " + args); } } mvn install 使用, maven可以接收参数, 也可以使用环境变量取,如${settings.localRepository},${project.baseUri}等 <!--项目pom修改--> <build> <plugins> <plugin> <groupId>com.xlx</groupId> <artifactId>engineering</artifactId> <version>1.0-SNAPSHOT</version> <executions> <execution> <phase>package</phase> <goals> <goal>xlxTest</goal> </goals> </execution> </executions> <configuration> <message>message</message> <options> <option>one</option> <option>two</option> </options> </configuration> </plugin> </plugins> </build> Profile 不同运行环境 dev/prod/test等 mvn clean package –P dev settings.xml 可以指定不同服务器仓储配置<profile.active>私服或者官方</profile.active> 多环境配置的配置文件路径 <profiles> <profile> <id>dev</id> <properties> <profile.active>dev</profile.active> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <profile.active>test</profile.active> </properties> </profile> </profiles> <build> <resources> <resource> <directory>${baseDir}/src/main/resources</directory> <excludes> <exclude>conf/**</exclude> </excludes> </resource> <resource> <directory>src/main/resources/conf/${profile.active}</directory> </resource> </resources> </build> 私服 下载: https://www.sonatype.com/download-oss-sonatype?hsCtaTracking=920dd7b5-7ef3-47fe-9600-10fecad8aa32%7Cf59d5f10-099f-4c66-a622-0254373f4a92 安装, 解压即可, 如果需要修改端口号等信息, 可以修改文件\nexus-3.13.0-01\etc\nexus-default.properties 启动命令 转到\nexus-3.13.0-01\bin下, nexus /run 可查看启动日志 使用: http://books.sonatype.com/nexus-book/reference3/index.html pom中增加发布节点 <distributionManagement> <repository> <id>nexus-release</id> <name>nexus-release</name> <url>http://localhost:8099/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus-snapshot</id> <name>nexus-snapshot</name> <url>http://localhost:8099/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> 修改settings.xml 增加服务器账号密码信息 <server> <id>nexus-release</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshot</id> <username>admin</username> <password>admin123</password> </server> 生成脚手架 mvn archetype: create-from-project 从项目生成脚手架 cd /target/generated-soource/archetype 转到此目录 mvn install 发布到仓库 可以添加到ide的脚手架列表 mvn archetype:generate –DarchetypeCatagory=local 命令行方式创建项目 local参数指定走本地仓库

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册