重构谷粒商城01:为何重构谷粒商城

前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶到中高阶程序员。

本项目将基于谷粒商城项目,并且对谷粒商城项目进行二次重构,使其满足最新的主流技术栈要求。

一、为什么重构谷粒商城

谷粒商城是一个典型的 B2C(Business to Customer)电商项目,专注于实现线上商品交易平台的功能。它模拟真实的电商业务流程,从用户注册到商品浏览、下单、支付、物流等全流程,采用微服务架构,结合多种主流技术栈,适合用于学习微服务开发、分布式架构、和高并发处理的技术。

主要会使用的技术栈:java、spring boot、spring cloud、Spring Data JPA、MyBatis-Plus、Spring Security、OAuth2、Vue.js、Element-UI / Ant Design、Vue Router、Vuex、Axios、MySQL、redis、Nginx、RabbitMQ / RocketMQ、ElasticSearch (ES)、Logstash + Kibana、Docker、Kubernetes (K8s)、Jenkins、Maven 、Swagger、JWT、OSS 、FastDFS、Zookeeper。

可以说,学会了它,就意味着你掌握了主流的技术栈。能够拿下大部分的offer,甚至可以成为独立开发者。

但是,谷粒商城也有不足。

1、年代久远,部分技术栈过时 2、官方文档不够细致,很多内容在视频中有,文档中没有,手动做笔记又太浪费时间 3、有些内容存在缺漏、错误。 4、对很多技术栈,默认你已经具有基础,并非真正的0基础。 5、cursor为代表的AI编程工具突飞猛进,我们完全没有任何必要再向过去那样学习一大堆技术栈,再进行项目实战,这样会浪费你大量宝贵时间。

基于此,我决定出一个重构版的系列博客,解决以上问题。

二、需要你具有哪些基础

Java 基础(掌握面向对象和基本多线程)。 Spring Boot(能启动服务、开发 REST API)。 MySQL(掌握基础数据库操作)。

其它的技术栈,在使用之前,我尽量会用最精简语言,出一篇单独的番外篇文章,帮你快速入门。

三、会做哪些更新

Spring Cloud Netflix 组件:Netflix 系列中的部分组件已进入维护模式,将迁移至 Spring Cloud 官方推荐的替代方案。

Eureka:考虑迁移至 Nacos 或 Consul,以获得更丰富的服务注册与发现功能。 Ribbon:使用 Spring Cloud LoadBalancer,提供更现代的负载均衡机制。 Hystrix:替换为 Resilience4j,以利用更轻量级的熔断与限流功能。 MyBatis-Plus:虽然 MyBatis-Plus 仍被广泛使用,但随着 JPA 和 Spring Data 的发展,许多项目更倾向于使用这些更高层次的持久化框架,以简化开发流程。本项目将尝试进行这一升级。

RabbitMQ:在某些高并发场景下,Kafka 等消息队列因其高吞吐量和分布式特性,正逐渐成为更受欢迎的选择。

另外,对于其它技术栈,我们也会基于较新且稳定的版本进行迭代。

本系列博客,是可以持续升级迭代的,后期如果时间、精力允许,还考虑扩展其它模块、功能。增加新的技术栈,等等。当然,也许我还会重构其它类型的项目,比如线上教育、直播、办公系统......

四、课程大纲

为了同时兼容做过谷粒商城和没有做过谷粒商城的同学。本项目将分成两个大部分。第一个部分,完全照搬原来谷粒商城的技术栈,做到复制。第二个部分,对谷粒商城进行技术重构。所有使用到的技术栈,都会单独出一篇番外篇进行介绍。

因为本专栏完全是个人兴趣驱动,如果觉得写的不错,请三连支持,不要白嫖哦。。这样,我也可以更有动力持续更新。

五、什么是cursor

Cursor 是一款基于 AI 的编程工具,旨在提高开发者的编程效率。它结合了现代代码编辑器的功能和强大的 AI 辅助编程技术。以下是关于 Cursor 的主要特点和功能的介绍:

  1. 智能代码补全 Cursor 通过 AI 模型(如 OpenAI 的 GPT 系列)提供智能代码补全功能。 它能够理解代码上下文并提供精确的代码建议,减少开发者的输入量。 不仅适用于简单的语法补全,还可以帮助完成复杂的函数、算法或逻辑。
  2. 代码生成 开发者可以用自然语言描述需求,Cursor 能自动生成对应的代码段。 适用于创建模板代码、处理繁琐的重复性任务,以及快速实现原型。
  3. 错误检测与调试 内置 AI 功能能够实时检测代码中的错误,并提供详细的分析和修复建议。 调试过程中,Cursor 可以帮助定位问题的根本原因,优化调试效率。
  4. 文档生成 Cursor 可以自动生成代码文档,包括函数注释、接口描述和类说明等。 这种功能特别适用于提高代码可读性和团队协作效率。
  5. 多语言支持 支持多种编程语言(如 Python、JavaScript、Java、C++ 等),能够适应不同开发场景。 它可以根据语言特性提供定制化的建议和功能。
  6. 版本控制集成 支持与常见版本控制系统(如 Git)集成,方便开发者在项目管理中应用 AI 辅助功能。

cursor官网:https://www.cursor.com/

六、下载cursor

cursors是基于VSCODE进行扩展的,需要先下载VSCODE。这里我就跳过下载过程了

接下来,官网下载好cursor

点击右下角,Install cursor,安装命令行命令。 登录 像打开vscode一样打开。我这里打开了一个之前的项目给大家展示用。 更改下菜单栏位置。ctrl+shift+P,输入settings。找到VScode Settings。

七、解决cursor快捷键冲突

cursor的快捷键可能与电脑其它快捷键冲突,这一节我们来重点解决下这个问题。点左下角齿轮就好。

相关推荐
我真的是大笨蛋2 小时前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水2 小时前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
努力也学不会java3 小时前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿4 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记4 小时前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
Haven-5 小时前
Java-面试八股文-JVM篇
java·jvm·面试
我真的是大笨蛋5 小时前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构
wjs0405 小时前
Git常用的命令
java·git·gitlab
superlls5 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
田里的水稻6 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法