自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 一个帮助简化 antd Modal 状态管理的工具

一个帮助简化 antd Modal 状态管理的工具。

2024-03-22 11:03:05 960

原创 Lambda 表达式及线程安全最佳实践

Lambda表达式是在Java 8中引入的。Lambda表达式是一小段代码块,它接受参数并返回一个值。Lambda表达式类似于方法,但它们不需要名称,并且可以直接在方法体中实现。

2024-03-21 18:06:15 498

原创 浅谈前端路由原理hash和history

hash 模式是一种把前端路由的路径用 # 拼接在真实 url 后面的模式在hash模式下,本质上是修改window.location.href实现的。前端路由的改变依托于#锚点,而锚点后边的值我们可以通过修改window.location.hash的值来修改,每一次hash值的变化都会导致触发hashchange这个事件,hash模式就是通过 hashchange 事件来 监听 hash 值的改变从而渲染页面对应的组件。

2024-03-20 18:14:21 1004

原创 2024年 JavaScript 最新功能一览

随着 Web 技术的日新月异,JavaScript 也在不断地吸收新的特性和技术,以满足日益复杂和多样化的开发需求。在 2024 年,JavaScript 迎来了一系列令人瞩目的新功能,这些功能不仅提升了开发者的效率,也极大地丰富了 Web 应用的表现力和交互性。在接下来的内容中,我们将逐一介绍这些新功能,并探讨它们如何在实际开发中发挥作用,以及它们如何继续引领前端开发的未来。

2024-03-13 14:09:42 846

原创 JavaScript手写快捷键库,看到就是赚到

通过学习mousetrap源码以及手写一个简单的快捷键库,我们可以学习到一些关于快捷键和键盘事件相关的知识。目的不是重复造轮子,而是通过日常业务需求,驱动我们去了解当前流行的常见快捷键库的实现思路,以便于我们更好地理解并实现相关业务需求。假如日后有展示、修改快捷键或者其他快捷键相关的需求,我们就可以做到胸有成竹,举一反三。

2024-03-12 11:26:58 630

原创 什么是Git引用和分支?

总体来说,引用机制让Git可以通过简单但唯一的ID来识别和追踪对象,管理项目版本以及支持分布式协作开发模式。Git中的引用主要包括HEAD引用,指向当前检出的分支或提交对象。HEAD管理 Git 当前操作所在的分支或提交状态。分支引用,存储在.git/refs/heads目录下,每个分支对应一个引用文件。指向某个提交对象,跟踪分支历史记录和进度。本地分支和远程分支分别保存在不同目录下。标签引用,存储在.git/refs/tags目录下,每个标签对应一个文件或对象。用于标记特定版本,不可变更。

2024-03-11 15:54:33 1021

原创 MySQL学习笔记

查询缓存变更频繁,只要对表进行更新,那表中的查询缓存全部清空。好在 MySQL 也提供了这种“按需使用”的方式,你可以将参数 query_cache_type 设置成 DEMAND,这样对于默认的 SQL 语句都不使用查询缓存。而对于你确定要使用查询缓存的语句,可以用 SQL_CACHE 显式指定,像下面这个语句一样。

2024-03-04 14:43:41 873

原创 Vue3中的Hooks详解

);});Vue3中的Hooks为组件开发带来了全新的编程模式和思维方式,使我们能够更好地组织和复用代码,提高代码的清晰度和可维护性。通过自定义Hooks,我们可以将组件的逻辑拆分成独立的函数,并在多个组件中共享这些逻辑。然而,Hooks的学习需要一定的时间和实践来熟悉和掌握。在使用过程中,我们应遵循Hooks的书写规范和实践最佳实践,以确保代码的质量和兼容性。

2024-03-02 17:26:16 2765

原创 Javascript 重难点总结分享,看到就是赚到!

至少包含表单建模、流程设计、报表可视化、代码生成器、系统管理、前端 UI 等组件,这种情况下我们避免了重复造轮子,已内置大量的成熟组件,选择合适的组件进行集成或二次开发复杂功能,即可自主开发一个属于自己的应用系统。

2024-03-01 11:58:19 649

原创 盘点6个最受欢迎的 Vue.js UI 库

在2024年,随着Vue.js的不断普及和发展,这个轻量级、易于学习的JavaScript框架在前端开发者中的受欢迎程度日益上升。Vue.js之所以受到青睐,很大一部分原因是其庞大的生态系统,特别是众多的UI库,这些库提供了预先构建的组件和工具,帮助开发者快速高效地构建出既美观又响应迅速的用户界面。让我们来看看2024年最受欢迎的6个Vue.js UI库,这些库将帮助你提高开发效率,打造出令人印象深刻的应用程序。

2024-02-29 14:46:03 822

原创 前端:Vue2.0和Vue3.0的一些入门对比

从官方材料上可以看到,JNPF 快速开发平台的 Vue3.0 版本是基于 Vue3.x、Vue-router4.x、Vite4.x、Ant-Design-Vue3.x、TypeScript、Pinia、Less 的后台解决方案,采用 Pnpm 包管理工具,旨在为中大型项目做开发,提供开箱即用的解决方案。由于JNPF平台的功能比较完善,本文选择这项工具进行展开,使你更加直观看到低代码的优势。Vue3.0作为最新版本的Vue.js框架,拥有更强大的性能和更丰富的功能,为使用它的低代码开发平台注入了全新的活力。

2024-02-28 14:40:36 1027

原创 深入解析 Java 面向对象编程与类属性应用

前端开发,你的认知不能仅局限于技术内,需要发散思维了解技术圈的前沿知识。细心的人会发现,开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。介绍一款程序员都应该知道的软件JNPF快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;

2024-02-27 14:35:59 803

原创 用Vue3项目快速搭建低代码平台

在项目实战开发中,尤其是大平台系统的搭建,针对不同业务场景,需要为用户多次编写用于录入、修改、展示操作的相应表单页面。一旦表单需求过多,对于开发人员来说,算是一种重复开发,甚至是繁杂的工作。但是,随着技术发展,前端JS框架的不断成熟,降低前端开发工作量,自动生成统一表单的技术越来越成熟。随之而来,诞生了低代码的思路。低代码,简单理解就是通过可视化拖拽的方式即可生成页面,同时能够保持页面的统一风格,快速搭建页面,生成前后端代码。前端开发框架Vue风靡全球。

2024-02-26 13:41:17 1215

原创 4个为数据程序员量身打造的PyCharm插件

SonarLint 插件可以帮助开发人员在编码过程中发现潜在的代码问题,提高代码质量。可在实时编码过程中发现并修复代码问题,类似于拼写检查器。它不仅仅是一个代码检查工具,更像是代码质量助手。PyCharm 是一款由 JetBrains 公司推出的强大的 Python 集成开发环境(IDE),PyCharm 插件为用户提供了额外的功能和工具,使其更加强大和灵活。本文介绍4个 PyCharm 插件,帮助开发人员提高工作效率,提升编码体验。

2024-02-23 11:01:28 876

原创 5款超好用、高颜值的Git可视化工具

GitKraken 是一款专门用于管理和协作Git仓库的图形化界面工具。它拥有友好直观的界面,使得Git的操作变得更加简单易用,尤其适合那些不熟悉Git命令行的开发者。GitKraken提供了丰富的功能,如代码审查、分支管理、仓库克隆、提交、推送和拉取等。Git,作为一款强大的分布式版本控制系统,为代码协作与版本追踪提供了坚实的基础。然而,对于不熟悉命令行操作的新手或寻求更直观体验的开发者来说,Git的可视化工具成为了不可或缺的得力助手。本文将分享五款超好用、高颜值的Git可视化工具。

2024-02-22 15:12:37 1239

原创 分享6个当下最受欢迎的 Vue UI 库

在本文中,我列出了前 9 个最受欢迎的(根据 NPM 下载量和 Github stars,从上到下排名)UI 库,供您启动您梦想中的 Vue 项目。Vue.js 作为一个 JavaScript 框架,由于其简单、易用和学习曲线,是 React.js 和 Angular.js 等现代 JavaScript 框架的有力竞争者。在 Vue.js 的核心,组件在抽象复杂逻辑方面发挥着重要作用,这使得你的 Vue.js 项目可维护。

2024-02-22 14:27:12 834

原创 如何实现多级缓存?

浏览器缓存:它的实现主要依靠 HTTP 协议中的缓存机制,当浏览器第一次请求一个资源时,服务器会将该资源的相关缓存规则(如 Cache-Control、Expires 等)一同返回给客户端,浏览器会根据这些规则来判断是否需要缓存该资源以及该资源的有效期。Nginx 缓存:在 Nginx 中配置中开启缓存功能。分布式缓存:所有系统调用的中间件都是分布式缓存,如 Redis、MemCached 等。

2024-02-21 14:58:31 1091

原创 分享10个超有用的 Python 的库

今天给大家分享 10 个超有用的 python 库,看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

2024-02-20 17:57:27 738

原创 oracle和mysql语句有哪些异同点?

Oracle和MySQL是两个流行的关系型数据库管理系统,它们都有SQL(结构化查询语言)作为主要的查询语言。尽管它们共享许多基本的SQL功能,但它们之间也存在一些关键的差异。:两者都有整数、浮点数、字符、日期等数据类型。:Oracle有一些特有的数据类型,如RAWBLOBCLOB等。而MySQL有一些特有的数据类型,如ENUMSET等。:两者都可以使用ROWNUM或LIMITOFFSET进行分页查询。:Oracle使用ROWNUM,而MySQL使用LIMITOFFSET。:两者都有一系列字符串函数,如。

2024-02-19 14:00:35 1292

原创 聊聊PowerJob的CleanService

PowerJob的CleanService提供了timingClean、cleanLocal方法,其中timingClean先执行WorkerClusterManagerService.cleanUp()释放本地缓存,之后通过cleanLocal释放本地磁盘空间,最后执行cleanByOneServer删除历史数据;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;细心的人会发现,开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。

2024-02-18 18:02:04 724

原创 八种常见的云存储安全风险及防护建议

安全修复能力不足是指对云上应用系统或程序未能及时安装所需的安全修补程序。当安全补丁未能按时应用时,相关系统就容易受到网络攻击。恶意行为者通常会针对已知的软件漏洞进行攻击,利用补丁安装的延迟来获取非法访问权限,危害云上数据的安全性。云存储是一个以数据存储和管理为核心的云应用系统,给企业组织提供了一种全新的数据信息存储模式。尽管目前云存储的安全性问题已经有了很大改善,但由于云计算技术自身的特点,决定了它在安全性方面仍然有很大的挑战,一旦云存储的安全防线被攻破,其中存储的数据都将会被泄露。

2024-02-04 17:55:41 901

原创 Reducer 和 Context实现简单的Redux

Reducer和Context的结合提供了一种简单而有效的状态管理解决方案,尤其适用于中小型React应用程序。它们消除了Redux中的一些模板代码和配置,使得代码更加简洁和易于理解。在React应用程序中,Reducer和Context的结合可以用于状态管理,某些情况下,Reducer和Context的结合可以作为Redux的替代方案。在本文中将详细介绍如何使用Reducer和Context结合来管理状态,以及与Redux的比较。

2024-02-01 11:40:52 1090

原创 如何让Go程序以后台进程或daemon方式运行

在每次子进程退出之后,我们使用相同的参数再次启动守护进程,并重新开始监听。这样就可以确保服务程序在异常退出时能够自动重新启动。本文探讨了如何通过Go代码实现在后台运行的程序。最近我用Go语言开发了一个WebSocket服务,我希望它能在后台运行,并在异常退出时自动重新启动。我的整体思路是将程序转为后台进程,也就是守护进程(daemon)。它不处理具体的业务逻辑,而是再次使用相同的参数调用自身,启动一个子进程来处理业务逻辑。守护进程监视子进程的状态,如果子进程退出,则再次启动一个新的子进程。

2024-01-31 17:55:26 946

原创 在Java中,如何实现对象的拷贝?

开发中可以使用第三方库如Apache Commons Lang的SerializationUtils类或Google的Guava库来实现对象的深拷贝。这些库提供了更加灵活和方便的深拷贝实现方式,同时也提供了更多的自定义选项和错误处理机制。在Java中,对象的拷贝可以分为浅拷贝(shallow copy)和深拷贝(deep copy)。创建一个新对象,然后将原始对象中的非静态字段复制到新对象。如果字段是值类型,那么对该字段执行逐位复制。如果字段是引用类型,则递归地复制该字段引用的对象,而不是只复制引用。

2024-01-29 16:49:32 998

原创 每个开发人员都应该知道的6个Nodejs库

Node.js是一个开源的服务器端运行时环境,用于JavaScript编程。它的异步特性和跨平台互操作性使其成为流行的Web开发基础。Node.js使用事件驱动和非阻塞I/O,使其在处理大量数据的实时分布式系统中非常高效。库,有时称为模块,是预先编写的代码,封装了经常使用的操作。你可以利用库来加速编码过程,并鼓励代码重用,这将有助于你保持你的工作“DRY”(不要重复自己)。框架通常作为整个程序的骨架,与框架相反,库是完成的功能,可以在项目的任何开发阶段轻松使用。

2024-01-26 17:57:59 1057

原创 Python数据分析中备受欢迎的库和工具

Pandas提供了高效的数据结构和数据操作工具,NumPy用于科学计算和数组操作,Matplotlib和Seaborn用于数据可视化,Scikit-learn支持机器学习算法和模型评估,Jupyter Notebook提供了交互式的数据分析环境。这些库和工具在数据处理、分析和可视化方面发挥着重要的作用,大大提高了数据分析人员的工作效率和结果展示的质量。Pandas的核心数据结构是DataFrame,类似于电子表格,可以处理结构化、标签化的数据,并提供了丰富的数据操作函数,如数据过滤、排序、合并和统计等。

2024-01-25 16:56:12 373

原创 教你怎么用Docker 部署前端

越来越多的前端团队选择用 Docker 部署前端项目,方法是将项目打包成一个镜像,然后在服务端直接拉镜像启动项目。这种方式可以忽略服务器环境差异,更容易做版本管理。但我们平常使用 Docker 拉取镜像时,默认会从Docker Hub这个公共仓库拉取。虽然 Docker Hub 也可以上传自己的镜像,但是上传后会对所有人开放,这对公司项目来说显然是不允许的。为此,Docker 官方提供了工具registry来帮助我们搭建私有镜像仓库,用于管理自己的镜像。

2024-01-23 15:17:55 1176

原创 一行代码就修复了Dubbo的Bug

最开始找到这个 BUG 的时候,我自己也是有一套解决方案的。思路也是只关心 List 里面的元素,而不关心 List 这个容器,但是实现方式比较复杂,改动点较多,还需要写一个工具类。但是看到 issue 下面的这个评论,我才一下回过神来,原来一行代码就能代替我写的工具类了啊。而对于这个知识点,我之前其实是知道的。我反思了一下自己为什么没有想到这个方案。其实就是对于已知道的知识点,掌握不够深刻导致的,没有达到融会贯通的地步。知其然,也知其所以然,可惜在需要使用的场景稍稍一变的情况下,就想不起来了。

2024-01-20 14:32:35 817

原创 Go 语言操作 MySQL 之 预处理

在这里客户端并不是前台后台之间的 C/S 架构,而是后台程序对数据库服务器进行操作的 C/S 架构,这样就可以简要地理解了后台程序作为 Client 向 MySQL Server 请求并处理结果了。预处理是 MySQL 为了防止客户端频繁请求的一种技术,是对相同处理语句进行预先加载在 MySQL 中,将操作变量数据用占位符来代替,减少对 MySQL 的频繁请求,使得服务器高效运行。Prepare 执行预处理 SQL 语句,并返回 Stmt 结构体指针,进行数据绑定操作。// 预处理查询数据。

2024-01-18 16:19:02 1119

原创 推荐6个常用的Web前端开发工具

作为一名开发人员应始终了解他们使用的工具,是事倍功半还是事半功倍就看你会不会正确的使用开发工具了。工具用对了,你就可以更加轻松高效地完成工作。今天就和大家分享一下我在日常工作中最常使用的工具。

2024-01-17 16:26:42 623

原创 面试官最常问的SQL题,看完你就赢麻了

7.CREATE TABLE用于做什么?CREATE TABLE语句用于在数据库中创建一个新表。8.如何修改表中的列?使用ALTER TABLE语句来添加、删除或修改表中的列。在面试前准备这些SQL面试题至关重要,因为它们不仅测试了你对SQL的熟练程度,还展现了你解决问题的能力。记住,理论知识是基础,但面试官更看重的是你能否将这些知识应用到实际情况中。在练习这些问题时,尝试加入自己的思路和逻辑解释,这能帮助你在面试中脱颖而出。

2024-01-16 14:29:22 1011

原创 如何保证代码编写的规范?

今天我和大家分享一下代码编写的几点规范一.如何精准命名命名过于宽泛,命名过于宽泛,无法精准描述。**这是很多代码在命名上存在的严重问题,也是代码难以理解的根源所在:data、info、flag、process、handle、build、maintain、manage、modify 等词语。这种情形不加前缀容易导致界定模糊。修改完后命名要能够描述出这段代码在做的事情。一个好的名字应该描述意图,而非细节。

2024-01-15 11:45:47 866

原创 程序员真的喜欢自己的工作吗?

在当今数字化的世界里,程序员作为背后的英雄,支撑着无数软件和应用的运行。然而,在光彩照人的技术背后,程序员对自己工作的真实感受是什么?他们真的喜欢自己的工作吗?本文将深入探讨这一问题。

2024-01-11 15:20:17 328

原创 关于JAVA的常用工具类问题

在Java中,自定义异常类需要继承自已有的异常类,可以是Java内置的异常类,也可以是用户自定义的异常类。自定义异常类需要遵循Java的异常处理机制,包括在方法中使用throw关键字抛出异常对象,在方法声明处使用throws关键字声明要抛出的异常类型,以及在方法调用者中使用try-catch语句块捕获并处理异常。自定义异常类的创建步骤如下:创建一个新的类,继承自已有的异常类(例如Exception或RuntimeException),并实现其构造方法。

2024-01-08 17:13:47 839

原创 前端必看:前端性能优化之Gzip压缩

gzip是GNUzip的缩写,是一种文件的压缩格式(也可以说是若干种文件压缩程序),类似的压缩格式还有compress,deflate等。浏览器和服务器都需要支持gzip编码采用 LZ77 算法与 Huffman 编码来压缩文件,是一种无损压缩算法压缩比率在3-10倍左右(纯文本),可以大大节省服务器的网络带宽。

2024-01-03 14:06:04 1420

原创 玩转这6个开发工具,让你每天准点下班

工欲善其事必先利其器,要想更加高效的做事情,就得先将工具变得锋利。那么对于程序员来说同样也是如此,如果要想每天早点下班,就必须借助于一些开发工具来提高自己的工作效率,今天就给大家总结一些工作中常用到的工具。

2024-01-02 18:04:50 740

原创 2024程序员必看前端行业分析

流光溯影,纵观2023全年,整个前端业界呈现出百业凋零之状,更不乏有“前端已死”等论调甚嚣尘上。从全局视角看IT行业,除了AI领域的大语言模型爆发外,整体都鲜有特别亮眼及突出的技术展现。故而,作为IT领域中细分方向的前端行业,加之整体经济周期的影响,今年的这种形势也算因之有素。然则,行有不得则需反求诸己,私以为各位前端同学应该以“守正”之心念搏“出新”之机遇。因此,以下个人将分享一些各位前端同学应该调整的策略以及未来一年中一些可能出现的机会与趋势。

2024-01-02 14:59:13 1005

原创 程序员如何封装逻辑?

集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;如果你有闲暇时间,可以做个知识拓展。前端开发,你的认知不能仅局限于技术内,需要发散思维了解技术圈的前沿知识。细心的人会发现,开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。

2023-12-27 17:47:23 943

原创 怎么优雅的选择 MySQL 存储引擎

对于数据库这一块询问比较多的就是在 MySQL 中怎么去选择一种何时当前业务需求的存储引擎,而 MySQL 中支持的存储引擎又有很多种,那么 MySQL 中分别又有那些,怎么优雅的使用呢?

2023-12-26 15:49:40 808

原创 并发情况:如何实现加锁来保证数据一致性?

近 10 年间,甚至连传统企业都开始大面积数字化时,我们发现开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。针对这类问题,低代码把某些重复出现的场景、流程,具象化成一个个组件、api、数据库接口,避免了重复造轮子。极大的提高了程序员的生产效率。介绍一款程序员都应该知道的软件 JNPF 快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。

2023-12-08 15:25:18 75

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除