Java
基于electron-store的最佳实践封装工具类
基于之前讨论的electron-store最佳实践,以下是一个更加完善和健壮的封装示例,包含了类型处理、默认值设定、以及一些实用方法,以适应更复杂的场景: 这个封装类不仅提供了基础的读写操作,还额外处理了日期类型的序列化与反序列化,以及检查和设置默认值的功能。 此外,它还允许传入一个加密密钥(encryptionKey),以便在需要时对存储的内容进行加密处理(这要求使用支持加密的electron
Spirng 当中 Bean的作用域
Spirng 当中 Bean的作用域 @目录Spirng 当中 Bean的作用域每博一文案1. Spring6 当中的 Bean的作用域1.2 singleton 默认1.3 prototype1.4 Spring 中的 bean 标签当中scope= 属性其他的值说明1.5 自定义作用域,一个线程一个 Bean2. 总结:3. 最后: 每博一文案 1. Spring6 当中的 Bean的作用
vue.js 3 初学经验:开发环境搭建,Windows,nginx
Windows 11 nginx-1.20.0 "vue": "^3.4.21" --- 序章 vue3 开发,不需要后端服务业是可以的。 在需要后端服务时,使用 nginx 来转发请求是很好的(个人开发者)。 注,还有什么其它方式吗? 注,本文的后端服务 是使用 Java 开发的 HTTP 接口。 注,参考资料#2 介绍了 多个 vue.js 3.0 项目的配置,本文
CSS Custom Highlight API
CSS Custom Highlight API CSS Custom Highlight API JavaScript 创建范围并使用 CSS 定义样式来设置文档中任意文本范围的样式 该 API 允许开发者通过 CSS 自定义属性来设置文本的样式, 并将其应用到文档中的任意文本范围。 本质就是查找所有文本节点,收集匹配内容的 Range, 最后作为参数构建 Highlight 对象, 但需要注
Babel与core-js
1.Babel是把ES6的语法转成ES5 比如:const、箭头函数、...(结构)、模板字符串等等 Babel原理 转译分为三阶段: 解析(Parse),将代码解析⽣成抽象语法树 AST,也就是词法分析与语法分析的过程 转换(Transform),对语法树进⾏变换方面的⼀系列操作。通过 babel-traverse,进⾏遍历并作添加、更新、删除等操作 Ast遍历可以通过深度优先遍历(DFS)或者
WebGL实现简易的局部“马赛克”
前言 接触过Canvas的小伙伴应该都知道,在Canvas2D中我们要加载一个图片很简单,通过调用drawImage API就能将图像绘制到画布上,当然在WebGL中我们也可以绘制图像,在绘制时我们需要用到WebGL中的纹理对象,在之前WebGL实现网格背景的文章中,我使用了一个叫做纹理坐标的配置,现在要完成纹理的加载我们也需要用到纹理坐标,并且我们可以通过对纹理坐标处理实现简单的”马赛克“效果。
【Java SE】图片操作
https://blog.csdn.net/s__lion/article/details/132979376 Java图片兼容性 com.twelvemonkeys.imageio
2-LinuxJava安装
环境 CentOS 7.5 Java 8 卸载现有JDK rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodseps 上传Java压缩包 将jdk-8u212-linux-x64.tar文件上传到/opt/software目录中 解压Java压缩包 进入/opt/software目录 cd /opt/softw
设计模式——创建型——简单工厂模式、工厂模式、抽象工厂模式
简单工厂模式 简单工厂模式把对象的创建和使用分离,使用者只关心产品的类型,而不需要知道产品创建的细节,用于产品类型较少且不经常变化,或是使用者不关心创建对象过程的情况 优点 封装好、拓展好、符合单一职责 缺点 违反开闭原则,工厂类职责负担较重 总结 本质可以看做是三个类,分别是: 一个产品接口类 一个产品具体实现类 一个工厂类 产品接口类负责定义产品接口,还可以声明产品的通用功能。
H2 Database Console未授权访问
H2 Database Console未授权访问 H2 database是一款java内存数据库,多用于单元测试。H2 database自带一个web管理页面,在Spring开发中,如果我们设置如下选项,即可允许外部用户访问WEB管理页面,且没有鉴权; 利用这个管理页面,我们可以进行JNDI注入攻击,进而在目标环境下执行任意命令。 漏洞环境 执行如下命令启动一个springboot + h2da
SpringBoot配置HTTPS及开发调试
前言 在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享 后端配置 生成HTTPS密钥 SAN需要设置你自己电脑的固定ip 配置SSL访问 这里以2.0.0.RELEASE版本为例 如果需要打包部署测试环境,需要添加以下配置将jk
Flink 在 Debian 环境的安装
目录基础环境下载安装运行 基础环境 启动模式:Local Debian 11.3 Java 11 下载 下载地址:https://flink.apache.org/zh/downloads/ 下载文件: 安装 解压安装包: 修改flink-conf.yaml文件 文件路径:conf/config.yaml 修改内容:rest.bind-address:0.0.0.0 运行 启动集群:
openGauss 查询原生编译
查询原生编译 MOT的另一个特性是,在预编译的完整查询需要执行之前,能够以原生格式(使用PREPARE语句)准备并解析这些查询。 这种原生格式方便后续更有效地执行(使用EXECUTE命令)。这种执行类型速度要快得多,因为原生格式在执行期间绕过多个数据库处理层,从而获得更好地性能。 这种分工避免了重复的解析分析操作。查询和事务语句可以交互执行。此功能有时称为即时(Just-In-Time,JIT)查
openGauss MOT样例TPC-C基准
MOT样例TPC-C基准 TPC-C简介 TPC-C基准是衡量联机事务处理(OLTP)系统性能的行业标准基准。它基于一个复杂的数据库和许多不同的事务类型。这些事务类型在此基准上执行。TPC-C基准测试既不依赖硬件,也不依赖软件,因此可以在每个测试平台上运行。基准模型的官方概述,见tpc.org网站(http://www.tpc.org/default5.asp)。 该数据库由9个不同结构的表组成,
如何下载Junit并在eclipse上配置Junit
点击链接Download and Install · junit-team/junit4 Wiki · GitHub 点击junit.jar 选择下载junit 4.13.2版本的话直接下载junit-4.13.2.jar,这里下载的是4.10版本,所以点击 ../ 选择其他的版本 点击4.10/,下载junit-4.10.jar 这样就下载好junit了,接下来在eclipse
软件测试实验三单元测试
实验三单元测试及JUnit的应用 一、实验目的 1、掌握单元测试的基本理论和作用。 2、掌握典型单元测试工具JUnit 的使用。 二、实验类型 验证加设计。 三、实验内容 测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可。JUnit是一个非常强大的单元测试包,可以对一个或多个类的单个或多个方法进行测试,还可将不同的TestCase组合成TestSuit,使测试任务自动化。Eclip
XSS-Labs挑战笔记
Level1 仔细观察三处箭头,可以发现它是向服务器提交了一个name参数,值为"test",从页面 回显来看,将neme参数的值显示在了页面上,并且显示了name参数值的字符长度 接下来,查看源码 从这里我们可以看到它将name的参数值,插入到了<h2> </h2>标签之间,只要弹出弹框就会自动到下一关,同时记录payload的长度 那么就很明显,这一关主要就是考察反
【转】[Java] 防止并发的多种写法
来自:阿里的 通义灵码 要确保在Java中同一方法被多个线程同时调用时,只有其中一个成功执行,可以采用几种并发控制策略。以下是几种实现方式: 1. 使用ReentrantLock的tryLock() 2. 使用synchronized和标志位 3. 使用AtomicBoolean和CAS操作 每种方法都有其适用场景。使用tryLock()提供了非阻塞的尝试获取锁的方式,适合于那些
Java项目鉴权【一】
Shiro、SpringSecurity、Sa-Token都属于Java的权限框架。 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但应对中小型项目完全足够。 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的
C++里也有菱形运算符?
最近在翻《c++函数式编程》的时候看到有一小节在说c++14新增了“菱形运算符”。我寻思c++里好像没什么运算符叫这名字啊,而且c++14新增的功能很少,我也不记得有添加这种语法特性。一瞬间我有些怀疑我的记忆了,所以为了查漏补缺,我写了这篇文章。 什么是菱形运算符 这个概念在Java里比较多见: 这东西在Java里的学名是diamond operator,表示使用泛型类并且类型参数在左侧的表达式
Nuxt2项目Js文件使用Vuex
背景 当前项目是Nuxt2框架,建立了Vuex仓库。通过返回一个函数的形式,建立Vuex 代码如下 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = () => new Vuex.Store({ state: { name: 'abc' }, mutations: {
Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)
Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977) Spring Security OAuth是为Spring框架提供安全认证支持的一个模块。在其使用whitelabel views来处理错误时,由于使用了Springs Expression Language(SpEL),攻击者在被授权的情况下可以通过构造恶意参数来远程执行命令。 漏洞环境 漏洞复现 访
Mysql、Oracle、SqlServer的JDBC连接实现和对比(提供驱动包)
Mysql、Oracle、SqlServer的JDBC连接实现和对比(提供驱动包) 首先,我们需要准备数据库连接所需的jar包。目前mysql的驱动包可能比较好找,但是oracle和sqlserver的有很多,要找到能用的要花一点点心思,这里直接把下载地址和版本发送出来。 Mysql: 驱动程序包:mysql-connector-java-5.1.38.jar 下载地址:http://mv
java 数据库编程(一)JDBC连接Sql Server数据库
java 数据库编程(一)JDBC连接Sql Server数据库 一、JDBC简介 1.JDBC-ODBC桥接技术 2.JDBC本地驱动(本文讲解此方法) 3.JDBC网络驱动 4.JDBC协议驱动 二、连接前配置 1.打开Sql Server配置管理器。 数据库版本 文件所在位置 Sql Server 2016 C:WindowsSysWOW64SQLServerManager13.
微服务体系-docker容器cpu内存管理
在微服务体系中,我们使用docker去部署微服务,在服务器资源有限的情况下。由于某个的服务(docker容器)cpu使用过高,或者内存使用过高会导致整个的服务器的崩溃。 针对这个问题,我采取了以下措施: 在docker run命令中添加 --cpus=2 --memory=4g --cpus=2:设置cpu最多使用2个核心数 --memory=4g :设置内存最多使用
centos系统mysql5.7.44安装
本教程不是基于docker,属于在服务器安装mysql服务 wget http://277s40j742.zicp.vip:2024/upload/2024/03/7m7vmivesuj1uqnbghusvd3nv0.gz mv 7m7vmivesuj1uqnbghusvd3nv0.gz mysql-5.7.44.tar.gz tar -xzvf mysql-5.7.44.tar.gz