Java
初探富文本之文档diff算法
初探富文本之文档diff算法 当我们实现在线文档的系统时,通常需要考虑到文档的版本控制与审核能力,并且这是这是整个文档管理流程中的重要环节,那么在这个环节中通常就需要文档的diff能力,这样我们就可以知道文档的变更情况,例如文档草稿与线上文档的差异、私有化版本A与版本B之间的差异等等,本文就以Quill富文本编辑器引擎为基础,探讨文档diff算法的实现。 描述 Quill是一个现代富文本编辑器,具
[转]多端统一框架Taro基础教程(支持转小程序/React Native(安卓/iOS)/鸿蒙)
原文地址:多端统一框架Taro基础教程 - 知乎 随着微信小程序越来越火,其它平台也都推出了自己的小程序产品(支付宝、快应用、百度、抖音)。小程序最大的特点就是平台能为你提供强大的流量,所以小程序开发变成了前端必会知识。 作为一个从来不想写程序,一心只想泡妹子的程序员,我一直期盼有一种解决方案,可以一次开发,多端运行。这也就是我的学习理念,每多学一点知识,就少些一些代码。期间我尝试Flutter、
Nginx服务的启动和停止
使用Nginx的过程中,我们可能总是需要修改nginx配置文件,然后不停地启动或者停止nginx服务。 这里简单讲一下nginx的相关命令行。 找到nginx的安装路径 whereis nginx 此文章 /usr/local/nginx/sbin/ 是我本地nginx的安装路径 一、启动nginx服务 在nginx所在目录执行以下命令: 以下三种启动方式都可以 1.启动方式一 cd /
【数据结构】数组、稀疏矩阵的操作、广义表
数组 数组:按一定格式排列起来的,具有相同类型的数据元素的集合 一维数组:若线性表中的数据元素为非结构的简单元素,则称为一维数组 二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组 数组基本操作:一般来说,只有存取和修改这两种操作 数组一般采用顺序存储结构 二维数组的两种顺序存储方式 以行序为主序(C语言、Java、PASCAL) 以列序为主序(FORTRAN) 地址计算
若依前后端分离版如何集成的mybatis以及修改集成mybatisplus实现Mybatis增强
场景 若依前后端分离版手把手教你本地搭建环境并运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662 SpringBoot中使用PageHelper插件实现Mybatis分页: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1361894
Invicti Enterprise v24.1.0 for Windows - 企业应用安全测试
Invicti Enterprise v24.1.0 for Windows - 企业应用安全测试 Invicti Enterprise On-Premises 09 Jan 2024 v24.1.0 请访问原文链接:Invicti Enterprise v24.1.0 for Windows - 企业应用安全测试,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Invic
SonarQube 10.4 (macOS, Linux, Windows) - 清洁代码 (Clean Code)
SonarQube 10.4 (macOS, Linux, Windows) - 清洁代码 (Clean Code) SonarQube Data Center Edition (Java App for macOS, Linux, Windows) 请访问原文链接:SonarQube 10.4 (macOS, Linux, Windows) - 清洁代码 (Clean Code),查看最新版。原
还在担心报表不好做?不用怕,试试这个方法(二)
前言 在上一篇文章《还在担心报表不好做?不用怕,试试这个方法》中,小编分享了如何使用模板语言生成报表的过程。今天小编进一步介绍模板语言中一些基本的概念和用法,因此读者可以配合上一篇文章一起看。 本文介绍的内容有: 模板文件 绑定数据源 单元格扩展 模板属性 分组 排序 公式 1. 模板文件 在报表生成的过程,需要提供一个模板用于填充数据和整理报表的布局,样式以及模板语言等业务相关的设计,都包含
three.js 添加 echarts图表
function initChart(){ // // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init( $("<canvas width='512' height='512'></canvas>")[0] ); // 绘制图表 myChart.setOption({ title: { text:
华为二面:SpringBoot如何自定义Starter?
Spring Boot的自动配置机制为开发人员提供了一种轻松集成和配置各种功能的便捷方式。然而,随着项目的复杂性增加,更好地组织和分享通用功能变得至关重要。自定义Starter成为了理想的解决方案,旨在简化项目的依赖管理和自动配置,使开发者能够迅速而灵活地集成特定的功能模块。本文将深入探讨在Spring Boot中如何创建自定义Starter,为构建模块化且易维护的应用提供有力的支持。 接下来我们
单例模式五种实现方式以及在JDK中的体现
单例模式五种实现方式以及在JDK中的体现 一、五种实现方式 1、饿汉式 构造私有 提供一个静态私有的成员常量,类型就是单例类型,值是用私有构造创造出来的唯一实例 提供公共的静态方法获取上述的静态成员常量 注意:对应所有的单例模式实现方式,如果实现Serializable接口,可能会被反射,反序列化等操作破坏单例, 2、枚举饿汉式 枚举类,只定义一个变量 构造私有 提供公共的静态方法获取枚举
多线程系列(四) -volatile关键字使用详解
一、简介 在上篇文章中,我们介绍到在多线程环境下,如果编程不当,可能会出现程序运行结果混乱的问题。 出现这个原因主要是,JMM 中主内存和线程工作内存的数据不一致,以及多个线程执行时无序,共同导致的结果。 同时也提到引入synchronized同步锁,可以保证线程同步,让多个线程依次排队执行被synchronized修饰的方法或者方法块,使程序的运行结果与预期一致。 不可否认,采用synchro
SpringBoot使用git-commit-id-maven-plugin打包
简介 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。 功能 你是否经常遇到这样的问题: 测试提交了一个bug,开发人员无法确认是哪个版本有这个问题,当前测试环
kettle从入门到精通 第四十四课 kettle 去重
1、我们平常在写应用程序的时候,会有去重的业务场景,可以在数据库层面解决,也可以在内存层面解决。 同样kettle也有去重的步骤【唯一行(哈希值)】和【去除重复记录】 唯一行(哈希值):使用 HashSet 来删除重复行,只保留唯一的行。 去除重复记录(Unique Rows):删除重复行,只保留唯一的行。这只适用于已排序的输入。如果输入没有排序,则只能正确处理连续的重复行。 2、下面
js时间戳转换 带时区的格式
JavaScript中可以使用Date.toLocaleString()函数将时间戳转换为包含时区信息的日期字符串。 示例代码如下所示: 输出结果类似于:2024/2/21 GMT+8 11:53:42
多线程系列(五) -死锁分析及解决办法介绍
一、简介 在之前的文章中,我们介绍了synchronized同步锁关键字的作用以及相关的用法,它能够保证同一时刻最多只有一个线程执行修饰的代码段,以实现线程安全执行的效果。 但是如果过度的使用synchronized等方式进行加锁,程序可能会出现死锁现象。 那什么是死锁呢?它有什么危害? 我们知道被synchronized修饰的代码,当一个线程持有一个锁,其它线程尝试去获取这个锁未获取到时,那么其
SQL查询数据,要求日期不间断,没有数据的日期显示0
<select id="getTaskPublish" resultType="java.util.Map"> SELECT count( u.id ) AS count, s.date FROM ( SELECT date_add( #{date}, INTERVAL
Java Solon v2.7.0 发布
Java Solon 是什么框架? Java "生态级"应用开发框架。从零开始构建,有自己的标准规范与开放生态。(历时七年,具备全球第二级别的生态规模) 相对于 Spring,有什么特点? 启动快 5 ~ 10 倍。 (更快) 每秒并发数高 2~ 3 倍。 (更高) 初始内存节省 1/3 ~ 1/2。 (更省) 打包缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
%C/jenkins/war/META-INF/MANIFEST.MF (No such file or directory)
centos7 部署jenkins时出现的问题, 目前只有stackworkflow有这个问题讨论,但是最后跟当前问题不适配,所以做下记录: 添加到短语集 没有此单词集:英语 → 英语... 创建新的单词集... 拷贝 添加到短语集 没有此单词集:英语 → 英语... 创建新的单词集...
Vue 学习笔记2 -- 开发环境
第一步:创建文件夹 并在VS code 中打开 第二步:创建src目录 + index.html 第三步:https://v2.cn.vuejs.org/v2/guide/installation.html 下载 vue 依赖文件,如下图所示: 第四步:引入vue.js,如下图所示: 第五步:运行 + F12 解决如下图问题 https://v2.cn.v
jQuery $.ajax() 方法概述
原文链接:https://www.bejson.com/apidoc/jquery/jQuery.Ajax.html 通过 HTTP 请求加载远程数据。 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。 最
十年技术进阶路,让我明白了三件要事(8000字长文)
十年技术进阶路,让我明白了三件要事(8000字长文) 前言 【本文于2022-5-10日首发于ITPUB微信公众号平台】 该篇文章是我第一次跟DTCC合作编写的,整篇文章大概8000字,可能花您15分钟阅读。我和DTCC的韩楠老师,共花7了天时间,每天把该文章打磨到晚上12点,在这非常感谢编辑老师的负责与付出。
Java_9 异常处理
title:(在线学习平台) link:(https://www.acwing.com/) cover:(https://cdn.acwing.com/media/activity/surface/log.png) 1.Error与Exception的区别 Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等。这些异常发生时,Java虚拟机(JVM)一
龙年-数据库时间类型字段精度问题 datetime类型的精度
数据库时间类型字段精度问题 理论 Datetime Timestamp保存毫秒 防止精度丢失 数据库字段为 DATETIME(3) 时可以保存毫秒。 工程经验 当数据库为MariaDb 10.x.x,则需要jdbc驱动需更换为 mariadb connnector,或者Mariadb 相应Mysql 数据库版本高于 5.6.4则无需更改。 DATETIME(3) 对应的 Java 类型,可以