当前位置: 首页 > 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 网站介绍 以下是一些提供免费…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...

HTTPS证书一年多少钱?

HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...

2025.6.9总结(利与弊)

凡事都有两面性。在大厂上班也不例外。今天找开发定位问题,从一个接口人不断溯源到另一个 接口人。有时候,不知道是谁的责任填。将工作内容分的很细,每个人负责其中的一小块。我清楚的意识到,自己就是个可以随时替换的螺丝钉&…...

13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析

LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析 LanguageMentor 对话式训练系统架构与实现 关键词:多轮对话系统设计、场景化提示工程、情感识别优化、LangGraph 状态管理、Ollama 私有化部署 1. 对话训练系统技术架构 采用四层架构实现高扩展性的对话训练…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...