- 博客(120)
- 收藏
- 关注
原创 【Mac】系统环境配置
6、打开任意文件的终端(右击文件夹,然后选择“新建位于文件夹的终端窗口”即可打开任意文件的终端),然后,输入java -version检查安装是否成功。2、在终端输入:touch .bash_profile 新建配置文件(如果以前使用过,可以跳过过这一步)1、打开终端,输入:/usr/libexec/java_home -V (注意V是大写)安装Homebrew,在终端中输入如下命令(终端打开方式:command + 空格键)在这获取java下载的路径,注意保存好红色框内的,我们之后要使用。
2024-09-13 16:22:29 1282
原创 【小程序开发】答案卷轴——引子
在生活中,我们时常会面临各种选择和困惑:今天的工作会顺利吗?这次旅行会给我带来惊喜吗?《答案之书》便是在这样一种灵感下诞生的。它是一款带有神秘色彩的小程序,旨在通过简单的互动,给予用户一些启发和引导,让他们在疑惑中找到一些微妙的方向感。通过这个小程序,用户可以带着自己心中的疑问,然后通过宇宙的神秘力量(即我们的随机算法)会为他们送上一句或坚定、或模棱两可、或让人忍俊不禁的答案。无论是日常的琐事,还是深奥的人生问题,《答案之书》都会为你提供一个或许令人意想不到的回答。
2024-08-21 18:13:07 722
原创 【Java】读取超大文件的时候,如何避免出现OOM
通过运行Spring Boot应用程序,上述配置将启动Spring Batch批处理任务,从文件中读取数据,处理数据,并将其存储到数据库中。上述代码,首先将大文件分割成多个小文件,然后使用线程池并行处理这些小文件,每个线程处理一个小文件,并将数据批量插入数据库。上述代码,当内存达的数据量达到10000的时候,拆封两个任务交给异步线程执行,每个任务分别处理5000行数据。另外,如果需要处理的数据量非常大,可以考虑将文件拆分为更小的部分,然后使用多线程并行处理每个部分。请注意,你需要根据你的文件路径来创建。
2024-07-16 23:14:08 1067
原创 项目运维工具——Jpom
Jpom 是一款 Java 编写的前后端分离项目,并且默认使用H2 数据库安装此软件非常简单,但前提条件是您已经会安装 Java 环境了,如果您还没有安装 Java 环境,请先安装 Java 环境。
2024-07-03 18:03:19 1105
原创 初识DDD
划分子域:根据业务领域和业务流程,将系统划分为多个子域,每个子域对应一个相对独立的业务模块。明确上下文边界:定义每个子域的边界,明确子域之间的接口和交互方式,确保子域内部的一致性。领域建模是一个持续迭代的过程,贯穿于项目的整个生命周期。通过领域建模,可以将复杂的业务需求转化为清晰的领域模型,提高系统的可理解性、可维护性和可扩展性。了解业务领域:深入理解业务需求和流程。提炼领域概念:识别实体、值对象、聚合、领域服务等。定义限界上下文:划分子域,明确上下文边界。设计领域模型。
2024-06-28 14:24:34 906
原创 Spring Boot Starter 与自动装配(Boot 3.0版本)
Spring Boot Starter的核心原理就是自动配置,这也是整个Spring Boot框架的核心,开发者只需要按约定提供些许配置参数就能完成各种技术复杂组件的自动组装配置,这正是Spring Boot框架能迅速上手使用的原因。Spring Boot官方所有的自动配置类都是由spring-boot-autoconfigure这个模块提供的,只要引入了对应组件的依赖,Spring Boot扫描到相关类时才会自动配置,没有引入是不会启用自动配置的。
2024-03-11 12:19:11 957
原创 Git配置(Mac版本)
You’ve successfully authenticated, but GitHub does not provide shell access.”的消息,那么SSH密钥认证就设置成功了。确保你的Git配置使用SSH进行通信。这通常不需要额外配置,因为Git默认会使用SSH。首先,你需要在本地机器上生成一个SSH密钥对。接下来,你需要将公钥复制到你的Git服务器(如GitHub、GitLab等)上。这将把私钥添加到SSH代理,这样你就不需要每次都输入私钥的密码。私钥应该保持私密,而公钥则用于认证。
2024-02-29 23:25:36 1113
原创 重学设计模式-Iterator(迭代器模式)
通过以上两个实例,在每个实例中,都出现了相对重要的接口和实现类,这四个关键角色,分别是Iterator(迭代器)、ConcreteIterator(具体的迭代器)、Aggregate(聚合对象)和ConcreteAggregate(具体的聚合对象)。Iterator(迭代器)Iterator是一个接口,它定义了在集合对象上进行迭代的方法hasNext()用于检查是否还有下一个元素next()用于获取下一个元素。ConcreteIterator(具体的迭代器)
2023-12-21 11:48:26 1203
原创 提示工程-Prompt Engineering
通过自然语言(英语、汉语等)来给AI下达指示,从而让AI完成你指定给他的工作的过程都可以称之为提示工程。(面向自然语言编程):想要模型执行的特定任务或指令:包含外部信息或额外的上下文信息,引导语言模型更好地响应:用户输入的内容或问题:指定输出的类型或格式零样本提示(Zero-Shot Prompting)角色扮演提示(Role Prompting)少样本提示(Few-Shot Prompting)参数设置思维链提示(Chain of Thought Prompting)
2023-11-26 11:02:16 1842 1
原创 Kafka-Topic&Partition
topic & partition,是Kafka两个核心的概念,也是Kafka的基本组织单元。主题作为消息的归类,可以再细分为一个或多个分区,分区也可以看作对消息的二次归类。分区的划分为kafka提供了可伸缩性、水平扩展性、容错性等优势。分区可以有一个至多个副本,每个副本对应一个日志文件,每个日志文件对应一至多个日志分段(LogSegment),每个日志分段还可以细分为索引文件、日志存储文件和快照文件等。
2023-11-26 11:00:48 1496
原创 Spring Boot接口设计规范
这种参数接收方式是比较常见的,由于是GET请求方式,所以在传参时直接在路径后拼接参数和参数值即可。在开发过程中会出现部分接口设计时采用将参数拼入路径中的方式,当只需要一个参数时,可以考虑路径参数接收这种接口设计方式。这种请求方式与普通参数接收方式没有很大的区别,个人习惯。。。:像根据订单号查询,这个时候可以将接口设计成/product/1024,在接口方法的参数列表中使用@PathVariable注解对订单号进行接收。
2023-11-19 11:54:27 972
原创 MongoDB-入门
Date 类型是一个 64 位的对象,其中存放了从 Unix 纪元(1970.1.1)开始到现在经历的毫秒数,Date 类型是有符号的,负值则表示 1970.1.1 之前的时间。在一个 MongoDB 实例中,时间戳是唯一的,而且主要在 MongoDB 内部使用,在应用开发中,您可以使用 Date 类型来定义时间日期。在MongoDB中使用use命令来创建数据库,如果该数据库不存在,则会创建一个新的数据库,如果该数据库已经存在,则将切换到该数据库。collection_name: 需要删除集合的名称。
2023-10-27 18:10:16 574
原创 Redis-05Redis应用场景
当用户发完微博后,都通过lpush将它存放在一个 key 为LATEST_WEIBO的list中,之后便可以通过lrange取出当前最新的微博。Redis作为key-value形式的内存数据库,最先想到的应用场景就是作为数据缓存。zrevrangebyscore:获得以分数倒序排列的序列。通过Set的交集、并集、差集操作来实现查找两个人共同的好友。的特性,可以避免分布式部署之后的数据污染问题。zrank:获取成员在该排行榜的位置。便可以成为一个公用的时间轴。String或者Hash。
2023-10-09 18:38:52 271
原创 Redis-04独立功能的实现
介绍:常用命令:订阅频道SUBSCRIBE当一个客户端执行SUBSCRIBE命令订阅某个或某些频道的时候,这个客户端与被订阅频道之间就建立起了一种订阅关系退订频道UNSUBSCRIBE当一个客户端退订某个或某些频道的时候,服务器将从pubsub_channels中解除客户端与被退订频道之间的关联订阅模式退订模式发送消息PUBLISH 查看订阅信息PUBSUBPUBSUB CHANNELS [pattern]PUBSUB NUMSUB PUBSUB NUMPAT订阅频道有A、B、C三个客户端都执行了命令:【
2023-10-09 18:38:02 355
原创 Redis-03持久化
Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,通常情况下将服务器中的以及它们的键值对统称为Redis是,它将自己的,如果不想办法将存储在内存中的数据库状态保存到磁盘中,那么。为了解决持久化相关的问题,Redis提供了功能,这个功能可以。
2023-10-09 18:37:24 719
原创 Redis-02单机数据库的实现
Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个结构代表一个数据库;在初始化服务器时,程序会根据服务器状态的属性来决定应该创建多少个数据库;dbnum属性的值由服务器配置的databash选项决定,默认情况下,该选项的值为16,所以Redis服务器默认会创建16个数据库。
2023-10-09 18:36:42 201 1
原创 Redis-01基本数据结构
List 列表是简单的字符串列表,按照插入顺序排序,可以从头部或尾部向 List 列表添加元素。列表的最大长度为2^32 - 1,也即每个列表支持超过40 亿个元素高效的节点重排能力【按照插入顺序排序,头插、尾插】顺序访问节点通过增删节点灵活调整链表长度Hash 是一个键值对(key - value)集合,其中 value 的形式如:Hash 特别适合用于存储对象一个键(key)可以和一个值(value)进行关联每个键独一无二。
2023-10-09 18:34:27 494
原创 Spring Boot对接Oracle数据库
最近学习了Oracle数据库,那么如何使用Spring Boot和MyBatis Plus对接Oracle数据库呢?这就有了这篇随记,具体流程如下。
2023-08-11 15:57:29 12229 1
原创 SpringBoot解决跨域的几种方式
跨域资源共享(CORS):通过修改Http协议header的方式,实现跨域。说的简单点就是,通过设置HTTP的响应头信息,告知浏览器哪些情况在不符合同源策略的条件下也可以跨域访问,浏览器通过解析Http协议中的Header执行具体判断。具体的Header如下:CORS跨域常用headerAccess-Control-Allow-Origin: 允许哪些ip或域名可以跨域访问Access-Control-Max-Age: 表示在多少秒之内不需要重复校验该请求的跨域访问权限。
2023-08-08 00:21:21 223
原创 SpringBoot对接OpenAI
OpenAI是一家人工智能研究实验室,致力于构建人类水平通用人工智能。他们的GPT-3.5模型是目前最先进的自然语言处理模型之一,能够理解和生成自然语言文本。通过与OpenAI对接,你可以将这一强大的模型嵌入到你的应用中,实现自动化文本生成、智能问答、机器翻译等功能。Spring Boot是一个用于构建独立的、基于生产级别的Java应用程序的框架。它简化了Spring应用的开发过程,提供了一系列的工具和插件,帮助开发者快速搭建稳健的应用。
2023-08-08 00:18:43 2297 2
原创 Vue-自定义icon实现
在项目中引入了element-ui之后,发现其内置的icon有限,无法满足项目的需求,因此需自定义icon来实现需求。
2023-06-02 09:19:28 797 1
原创 如何搭建属于自己的服务器(Linux7.6版)
最近小伙伴推荐的华为云活动,购买服务器相当的划算,本人也是耗费巨资购买了一台2核4G HECS云服务器。话不多说,在这里给华为云打一个广子,活动力度还是很不错的。活动详情见链接:https://kuy8.com/xcGtU。
2023-03-10 16:04:35 1606
原创 Spring设计模式——代理模式[手写实现JDK动态代理]
代理模式(Proxy Pattern):是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介作用,代理模式属于结构型设计模式。
2023-03-09 14:56:44 439
原创 Spring设计模式——原型模式
原型模式(Prototype Pattern),是指原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。
2023-03-09 09:12:10 293
原创 SpringBoot3.0 + SpringSecurity6.0+JWT
SpringBoot3.0 + SpringSecurity6.0+JWTSpring Security 是 Spring 家族中的一个安全管理框架。一般Web应用的需要进行认证和授权。认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户授权:经过认证后判断当前用户是否有权限进行某个操作搭建一个SpringBoot工程① 设置父工程 添加依赖配置文件application.yml② 创建启动类③ 创建Controller启动项目,查看接口文档地址:http://localhost:4
2023-03-03 17:28:02 24672 16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人