当前位置: 首页 > news >正文

MiniBlogum项目简介

MiniBlogum项目简介

文章目录

  • MiniBlogum项目简介
    • 一、引言
    • 二、技术栈与开发环境
    • 三、主要功能
      • (一)用户注册与登录
      • (二)查看当前登录用户/作者头像、昵称、Gitee仓库地址
      • (三)查看博客列表
      • (四)查看某一篇博文
      • (五)写博客与发布博客
      • (六)修改博客
      • (七)退出登录
      • (八)修改个人信息
    • 四、结语

一、引言

在数字信息时代,个人与组织日益依赖于互联网进行知识分享与传播。博客系统作为其中的一种重要形式,它不仅提供了个人表达思想、分享经验的平台,同时也促进了不同领域知识的交流与融合。本项目旨在构建一个高效、安全且易于使用的在线博客系统,让每位用户都能够方便地发表自己的见解,与世界分享自己的故事或专业知识。

二、技术栈与开发环境

JDK8+MySQL+MyBatis+SpringBoot+SpringMVC

三、主要功能

(一)用户注册与登录

以登录功能为例:

1、用户进入网站,输入用户名和密码,输入验证码,点击登录
在这里插入图片描述

2、若登录成功,直接跳转到博客列表页
在这里插入图片描述

3、若登录失败,会弹出登录失败弹窗
在这里插入图片描述

若账号,输入注册url,进行注册即可。

(二)查看当前登录用户/作者头像、昵称、Gitee仓库地址

以当前登录用户为例,第一部分是头像和昵称,第二部分是gitee的超链接,第三部分展示的文章和分类的数量
在这里插入图片描述

查看全文时,左侧显示的是文章的作者的信息
在这里插入图片描述

(三)查看博客列表

如下图所示
在这里插入图片描述

(四)查看某一篇博文

在博客列表页,点击想查看的博客下的“查看全文按钮”,页面会跳转到对应的详情页
在这里插入图片描述

(五)写博客与发布博客

1、点击导航栏右侧的写博客

在这里插入图片描述

2、编辑想要发布的博客
在这里插入图片描述

3、点击“发布文章”按钮,有发布成功弹窗,页面会跳转到博客列表页,可以看到列表页的新的博客

在这里插入图片描述

在这里插入图片描述

4、点击查看全文,可以看到内容、格式等信息都是正确的

在这里插入图片描述

(六)修改博客

因为删除处理方式我用的逻辑删除,所以此处修改有两层含义,一是逻辑删除,二是修改文章内容。

1、首先对于修改文章内容,修改的入口在全文的最下边的编辑和删除按钮,当前登录用户只能修改自己的文章,不能修改其他作者的文章。具体体现在只有自己写的文章下边才出现编辑和删除按钮,其他作者的博客下边没有编辑和删除按钮,也就不存在误删的情况了。

在这里插入图片描述

点击编辑尝试,修改内容,并点击更新,如下图

在这里插入图片描述
在这里插入图片描述

(七)退出登录

点击导航栏右侧的注销之后,会跳转到登录界面,需要重新登陆

在这里插入图片描述

(八)修改个人信息

1、点击导航栏右侧的修改信息之后,会跳转到个人信息修改页面

在这里插入图片描述

2、输入想要修改的信息,此处以修改头像为例,其他的按原本的填上,并点击保存,会弹出更新成功

在这里插入图片描述
在这里插入图片描述

3、之后界面自动跳转到博客列表页,可以看到修改的头像已经被更新了

在这里插入图片描述

四、结语

在个人博客系统项目的开发过程中,我充分利用了网络资源,从开源代码到技术文档,每一步都充满了学习与探索的乐趣。这段经历不仅让我掌握了多种编程语言和技术框架的应用技巧,还让我深刻理解了软件工程的原理和实践方法。在需求分析阶段,通过对现有博客平台的研究,明确了系统的核心功能;设计阶段,则借鉴了优秀的设计模式,力求构建一个既灵活又高效的架构;而在开发与测试阶段,无数个夜晚的调试与优化,使我不仅在技术层面有所突破,也在解决问题的过程中培养了解决实际问题的能力。

更重要的是,这个项目让我意识到个人的力量虽有限,但借助于网络资源和支持,可以无限扩展自己的能力边界。通过参与开源社区,我学会了如何更有效地利用外部资源来加速自己的学习进程。与此同时,我也意识到知识分享的重要性,未来希望能够将自己的经验和心得整理成文档或教程,回馈给帮助过我的社区,形成一个良性循环。

无限扩展自己的能力边界。通过参与开源社区,我学会了如何更有效地利用外部资源来加速自己的学习进程。与此同时,我也意识到知识分享的重要性,未来希望能够将自己的经验和心得整理成文档或教程,回馈给帮助过我的社区,形成一个良性循环。

展望未来,我计划继续完善这个博客系统,增加更多个性化的功能,比如根据用户阅读习惯推荐内容、支持多媒体格式的文章等,使其更加符合现代用户的需求。同时,我也希望能够将该项目推广出去,吸引志同道合的朋友一起加入进来,共同维护和发展这个平台,让它成为连接更多人思想与创意的桥梁。我相信,通过不断的努力和创新,这个小小的博客系统将成为一个充满活力的知识交流社区。

相关文章:

MiniBlogum项目简介

MiniBlogum项目简介 文章目录 MiniBlogum项目简介一、引言二、技术栈与开发环境三、主要功能(一)用户注册与登录(二)查看当前登录用户/作者头像、昵称、Gitee仓库地址(三)查看博客列表(四&#…...

如何用 OBProxy 实现 OceanBase 的最佳路由策略

引言 OBProxy,即OceanBase Database Proxy,也简称为ODP,是 OceanBase数据库的专属服务代理。通过应用OBProxy,由后端OceanBase集群的分布式特性所带来的复杂性得以屏蔽,从而使得访问分布式数据库的体验如同访问单机数…...

new/delete和malloc/free到底有什么区别

new和malloc 文章目录 new和malloc前言一、属性上的区别二、使用上的区别三、内存位置的区别四、返回类型的区别五、分配失败的区别六、扩张内存的区别七、系统调度过程的区别总结 前言 new和malloc的知识点,作为一个嵌入式工程师是必须要了解清楚的。new和malloc的…...

Flutter启动无法运行热重载

当出现这种报错时,大概率是flutter的NO_Proxy出问题。 请忽略上面的Android报错因为我做的是windows开发这个也就不管了哈,解决下面也有解决报错的命令大家执行一下就行。 着重说一下Proxy的问题, 我们看到提示NO_PROXY 没有设置。 这个时候我…...

CSS调整背景

一、设置背景颜色 通过 background-color 属性指定,值可以是十六进制 #ffffff,也可以是rgb(0, 255, 255),或是颜色名称 "red" div {background-color: red; /* 通过颜色名称设置 */background-color: #ff0000; /* 通过十六进制设…...

FinalShell连接Linux服务器并解决反复输入密码问题

FinalShell是一款由国人开发的SSH客户端工具,它支持多平台,包括Windows、Mac OS X和Linux。FinalShell主要用于一体化服务器管理,它不仅是一个SSH客户端,还具备强大的开发和运维功能,能够充分满足开发和运维的需求。 本…...

实用类工具!分享6款AI论文一键生成器免费8000字

在当前的学术研究和写作领域,AI论文生成工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿,还能进行内容优化、查重和排版等操作。千笔-AIPassPaper是一款备受推荐的AI论文一键生成器。 千笔-AIPassPaper是一个一站式…...

vue使用TreeSelect设置带所有父级节点的回显

Element Plus的el-tree-select组件 思路: 选中节点时,给选中的节点赋值 pathLabel,pathLabel 为函数生成的节点名字拼接,数据源中不包含。 在el-tree-select组件中设置 props“{ label: ‘pathLabel’ }” 控制选中时input框中回…...

智能机巢+无人机:自动化巡检技术详解

智能机巢与无人机的结合,在自动化巡检领域展现出了巨大的潜力和优势。以下是对这一技术的详细解析: 一、智能机巢概述 智能机巢,也被称为无人机机场或无人机机巢,是专门为无人机提供停靠、充电、维护等服务的智能化设施。它不仅…...

摩托车加装车载手机充电usb方案/雅马哈USB充电方案开发

长途骑行需要给手机与行车记录仪等设备供电,那么,加装USB充电器就相继在两轮电动车上应用起来了。摩托车加装usb充电方案主要应用于汽车、电动自行车、摩托车、房车、渡轮、游艇等交通工具。提供电动车USB充电器方案/摩托车加装usb充电方案/渡轮加装usb充…...

进阶岛 任务3: LMDeploy 量化部署进阶实践

进阶岛 任务3: LMDeploy 量化部署进阶实践 任务:https://github.com/InternLM/Tutorial/blob/camp3/docs/L2/LMDeploy/task.md 使用结合W4A16量化与kv cache量化的internlm2_5-1_8b-chat模型封装本地API并与大模型进行一次对话,作业截图需包…...

vue 使用jszip,file-saver下载压缩包,自定义文件夹名,文件名打包下载为zip压缩包文件,全局封装公共方法使用。

记录一下后台管理全局封装一个压缩包下载方法,文件夹名自定义,文件名自定义,压缩包名自定义。 安装必要的库 npm install jszip npm install file-saver自定义一个公共方法全局注入 页面使用 /** 下载按钮操作 */handleDownload() {const i…...

计网八股文

1.HTTP和HTTPS的区别 安全性: HTTP:是未加密的协议,意味着数据在传输过程中可以被截获、篡改或监听。它不提供任何数据加密。HTTPS:在HTTP的基础上加入了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。这使得传输…...

[001-03-007].第07节:Redis中的事务

我的后端学习大纲 我的Redis学习大纲 1、Redis事务是什么: 1.可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化, 按顺序地串行化执行而不会被其他命令插入,不许加塞2.一个队列中,一次性、…...

WLAN实验简述

一:配置生产AP1上级接入层交换机LSW3 sys [Huawei]sysname LSW3 [LSW3]undo info-center enable [LSW3]vlan batch 10 100 [LSW3]int g0/0/2 [LSW3-GigabitEthernet0/0/2]port link-type trunk [LSW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 100 [LSW…...

Docker简介在Centos和Ubuntu环境下安装Docker

文章目录 1.Docker简介2.Docker镜像与容器3.安装Docker3.1 Centos环境3.2 Ubuntu环境 1.Docker简介 Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 操作系统上。D…...

C:字符串函数(续)-学习笔记

穗 一些闲话: 最近玩了这款饿殍-明末千里行,不知大家是否有听过这款游戏,颇有感触!!! 游戏中最让我难以忘怀的便是饿殍穗线的故事,生在如今时代的我之前无法理解杜甫在目睹人间悲剧时的心情&…...

Depth靶机详解

靶机下载地址 https://www.vulnhub.com/entry/depth-1,213/ 主机发现 arp-scan -l 端口扫描 nmap -sV -A -T4 192.168.229.156 端口利用 http://192.168.229.156:8080/ 目录扫描 dirb "http://192.168.229.156:8080" dirsearch -u "http://192.168.229.15…...

go get -u @latest没有更新依赖模块

使用 go get -u gitee.com/qingfeng-169/hello-blatest 时,如果没有进行更新,可能有以下几种原因: 1. 没有发布稳定版本 (vX.X.X) latest 表示获取该模块最新的稳定版本(即带有 vX.X.X 形式的版本号),而不…...

介绍一些免费 的 html 5模版网站 和配色 网站

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、H5 网站介绍网站 二、配色网站个人推荐 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、H5 网站介绍 以下是一些提供免费…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...