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

软件是什么?

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

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


前端 : 数据渲染

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

后端 : 数据逻辑处理

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

前后端数据交互 : 【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-总结

耗时三年半 :

从一无所知 到 两眼一抹黑

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

回顾过往,重新深挖

莫道桑榆晚,红霞映漫天


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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/241925.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 实现单线程异步互斥锁

文章目录 前言一、异步互斥锁的作用是什么&#xff1f;示例一、创建和销毁 二、如何实现&#xff1f;1、标识&#xff08;1&#xff09;标识是否锁住&#xff08;2&#xff09;加锁&#xff08;3&#xff09;解锁 2、异步通知&#xff08;1&#xff09;创建对象&#xff08;2&a…

C++类与对象(四):再谈构造函数(详解初始化列表)、Static成员

上次把默认的成员函数部分梳理完毕了&#xff1a;C初阶类与对象&#xff08;三&#xff09;&#xff1a;详解复制构造函数和运算符重载 今天接着讲下面的内容&#xff1a; 文章目录 1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.2.1格式和概念1.2.2由来情况1情况2 1.2.3特性…

如何在云端加速缓存构建

缓存是指将某类数据存储起来以便以后重复使用的过程&#xff0c;它的运用在开发场景中非常普遍。类似于你习惯把最常用的调料放在厨房台面上&#xff0c;而不是橱柜里&#xff0c;这样你在准备大餐时就可以轻松取用。 但对于一个更为技术性、更精确的用例&#xff0c;比如像谷…

linux 使用笔记

1.查看运行内存 a.Free 快速查看内存的方法&#xff0c;也是经常使用的命令&#xff0c; -h 更人性化的显示内存的单元 -m 以M的形式显示 b.Top Top命令提供了实时性的运行中的程序的资源使用统计。可以根据内存的使用和大小来进行排序。 如上所示&#xff0c;top命令可以看…

全网最详细!!Python 爬虫快速入门

1. 背景 最近在工作中有需要使用到爬虫的地方&#xff0c;需要根据 Gitlab Python 实现一套定时爬取数据的工具&#xff0c;所以借此机会&#xff0c;针对 Python 爬虫方面的知识进行了学习&#xff0c;也算 Python 爬虫入门了。 需要了解的知识点&#xff1a; Python 基础语…

SpringBoot(三层框架Controller,Mapper,Service)中遇到的一些注解整理

本文主要从Controller层,Service层,Mapper层这三层架构中记录用到的各种注解 还有一些MyBatis用到的注解 持续更新到本人的毕设做完为止,太多了太多了根本学不完哈哈哈 1.Controller层 1.1GetMapping/PostMapping/DeleteMapping/PutMapping 用于建立HTTP请求与处理方法之间的…

Flutter中使用minio_new库

前言 在移动开发中&#xff0c;我们常常会遇到需要在App中处理文件上传和下载的需求。Minio是一个开源的对象存储服务&#xff0c;它兼容Amazon S3云存储服务接口&#xff0c;可以用于存储大规模非结构化的数据。 开始之前 在pubspec.yaml文件中添加minio_new库的依赖&#xf…

快乐学Python,使用Python为电视剧主演生成词云

上篇文章我们串联了爬虫技术的几个基础环节&#xff0c;将电视剧的信息保存到了 csv 文件。这里&#xff0c;我们做个小实验&#xff1a;将主演信息生成词云。&#xff08;其他文章可看专栏文章&#xff09; 1、需求描述 将全集网抽取的电视剧&#xff08;名称、评分、主演&a…

云服务器基于Centos创建个人云盘实践经验分享

文章目录 安装运行Cloudreve安装ossfscentos更换yum源 配置ossfs挂载oss存储配置开机启动 配置cloudreve推荐阅读 安装运行Cloudreve 执行如下命令&#xff0c;下载cloudreve安装包。 wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/cloudreve_3.3.1_linux_amd64.tar…

爬虫笔记(一):实战登录古诗文网站

需求&#xff1a;登录古诗文网站&#xff0c;账号&#xff0b;密码&#xff0b;图形验证码 第一&#xff1a;自己注册一个账号&#xff0b;密码哈 第二&#xff1a;图形验证码&#xff0c;需要一个打码平台&#xff08;充钱&#xff0c;超能力power&#xff01;&#xff09;或…

纯命令行在Ubuntu中安装qemu的ubuntu虚拟机,成功备忘

信息总体还算完整&#xff0c;有个别软件更新了名字&#xff0c;所以在这备忘一下 1. 验证kvm是否支持 ________________________________________________________________ $ grep vmx /proc/cpuinfo __________________________________________________________________…

【android】 android 里写jni

目录 &#xff08;1&#xff09; 环境准备 (2) 关联c文件到gradle文件 &#xff08;3&#xff09; 生成了 (4) 书写 &#xff08;5&#xff09; 使用 &#xff08;6&#xff09;业务调用 参考文档 &#xff08;1&#xff09; 环境准备 ndk, cmake (2) 关联c文件到gr…

three.js从入门到精通系列教程002 - three.js正交相机OrthographicCamera

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程002 - three.js正交相机OrthographicCamera</title><script src"ThreeJS/three.js"></script><script src&qu…

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二)

Android Matrix绘制PaintDrawable设置BitmapShader&#xff0c;手指触点为圆心scale放大原图&#xff0c;Kotlin&#xff08;二&#xff09; 在 Android Matrix绘制PaintDrawable设置BitmapShader&#xff0c;手指触点为圆心scale放大原图&#xff0c;Kotlin-CSDN博客 基础上&…

Vscode 上安装 Compilot

GitHub Copilot 是由 OpenAI 和 GitHub 开发的 AI 工具。其目的是通过自动完成代码来帮助开发人员使用集成开发环境 &#xff08;IDE&#xff09;&#xff0c;如 Visual Studio Code。它目前仅作为技术预览版提供&#xff0c;因此只有已在候补名单上被接受的用户才能访问它。对…

C# wpf 实现任意控件(包括窗口)更多调整大小功能

WPF拖动改变大小系列 第一节 Grid内控件拖动调整大小 第二节 Canvas内控件拖动调整大小 第三节 窗口拖动调整大小 第四节 附加属性实现拖动调整大小 第五章 拓展更多调整大小功能&#xff08;本章&#xff09; 文章目录 WPF拖动改变大小系列前言一、添加的功能1、任意控件Drag…

分布式ID(2):雪花算法生成ID

1 雪花算法简介 这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案把64-bit分别划分成多段,分开来标示机器、时间等,比如在snowflake中的64-bit分别表示如下图(图片来自网络)所示: 41-bit的时间可以表示(1L&l…

汽车微电机行业研究:预计2029年将达到188亿美元

微电机行业是技术密集型行业&#xff0c;其起源于欧洲的德国、瑞士等国家&#xff0c;发展于日本。随着改革开放&#xff0c;中国作为发展中国家&#xff0c;承接了德国、日本等发达国家的汽车微电机产业转移&#xff0c;技术扩散逐步向我国转移。 微特电机广泛应用于信息处理设…

高清网络视频监控系统技术方案

目 录 一、概述 二、建设目标及需求 &#xff08;一&#xff09;建设总目标 &#xff08;二&#xff09;需求分析 三、设计依据与设计原则 &#xff08;一&#xff09;设计依据 &#xff08;二&#xff09;设计原则 四、建设方案设计 &#xff08;一&…

Vue3新特性defineModel()便捷的双向绑定数据

官网介绍 传送门 配置 要求&#xff1a; 版本&#xff1a; vue > 3.4(必须&#xff01;&#xff01;&#xff01;)配置&#xff1a;vite.config.js 使用场景和案例 使用场景&#xff1a;父子组件的数据双向绑定&#xff0c;不用emit和props的繁重代码 具体案例 代码实…