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

前端了解到框架-网络复习

前端

HTML

超文本标记语言 画页面 各种各样的标签组成页面进行展示 桌面创建文本修改后缀即可

  • <!DOCTYPE html>: 声明文档类型和HTML版本。
  • <html>: 根标签,所有其他标签都包含在内。
  • <head>: 包含了文档的元数据,如字符编码、网页标题、对CSS样式表和JavaScript文件的引用等。
  • <title>: 定义文档的标题,显示在浏览器标签页上。
  • <meta>: 提供有关页面的元信息,如字符集编码、作者、视口设置等。
  • <body>: 包含了可见的网页内容,如文本、图片、链接、列表等。
  • <h1><h6>: 标题标签,<h1>是最高级别,用于主标题,<h6>是最低级别。
  • <p>: 段落标签,用于包裹文本内容。
  • <a>: 链接标签,用于创建指向其他页面或页面内部的链接。
  • <img>: 图像标签,用于在页面上显示图片。
  • <ul><ol><li>: 分别用于无序列表、有序列表和列表项。
  • <table><tr><td>: 分别用于创建表格、表格行和表格单元格。
  • <div>: 用于组织内容的容器,通常与CSS一起使用来布局页面。
  • <span>: 用于对文本的小块进行分组和应用样式,不会导致文本换行。
  • <form>: 用于创建表单,收集用户输入。
  • <input>: 输入字段,可以是文本框、复选框、单选按钮等。
  • <button>: 按钮标签,用户可以点击执行操作。

CSS

层叠式样式表 修饰HTML页面 但是静态

可以和html文件外联 改变展示的外观

  1. 选择器:选择器用来指定哪些HTML元素应该应用某些样式。例如,h1选择器会选中所有<h1>元素。

  2. 属性和值:样式由属性和值组成。属性指定要改变的样式类型(如color),值指定要使用的样式(如red)。

  3. 如何引入CSS

    • 内联样式:直接在HTML元素中使用style属性定义样式。
    • 内部样式表:在HTML文档的<head>部分使用<style>标签定义样式。
    • 外部样式表:使用<link>标签引入外部的CSS文件。
  4. 基本样式属性

    • 颜色color属性用于文字颜色,background-color用于背景色。
    • 字体font-family用于定义字体,font-size用于定义字体大小。
    • 边距和填充margin用于定义元素外部的空间,padding用于定义元素内部的空间。
    • 布局display属性用于定义元素的显示类型(如块级或内联),position用于定义元素的定位方式。
  5. 层叠和继承

    • 层叠:当多个样式应用于同一个元素时,CSS会根据特定的规则(如优先级)来决定哪个样式最终会被应用。
    • 继承:某些CSS属性(如文字颜色)可以从父元素继承到子元素。
  6. 盒模型:每个HTML元素都可以看作一个盒子,它包括内容(content)、内边距(padding)、边框(border)和外边距(margin)。

  7. 响应式设计:使用媒体查询(@media规则)可以根据不同的屏幕尺寸应用不同的样式

JS

(JS)是一种轻量级的编程语言,主要用于网页和服务器的开发。它允许你实现复杂的功能,从而在网页上创建动态和交互式的内容。可以跟HTML文件关联 动态效果

  1. 变量:变量用于存储数据值。

  2. 数据类型:包括NumberStringBooleanObjectArraynullundefinedSymbol(ES6新增)和BigInt(大整数)。

  3. 控制结构:JavaScript使用条件语句和循环语句(来控制程序。

  4. 函数:用于封装可重复使用的代码块。函数可以接受参数并返回值。

  5. 事件处理:JavaScript能够响应用户操作(如点击、键盘输入等),通过添加事件监听器来处理这些事件。

  6. DOM操作:JavaScript可以通过文档对象模型(DOM)来访问和修改网页内容。DOM提供了丰富的方法和属性,用于操作HTML元素和CSS样式。

  7. 异步编程:JavaScript支持异步编程模式,Promiseasync/await是处理异步操作的常用工具。

  8. JSON:JavaScript对象表示法(JSON)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。

  9. 模块:ES6引入了模块的概念,允许JavaScript文件导入和导出函数、变量等,有助于组织和维护大型代码库。

Maven

设置好本地仓库和镜像阿里云仓库

下载配置好旗舰版的idea

特点

  1. 依赖管理:自动处理项目依赖,包括库的下载、版本管理和依赖冲突解决。
  2. 项目构建:编译源代码、打包二进制文件(如JAR、WAR)和生成项目文档。
  3. 项目信息管理:通过pom.xml文件管理项目的构建、报告和文档。
  4. 标准化构建过程:提供一套标准化的构建生命周期和插件体系,使得项目构建过程更加一致和可预测。
  5. 项目模板:通过Archetypes提供项目模板,快速开始新项目。
  6. 持续集成:易于与持续集成工具(如Jenkins)集成,自动化构建和测试过程。

操作

主代码放main的java里

源文件放resources里

测试代码放test里

<dependencies>后面引入所需要的包

先在本地仓库找,然后去国内镜像仓库找

框架

重复代码封装,增加便捷性。增加额外功能,是一个半成品。更好用,开发周期更短,但是更多的学习成本。

spring

方便解耦,简化开发;AOP切面编程;声明式事务;整合各种优秀的框架;

基础

创建maven文件

导入spring5.23

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.23</version></dependency></dependencies>

然后创建一个类

接着在resourses创建xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><!-- id:bean的名称   class:类型全限定路径 --><bean id="b" class="pojo.book"></bean></beans>

测试一下

public class test {public static void main(String[] args) {//创建类ApplicationContext  context = new ClassPathXmlApplicationContext("applicationcontext.xml");book bo = (book)context.getBean("b");System.out.println(bo.getName() + "---" + bo.getId());}
}

属性注入

也就是给对象里面的值赋值

1.property 设值注入

会自动去找变量的set定义

<bean id="b" class="pojo.book"><property name="id" value="1"></property><property name="name" value="huangj"></property></bean>

2.constructor-arg 构造注入

这个不调用空构造器,调用有参构造器

<bean id="b2" class="pojo.book"><constructor-arg name="id" value="2"></constructor-arg><constructor-arg name="name" value="spring"></constructor-arg></bean>

3.ref 如果有类套类的话(有自定义数据类型)

使用两个bean

<bean id="boy" class="pojo.boy"><constructor-arg name="age" value="22"></constructor-arg><constructor-arg name="name" value="autumn"></constructor-arg></bean><bean id="girl" class="pojo.girl"><constructor-arg name="age" value="25"></constructor-arg><constructor-arg name="name" value="spring"></constructor-arg><constructor-arg name="boyfriend" ref="boy"></constructor-arg></bean>

spring注解

ioC/DI相关

@Component
  • 标记一个类为Spring管理的组件。Spring会自动检测并注册该类为bean。
  • 默认名字为首字母小写
  • 在类前面添加即可
  • 自动放到spring容器里面

    • @Autowired

      • 自动装配bean。可以用于构造函数、字段、setter方法或其他任意方法上。
    • @Qualifier

      • @Autowired一起使用,用于指定注入的具体bean。
    • @Resource

      • JSR-250注解,类似于@Autowired,但可以通过名称或类型进行注入。
    • @Inject

      • JSR-330注解,类似于@Autowired,但不支持required属性。
    • @Component

      • 标记一个类为Spring管理的组件。Spring会自动检测并注册该类为bean。
    • @Service

      • 特殊的@Component,用于标记服务层的类。
    • @Repository

      • 特殊的@Component,用于标记数据访问层的类。
    • @Controller

      • 特殊的@Component,用于标记Spring MVC控制器。
    • @Configuration

      • 标记一个类为Spring配置类,类似于XML配置文件。
    • @Bean

      • 用于方法上,定义一个bean。

例子

@Component
public class girl {@Value("18")private int age;@Value("张黎")private  String name;@Autowiredprivate boy boyfriend;

web

区别javaweb
主要用于开发桌面应用程序、命令行工具、后台服务等。主要用于开发基于Web的应用程序,如网站、Web服务和Web应用
主要使用Java语言编写。通常包括前端(HTML、CSS、JavaScript)和后端(Java、Python、PHP等)代码。
通常生成可执行的JAR文件或WAR文件。需要Web服务器(如Tomcat、Jetty)来运行。

idea右上角要添加tomcat服务器,并且把相应的web文件添加进去(maven内部也集成了tomcat)

springboot

快速启动

  • 自动配置:Spring Boot 提供了大量的自动配置,减少了手动配置的工作量。只需添加依赖,Spring Boot 会自动配置相关的组件。
  • 内嵌服务器:Spring Boot 内置了Tomcat、Jetty和Undertow等服务器,开发者无需单独配置和管理服务器。

2. 依赖管理

  • Starter POMs:Spring Boot 提供了一系列的Starter POMs,简化了依赖管理。只需添加一个Starter依赖,就可以引入一组相关的依赖。

3. 生产

  • 管理:Spring Boot 提供了Actuator模块,可以轻松地监控和管理应用程序的健康状况和性能。
  • 配置:支持通过外部配置文件(进行配置,方便在不同环境中部署。

启动

@SpringBootApplication
public class testspringbootapplication {public static void main(String[] args) {SpringApplication.run(testspringbootapplication.class,args);}
}

复习基础

网络原理

让两个主机可以进行通信

通过socket api

一般家用路由器,5个网口,1wan + 4lan,lan是把设备连接到局域网的,wan是连接到上级的。交换机就是拓展路由器的端口。

广域网就是把局域网连接到一起,构成的网络更加庞大。

IP地址

设备在网络上的地址,一般为4个0-255之间的十进制数字,并且使用三个点进行分隔。

端口号

区分一个主机上的不同的应用程序。是一个两个字节的整数,不同程序关联不同的端口号。一个端口号只能被一个程序绑定,但一个程序可以绑定多个端口号。1-1023一般系统有特殊用途,是知名端口号,留给常见服务器程序使用。端口号和ip往往是‘一对’。

协议 

一种约定,约定了双方通信的方式。

协议分层

 osi七层网络模型(只出现在教科书中)  tcp/ip五层网络模型 

 5.应用层(程序员需要关注的一层)

上层协议能够调用下层协议,层层打包,加上分别的报头,到物理层就转换成0 1序列。

 

 

 

 应用层根据端口号交给程序,按照程序员自定义的应用层协议展开。

协议特性

传输层提供的协议主要是tcp和udp

连接的本质是通信双方各自保存对方的意思,tcp想要通信,需要先建立连接,保存对方消息。udp要通信,直接发送数据即可,但是调用socket api要把对方位置传过去。

网络上通信,并不是百分百传达的,tcp可以知道是不是发送成功(内置了可靠传输机制),udp不可以,但是传输效率更高。

tcp以字节为单位,udp按照数据报,有严格格式。

全双工的意思的可以双向通信

网络编程

udp

服务器端口号手动指定,客户端自动分配,服务器掌控在程序员手里,是可控的。客户端不可控,所以分给系统分配更合理。

服务器端
public class server {private DatagramSocket socket = null;public server(int port) throws SocketException{socket = new DatagramSocket(port);//里面有就是手动指定}public void start() throws IOException {System.out.println("服务器启动");while (true){ // 服务器要长期运行// 读取请求并且解析DatagramPacket requestp = new DatagramPacket(new byte[4096], 4096);//搞一个内存保存网卡接收的数据socket.receive(requestp);// 读取数据,填充对象里,如果客户端没请求,就会一直receive// 当前完成receive,数据是二进制的形式,要转成字符串String request = new String(requestp.getData(),0,requestp.getLength());// 这个区间内的字节构造成string// 根据请求计算响应 此处返回请求即可String response = process(request);// 写回客户端 先搞一个响应对象 要指定数据内容和要发给谁DatagramPacket requestq = new DatagramPacket(response.getBytes(),response.getBytes().length,requestp.getSocketAddress());// 前两个参数代表数据是啥 不直接用getlength怕有中文socket.send(requestq);System.out.printf("[%s:%d] rep=%s, resp=%s\n",requestp.getAddress().toString(), requestp.getPort(), request, response);// 打印日志}}public String process(String request){return request;}public static void main(String[] args) throws IOException {// 启动服务器server ser = new server(9090);ser.start();}
}
客户端
public class client {private DatagramSocket socket = null;private String severip = "";private int serverport = 0;public client(String ip, int port) throws SocketException {socket = new DatagramSocket();//自动分配端口// udp自身不会有对端的消息,所以要把对端的消息记录下来// 主要记录了ip和端口severip = ip;serverport = port;}public void start() throws IOException {System.out.println("客户端启动!");Scanner scanner = new Scanner(System.in);while (true){System.out.println("->");String request = scanner.next();// 把请求构造成对象DatagramPacket requestpacket = new DatagramPacket(request.getBytes(),// 指定字节缓冲区 指定inetaddress对象,包含了ip和端口request.getBytes().length, InetAddress.getByName(severip),serverport);socket.send(requestpacket);// 尝试读取服务器反应DatagramPacket responsepacket = new DatagramPacket(new byte[4096],4096);socket.receive(requestpacket);// 这个是读取的反应// 照旧转换字符串String response = new String(responsepacket.getData(),responsepacket.getLength());System.out.println(response);}}public static void main(String[] args) throws IOException {client cli = new client("127.0.0.1",9090);cli.start();}
}

但是现在的服务器,只有局域网能访问,别人访问不了,所以我们就需要云服务器了。

tcp
服务器端
import java.io.*;
import java.net.*;public class TCPServer {private ServerSocket serverSocket;public TCPServer(int port) throws IOException {serverSocket = new ServerSocket(port);}public void start() {System.out.println("服务器启动");while (true) {try {// 等待客户端连接Socket clientSocket = serverSocket.accept();System.out.println("客户端连接:" + clientSocket.getInetAddress() + ":" + clientSocket.getPort());// 处理客户端请求handleClient(clientSocket);} catch (IOException e) {e.printStackTrace();}}}private void handleClient(Socket clientSocket) {try (BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true)) {String request;while ((request = in.readLine()) != null) {System.out.println("收到请求:" + request);String response = process(request);out.println(response);System.out.println("发送响应:" + response);}} catch (IOException e) {e.printStackTrace();} finally {try {clientSocket.close();} catch (IOException e) {e.printStackTrace();}}}public String process(String request) {return request;}public static void main(String[] args) throws IOException {TCPServer server = new TCPServer(9090);server.start();}
}
客户端
import java.io.*;
import java.net.*;
import java.util.Scanner;public class TCPClient {private String serverIp;private int serverPort;public TCPClient(String ip, int port) {serverIp = ip;serverPort = port;}public void start() {System.out.println("客户端启动!");try (Socket socket = new Socket(serverIp, serverPort);BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true);Scanner scanner = new Scanner(System.in)) {while (true) {System.out.print("-> ");String request = scanner.nextLine();out.println(request);String response = in.readLine();System.out.println("服务器响应:" + response);}} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {TCPClient client = new TCPClient("127.0.0.1", 9090);client.start();}
}

相关文章:

前端了解到框架-网络复习

前端 HTML 超文本标记语言 画页面 各种各样的标签组成页面进行展示 桌面创建文本修改后缀即可 <!DOCTYPE html>: 声明文档类型和HTML版本。<html>: 根标签&#xff0c;所有其他标签都包含在内。<head>: 包含了文档的元数据&#xff0c;如字符编码、网页标…...

防火墙——网络环境支持

目录 网络环境支持 防火墙的组网 web连接上防火墙 web管理口 让防火墙接到网络环境中 ​编辑 管理员用户管理 缺省管理员 接口 配置一个普通接口 创建安全区域 路由模式 透明模式 混合模式 防火墙的安全策略 防火墙转发流程 与传统包过滤的区别 创建安全策略 …...

阅读笔记:明朝那些事儿之拐弯中的帝国

​万历皇帝时期内阁首辅&#xff1a; 张居正&#xff0c;申时行&#xff0c;王锡爵&#xff0c;许国&#xff0c;王家屏&#xff0c;赵志皋&#xff08;给皇帝写辞职信没有回音&#xff0c;自己不告而回家&#xff09;&#xff0c;沈一贯&#xff0c;于慎行&#xff0c;叶向高…...

React基础知识 精简全面 推荐

这篇博文主要对一些刚入门react框架的同学&#xff0c;以及对react基本知识进行巩固的&#xff0c;最后就是精简一下基本知识&#xff0c;以方便自己查看&#xff0c;感谢参考&#xff0c;有问题评论区交流&#xff0c;谢谢。 目录 1.JSX 2.Props 和 State 3.组件生命周期…...

OV SSL证书申请指南

OV SSL证书除了验证域名所有权外还需要验证组织信息&#xff0c;这类证书适用于对公司官网、品牌、安全性等有较高程度要求的企业级用户。具体申请流程如下&#xff1a; 一 、注册账号 注册账号填写230919注册码即可获得大额优惠券和全程一对一技术支持https://www.joyssl.co…...

变色树脂的变色原理?变色树脂在水处理中的应用?

变色树脂是一种具有特殊功能的高分子材料&#xff0c;能够在特定条件下改变其颜色&#xff0c;从而指示环境变化&#xff08;如pH值、温度、特定离子浓度等&#xff09;或反应进程。这类树脂通常含有能够响应特定刺激的化学结构&#xff0c;通过化学反应、离子交换、分子构象变…...

16 敏捷开发实践(1)

敏捷方法&#xff1a;是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法&#xff0c;是一种应对快速变化的需求的一种软件开发能力。 敏捷开发&#xff1a;是一种以人为核心、迭代、循序渐进的开发方法。 敏捷实践&#xff1a;精益软件开发&#xff08;LSD&#x…...

如何使用虚拟机如何安装 Kali Linux ?

1.下载虚拟机&#xff1a;https://www.virtualbox.org/wiki/Downloads 选择你的系统版本 2.下载kali linux系统镜像&#xff1a;https://www.kali.org/get-kali/#kali-virtual-machines 全部下载完成后&#xff0c;我们会得到以下文件&#xff01; 1.压缩Kali Linux压缩包 2.安…...

Yarn UI 时间问题,相差8小时

位置 $HADOOP_HOME/share/hadoop/yarn/hadoop-yarn-common-2.6.1.jar 查看 jar tf hadoop-yarn-common-2.6.1.jar |grep yarn.dt.plugins.js webapps/static/yarn.dt.plugins.js 解压 jar -xvf hadoop-yarn-common-2.6.1.jar webapps/static/yarn.dt.plugins.js inflated: we…...

【JavaWeb项目】——外卖订餐系统之登入、登入后显示餐品信息、用户注册、注销部分

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…...

怎么保护电脑文件夹?文件夹保护方法大盘点

文件夹是管理电脑数据的重要工具&#xff0c;可以有效避免数据混乱。而为了避免文件夹数据泄露&#xff0c;我们需要严格保护文件夹。下面我们就来盘点一下文件夹的保护方法。 文件夹隐藏 隐藏文件夹是一种简单有效的保护方式&#xff0c;通过隐藏文件夹来避免其他人发现&…...

Temporal(时效)模式01

Andy Carlson, Sharon Estepp, Martin Fowler 著&#xff0c;透明 译 抽象 在面向对象设计中&#xff0c;我们不断使用“对象”&#xff08;object&#xff09;这个词。对象不仅仅用来表现真实世界中存在的物件&#xff0c;它们也被用来表现那些曾经存在但已经消失了的物件&…...

C语言 -- 动态内存管理

C语言 -- 动态内存管理 1. 为什么要有动态内存分配2. malloc 和 free2.1 malloc2.2 free 3. calloc 和 realloc3.1 calloc3.2 realloc 4. 常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动…...

docker 篇

简单描述下&#xff0c;有时候真的要熟练&#xff0c;否者上了生产真的不知所措。 背景&#xff1a;有个项目上线了&#xff0c;依赖的项目没有上线&#xff0c;因此需要紧急发布&#xff0c;发现&#xff1a;打包环境有问题&#xff0c;第一、架构不一致&#xff0c;第二、环…...

汽车、能源、烟草、电力行业洞见:TDengine 用户大会亮点荟萃

近年来&#xff0c;随着物联网、车联网、工业互联网等前沿技术的迅猛发展&#xff0c;全球数据量呈指数级增长。作为大数据的一个重要组成部分&#xff0c;时序数据因其在实时监控、预测分析和智能决策中的独特优势&#xff0c;正逐步成为数字化转型的关键要素。尤其在 AI 时代…...

从零开始编写一个Chrome插件:详细教程

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…...

photoshop学习笔记——选区3 快速选择工具

快速选择工具 W shift W 在3种快速选择工具之间切换 对象选择工具 photoshop CC中没有这个工具&#xff0c;利用AI&#xff0c;将款选中的对象快速的提取选区&#xff0c;测试了一下&#xff0c;选区制作的非常nice快速选择工具 跟磁性套索类似&#xff0c;自动识别颜色相似…...

Centos7下安装配置最新版本Jenkins

1、基础环境配置 1.1 服务器下载Jenkins安装包 下载地址&#xff1a;Download and deploy 下载命令&#xff1a;wget https://get.jenkins.io/war-stable/2.452.3/jenkins.war 1.2 服务器安装配置JDK Jenkins 是基于 Java 语言开发的&#xff0c;因此需要 Java 运行环境支…...

c++ 构造函数与析构函数

本文参考菜鸟教程&#xff0c;仅作笔记用。 构造函数 构造函数&#xff08;Constructor&#xff09;是一种特殊的方法&#xff0c;用于在创建对象时进行初始化操作。构造函数的名称与类的名称是完全相同的&#xff0c;并且不会返回任何类型&#xff0c;也不会返回 void。在面…...

Lc63---1859将句子排序(排序)---Java版(未写完)

1.题目描述 2.思路 &#xff08;1&#xff09;首先将句子按空格分割成若干单词。 &#xff08;2&#xff09;每个单词的最后一个字符是它的位置索引。我们可以通过这个索引将单词恢复到正确的位置。 &#xff08;3&#xff09;按照单词的索引顺序排序这些单词。 &#xff08;4…...

centos7-8/redhat7-8一键安装配置vsftp服务

1.脚本介绍 1.1.介绍&#xff1a; linux下一键安装及配置vsftpd服务 &#xff0c;通过执行install.sh脚本&#xff0c;脚本会根据参数区域的值执行安装和配置vsftp服务&#xff0c;安装后会创建一个默认ftp用户wangxf密码wangxf2023 1、支持自定义安装(更改脚本内参数值) 2、…...

7月24日JavaSE学习笔记

序列化版本控制 序列化&#xff1a;将内存对象转换成序列&#xff08;流&#xff09;的过程 反序列化&#xff1a;将对象序列读入程序&#xff0c;转换成对象的方式&#xff1b;反序列化的对象是一个新的对象。 serialVersionUID 是一个类的序列化版本号 private static fin…...

微信小程序教程008:事件绑定

文章目录 事件绑定1、什么是事件2、小程序中常用事件3、事件对象的属性列表4、target和currentTarget的区别5、bindtap的语法格式6、在事件处理函数中为data中的数据赋值7、事件传参数8、bind:input语法格式9、实现文本框和data之间的数据同步事件绑定 1、什么是事件 事件是渲…...

企业级-实现Nginx的静态文件服务器映射

作者&#xff1a;fyupeng 技术专栏&#xff1a;☞ https://github.com/fyupeng 项目地址&#xff1a;☞ https://github.com/fyupeng/distributed-blog-system-api 留给读者 开发人员往往会经常需要通过浏览器下载文件、图片或者PDF或者缩略图等&#xff0c;这时候我们可以根据…...

CTF Web SQL注入 10000字详解

这里写目录标题 涉及的数据库知识unionorder bydatabase()information_schemalimit--空格注释replaceinto outfilelikeGROUP BYHAVINGGROUP BY、HAVING、WHERE之间的关系regexp 原理信息收集操作系统数据库判断注入点注入点类型POST注入数字型注入字符型注入搜索型注入Insert/u…...

动态SLAM:如何判断一个特征是动态特征(对极几何)

文章目录 1.什么是极线、极点和极面2.如何判断其为动态点特征3.如何判断其为动态线特征 1.什么是极线、极点和极面 由图可知&#xff0c;C1,C2,X(X1,X2)组成了一个三角平面&#xff0c;这个三角所在的平面就是极面 在这个极平面中&#xff0c;和成像平面相交的线是极线&#xf…...

【C++】初识C++基础篇·一(命名空间,函数重载,缺省参数,引用);

文章目录 前言1.输入与输出输出输入cin和scanf的对比 2.命名空间2.1namespace存在的意义2.2namespace的使用3.缺省参数4.函数重载重载函数的调用规则 5.引用 前言 我们先通过一段简单的代码来拉开C的序幕&#xff1b; //text.cpp #include<iostream> #include<stdio…...

2024年道路运输安全员考试题库及答案

一、判断题 1.国家制订《中华人民共和国道路交通安全法》的目的是为了维护道路交通秩序&#xff0c;预防和减少交通事故&#xff0c;保护人身安全&#xff0c;保护公民、法人和其他组织的财产安全及其他合法权益&#xff0c;提高通行效率。 答案&#xff1a;正确 2.依据《中…...

Linux Vim教程(十二):语法高亮与代码折叠

目录 1. 语法高亮 1.1 启用语法高亮 1.2 设置配色方案 1.3 自定义语法高亮 2. 代码折叠 2.1 启用代码折叠 2.2 设置折叠方法 2.3 手动折叠 2.4 基于缩进的折叠 2.5 基于语法的折叠 3. 案例 3.1 配置文件 3.2 编辑Python文件 3.3 使用折叠功能 4. 高级使用技巧 …...

JavaScript(18)——事件类型,事件对象

事件类型 鼠标事件&#xff1a; click&#xff1a;鼠标点击 mouseenter&#xff1a;鼠标经过 mouseleave&#xff1a;鼠标离开 焦点事件&#xff1a; focus&#xff1a;获得焦点 blur&#xff1a;失去焦点 键盘事件&#xff1a; Keydown&#xff1a;键盘按下触发 Keyup&#…...

有效组织离散变量:指针数组在C语言中的应用

把离散变量组织起来&#xff0c;访问起来更加方便&#xff0c;无需一个个变量单独赋值。 如modbus读写reg&#xff0c; 把a\b\c\d实时变化分散的变量组织成一个数组reg&#xff0c;方便获取 相当于变量的内存地址池 int main() {int a 10, b 20, c 30, d 40;int i;int *re…...

qt 应用正在运行时,如何更新升级exe文件

在Qt应用正在运行时&#xff0c;直接替换同名的.exe文件可能会导致文件正在使用中的错误。为了安全地更新.exe文件&#xff0c;你可以采取以下步骤&#xff1a; 创建一个临时的.exe文件。 等待当前.exe文件的进程关闭。 删除原有的.exe文件。 将临时.exe文件重命名为原有的.…...

git的rebase 和 merge 的区别

rebase 和 merge 的区别 Merge&#xff08;合并&#xff09;和 Rebase&#xff08;变基&#xff09;是 Git 中两种常用的分支整合方式&#xff0c;它们有不同的工作原理和适用场景&#xff1a; Merge&#xff08;合并&#xff09;&#xff1a; ● Merge 操作将两个分支的不同提…...

django基于大数据的电影推荐系统-计算机毕业设计源码71246

目 录 摘 要 1 绪论 1.1 选题背景与意义 1.2研究现状 1.3研究内容 1.4 开发环境 1.5论文结构与章节安排 2 相关理论和技术 2.1 协同过滤算法 2.2 B/S体系结构介绍 2.3 Python爬虫技术 2.4 Django框架介绍 2.5 MySQL数据库 3 电影推荐系统系统分析 3.1 可行性分析…...

reverse_re3-入土为安的第十天

一个迷宫题 shirtf12发现flag字样 点进去发现迷宫 675 应该是3 * 15*15 即有三个迷宫 shifte提取 import numpy as np# 你的数据&#xff08;长度应为 225 的倍数&#xff09; dword_202020 [1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,3,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,…...

fastapi之一

文章目录 安装运行HTTP 请求方法示例 POSTMAN 检验GETPOSTPUTDELETE HTTP 状态码示例GETPOST 综合示例POSTGETPUTDELETE 总结 安装 pip install fastapi或者 pip install fastapi -i https://mirrors.aliyun.com/pypi/simple上面两种方法均可以&#xff0c;选择一个即可&…...

【C语言报错已解决】Format String Vulnerability

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 在日常开发中&#xff0c;我们经常会遇到各种各样的bug&#xff0c;其中格式化字符串漏洞报错可能是最让人头疼的一种。这…...

关于一个简单的顺序表代码

1.首先是头文件SeqList.h的代码&#xff1a; #pragma once #include<stdio.h> #include<assert.h> #include<stdlib.h> typedef int SXBint; typedef struct SL {SXBint* a;int size;int capacity; }SLnode; //初始化 void SeqLsitInit(SLnode* ps); //尾插…...

【资料分享】2024第三届钉钉杯大学生大数据挑战赛B题思路解析+双语言代码

2024钉钉杯大学生大数据挑战赛&#xff0c;B题解题思路和双语言代码分享&#xff0c;资料预览&#xff1a;...

Typescript学习笔记(2.0)

ts编译选项 tsc app.ts -w 参数-w&#xff0c;就是对app.ts进行监视&#xff0c;每次该文件改变时就会自动编译 **:任意目录 *&#xff1a;任意文件 接口 接口用来定义一个类结构&#xff0c;用来定义一个类中应该包含哪些属性和方法&#xff0c;同时接口也可以当做类型…...

【IJHE】:微通道反应器中全氢二苄基甲苯脱氢产氢

Highlight 微通道反应器中全氢二苄基甲苯脱氢产氢两种不同反应器的比较&#xff1a;搅拌釜和连续微通道反应器连续微通道反应器是一种很有前途的脱氢技术 摘要: 本文对全氢二苄基甲苯作为液态有机氢载体从搅拌槽反应器转换为连续流微通道反应器进行脱氢进行了初步研究。与搅拌槽…...

Spring踩坑:抽象类作为父类,使用子类@Autowired属性进行填充,属性值为null

Spring踩坑&#xff1a;抽象类作为父类&#xff0c;使用子类Autowired属性进行填充&#xff0c;属性值为null Spring Boot中抽象类和依赖注入的最佳实践引言在抽象类中使用Autowired注解protected vs private修饰符低版本Spring Boot的注意事项 构造器中的依赖注入陷阱为什么不…...

C#网络连接:TCP/IP模式下的网络连接与同步

1&#xff0c;目的 为了测试局域网的消息同步&#xff0c;简单写了下TCP/IP模式的同步&#xff0c;参考这个帖子。 2&#xff0c;核心库部分 using System; using System.Net; using System.Net.Sockets; using System.Text;namespace Coldairarrow.Util.Sockets {/// <s…...

基于树莓派(Raspberry Pi) 的智能电表监测系统设计:集成 Home Assistant、SQLite 和 MQTT 协议

在全球对可持续发展和能源节约的关注日益加深的背景下&#xff0c;智能能源管理系统&#xff08;IEMS&#xff09;应运而生。该系统利用现代科技&#xff08;如物联网、云计算和大数据分析&#xff09;来优化能源使用&#xff0c;提高能效&#xff0c;降低能源成本。本文将详细…...

C语言程序设计(二)

四.找素数 素数&#xff1a;除了1和它本身不再有其他因数的自然数。换句话说&#xff1a;一个大于1的自然数 &#xff0c;如果只能被1和它本身整除&#xff0c;那就是素数&#xff08;质数&#xff09;。 在打印中遇到的问题就是&#xff0c;知道怎么写却总是运行不起来。主要…...

Oracle对数据库行和数据库的监控

前言&#xff1a; Oracle对表的监控分为数据行修改DML的监控、对表的DDL监控 1、对表的DML监控&#xff08;数据的增删改&#xff09; -- 创建测试表 create table tab_test01( id varchar2(100) default sys_guid(), name varchar2(100), insert_date date default sysdate…...

论文阅读:面向自动驾驶场景的多目标点云检测算法

论文地址:面向自动驾驶场景的多目标点云检测算法 概要 点云在自动驾驶系统中的三维目标检测是关键技术之一。目前主流的基于体素的无锚框检测算法通常采用复杂的二阶段修正模块,虽然在算法性能上有所提升,但往往伴随着较大的延迟。单阶段无锚框点云检测算法简化了检测流程,…...

Vite + Vue3 + TS项目配置前置路由守卫

在现代前端开发中&#xff0c;使用 Vue 3 和 TypeScript 的组合是一种流行且高效的开发方式。Vite 是一个极速的构建工具&#xff0c;可以显著提升开发体验。本文博主将指导你如何在 Vite Vue 3 TypeScript 项目中配置前置路由守卫&#xff08;Navigation Guards&#xff09;…...

设计模式-备忘录

备忘录&#xff08;Memento&#xff09;设计模式是为了保存对象当前状态&#xff0c;并在需要的时候恢复到之前保存的状态。以下是一个简单的C#备忘录模式的实现&#xff1a; // Originator 类&#xff0c;负责创建和恢复备忘录 class Originator {private string state;publi…...

openEuler安装docker,加速镜像拉取

文章目录 文章来源1.配置镜像源2.编辑配置文件3.安装想要的版本4. ~ 原神&#xff01;5.由于很多镜像无法拉取配置镜像源 文章来源 http://t.csdnimg.cn/zYDYy 原文连接 由于之前的仓库不让用且 1.配置镜像源 由于 国外的镜像仓库好多不让用 所以配置阿里的镜像源 yum-confi…...