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

编程基础篇

什么是编程?

原文地址 :样式不太熟悉,有点单一,原文地址

一千个人眼中有一千个哈姆雷特,以下是我眼中的编程:

A每天出门需要关一下空调,在家喜欢室内温度在 20°左右,6 点左右会打开灯。

那么换成编程语言应该怎么说呢?

如果 : 【出门】 我需要关闭空调

如果 : 【在家】空调温度 = 20°

如果 :【时间 == 18:00】 打开灯

编程,是对现实生活中语言、动作的抽取。不通过汉语,英语……表达。用计算机看得懂的语言说,那么计算机能看懂什么语言?看刚刚的例子 : 如果……否则,刚好面对计算机的 0……1。

结论 : 编程是将生活中的事件换一个角度来说,换成:如果……就,否则……就

if (time == 18:00 && 回家): 打开客厅的灯光

if (出门) : 关闭空调

if (温度 > 20): 调低空调 ……

编程,只是将我们日常生活中的事物,用语言表达出来,再转为机器看得懂的语言。

只有 true 和 false 么

若只有 true 和 false,那么这么多年的计算机白发展了。

A : 这个螺丝要重复打 1000 个,这张试卷我要复印 100 份

共同点 : 重复,循环。如果说 true/false 是计算机的由来,哪循环就是计算机发展起来的原因。

没有人喜欢重复,如果有那就当我没说!

转为编程语言 :

重复(次数:1000次){做什么 : 打螺丝
}

编程,就这么朴实无华

正题 : 什么是 web 开发

web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面

当今 web 主流开发方案 :

前后端分离式开发

前后端分离开发是一种现代化的Web应用开发模式,它将Web应用程序的前端(客户端)和后端(服务器端)

前后端分离让前端和后端可以独立开发、测试和部署。这意味着一个团队可以在不影响另一个团队的情况下推进工作,从而加快了整体项目的进度。简单来说:流水线作业

什么是前端

前端指的是用户可以直接看到和交互的部分,也就是Web应用的“客户端”。即浏览器中看见的所有页面,都可以称之为前端。页面的丑与美由前端决定

 

8aed417cbaf1f81c3343e6621e3339ae.png

什么是后端

前端不是以及展示页面了吗,为什么还需要后端?

看主页的头条,热点是一成不变的吗?如果每次变都要对整个页面重新修改,那程序员得累死。

看前端页面的结构,每次打开页面布局基本上是不变的【别杠】,但是数据是不同的,因此数据从后端来,前端只管布局。

举例:前端【A】 ,后端【B】

实现逻辑 :

A ->B 说:我画好了,你来填提一下诗句【数据】

B ->A 说:OK,我看一下今天放什么数据合适,我检测到今天是重阳节,我去拿一首重阳节的诗

B ->A 说:诗给你了,你展示给客户吧

 

a5bb53e1f377484025e0c4fab84799e5.png

总结 :

前端提前将数据存放的位置预留好,当用户打开页面时,前端会向后端发起请求,拿到数据后渲染到页面。

后端需要考虑,今天是那一天,天气怎么样,如果 ……就,否则……就,提供给前端数据。

拿东西 :数据库

刚提到拿东西,顺着说一下数据库。换个名字就懂了,【我的电脑】文件管理系统

数据库只有四种操作 : 添加【新建】、删除、修改、查找

数据就是我们存放数据的地方,要用的时候去操作一下。

 

6dbfc44a133982dc8d03e9d67b7d0dbc.png

前端 -> 后端,怎么说话 :http

人与人之间的交流通过声音传播,而计算机本身没有语言系统,它仅仅知道 0/1。

超文本传输协议(HypertextTransfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头ASCII形式给出;而消息内容则具有一个类似MIME的格式。

 

51ccbbf21faaac33f9312e7e5eb8f66e.png

一个文本汉字等于多少二进制? 一个文本汉字等于16位二进制 ,因此:http : 超文本协议

总结 :

前端 <-> 后端 : 交流通过 http 协议【以及其他协议】交流

后端拿东西,存东西,放到数据中

编程语言 :Java

 

412be28bb97a4d6744a76198a70232a0.png

Java是一种广泛使用的编程语言,由Sun Microsystems(后被Oracle公司收购)于1995年发布。它以其“一次编写,到处运行”的理念而闻名,这意味着用Java编写的代码可以在任何支持Java虚拟机(JVM)的平台上运行,无需重新编译。这种跨平台特性使得Java成为开发各种应用程序的理想选择,包括桌面应用、Web应用、移动应用(特别是Android应用)、企业级解决方案等。

Java 是一种面向对象的强类型语言

什么是强类型语言?

在小学我们学会了:整数、小数、正数、负数、汉字、词语、成语。

在 Java 中,依旧定义了整数、小数、字符【一个字】、字符串【多个字】……

在 Python 中,没有严格定义,都是字

Java : int x = 0; double y = 1.0
Python : i = 0 ; y = 1.0 

Java : int [ 整形数据 ] i = 0

Python : i = 0 [0 是整数、这是整形 ]

强弱类型对比:

Java 从定义的时候就表清楚,这给数只能是某个类型。

Python 中没有明确的看出这是什么类型,虽然底层也会区分

面向对象编程(OOP)

封装、继承、多态

对象 即 封装

从开篇编程是什么来回答,什么是面向对象。

A每天出门需要关一下空调,在家喜欢室内温度在 20°左右,6 点左右会打开灯。

提取这件事中的关键词 : 关空调、温度、时间、灯

我将这四个关键词提取,并将其放到一个盒子中,我起名为《生活》 将会得到 :

《生活》{Boolean 空调   //空调这里的属性只有开关double 温度    //温度有小数Data 时间      //时间一种数据类型Boolean 灯     //开关等 true/false
}

《生活》这个盒子就是对象,我把数据放到盒子中,这就是封装,对象中的对象就是属性。

你也还可以这样封装,即:万物皆对象

《开关》{Data 时间Boolean 空调Boolean 灯
}
《其他》{Data 时间Double 温度
}

封装:指将数据和操作这些数据的方法捆绑在一起的过程。外部代码只能通过公开的方法访问对象内部的数据,这样既保护了数据的安全性,也降低了代码间的耦合度。

继承 : 凡有的,都给他

继承:允许创建新的类基于已存在的类,新类不仅拥有原类的所有功能,还可以添加自己的特性和修改现有功能。

马太效应 : 凡有的,都给他;没有的、连他所有、也要夺取

在《开关》《其他》对象中都有一个属性<时间>,那就把<时间>给他,再继承他《父对象》

《父对象》{Data 时间}
《开关》继承《父对象》{Boolean 空调Boolean 灯
}
《其他》继承《父对象》{Double 温度
}

多态 : 名字一样的对象,功能也一样

多态:同一个接口或基类可以用多种不同的形式表现出来。多态性让程序员能够编写更加通用的代码,提高复用率。

A 说 :我要用圆珠笔写下“hello world”

圆珠笔:有红黄蓝绿……,0.38.0.5……

不管他有多少样式,多么花里胡哨,它是笔,所以它是用来写字的

 

 

相关文章:

编程基础篇

什么是编程&#xff1f; 原文地址 &#xff1a;样式不太熟悉&#xff0c;有点单一&#xff0c;原文地址 一千个人眼中有一千个哈姆雷特&#xff0c;以下是我眼中的编程&#xff1a; A每天出门需要关一下空调&#xff0c;在家喜欢室内温度在 20左右&#xff0c;6 点左右会打开灯…...

GPT视角下,如何在密码学研究中找到属于你的方向?

&#xff08;本文所有内容由GPT生成&#xff09;在密码学领域发现关键性的研究方向并成为一位优秀的密码学研究员&#xff0c;需要结合对领域趋势的洞察、扎实的理论基础以及创新的研究思维。以下是具体步骤和方法&#xff1a; 一、发现关键性研究方向 关注领域前沿动态 顶级会…...

【经典】星空主题的注册界面HTML,CSS,JS

目录 界面展示 完整代码 说明&#xff1a; 这是一个简单的星空主题的注册界面&#xff0c;使用了 HTML 和 CSS 来实现一个背景为星空效果的注册页面。 界面展示 完整代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8&…...

Linux学习——4_WEB服务器的部署及优化

WEB服务器的部署及优化 用户常用关于web信息 什么是www www是world wide web的缩写&#xff0c;即万维网&#xff0c;也就是全球信息广播 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体&#xff0c;超链接的方式将信息以…...

《Vue 组件化开发:构建可复用的模块》

一、Vue 组件化开发概述 组件化是 Vue.js 的核心概念之一&#xff0c;它允许将界面拆分成独立、可复用的组件&#xff0c;使得开发大型应用变得更加简单和高效。 组件的定义是实现应用中局部功能代码和资源的集合。Vue.js 的组件化用于将 UI 页面分割为若干组件进行组合和嵌套…...

贪心算法理论

系列博客目录 文章目录 系列博客目录贪心算法 (Greedy Algorithm)贪心算法的特点贪心算法的适用条件常见的贪心算法问题贪心算法的步骤贪心算法示例&#xff1a;活动选择问题贪心算法的优缺点 贪心算法 (Greedy Algorithm) 贪心算法是一种在每一步选择中都采取当前状态下最优的…...

JVM之Synthetic

Synthetic是人造&#xff0c;合成的意思&#xff0c;在虚拟机很多地方使用ACC_SYNTHETIC表示编译器自动生成的&#xff0c;区别于我们自己写的程序代码。这样说可能比较模糊&#xff0c;我们举个例子&#xff1a;我们创建一个内部类&#xff0c;如下 public class TestInnerCl…...

HCIE IGP双栈综合实验

实验拓扑 实验需求及解法 本实验模拟ISP网络结构&#xff0c;R1/2组成国家骨干网&#xff0c;R3/4组成省级网络&#xff0c;R5/6/7组成数据中 心网络。 配置所有ipv4地址&#xff0c;请自行测试直连。 R1 sysname R1 interface GigabitEthernet0/0/0ip address 12.1.1.1 255.…...

【k8s】监控metrics-server

metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标&#xff0c;通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…...

第六届国际科技创新学术交流会暨管理科学信息化与经济创新发展(MSIEID 2024)

重要信息 大会官网&#xff1a;msieid2024.iaecst.org &#xff08;点击了解大会&#xff0c;参会等内容&#xff09; 大会时间&#xff1a;2024年12月6-8日 大会地点&#xff1a;中国-广州 大会简介 随着全球化和信息化的不断深入&#xff0c;管理科学、信息化和经济发展…...

将面具贴到人脸上的过程

使用OpenCV进行人脸面具贴合和变形以适应人脸的3D透视角度&#xff0c;通常需要以下步骤&#xff1a; 人脸检测&#xff1a;首先需要检测图像中的人脸位置。特征点检测&#xff1a;在检测到的人脸区域中&#xff0c;找到关键特征点&#xff0c;如眼睛、鼻子、嘴巴等。透视变换…...

【Maven】Nexus私服

6. Maven的私服 6.1 什么是私服 Maven 私服是一种特殊的远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;用来代理位于外部的远程仓库&#xff08;中央仓库、其他远程公共仓库&#xff09;。一些无法从外部仓库下载到的构件&#xff0c;如项目组其他人员开发的…...

AI高中数学教学视频生成技术:利用通义千问、MathGPT、视频多模态大模型,语音大模型,将4个模型融合 ,生成高中数学教学视频,并给出实施方案。

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下AI高中数学教学视频生成技术&#xff1a;利用通义千问、MathGPT、视频多模态大模型&#xff0c;语音大模型&#xff0c;将4个模型融合 &#xff0c;生成高中数学教学视频&#xff0c;并给出实施方案。本文利用专家模…...

探索温度计的数字化设计:一个可视化温度数据的Web图表案例

随着科技的发展&#xff0c;数据可视化在各个领域中的应用越来越广泛。在温度监控和展示方面&#xff0c;传统的温度计已逐渐被数字化温度计所取代。本文将介绍一个使用Echarts库创建的温度计Web图表&#xff0c;该图表通过动态数据可视化展示了温度值&#xff0c;并通过渐变色…...

windows电脑上安装树莓派操作系统

在Windows电脑上安装树莓派通常涉及以下几个步骤:准备安装工具、下载树莓派系统镜像、烧录系统到SD卡、配置树莓派以及远程连接(如果需要无显示器操作)。以下是详细的步骤说明: 一、准备安装工具 安装树莓派官方烧录工具: 下载并安装Raspberry Pi Imager。这是一个官方的…...

交换机四大镜像(端口镜像、流镜像、VLAN镜像、MAC镜像)应用场景、配置实例及区别对比

在网络管理中&#xff0c;端口镜像、流镜像、VLAN镜像和MAC镜像都是用于监控和分析网络流量的重要技术。 端口镜像&#xff08;Port Mirroring&#xff09; 定义&#xff1a;端口镜像是将一个或多个源端口的流量复制到一个目标端口&#xff0c;以便于网络管理员能够监控和分析…...

我不是挂王-用python实现燕双鹰小游戏

一.准备工作 1.前言提要 作为程序员在浩瀚的数字宇宙中&#xff0c;常常感觉现实世界是一台精密运作的虚拟机&#xff0c;其底层的物理逻辑如同铁律般难以撼动。然而我们拥有在虚拟世界中自由驰骋、创造无限可能的独特力量。突发奇我想用Python写出燕双鹰的小游戏,这样想想就很…...

Java:反射、注解

文章目录 1. 反射1-1. 获取Class对象的三种方式1-2. 获取类的构造器、实例化对象1-3. 获取类的成员变量1-4. 获取类的成员方法 2. 注解2-1. 元注解2-2. 解析注解 1. 反射 反射&#xff1a;加载类&#xff0c;并允许以编程的方式解剖类中的各种成员变量、方法、构造器。 1-1. …...

Java 通过枚举类减少if else

目录 一. 案例1二. 案例2三. 案例3四. 案例4 枚举类聚合封装消息 一. 案例1 涉及到EnumMap的实际使用 ⏹定义一个枚举类&#xff0c;用来表示日本的各种支付方法对应的code import com.fasterxml.jackson.annotation.JsonFormat;// 让jackson将前台的数据封装数据到枚举类中 J…...

单链表---移除链表元素

对于无头单向不循环链表&#xff0c;给出头结点head与数值val&#xff0c;删除链表中数据值val的所有结点 #define ListNodeDataType val struct ListNode { struct ListNode* psll;ListNodeDataType val; } 方法一---遍历删除 移除所有数值为val的链表结点&#xff0c;…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...