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

软件是什么?前端,后端,数据库

软件是什么?

由于很多东西没有实际接触,很难理解,对于软件的定义也是各种各样。但是我还是不理解,软件开发中的前端,后端,数据库到底有什么关系呢

这个问题足足困扰了三年半,练习时长三年半,希望能为你解惑!


前端 : 数据渲染

  • 发送请求
  • 接受响应数据
  • 将数据渲染到页面上

后端 : 数据逻辑处理

  • 捕获请求
  • 根据请求从数据库中取出数据,进行数据处理
  • 将数据响应给前端

前后端数据交互 : 【ajax】

  • 根据url(ip地址)进行数据的交换

数据库 : 数据存储

  • 接收后端请求,按照要求取出数据\存入数据

服务器 :不关机的电脑 

  • 或者可以叫它 软件
  • 服务器连接到互联网中,基本上可以24h找到
  • 1000个人不同时间打开同一个app首页,都是一样的

1-后端

在大学里开始接触编程时,没人告诉我前端,后端分别干什么?为什么要学习数据库?

第一阶段 : c
#include <stdio.h>
int main() {printf("Hello, World!\\n");return 0;
}

一个黑框框打印出了“hello world!”

有点高兴,也有点失落。

我运行了我的第一个“hello world!”,我看着精美的软件与黑不溜秋的弹框。

它好像在嘲笑我的自大,他们说逻辑好学编程就不错!他们说这些软件都是由这些代码组成的,我要怎么才可以让它精美呢?继续跟着老师学习吧!


第二阶段:Java
class Main{public static void mian(String[] args){System.out.println("hello,world");}
}

oh!这次用的是Java语言,它不是黑框框了,是白框框

老师怎么讲错了这个函数的用法?这样学习下去,是不是要和c语言一样,学一半就结束了?

我该如何实现精美的软件!我有点烦躁了!

我不想听老师将的课了,但我想知道软件如何设计出来的!

欢迎来到bilibili大学,你好!我是你的Java导师,我叫阿伟,你可以称呼我:暖男·阿伟!

我完成第一款软件 : 拼图小游戏

但是阿伟老师好像说,好看的效果由前端来完成的

斗地主的很多逻辑是通过算法和数据结构实现的

并且数据不应该存储在本地.txt,应该存储在数据库中更安全


第三阶段:算法与数据结构

cao!这是什么玩意,我要长脑袋了

感谢遇到 :“执 梗”大佬,算法真的很有趣

2-数据库

第四阶段 : MySQL

学校也开了数据库,课上完后,我好像只会在数据库中操作数据!!

我如何在Java中将数据存入MySQL呢?

数据库学了,但是感觉差了点什么...

第五阶段:JDBC

JDBC的作用:可以通过java代码操作数据库

emm,太复杂了,理解mysql我就用两天,放弃.....

我到底要怎么学?没有兴趣学起来真的很难。。

第六阶段:Mybatis

这就是 mybatis : np!

我终于可以在Java中操作数据库了

第七阶段 :springboot

woc!这玩意也看不懂!Java怎么还有注解@,我先看看一些其他知识点吧

xml,json,Maven,软件工程,软件设计....

我好像可以看懂了,你好,哔哩哔哩Javaweb

我完成了’talis智能辅助系统’的后端

根据开发文档:捕获请求,请求处理,数据获取,数据处理,响应数据

我好像明白后端的意义了 : 为前端提供数据处理

3-前端

第八阶段:HTML+CSS

在小小的网页里面画啊画

静态页面弄出来了,但数据操作据说要用Javascript

有点等不及了,我想将前后端连接起来,我要去学JavaScript

第九阶段 : Javascript

这门语言好奇怪,怎么没有int,String这些修饰符

oh! 原来这门语言是这样的 : 基础逻辑 + 页面操作

基础操作不变,多了页面操作,可以捕获html对象,也可以操作浏览器对象

油猴好像就是JavaScript写的,嘿嘿嘿

我勉强可以理解JavaScript,但是我的大学也快结束了,

我必须要知道我大学究竟学了一个什么

第十阶段 : Vue

哦豁!谁知道Vue前面还有一个 :ajax

第十一阶段 : Ajax

黑马大学提供了API,在axios中的 url 设置为api的地址,我就可以获取到数据了

axios({url:'',method:'请求方法',[默认get]params:'查询参数',data:{参数名:值}
}).then(result => {// 对服务器返回的数据进行操作
}).catch(error => {// 处理错误
})

我想起了接口文档! 我是不是可以将url设置为我springboot项目里面的地址

nice! 耗时三年半,我终于理解了软件开发!

项目 :

        需求分析 : 指定需求

        接口文档 : 根据需求分析制定接口文档

        建立数据库 : 创建MySQL数据关系表

        创建项目 : 根据接口文档进行前后端分离开发

                后端,通过请求返回响应数据

                前端,根据根据响应数据进行页面渲染

        打包部署 : 服务器 = 不关机的电脑


前端发起请求 -> 后端捕获请求 -> 分析请求 -> 调用数据库 -> 返回数据 -> 数据处理 -> 响应前端 -> 前端渲染数据 

4-总结

耗时三年半 :

从一无所知 到 两眼一抹黑

从紧跟老师步伐 到 哔哩哔哩自我学习

回顾过往,重新深挖

莫道桑榆晚,红霞映漫天


因为不知道究竟在学什么?所以一直在寻找

很多东西不知道用来干什么?没有深入学习

本篇仅仅为我亲生体验,毕竟人不可能理解未知的事件。

是非对错,但凭心愿,莫问前程

相关文章:

软件是什么?前端,后端,数据库

软件是什么&#xff1f; 由于很多东西没有实际接触&#xff0c;很难理解&#xff0c;对于软件的定义也是各种各样。但是我还是不理解&#xff0c;软件开发中的前端&#xff0c;后端&#xff0c;数据库到底有什么关系呢&#xff01; 这个问题足足困扰了三年半&#xff0c;练习时…...

Vue3+ElementUI 多选框中复选框和名字点击方法效果分离

现在的需求为 比如我点击了Option A &#xff0c;触发点击Option A的方法&#xff0c;并且复选框不会取消勾选&#xff0c;分离的方法。 <el-checkbox-group v-model"mapWork.model_checkArray.value"> <div class"naipTypeDom" v-for"item …...

设计模式篇章(4)——十一种行为型模式

这个设计模式主要思考的是如何分配对象的职责和将对象之间相互协作完成单个对象无法完成的任务&#xff0c;这个与结构型模式有点像&#xff0c;结构型可以理解为静态的组合&#xff0c;例如将不同的组件拼起来成为一个更大的组件&#xff1b;而行为型更是一种动态或者具有某个…...

Spring成长之路—Spring MVC

在分享SpringMVC之前&#xff0c;我们先对MVC有个基本的了解。MVC(Model-View-Controller)指的是一种软件思想&#xff0c;它将软件分为三层&#xff1a;模型层、视图层、控制层 模型层即Model&#xff1a;负责处理具体的业务和封装实体类&#xff0c;我们所知的service层、poj…...

架构篇05-复杂度来源:高可用

文章目录 计算高可用存储高可用高可用状态决策小结 今天&#xff0c;我们聊聊复杂度的第二个来源高可用。 参考维基百科&#xff0c;先来看看高可用的定义。 系统无中断地执行其功能的能力&#xff0c;代表系统的可用性程度&#xff0c;是进行系统设计时的准则之一。 这个定义…...

C#调用Newtonsoft.Json将bool序列化为int

使用Newtonsoft.Json将数据对象序列化为Json字符串时&#xff0c;如果有布尔类型的属性值时&#xff0c;一般会将bool类型序列化为字符串&#xff0c;true值序列化为true&#xff0c;false值序列化为false。如下面的类型序列化后的结果如下&#xff1a; public class UserInfo…...

【Linux系统编程】环境变量详解

文章目录 1. 环境变量的基本概念2. 如何理解呢&#xff1f;&#xff08;测试PATH&#xff09;2.1 切入点1查看具体的环境变量原因剖析常见环境变量 2.2 切入点2给PATH环境变量添加新路径将我们自己的命令拷贝到PATH已有路径里面 2.3 切入点3 3. 显示所有环境变量4. 测试HOME5. …...

智能合约介绍

莫道儒冠误此生&#xff0c;从来诗书不负人 目录 一、什么是区块链智能合约? 二、智能合约的发展背景 三、智能合约的优势 四、智能合约的劣势 五、一些关于智能合约的应用 总结 一、什么是区块链智能合约? 智能合约&#xff0c;是一段写在区块链上的代码&#xff0c;一…...

Python自动化实战之接口请求的实现

在前文说过&#xff0c;如果想要更好的做接口测试&#xff0c;我们要利用自己的代码基础与代码优势&#xff0c;所以该章节不会再介绍商业化的、通用的接口测试工具&#xff0c;重点介绍如何通过 python 编码来实现我们的接口测试以及通过 Pycharm 的实际应用编写一个简单接口测…...

react和vue的区别

一、核心思想不同 Vue的核心思想是尽可能的降低前端开发的门槛&#xff0c;是一个灵活易用的渐进式双向绑定的MVVM框架。 React的核心思想是声明式渲染和组件化、单向数据流&#xff0c;React既不属于MVC也不属于MVVM架构。 如何理解React的单向数据流&#xff1f; React的单…...

Spring 中有哪些方式可以把 Bean 注入到 IOC 容器?

目录 1、xml方式2、CompontScan Component3、使用 Bean方式4、使用Import 注解5、FactoryBean 工厂 bean6、使用 ImportBeanDefinitionRegistrar 向容器中注入Bean7、实现 ImportSelector 接口 1、xml方式 使用 xml 的方式来声明 Bean 的定义&#xff0c;Spring 容器在启动的…...

客户需求,就是项目管理中最难管的事情

对于需求控制和管理 个人的观点是&#xff1a;首先要向客户传递开发流程&#xff0c;第二必须制作原型&#xff0c;需求确认时确认的是原型&#xff0c;而不是需求文档&#xff0c;第三&#xff0c;开发阶段要快速迭代&#xff0c;与客户互动。管人方面我想对于项目经理来讲&am…...

条款28:避免返回 handles 指向对象的内部成分

创建一个矩形的类&#xff08;Rectangle&#xff09;&#xff0c;为保持Rectangle对象较小&#xff0c;可以只在其对象中保存一个指针&#xff0c;用于指向辅助的结构体&#xff0c;定义其范围的点数据存放在辅助的结构体中&#xff1a; class Point { // 表示点的类 public:P…...

【人工智能】之深入理解 AI Agent:超越代码的智能助手(2)

人工智能&#xff08;AI&#xff09;正在以前所未有的速度迅猛发展&#xff0c;而AI Agent&#xff08;智能代理&#xff09;则是这一领域中备受瞩目的一环。AI Agent 不仅仅是程序的执行者&#xff0c;更是能够感知、学习和交互的智能实体。本文将深入探讨什么是 AI Agent&…...

如何将一个字符串转换为整数?

目录 1. 基本方法&#xff1a;int() 函数 2. 错误处理 3. 性能考虑 4. 实用技巧 结论 在Python中&#xff0c;将字符串转换为整数是一个常见且重要的操作。这种转换通常在处理用户输入、解析文本数据或在不同数据类型间进行转换时使用。以下是从几个方面对这个主题的详细介…...

【鸿蒙4.0】harmonyos Day 04

文章目录 一.Button按钮组件1.声明Button组件&#xff0c;label是按钮文字2.添加属性和事件 二.Slider滑动条组件 一.Button按钮组件 1.声明Button组件&#xff0c;label是按钮文字 Button(label?:ResourceStr) // ResourceStr:可以是普通字符串&#xff0c;也可以是引用定义…...

微调(fine-tuning)

目录 一、微调 1、为什么需要微调 2、微调的步骤 二、代码实现 1、获取数据集 2、读取图像 3、数据增广 4、定义和初始化模型 5、定义训练函数 三、总结 一、微调 1、为什么需要微调 Fashion-MNIST有6万张图像&#xff0c;学术界当下使用最广泛的大规模图像数据集Ima…...

Find My卡片正成为消费电子香饽饽,伦茨科技ST17H6x可以帮到您

今年CES许多公司发布支持苹果Find My的卡片产品&#xff0c;这种产品轻薄可充电&#xff0c;放在钱包、背包或者手提包可以防丢查找&#xff0c;在智能化加持下&#xff0c;防丢卡片使得人们日益关心自行车的去向。最新的防丢卡片与苹果Find My结合&#xff0c;智能防丢&#x…...

Es bulk批量导入数据(1w+以上)

最近在学习es的理论知识以及实际操作&#xff0c;随时更新~ 概要&#xff1a;首先你得有1w条数据的json&#xff0c;然后用java读取json文件导入 一. 创建Json数据 首先我生成1.5w条数据&#xff0c;是为了实践分页查询&#xff0c;用from-size和scroll翻页去实践 生成四个字段…...

#laravel 通过手动安装依赖PHPExcel#

场景:在使用laravel框架的时候&#xff0c;需要读取excel&#xff0c;使用 composer install XXXX 安装excel失败&#xff0c;根据报错提示,php不兼容。 因为PHPHExcel使用的php版本 和项目运所需要的php 版本不兼容&#xff0c;php8的版本 解决方法&#xff1a;下载手工安装&a…...

案例之 ANN案例_手机价格分类

案例之 ANN案例_手机价格分类...

从C++代码到机器指令:用OD和IDA手把手拆解一个简单的main函数(附寄存器图解)

从C代码到机器指令&#xff1a;用OD和IDA手把手拆解一个简单的main函数&#xff08;附寄存器图解&#xff09; 在逆向工程的世界里&#xff0c;理解高级语言如何转化为底层机器指令是一项基础而关键的技能。本文将以一个最简单的C main 函数为例&#xff0c;带你一步步追踪其从…...

终极指南:如何免费搭建专业的电子实验室笔记本系统

终极指南&#xff1a;如何免费搭建专业的电子实验室笔记本系统 【免费下载链接】elabftw :notebook: eLabFTW is the most popular open source electronic lab notebook for research labs. 项目地址: https://gitcode.com/gh_mirrors/el/elabftw eLabFTW是一款功能强大…...

LeetCode 数据流中第K大元素题解

LeetCode 数据流中第K大元素题解 题目描述 设计一个数据流&#xff0c;找到数据流中第 k 大的元素。 示例&#xff1a; 输入&#xff1a;k 3, arr [4,6,5]输出&#xff1a;5 解题思路 方法&#xff1a;堆 思路&#xff1a; 使用最小堆维护前 k 大的元素。遍历数据流&#xff…...

终极指南:do-mpc模型预测控制工具箱 - 5步实现工业级控制系统

终极指南&#xff1a;do-mpc模型预测控制工具箱 - 5步实现工业级控制系统 【免费下载链接】do-mpc Model predictive control python toolbox 项目地址: https://gitcode.com/gh_mirrors/do/do-mpc 模型预测控制&#xff08;Model Predictive Control, MPC&#xff09;是…...

JavaQuestPlayer终极指南:5大核心功能让你的QSP游戏开发与运行变得简单高效

JavaQuestPlayer终极指南&#xff1a;5大核心功能让你的QSP游戏开发与运行变得简单高效 【免费下载链接】JavaQuestPlayer 项目地址: https://gitcode.com/gh_mirrors/ja/JavaQuestPlayer 还在为QSP游戏的跨平台兼容性而烦恼吗&#xff1f;还在为游戏开发调试效率低下而…...

用Rsoft DiffractionMOD给光伏减反膜‘算个命’:手把手教你仿真矩形光栅的反射谱

用Rsoft DiffractionMOD给光伏减反膜‘算个命’&#xff1a;手把手教你仿真矩形光栅的反射谱 在光伏组件研发中&#xff0c;减反射膜的性能直接影响着光电转换效率。传统试错法需要反复镀膜测试&#xff0c;成本高周期长。本文将演示如何通过Rsoft DiffractionMOD模块&#xff…...

TTK插件系统扩展指南:自定义Golden生成函数和输入数据生成函数的完整教程

TTK插件系统扩展指南&#xff1a;自定义Golden生成函数和输入数据生成函数的完整教程 【免费下载链接】ops-test-kit TTK&#xff08;Ops Test Tool Kit&#xff09;是CANN算子库提供的全链路、自动化、批量化算子测试框架&#xff0c;帮助开发者快速完成算子批量功能验证、性能…...

Perplexity环境新闻检索失效真相(2024最新API响应延迟根因分析)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Perplexity环境新闻搜索 Perplexity 是一款基于大语言模型的实时信息检索工具&#xff0c;其核心优势在于融合权威信源与上下文感知能力&#xff0c;特别适用于需要高时效性与高可信度的新闻类查询场景。在该环…...

Java 面试高频题:通知平台整体架构一般怎么拆?

消息实时通知平台架构总览怎么搭&#xff1f;一次讲清渠道、模板、推送、回执、偏好与治理闭环 大家好&#xff0c;我是一名有 4 年工作经验的 Java 后端开发。 从第129天开始&#xff0c;我连续围绕消息实时通知系统写了整体设计、渠道抽象、模板中心、实时推送、异步投递、偏…...