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

②【Spring】一文精通:IOC - 基于XML方式管理Bean

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

IOC操作:基于XML管理Bean

  • 一、🚀【基于XML创建Bean】
    • - 依赖
    • - 组件类
    • - XML配置文件
    • - 测试
    • - 默认空参构造器
  • 二、🚀【bean的属性赋值(setter注入)】
    • - 组件类
    • - XML配置文件
    • - 测试
  • 三、🚀【引用外部已声明的Bean】
    • - 组件类
    • - XML配置文件
    • - 测试
  • 四、🚀【内部Bean】
    • - XML配置文件
    • - 测试
  • 五、🚀【Bean的级联属性赋值】
    • - XML配置文件
    • - 测试
  • 六、🚀【bean的属性赋值 (构造方法注入)】
    • - 组件类
    • - XML配置文件
    • - 测试
  • 七、🚀【为bean的属性赋 特殊值】
    • - 组件类
    • - XML配置文件
      • ⚪NULL值
      • ⚪XML实体
      • ⚪CDATA节
  • 八、🚀【使用p名称空间 赋值Bean属性】
    • - XML配置文件
  • 九、🚀【Bean的集合属性赋值】
    • - XML配置文件
      • ⚪单列集合
      • ⚪双列集合(Map集合)
  • 十、🚀【Bean的自动装配】
    • - 组件类
    • -XML配置文件
    • - 测试
  • 十一、🚀【集合类型的Bean】
    • -XML配置文件
  • 十二、🚀【Bean属性赋值:引入外部属性文件】
    • - 依赖
    • - 文件
    • - 测试




一、🚀【基于XML创建Bean】


- 依赖

准备: 创建maven过程,引入相关依赖
注:普通java工程,导入相关jar包也可。

    <dependencies><!-- 基于Maven依赖传递性,导入spring-context依赖即可导入当前所需所有jar包 --><!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.6.RELEASE</version></dependency><!-- junit测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>


- 组件类

1. 首先创建一个类

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-12 11:22*/
public class demo1 {public void doWork(){System.out.println("do.....work....");}}


- XML配置文件

2. 创建Spring的XML配置文件

在这里插入图片描述

在这里插入图片描述



3. 在配置文件中配置组件

  • bean标签:通过配置bean标签告诉IOC容器需要创建对象的组件是什么
  • id属性:bean的唯一标识
  • class属性:组件类的全类名
    <!-- 创建Bean --><!-- 通过配置bean标签告诉IOC容器需要创建对象的组件是什么 --><!-- id属性:bean的唯一标识 --><!-- class属性:组件类的全类名 --><bean id="demo1" class="com.haojin.ioc.demo.demo1"></bean>

注意:当多个不同id的bean指向同一个类型class时,会报异常

    <bean id="demo1" class="com.haojin.ioc.demo.demo1"></bean><bean id="demo11" class="com.haojin.ioc.demo.demo1"></bean>

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No
qualifying bean of type ‘com.haojin.ioc.demo.demo1’ available:
expected single matching bean but found 2: demo1,demo11



- 测试

4. 测试

  • 这里ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好

  • ClassPathXmlApplicationContext :通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象

  • 通过getBean()获取对象

  • getBean()获取对象的方式 :

  • 方式一:根据id获取

  • 方式二:根据类型获取

  • 方式三:同时根据id和类型获取

import com.haojin.ioc.demo.demo1;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author .29.* @create 2023-01-12 13:47*/
public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("demo1_bean.xml");@Testpublic void test1(){//通过getBean()获取对象://1.根据id获取demo1 demo1 = (demo1)context.getBean("demo1");//2.根据类型获取demo1 demo11 = context.getBean(demo1.class);//3.同时根据id和类型获取demo1 demo111 = context.getBean("demo1",demo1.class);demo1.doWork();demo11.doWork();demo111.doWork();System.out.println(demo1);System.out.println(demo11);System.out.println(demo111);}
}

在这里插入图片描述



- 默认空参构造器

注意:XML配置文件中bean标签创建对象默认调用空参的构造方法

无法调用到空参构造方法,将会报异常

org.springframework.beans.factory.BeanCreationException: Error
creating bean with name ‘demo1’ defined in class path resource
[demo1_bean.xml]: Instantiation of bean failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to
instantiate [com.haojin.ioc.demo.demo1]: No default constructor found;
nested exception is java.lang.NoSuchMethodException:
com.haojin.ioc.demo.demo1.<init>()





二、🚀【bean的属性赋值(setter注入)】


- 组件类

1. 组件类增加属性,准备Get,Set方法

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-12 11:22*/
public class demo1 {//添加的属性String str;//Get方法public String getStr() {return str;}//Set方法public void setStr(String str) {this.str = str;}public void doWork(){System.out.println("do.....work....");}
}


- XML配置文件

2. 通过property标签配置的属性值

  • property标签:通过组件类的setXxx()方法给组件对象设置属性
  • name属性:指定属性名(这个属性名是getXxx()、setXxx()方法定义的,和成员变量无关)
  • value属性:指定属性值
    <bean id="demo1" class="com.haojin.ioc.demo.demo1"><!-- property标签:通过组件类的setXxx()方法给组件对象设置属性 --><!-- name属性:指定属性名(这个属性名是getXxx()、setXxx()方法定义的,和成员变量无关) --><!-- value属性:指定属性值 --><property name="str" value="--这里是注入的内容--"></property></bean>
注入的属性值为:--这里是注入的内容--


- 测试

  1. 测试类中调用Get()方法,验证是否以及为属性赋值。
import com.haojin.ioc.demo.demo1;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author .29.* @create 2023-01-12 13:47*/
public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("demo1_bean.xml");@Testpublic void test1(){demo1 demo1 = context.getBean("demo1", demo1.class);String str = demo1.getStr();System.out.println(str);}
}

在这里插入图片描述





三、🚀【引用外部已声明的Bean】


- 组件类

1. 声明新的组件类

准备一个属性,以及Get() 和 Set() 方法
package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-13 16:16*/
public class demo2 {String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}

2. 原组件引用新组件

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-12 11:22*/
public class demo1 {//**********  原组件引用新组件  **********demo2 demo2;public com.haojin.ioc.demo.demo2 getDemo2() {return demo2;}public void setDemo2(com.haojin.ioc.demo.demo2 demo2) {this.demo2 = demo2;}//**********  原组件引用新组件  **********String str;public String getStr() {return str;}public void setStr(String str) {this.str = str;}public void doWork(){System.out.println("do.....work....");}
}


- XML配置文件

3. 新组件配置Bean

<bean id="demo2" class="com.haojin.ioc.demo.demo2"><property name="name" value="my name is demo2"> </property></bean>

4. 原组件Bean 引用 新组件Bean

  • ref 属性:通过 bean 的 id 引用另一个 bean
  • 注意:这里ref属性不能写成value属性,会报异常
    <bean id="demo1" class="com.haojin.ioc.demo.demo1"><property name="str" value="--这里是注入的内容--"></property><!--在原组件的 bean 中引用新组件的 bean--><!--ref 属性:通过 bean 的 id 引用另一个 bean--><property name="demo2" ref="demo2"></property></bean>


- 测试

5. 测试

import com.haojin.ioc.demo.demo1;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author .29.* @create 2023-01-12 13:47*/
public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("ioc_bean.xml");@Testpublic void test2(){//获取demo1对象demo1 demo1 = context.getBean("demo1", demo1.class);//通过demo1获取demo2对象及其属性String name = demo1.getDemo2().getName();System.out.println("demo2.name = " + name);}
}

在这里插入图片描述





四、🚀【内部Bean】


- XML配置文件

1. 重新配置XML文件,设置内部Bean

  • 在一个 bean 中再声明一个 bean 就是内部 bean
  • 内部 bean 可以直接用于给属性赋值,可以省略 id 属性
    <bean id="demo1" class="com.haojin.ioc.demo.demo1"><property name="str" value="--这里是注入的内容--"></property><!-- 在一个 bean 中再声明一个 bean 就是内部 bean --><!-- 内部 bean 可以直接用于给属性赋值,可以省略 id 属性 --><property name="demo2"><bean class="com.haojin.ioc.demo.demo2"><property name="name" value="this is 内部Bean赋值的demo2"/></bean></property></bean>


- 测试

2. 测试

import com.haojin.ioc.demo.demo1;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author .29.* @create 2023-01-12 13:47*/
public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("ioc_bean.xml");@Testpublic void test2(){//获取demo1对象demo1 demo1 = context.getBean("demo1", demo1.class);//通过demo1获取demo2对象及其属性String name = demo1.getDemo2().getName();System.out.println("demo2.name = " + name);}
}

在这里插入图片描述





五、🚀【Bean的级联属性赋值】


- XML配置文件

1. 配置关联对象的Bean

<bean id="demo2" class="com.haojin.ioc.demo.demo2"></bean>

2. 装配关联对象 赋值级联对象

-关联对象:demo2
-级联属性:demo2.name

    <bean id="demo1" class="com.haojin.ioc.demo.demo1"><!--装配关联对象--><property name="demo2" ref="demo2"></property> <!-- 对于demo1来说,demo2的name属性就是 关联对象的级联属性 --><property name="demo2.name" value="this is 级联属性赋值的demo2"></property></bean>


- 测试

3. 测试

import com.haojin.ioc.demo.demo1;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author .29.* @create 2023-01-12 13:47*/
public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("ioc_bean.xml");@Testpublic void test2(){//获取demo1对象demo1 demo1 = context.getBean("demo1", demo1.class);//通过demo1获取demo2对象及其属性String name = demo1.getDemo2().getName();System.out.println("demo2.name = " + name);}
}

在这里插入图片描述





六、🚀【bean的属性赋值 (构造方法注入)】


- 组件类

1. 准备一个新的组件类,含:构造器,Gettet,Setter,toString()

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-13 20:37*/
public class demo3 {private String name;private Integer age;private Double salary;public demo3(){}public demo3(String name, Integer age, Double salary) {this.name = name;this.age = age;this.salary = salary;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Double getSalary() {return salary;}public void setSalary(Double salary) {this.salary = salary;}@Overridepublic String toString() {return "demo3{" +"name='" + name + '\'' +", age=" + age +", salary=" + salary +'}';}
}


- XML配置文件

2. 配置组件类demo3的bean标签

  • 使用constructor-arg标签进行构造器注入
  • index属性 :指定参数所在位置的索引(从0开始)
  • name属性:指定参数名
  • 不指定 index 和 name 就按照构造器的参数顺序赋值
<bean id="demo3" class="com.haojin.ioc.demo.demo3"><constructor-arg index="0" name="name" value="zero"></constructor-arg><constructor-arg index="1" name="age" value="18"></constructor-arg><constructor-arg index="2" name="salary" value="29000.99"></constructor-arg></bean>


- 测试

3. 测试

import com.haojin.ioc.demo.demo3;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author .29.* @create 2023-01-12 13:47*/
public class testDemo1 {ApplicationContext context = new ClassPathXmlApplicationContext("ioc_bean.xml");@Testpublic void test3(){demo3 demo3 = context.getBean("demo3", demo3.class);System.out.println("demo3 = "+ demo3);}
}

在这里插入图片描述





七、🚀【为bean的属性赋 特殊值】

- 组件类

1. 设置一个类来演示 特殊值 的赋值

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-14 11:30*/
public class demo4 {String demoValue;String comment;public demo4() {}public demo4(String demoValue, String comment) {this.demoValue = demoValue;this.comment = comment;}public String getDemoValue() {return demoValue;}public void setDemoValue(String demoValue) {this.demoValue = demoValue;}public String getComment() {return comment;}public void setComment(String comment) {this.comment = comment;}@Overridepublic String toString() {return "demo4{" +"demoValue='" + demoValue + '\'' +", comment='" + comment + '\'' +'}';}
}


- XML配置文件

⚪NULL值

  • property标签:通过组件类的setXxx()方法给组件对象设置属性
  • null标签:将一个属性明确设定为null
  • name属性:指定属性名
    <bean id="demo4" class="com.haojin.ioc.demo.demo4"><property name="demoValue"><!-- null标签:将一个属性明确设定为null --><null/></property><property name="comment" value="这是一个空值"/></bean>

⚪XML实体

为什么使用XML实体?

在Spring配置文件中,">" "<" 等符号用于定义标签,不能随意用于赋值。
  • XML实体:
XML实体实体字符十进制表示十六进制表示
quot;"&#34;&#x22;
amp;&&#38;&#x26;
apos;'&#39;&#x27;
lt;<&#60;&#x3C;
gt;>&#62;&#x3E;
  • 例子
    <bean id="demo4" class="com.haojin.ioc.demo.demo4"><!-- "<" ">" 在XML文档中用来定义标签,不能随便使用 --><!-- 解决方案一:使用XML实体来代替 --><property name="demoValue" value="a &lt; b"/><property name="comment" value="b &gt; a"/></bean>

在这里插入图片描述


⚪CDATA节

  • CDATA中的C代表Character,是文本、字符的含义,CDATA就表示纯文本数据
  • XML解析器看到CDATA节就知道这里是纯文本,就不会当作XML标签或属性来解析
  • value标签:指定属性值
  • 使用方式 : <![CDATA[文本内容]]>
    <bean id="demo4" class="com.haojin.ioc.demo.demo4"><property name="demoValue"><value><![CDATA[a < b = c & ' "]]></value></property><property name="comment"><value><![CDATA[CDATA的演示]]></value></property></bean>

在这里插入图片描述





八、🚀【使用p名称空间 赋值Bean属性】


- XML配置文件

准备 :导入相关的 XML 约束,在 IDEA 的协助下导入:

  • xmlns:context="http://www.springframework.org/schema/context"
  • xmlns:p="http://www.springframework.org/schema/p"

导入完成:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
</beans>


使用 p 名称空间的方式可以省略子标签 property,将组件属性的设置作为 bean 标签的属性来完成。

使用方式: p:属性名=“属性值”

    <bean id="demo4" class="com.haojin.ioc.demo.demo4" p:demoValue="p名称空间命名的值" p:comment="省略了property标签"> </bean>

在这里插入图片描述



注意:刚开始 p:会爆红,需要根据IDEA提示,按下对应组合按键从而导入:

在这里插入图片描述





九、🚀【Bean的集合属性赋值】


- XML配置文件

⚪单列集合

  • list标签:准备一组集合类型的数据,给集合属性赋值
    <bean id="id" class="类目录"><property name="属性名"><!-- list标签:准备一组集合类型的数据,给集合属性赋值 --><list><value>member01</value><value>member02</value><value>member03</value></list></property></bean>

  • set标签:使用 set 标签也能实现list标签效果,同时附带去重功能
        <!-- 使用set标签也能实现list标签效果,只是附带了去重功能 --><set><value>member01</value><value>member02</value><value>member02</value></set>

  • array标签:使用 array 标签也能实现list标签效果
        <array><value>member01</value><value>member02</value><value>member02</value></array>


⚪双列集合(Map集合)

  • map标签 \ props标签
  • 给Map类型的属性赋值
        <map><entry key="财务部" value="张三"/><entry key="行政部" value="李四"/><entry key="销售部" value="王麻子"/></map>

&

        <props><prop key="财务部">张三</prop><prop key="行政部">李四</prop><prop key="销售部">王麻子</prop></props>




十、🚀【Bean的自动装配】


自动装配:当一个组件需要其他组件时,由 IOC 容器负责找到那个需要的组件,并装配进去。

- 组件类

1. 准备两个组件类 controller 和 service(随意命名)

controller组件:

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-16 14:30** 用来演示IOC容器的自动装配*/
public class controller {service service;public service getService() {return service;}public void setService(service service) {this.service = service;}
}

service组件:

package com.haojin.ioc.demo;/*** @author .29.* @create 2023-01-16 14:30** 用来演示IOC容器的自动装配*/
public class service {
}
controller类中包含service类型的属性及其Getter和Setter;
controller组件自动装配时,IOC容器负责找到service组件,并装配进去。


-XML配置文件

2. 使用bean标签autowire属性设置自动装配

  • 自动装配效果有byTypebyName
    <!--配置service组件的Bean--><bean id="service" class="com.haojin.ioc.demo.service"></bean><!--配置controller组件的Bean,使用autowire属性自动装配--><bean id="controller"class="com.haojin.ioc.demo.controller"autowire="byName"></bean>

注意

1、byType表示根据类型进行装配,此时如果类型匹配的bean不止一个,那么会抛NoUniqueBeanDefinitionException;

2、byName表示根据bean的id进行匹配。而bean的id是根据需要装配组件的属性的属性名来确定的;



- 测试

3.使用测试类,验证自动装配效果。

public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("ioc_bean.xml");@Testpublic void testAutowire(){controller controller = context.getBean("controller", controller.class);service service = controller.getService();System.out.println("service = " + service);}
若结果为null,说明没有装配成功

在这里插入图片描述





十一、🚀【集合类型的Bean】


-XML配置文件

  • 使用util:list标签及其内部的多个bean标签为集合属性赋值
  • 规律:util:list标签中多个bean标签的class属性及name属性一致
<util:list id="集合的id"><bean class="集合所在的类目录"><property name="集合的属性名" value="machineOne"/></bean><bean class="集合所在的类目录"><property name="集合的属性名" value="machineTwo"/></bean><bean class="集合所在的类目录"><property name="集合的属性名" value="machineThree"/></bean>
</util:list>
给bean的属性赋值:集合属性




十二、🚀【Bean属性赋值:引入外部属性文件】


- 依赖

1. 导入连接数据库相关的依赖

        <!-- MySQL驱动,注:版本不匹配会出现异常 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version></dependency><!-- 数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.31</version></dependency>


- 文件

2. 在配置bean时,引入外部属性文件

  • 外部属性文件jdbc.properties
jdbc.username=root
jdbc.password=abc123
jdbc.url=jdbc:mysql://localhost:3306/school?serverTimezone=UTC
jdbc.driver=com.mysql.cj.jdbc.Driver
mysql 8.0及以上版本,需要用驱动器 : com.mysql.cj.jdbc.Driver

  • XML配置文件
    <!--引入外部属性文件--><context:property-placeholder location="classpath:jdbc.properties"/><!--bean标签和property标签读取外部属性文件--><bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="url" value="${jdbc.url}"/><property name="driverClassName" value="${jdbc.driver}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean>


- 测试

3. 在测试类中,尝试通过bean获取数据库连接

public class testDemo1 {//ApplicationContext方式实现IOC容器,在配置文件被读取时,就会将类的对象创建好//ClassPathXmlApplicationContext 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象ApplicationContext context = new ClassPathXmlApplicationContext("ioc_bean.xml");@Testpublic void testSQL() throws SQLException {DruidDataSource dataSource = context.getBean("druidDataSource", DruidDataSource.class);Connection connection = dataSource.getConnection();System.out.println("connection = " + connection);}

在这里插入图片描述

成功获取连接


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

mysql 批量update sql_批量更新sql |批量update sql

zencart批量更新后台邮箱地址sqlzencart批量更新后台邮箱地址sql UPDATE configuration SET configuration_value 新邮箱地址 WHERE configuration ...MySql update inner join&#xff01;MySql跨表更新 多表update sql语句&#xff1f;如何将select出来的部分数据update到另…...

云原生数据库-Amazon RDS

Amazon RDS————只需单击数下&#xff0c;即可在云中设置、运行和扩展关系数据库。 Amazon RDS文章目录传统数据库的痛点为什么要选择Amazon RDSRDS的核心优势易于使用的托管部署多可用区部署快速、可预测的存储备份和恢复高可用性和只读副本监控和指标隔离和安全VPC中使用数…...

MTK A/B system说明及配置

1. 1.MTK A/B system说明及配置 1.1. A/B system updates Android从7.0开始引入新的OTA升级方式&#xff0c;A/B System Updates&#xff0c;我们先看看A/B system updates和我们常规的OTA升级有什么不同 1.1.1. AB模式和常规模式的区别 传统OTA&#xff1a;设备上有一个And…...

破解各种常用密码(转)

网管员在维护和使用电脑时&#xff0c;经常会遇到各种密码丢失的问题&#xff0c;在我们的赛迪网技术社区中恰好有这样一篇帖子:网管员必知&#xff1a;常用电脑密码破解&#xff0c;专门为广大网管员准备了一些破解密码的方法&#xff0c;但是希望大家不要干坏事哦。开机密码是…...

iOS获取设备的序列号,自定义名,设备名,手机版本号,手机序列号,,手机型号,地方型号,当前App名称,App版本号......

刚刚在网上搜索到的,在此记录一下.便于以后使用: //手机序列号 NSString* identifierNumber [[UIDevice currentDevice] uniqueIdentifier]; NSLog("手机序列号: %",identifierNumber); //手机别名&#xff1a; 用户定义的名称 NSString* userPho…...

GitLab ARM64源码在信创统信UOS下的搭建

版权声明:本文由神州数码云基地团队整理撰写&#xff0c;若转载请注明出处。 简介 GitLab 是⼀个主要由 Ruby on Rails 语⾔开发的开源应⽤程序&#xff0c;实现⼀个⾃托管的 Git 项⽬ 仓库&#xff0c;可通过 Web 界⾯进⾏访问和管理&#xff0c;简⽽⾔之就是⼀个可以私有化…...

SQL update join用法

SQL update join语法介绍 在工作中&#xff0c;我们会碰到一种这样场景&#xff1a; 表A为订单信息表、B为订单操作日志表&#xff0c;假设业务系统产生BUG&#xff0c;导致A表的订单数据有一部分更新失败。 需求&#xff1a;我们需要批量修复表A中的订单信息。 业务开发的…...

mysql update的用法_SQL语句详解:MySQLupdate的正确用法_MySQL

以下的文章主要介绍的是MySQL update 语句的实际用法&#xff0c;我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案&#xff0c;以下就是文章的详细内容描述&#xff0c;望你看完之后会有收获。单表的MySQL UPDATE语句&#xff1a;UPDATE [LOW_PRIORITY] [I…...

社团活动之“996工作制”

关于996制度的对立面讨论1、作为企业管理者2、作为企业员工1、作为企业管理者 1.提高企业效益&#xff0c;加速发展 2.能取得更高的效率&#xff0c;提升在市场中的竞争力 3.国内行业竞争激烈&#xff0c;不实行996可能被淘汰 4.提高单名员工工作时间&#xff0c;可将收支比…...

高斯消去法,列主元法,LU分解法python程序

计算方法作业&#xff0c;在已给matlab 程序基础上&#xff0c;进行修改得到的python程序。 1.高斯消去法&#xff1a; import numpy as np #注意本程序只对A矩阵为n*n的有效 A np.array([[10,-7,0,1],[-3,2.099999,6,-2],[5,-1,5,-1],[2,1,0,2]]) b np.array([[8],[5.9000…...

GIS数据与CAD数据间带属性字段互相转换还原工具,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题

GIS数据与CAD数据间带属性字段互相转换还原工具&#xff0c;解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题 当shapefile、mdb、gdb等格式的GIS数据&#xff0c;需要转换成dwg格式数据在CAD、CASS等软件中进行图形编辑&#xff0c;之后再转回GIS数据&#xff0c;如…...

MySQL insert or update sql

MySQL 一条 sql 实现数据保存变更 insert or update &#xff0c;如果没有执行insert&#xff0c;有就update 需要 有主键 PRIMARY 或 唯一索引 UNIQUE MySQL中的INSERT ... ON DUPLICATE KEY UPDATE语句&#xff0c;该语句是基于唯一索引或主键使用 ON DUPLICATE KEY UP…...

微信PC版重磅更新!2个困扰多年的大麻烦,这次终于解决了

点击上方“民工哥技术之路”选择“星标”每天10点为你分享不一样的干货前段时间微信刚刚发布重大升级策略&#xff1a;一时间&#xff0c;网友们众说纷纭&#xff1a;腾讯于近日全新发布微信2.7.1 PC正式版&#xff0c;版本号为&#xff1a;2.7.1.82 。PC 微信2.7.1已经内测很长…...

JSP向数据库插入数据(简单注册功能)

这篇博客为大家讲述&#xff0c;如何从jsp页面中注册一个账号&#xff0c;并插入到数据库。 首先在school数据库下建立user表,字段如下&#xff1a; 然后&#xff0c;创建web项目&#xff0c;搭建环境如下&#xff1a; 然后就开始我们的代码了。 1.首先把BaseDao.java粘贴到c…...

线性表设计与实现

文章目录线性表定义数学定义性质线性表操作线性表的顺序存储结构插入元素算法获取元素算法删除元素算法特点线性表的链式存储结构表头节点数据节点尾结点链表领域技术推演传统链表Linux内核链表企业通用链表分类单链表双链表循环链表特点线性表 定义 有顺序且有限的相同类型的…...

Synopsys EDA Tools 安装问题记录

目录 引言 平台 安装教程推荐 问题记录 Ubuntu 20.4系统下安装&#xff08;未成功&#xff09; 1、ERROR: XXX .tgz failed md5sum validation 问题描述 问题解决 2、bash: ./lmhostid: No such file or directory 3、hostname获取 4、license破解出问题 Ubuntu 16…...

运行维护管理制度

1、总则 第一条 为保障公司信息系统软硬件设备的良好运行&#xff0c;使员工的运维工作制度化、流程化、规范化&#xff0c;特制订本制度。 第二条 运维工作总体目标&#xff1a;立足根本促发展&#xff0c;开拓运维新局面。在企业发展壮大时期&#xff0c;通过网络、桌面、系…...

全开源免费的客服系统来了

about CRMChat是采用Swoole4Tp6RedisVueMysql开发的独立高性能客服系统&#xff0c;客服系统用户端支持Pc端、移动端、小程序、文章中接入客服&#xff0c;利用超链接、网页内嵌、二维码、定制对接等方式让网上所有通道都可以快速通过本系统联系到商家&#xff0c;商家端支持P…...

一级造价工程师(安装)- 计量笔记 - 第二章第四节辅助项目

1、蒸汽吹扫应以大流量蒸汽进行吹扫&#xff0c;流速不应小于&#xff08;C、30&#xff09;m/s。 蒸汽吹扫应以大流量蒸汽进行吹扫&#xff0c;流速不应小于30m/s。 2、DN&#xff1e;600mm的液体或气体管道&#xff0c;宜采用的清洗方法为&#xff08;人工清理&#xff09;。…...

【vue脚手架安装-@vue/vli】

vue脚手架安装-vue/vli全局安装create-react-app下载慢切换至taobao镜像创建项目运行项目查看安装版本全局安装create-react-app npm i -g vue/cli下载慢切换至taobao镜像 使用nrm,nrm 是一个 npm 源管理器&#xff0c;允许你快速地在 npm源间切换。 1.安装nrmnpm i -g nrm 2…...

主从复制

一、什么是主从复制? 主从复制&#xff0c;是用来建立一个和主数据库完全一样的数据库环境&#xff0c;称为从数据库&#xff1b;主数据库一般是准实时的业务数据库。 二、主从复制的作用 1、架构的扩展&#xff1a;业务量越来越大&#xff0c;I/O访问频率过高&#xff0c;…...

box2d 获得碰撞冲量

Box2D教程1-创建碰撞世界Box2D教程2-鼠标交互Box2D教程3-刚体绑定外观Box2D教程4-复杂刚体的复杂外观Box2D教程5-碰撞检测源码下载 Box2DTutorial06CheckCollisionStrength.zip (403.5 KB, 下载次数: 132) 两个物体产生碰撞的时候&#xff0c;除了检测是否碰撞了&#xff0c;很…...

阿里云域名购买至备案流程

1、阿里云注册 https://www.aliyun.com/activity/daily/bestoffer?userCodeltzg7p3k 注册&#xff0c;用户名、密码、手机号。 2、账户认证 下载阿里云app&#xff0c;使用注册的用户名登录 pc端登录阿里云账户&#xff0c;点击实名认证&#xff0c;选择实名认证方式。备…...

java计算机毕业设计户籍管理系统设计源码+数据库+系统+lw文档+mybatis+运行部署

java计算机毕业设计户籍管理系统设计源码数据库系统lw文档mybatis运行部署 java计算机毕业设计户籍管理系统设计源码数据库系统lw文档mybatis运行部署本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse…...

2021年度关键词-ICT网络基础设施建设

元旦 四季新元旦&#xff0c;万寿初春朝 HAPPY NEW YEAR 岁月流转&#xff0c;时光飞逝&#xff0c;转眼间2021年即将成为过去。过去一年&#xff0c;在季冠全部员工的努力下&#xff0c;闪星服务已经成为多家分支型机构提供高品质ICT技术服务&#xff0c;受到一众好评的同时…...

ORA-00904 ID 标识符无效 解决方案

msg&#xff1a;"数据访问异常" dev&#xff1a;"ORA-00904&#xff1a;"ID"&#xff1a;标识符无效 ORA&#xff1a;即 Oracle 报错。 标识符无效是因为&#xff1a;SQL语句中&#xff0c;列名&#xff08;ID&#xff09;不在表中。解决方案&#x…...

Cyclic Nacklace HDU - 3746 (kmp最小循环节)

题意&#xff1a;现在给你一个字符串&#xff0c;请问在该字符串末尾最少添加多少个字符&#xff0c;可以让这个字符串获得重复循环序列。 AC代码&#xff1a; #include <iostream> #include <cstring> using namespace std; const int maxn1e65; int nxt[maxn],…...

手机序列号和IMEI号的区别

手机序列号&#xff1a; SN码是Serial Number的缩写&#xff0c;有时也叫SerialNo&#xff0c;也就是产品序列号&#xff0c;产品序列是为了验证“产品的合法身份”而引入的一个概念&#xff0c;它是用来保障用 户的正 版权益&#xff0c;享受合法服务的&#xff1b;一套正版的…...

SQL(结构化查询语言)简介

一、结构化查询语言简介 结构化查询语言(Structured Query Language)简称SQL, 是操作和检索关系型数据库的标准语言&#xff0c;20世纪70年代由IBM公司开发&#xff0c;目前应用于各种关系型数据库。 二、SQL的发展 1974年首次提出&#xff0c;当时叫SEQUEL 1980年改名为SQ…...

Android 8、Android 9获取手机序列号的兼容写法

随着Android 版本的更新&#xff0c;获取手机序列号的方式也有所不同。最近在工作中看到了&#xff0c;查阅资料在这里总结下。 一、获取序列号兼容写法 public class MainActivity extends AppCompatActivity {private static final String TAG MainActivity.class.getSimple…...

时间序列模型——AR、MA、ARMA、ARIMA

这里写目录标题时间序列模型自回归模型差分与非平稳序列差分检验不平稳移动平均模型移动平均法MA模型ARMA模型ARIMA建模方法时间序列模型 常用的时间序列模型有四种&#xff1a;自回归模型 AR( p )、移动平均模型 MA(q)、自回归移动平均模型 ARMA(p,q)、自回归差分移动平均模型…...

[Vue]缓存路由组件 activated()与deactivated()

前言 系列文章目录&#xff1a; [Vue]目录 老师的课件笔记&#xff0c;不含视频 https://www.aliyundrive.com/s/B8sDe5u56BU 笔记在线版&#xff1a; https://note.youdao.com/s/5vP46EPC 视频&#xff1a;尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 文章目录前言1. 缓存…...

MogaFX—美元正在升值吗?价格什么时候下跌?

按照通俗的逻辑&#xff0c;人们无法理解&#xff0c;在非正式MogaFX汇率下降的同时&#xff0c;价格保持不变或上涨。 如果说有一个问题一直存在于古巴的公共舞台上&#xff0c;原因不言而喻&#xff0c;那就是美元的非正式汇率和包括国家市场在内的市场价格的飞涨。但为什么如…...

java基础代码

package com.sxf; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; public class Demo { public void say(){ S...

linux-网卡名字说明_基本网络配置_修改MTU值

1. 网卡名字 1. 网卡名称规则 centos6之前基于传统的命名方式如&#xff1a;eth1、eth0...centos7提供了不同的命名规则&#xff0c;默认是基于固件、拓扑、位置信息来分配的&#xff0c;这样做的优点是命名是全自动的&#xff0c;可以预知的。2. 配置回归传统命名方式 &#…...

SVN Lock

Today when i was using svn, i found that the files under the directory created by me is read-only and can not be updated by myself, i search the internet and the help document of svn, at last i found the solution:as the above figure shows,click the SVN G...

DM6437的学习过程

一、DM6437的概述 关于视频处理方面&#xff0c;DM6437有很大的优势&#xff0c;DM6437包括一个视频处理子系统(VPSS)&#xff0c;带2个可配置的视频/图像外设&#xff1a;一个视频处理前端VPFE用于视频捕捉&#xff0c;一个视频处理后端VPBE用于视频输出。 VPFE包括1个CCDC(CC…...

K-近邻算法(史诗级干货长文)

本文转自非常优秀的一位博主&#xff1a;Jack-Cui : http://blog.csdn.net/c406495762 一 简单k-近邻算法 本文将从k-邻近算法的思想开始讲起&#xff0c;使用python3一步一步编写代码进行实战训练。并且&#xff0c;我也提供了相应的数据集&#xff0c;对代码进行了详细的注…...

MT6735 8.1 Secure Boot 签名

目录 1.生成私钥&#xff1a; 2.生成公钥&#xff1a; 3.拷贝私钥到da 4.生成CHIP_TEST_KEY.ini&#xff1a; 5.生成oemkey.h&#xff1a; 6.编译DA: 7.DA签名: 8.修改系统&#xff1a; 8.1 把生成的oemkey.h 替换 8.2 修改 8.3 把生成的CHIP_TEST_KEY.ini文件替换 …...

微服务组件之Hystrix

目录Hystrix熔断器服务端降级演练客户端降级演练全局降级方法解耦熔断降级总结Hystrix熔断器 在微服务架构中&#xff0c;当某个服务不可用&#xff0c;或出现故障&#xff0c;可能会导致调用它的服务线程等待&#xff0c;严重的出现多个服务阻塞&#xff0c;引发连锁的雪崩效…...

GBase 8c 分布式核心技术—CDC数据同步

数据库系统作为企业IT基础设施中的重要组件&#xff0c;其稳定性与可用性是上层系统运行的必要基础。并且随着数字化发展&#xff0c;大量的核心业务对于城市级别容灾提出了更高的要求。作为一款分布式数据库&#xff0c;GBase 8c可轻松实现例如两地三中心架构的集群异地灾备。…...

智能家居——设计模式引入

一、什么是设计模式&#xff1f; 前任设计经验的总结&#xff0c;具有稳定性强、拓展性强、容易理解的一些列编程思想和经验。设计模式一共有23种&#xff0c;项目只运用到了工厂模式。 二、什么是类和对象&#xff1f; 类是一种用户自定义的引用数据类型&#xff08;模板&a…...

Qt for Android获取手机序列号/手机型号/手机制造商

前言 Qt for Android 获取手机型号/手机制造商/手机序列号,这些是要通过 Android 原生接口才能获取到的, 那么在 Qt 项目中通过 jni 接口调用 Android 原生接口来获取相应的值,之前已经写文章详细介绍如何在 Qt 工程中添加 java 文件然后实现 Android 接口的调用,在这里.那么这…...

JAVA中0 结果_1. 在 JAVA 语言中 , 下列代码的输出结果是(选一项) public static void main(String args[]){ int i,j=0; for(i=1

【简答题】从工艺原理和化学反应角度分析比较催化裂化汽油、柴油与焦化汽油、柴油及直馏汽油、柴油的化学组成和质量特点,要求说明不同工艺过程所得汽油柴油在组成和质量方面差别的根本原因。【简答题】催化裂化分馏塔、 延迟焦化分馏塔与 常压精馏塔有哪些异同点?【简答题】为…...

ABBYY FineReader PDF for Mac(多功能PDF转换工具)

FineReader PDF for Mac可以提高工作流程的效率&#xff0c;先进的PDF和文档转换OCR软件。 将PDF、文档图像和扫描件转换成DOCX、XLSX、RTF、ODT等格式。 ABBYY FineReader PDF for Mac安装包...

机房网络结构

机房网络结构&#xff0c;供参考...

OSSIM开源安全信息管理系统(十五)

2021SCSDUSC 目录五、OSSIM关联分析的部分源代码分析1、sim-directive.c1.1、初识 glib1.2、glib 基本类型定义1.3、glib 函数1.4、源码分析五、OSSIM关联分析的部分源代码分析 OSSIM系统中&#xff0c;关联分析部分源码目录&#xff1a;\ossim\alienvault-ossim\src\alienvau…...

php怎么修改后台目录,opencart如何更改后台目录要重装变更网址

opencart的系统设定档(config.php)有两个分别在admin和根目录下,里面记录了一些程式目录的位置和网站的网址以及资料库的连线资料,如果要更换主机或资料库都可以从这里先处理,会省下蛮多时间的,下面提供几个常会用到的应用方式更换后台目录(admin)名称如果我们要变更后台的目录…...

sql update left join

UPDATE b SET b.Address a.ADDRESS ,b.lot a.lot ,b.lat a.lat FROM VisitPharmacy_StoreLocation aLEFT JOIN Pharmacy b ON a.PharmacyID b.PharmacyID...

batchupdate写法_批量更新sql_批量update_sql(Batch update sql_ batch update_sql).doc

批量更新sql_批量update_sql(Batch update sql_ batch update_sql)批量更新sql_批量update_sql(Batch update sql_ batch update_sql)批量更新SQL |批量更新SQL以下使用于MySQL更新tepoi&#xff0c;PINF集tepoi。x Pinf。外汇&#xff0c;tepoi y pinf.fy。在tepoi。PID pi…...

表哥月薪22k+,而我还在混日子……

指缝太宽&#xff0c;时光太瘦。转眼间&#xff0c;似乎真的到了该说再见的时候了。 这段充满欢笑&#xff0c;充满浪漫&#xff0c;充满豪情壮志&#xff0c;也充满酸涩与淡淡忧郁的Python学习生活。 表哥活成了我羡慕的样子 来学习Python是表哥强烈安利的&#xff0c;他19…...

ISCSLP 2022 Program|希尔贝壳邀您参加第十三届中文口语语言处理国际会议

第十三届中文口语语言处理国际会议将于2022年12月11-14日&#xff08;本周日~下周三&#xff09;正式开启&#xff0c;本次会议中的部分Session将通过语音之家视频号进行线上直播&#xff0c;欢迎大家参加&#xff01; 官网&#xff1a;www.iscslp2022.org 大会简介 中文口语…...

matlab无限维空间程序,最大方差展开 Maximum Variance Unfolding 降维算法

__MACOSX._mvu2012mvu2012._.DS_Store._INSTALL.txt._distance.m._getnearestmem.m._mvu.m._mvuIncXL.mfastMVU._.DS_Store._computegr.c._computegr.mexw32._conformal3._distance.m._fastmvu.m._fastmvudemo.m._genswissroll.m._helperfunctions._hill_obj.m._hillclimber2c...

【QML】qml动画机制总结

一、引言 使用Qml进行项目开发时&#xff0c;往往需要控制一个显示控件的x&#xff0c;y&#xff0c;z三轴的坐标值&#xff0c;旋转&#xff0c;缩放&#xff0c;变化等。这些效果可以使用QML的动画类型进行实现。 本文总结qml的动画机制&#xff0c;重点记录qml动画机制的主…...

android手机界面分区,Android手机fastboot 刷机命令(示例代码)

简介&#xff1a;在安卓手机中fastboot是一种比recovery更底层的模式。fastboot是一种线刷&#xff0c;就是使用USB数据线连接手机的一种刷机模式。这种模式是更接近于硬件的界面&#xff0c;所以这个模式一般好似在手机变砖或者修复时使用的。今天就说说fastboot的详细教程。一…...

leetcode题解--28实现 strStr()

题目链接&#xff1a; 力扣https://leetcode-cn.com/problems/implement-strstr/ 题目描述&#xff1a; 实现 strStr() 函数。 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串出现的第一个位置&#xff08;下标从 0 开始&…...

挽救失足AI,不能光靠打骂 | 清华复旦新研究

Alex 衡宇 发自 凹非寺量子位 | 公众号 QbitAI好多研究都发现&#xff0c;AI这家伙好不害臊&#xff0c;竟也学会性别歧视了。这可咋整&#xff1f;最近&#xff0c;清华&复旦的一项研究为此给出建议&#xff1a;要想把失足AI从性别歧视这条路上拽回来&#xff0c;一顿臭骂…...

游戏建模有哪些基础知识?

文章目录第一 &#xff1a;学3d建模需要美术基础&#xff0c;但是不代表现在就需要美术基础第二&#xff1a;没有学不好的3D建模&#xff0c;只有不会学的人第一 &#xff1a;学3d建模需要美术基础&#xff0c;但是不代表现在就需要美术基础 很多朋友想学3d建模&#xff0c;但…...

时序图在线工具

在线工具:在线时序图 PS 开源的各类流程图 https://app.diagrams.net/...

⚡通信管理模块⚡

目录 &#x1f333;.通信管理模块的介绍 &#x1f333;.通信模块的设计 &#x1f333;.ListShow函数 &#x1f333;.UpLoad函数 &#x1f333;.DownLoad函数 下载的断点续传 &#x1f333;.通信管理模块的介绍 通信管理模块管理着服务器与浏览器之间的通信: 当服务器收…...

问题 A: 增量幻境

哎&#xff01;这几天因为选队友的问题。搞的我心烦意乱&#xff0c;加上还要去完成老师布置的任务&#xff0c;烦死了。 题目&#xff1a;问题 A: 增量幻境 总结&#xff1a;这题先找到第一个s[i]<s[i-1],那么这时侯考虑的就是将s[i-1]-1,然后后面再全部为9&#xff0c;就…...

太虚幻境 文/江湖一劍客

一场寂寞凭谁诉&#xff1f; 算情人&#xff0c;总轻负。 风流雨打风吹去&#xff0c;可有系人心处。 日日思量&#xff0c;攒眉千百度。 而今识得杨柳叶&#xff0c;休管人生真与虚。 江湖一劍客 杭州 2018.12.22 冬至...

由“从按下回车到网页显示”粗谈网页优化

图为百度console.log中的信息。 注 水平有限&#xff0c;望批评指正。 前言 从开始做uikoo9.com开始&#xff0c;一直想怎怎么优化&#xff0c;版本也一直在迭代&#xff0c; 现在终于有点雏形&#xff0c;最近开始思考怎么能让一个网页最快的展现在用户眼前&#xff0c; 想…...

针对百度的常规网页优化策略

非常实用的优化策略&#xff0c;希望大家都能掌握 网站结构&#xff1a;为了方便蜘蛛爬行和抓取网页&#xff0c;栏目导航和目录的层次应清楚明了且相互联系。常常生成网站地图(按照一定格式列出网站所有栏目和链接的文件)。  网页设计时候&#xff1a;HTML代码要精简&#xf…...

网页title如何优化

网页title如何优化&#xff1f;我相信稍微有点网站SEO优化的朋友都知道&#xff0c;内容对于一个网站来说是有分厂重要的地位&#xff0c;通过网页内容文章的相关关键词来搜索访问网站&#xff0c;当大家在浏览了你这篇文章就有了解更多的内容的希望&#xff0c;那么你的网站就…...

如何使用js懒加载图片|如何使用jquery.lazyload.js|网页优化|如何提高网页加载速度

http://blog.sina.com.cn/s/blog_533587770101hefn.html (2013-08-15 10:02:17) 转载▼ 标签&#xff1a; js懒加载图片 如何使用js懒加载图片 如何提高网页加载速度 js爱特效 怎么提高网页加载速度 分类&#xff1a;js 如何使用js懒加载图片 js懒加载图片简介&#xff1a;如…...

前端性能优化(四)——网页加载更快的N种方式

网站前端的用户体验&#xff0c;决定了用户是否想要继续使用网站以及网站的其他功能&#xff0c;网站的用户体验佳&#xff0c;可留住更多的用户。除此之外&#xff0c;前端优化得好&#xff0c;还可以为企业节约成本。那么我们应该如何对我们前端的页面进行性能优化呢&#xf…...

Nginx网页优化(版本、缓存时间、日志分隔、连接超时)

文章目录前言&#xff1a;一、Nginx版本隐藏优化1.1 Nginx隐藏版本号1.2 Nginx隐藏版本号二、Nginx用户与组优化2.1 修改主配置文件指定用户和组三、配置Nginx网页缓存优化3.1 Nginx网页缓存3.2 Nginx网页缓存配置&#xff08;实验&#xff09;四、Nginx 日志分隔优化4.1 Nginx…...

网页代码优化

<title>标题 <meta keywords> 关键词 <meate description>网页描述 语义化代码 H1~H6标签多用于标题 UL标签多用于无序列表 OL标签多用于有序列表 DL标签用于定义数据列表 em、strong表示强调<a>标签<h1>标签,标题用h1标签 <p>标签与 <…...

Apache网页与安全优化

Apache网页与安全优化一、Apache网页优化概述二、网页压缩1、检查是否安装mod_ deflate 模块2、如果没有安装mod_deflate 模块&#xff0c;重新编译安装 Apache 添加 mod_deflate 模块3、配置 mod_deflate 模块启用4、检查安装情况&#xff0c;启动服务5、测试 mod_deflate 压缩…...

常用优化网页加载速度方法

许多研究发现&#xff0c;页面速度和访客的滞留时间&#xff0c;跳出率以及收入都有直接的关系。另外&#xff0c;谷歌的排名算法中也把页面加载速度作为其中一项考虑因素。因此&#xff0c;你网站的页面加载时间是至关重要的。从访问者的角度看&#xff0c;测试你的浏览器速度…...

App中WebView网页加载优化实战干货

一、背景 移动App内嵌网页是实现快速开发上线,已经成为常规业务活动主流方案,但摆在面前的事实是,网页的加载性能和体验都不如Native效果好也是公认的,那么有没有一些优化可以达到或接近Native效果呢? 二、业界常见方案 1, 一个加载网页的过程中,native、网络、后端处…...

网页图片优化

作为网页的基本元素&#xff0c;图片是影响页面加载速度的关键因素之一。和图片相关的网站优化技术有 CSS Sprites&#xff08;图片合并&#xff09;、延迟加载、图片渐进增强等等。下面向大家分享网页图片优化的一些优秀工具和技巧。 TinyPNG TinyPNG 使用智能有损压缩技术&a…...

整站优化与网页优化的区别

1. 整站优化与网页优化链接上的区别&#xff1a; 整站优化主要是依靠内部链接&#xff0c;提升其排名权重&#xff0c;而网页优化是通过外部链接&#xff0c;提升单个页面的权重。怎么判断那个是整站优化&#xff0c;那个是网页优化。一般网页优化会大量增加该URL的链接&#x…...

网页代码seo优化

1.<title>标题&#xff1a;只强调重点即可&#xff0c;尽量把重要的关键词放在前面&#xff0c;关键词不要重复出现&#xff0c;每个页面的<title>标题不要设置相同的内容。 2.<meta keywords>标签&#xff1a;关键词&#xff0c;列举出几个页面的重要关键字…...

做好准备:独立游戏开发人员适用的 4P 营销理论

本指南将介绍一种被称为“4P”的经典营销框架。您可以使用这个框架评估游戏的商业潜力&#xff0c;分析竞争格局&#xff0c;设定战略目标并制定实现商业成功的计划。立即阅读...

PEST、5W2H、逻辑树、4P营销理论、用户行为分析

http://blog.sina.com.cn/s/blog_6e5385d701012a7u.html 分析法PEST&#xff1a;用于对宏观环境的分析&#xff0c;具体到互联网行业的分析模式如下&#xff1a; 5W2H分析法&#xff1a;可用于任何问题的分析&#xff0c;也是逻辑思考方法中最容易学习和操作的方法之一&#…...

手写操作系统(2)——代码是怎么运行的?

之前手写了一个非常简单的Hello OS操作系统&#xff0c;再开始后面的学习之前&#xff0c;我们先思考一个问题——代码到底是怎么运行起来的&#xff1f; 下面就将从0和1&#xff0c;二极管&#xff0c;数字电路&#xff0c;模拟电路入手&#xff0c;讲一讲代码内部的秘密。 文…...

掌握这些技能玩转iOS

近一年来&#xff0c;苹果iOS/OS X频繁被爆出重大安全漏洞&#xff0c;攻击者可以通过漏洞窃取多达上千个应用的密码。这些漏洞一旦被黑客掌握、利用&#xff0c;后果不堪设想。 好在这些漏洞的发现者还是有节操的&#xff0c;他们都将这些漏洞汇报给了苹果公司&#xff0c;避免…...

学习路径,转自他人

Web安全工程师 概念基础 一&#xff0e;了解黑客是如何工作的 1.在虚拟机配置Linux系统 2.漏洞测试工具 3.msf控制台 4.远程工具RATS 5.远程访问计算机 6.白帽 二&#xff0e;技术基础 漏斗扫描工具AWVS AWVS简介 安装 站点扫描 扫码结果分析 Site crawler HTTP Editor Target…...

看看《速度与激情 8》中使用的尖端黑客技术都有哪些?

看看《速度与激情 8》中使用的尖端黑客技术都有哪些&#xff1f; 前言&#xff1a;本文中的技术仅供交流&#xff0c;如有疏漏还请大家批评指正 本人作为一个信息安全从业者&#xff0c;有必要扒一扒里面的黑客技术。 里面涉及到黑客技术的东西主要有两个——天眼&#xff08;T…...

黑客网络安全学习

Web安全工程师 概念基础 一&#xff0e;了解黑客是如何工作的 1.在虚拟机配置Linux系统 2.漏洞测试工具 3.msf控制台 4.远程工具RATS 5.远程访问计算机 6.白帽 二&#xff0e;技术基础 漏斗扫描工具AWVS AWVS简介 安装 站点扫描 扫码结果分析 Site crawler HTTP Editor Targe…...

springboot源码解读二-----(自动配置原理解析上)

源码注释环境 jdk 1.8 springboot 2.7.xidea 2022win 10 自动配置核心配置类 EnableAutoConfiguration EnableAutoConfiguration 中包含了两个注解: # 里面包含一个 Import注解&#xff0c;作用是通过 AutoConfigurationPackages.Registrar.class 类把 AutoConfigurationPac…...

[运算放大器]佛朗哥笔记 - 有源滤波器I - 一阶有源滤波器

一阶有源滤波器 微分器在这个反相结构中有&#xff1a;根据拉普拉斯变换性质&#xff0c;在频域乘以s等于在时域微分&#xff0c;这就确认了微分器的性质。对比Vo/Vi&#xff0c;可得&#xff1a;指出在原点有一个零点。引入归一化频率s→j把H(j)写成归一化形式&#xff1a;利用…...

FJSP柔性车间调度文献调研

解决FJSP的主流方法有如下几种。 1.Exact algorithms 第一种是精确求解&#xff0c;包括迭代暴力搜索&#xff0c;混合整数规划以及分支定界等。精确求解的优点在于求出的解是最优的&#xff0c;可以作为其他方法评优的baseline。缺点就在于速度慢&#xff0c;没有办法解决大规…...

fastdfs调研

好棒好棒的原文地址&#xff1a;fastdfs调研作者&#xff1a;用户3105832391http://wlwang41.github.io/content/ops/fastdfs调研.html架构组第一件事情就是搭建一个文件系统来代替搜狐的云存储。 我们考虑过重写Beansdb&#xff0c;但是由于工期问题和使用量最后没有考虑使用这…...

Storm调研笔记

云盘资料&#xff1a; Storm的资料文档已经上传到360云盘&#xff0c;地址&#xff1a;http://yunpan.cn/QXIgbTy2Qjmgj 云盘上的资料可以重点参考《Storm调研及部署文档》和《Strom入门指南》文章&#xff0c;英文好的朋友可以看看图灵公司出版的Storm书籍《Getting.Started.w…...

代码调用存储过程超时,但数据库 执行 秒速

原因&#xff1a; 1、由于在查询分析器里执行速度很快&#xff0c;并且数据量也不多。 2、只在程序里调用才有缓慢的情况。 3、设置CommandTimeout参数&#xff0c;就可以显示结果出来&#xff0c;但要很久。 方案1: : 延长 访问数据库的 超时时间,若 sql返回内容太大 ,延长…...

微服务架构技术调研<3>--微服务架构实践

引言&#xff1a; 由于公司商业上有实打实的需求和场景&#xff0c;倒逼产品开始思考架构升级&#xff0c;以适应这种商业环境的快速变化。架构师在进行技术选型或者架构升级前&#xff0c;需要做大量技术调研、竞品分析&#xff0c;《微服务架构综述》则是对服务化架构技术调…...

人群密度分析算法调研

概述 人群行为分析算法分为四个主要方向&#xff1a; 1、行人检测(Pedestrian Detection) 2、人群计数(Crowd Counting) 3、人群密度分析(Crowd Density Estimation) 4、人群状态分析(Crowd Behaviour Analysis) 人群计数与人群密度分析为其中重要的组成内容。人群计数与…...

调研记录(二)

#调研记录&#xff08;二&#xff09; ##确定题目 在一轮调研后&#xff0c;进行了第一次的讨论和换位思考。在第一次调研时&#xff0c;我们认为矛盾主要存在于&#xff1a;知乎发帖的人和教师之间、知乎发帖的人和看到帖子的人之间&#xff0c;知乎发帖人和看到帖子的人都认…...

大数据初步调研

大数据初步调研2014-4月“大”数据的直观含义算法上&#xff1a;处理中小规模数据调入内存执行&#xff0c;在大数据&#xff08;超大规模数据&#xff09;不能直接运用了一个时代的大数据是下一个时代的小规模数据99年对“大”数据分析的技术策略对现在的大数据分析依然相同&a…...

2019年企业数据生产力调研报告,90%的人都没看过

当前企业信息化迈入大数据阶段&#xff0c;数据量的爆发式增长和数据问题的暴露让越来越多的企业将目光转向数据分析与商业智能&#xff08;即BI&#xff09;&#xff0c;期待从数据金矿中采炼更多&#xff0c;向数据驱动决策转型。 然而知易行难&#xff0c;企业数字化转型绝…...

我在做需求调研中遇到的问题

进入互联网行业已经3年了&#xff0c;之前对互联网行业可谓是一窍不通。这三年中做过测试&#xff0c;开发&#xff0c;需求&#xff0c;运维。走了一圈对这个行业大概有一个肤浅的认识。由于最近公司人手紧张&#xff0c;我又重新开始做起来需求的工作。以下记录我在做需求的一…...

Linux的基本使用在Linux上部署程序

linux概述 Linux严格意义来说只是一个"操作系统内核"&#xff0c;一个完整的操作系统 操作系统内核 配套的应用程序 由于 Linux 是一个完全开源免费的内核&#xff0c;因此有些公司/开源组织又基于 Linux 内核&#xff0c;提供了不同的配套程序&#xff0c;这就构…...

90后偏好领导力调研报告

为什么要做这个调研&#xff1f; 毫无疑问&#xff0c;90后已经是如今这个时代最有生产力的一个群体&#xff0c;这个群体有以下一些特点&#xff1a; 生长环境比较好&#xff0c;物质文化都已比较丰富&#xff1b; 从小便已接受了比较开化的文明思潮&#xff0c;对于东方传统…...

2019求知讲堂Java基础教程 全网唯一高口碑 无废话 无尿点的就在这里

以往大部分课程废话比较多 课程中非常拖沓 很多用户观看视频时选择加速 拖沓的教程容易令学员在学习中容易分心 走神 我们这套Java视频教程全网唯一高口碑 全程 无废话 无尿点的课程 讲解同样的内容只需别套课程一半时间 大大减少学员们时间 适合绝对零基础的学员观看&#xff…...

求知讲堂Java视频-基础整理-算术赋值比较逻辑位运算符-基础整理

算术 比较 逻辑 这里还是比较重要的&#xff0c;很多会用到 位...

求知讲堂Java基础教程 全网唯一高口碑 无废话 无尿点的就在这里

以往大部分课程废话比较多 课程中非常拖沓 很多用户观看视频时选择加速 拖沓的教程容易令学员在学习中容易分心 走神 我们这套Java视频教程全网唯一高口碑 全程 无废话 无尿点的课程 讲解同样的内容只需别套课程一半时间 大大减少学员们时间 适合绝对零基础的学员观看&#xff…...

求知讲堂Java视频-基础整理-数据类型

...

求知讲堂Java视频 128天完整版 学完可就业

求知讲堂Java视频 128天完整版 学完可就业 https://www.bilibili.com/video/BV1CJ411m7gg&#xff08;点击进入&#xff09; 以往大部分课程废话比较多 课程中非常拖沓 很多用户观看视频时选择加速 拖沓的教程容易令学员在学习中容易分心 走神 我们这套Java视频教程全网唯一…...

求知讲堂python+人工智能 99天完整版 学完可就业+某某教程Python 100例————作业(持续更新)

个人答案仅供参考&#xff0c;不喜勿喷。 求知讲堂python人工智能 99天完整版 学完可就业 1.day1 1. import random index1 error0 agerandom.randint(18,40) while index<3:personint(input(猜猜我多少岁吧&#xff01;&#xff1a;))if personage:print(我就是&#xf…...

在没有前端Web HTML,CSS,JavaScript技术知识情况下使用Delphi / C ++ Builder快速开发构建Web前端B/S应用

对标题感到惊讶&#xff1f;是的&#xff0c;如果您不了解HTML&#xff0c;CSS&#xff0c;JavaScript&#xff0c;则可以使用某些Client / Server&#xff08;FullStack&#xff09;或Client-Focused第三方Web框架从Delphi / C Builder构建Web前端。想知道这些框架是如何做到…...

django 创建一个后台管理用户

admin.py是一个django自带的自动化管理页面 使用manage.py createsuperuser 命令创建超级用户 py manage.py createsuperuser E:\untitled\python\django\myProject>manage.py createsuperuser 用户名 (leave blank to use w): user1 电子邮件地址: user1user1.com Passwo…...

iOS 开发 Xcode 8.1创建新项目的配置--详解

iOS 开发 Xcode 8.1创建新项目的配置–详解 1.创建项目内容 2.TARGETS–>General设置 // 图标,启动图片,拖入图片资源//名称,版本,支持的方向,系统的版本info.plistBundle display name;Bundle versions string , short;Supported interface orientations;(三个方向)项目-T…...

创建一个tp项目

先从thinkphp官网下载其中的一个创建一个项目文件夹把下好的文件复制粘贴到刚建好文件中打开application打开网页输入如下然后打开application会发现自动生成的文件夹Application├─Common 应用公共模块│ ├─Common 应用公共函数目录│ └─Conf 应用…...

使用yaf创建项目

1、使用yaf-cg工具生成源码 https://github.com/laruence/yaf/tree/master/tools/cg php yaf_cg Sample#will generator folder "Sample" under output:ls output/Sample//*application/ conf/ index.php readme.txt*/2、配置php.ini里的内容yaf.environ dev #区…...

数据结构顺序栈对表达式求知算法

//表达式求值&#xff08;输入、输出和中间结果均只能是0&#xff5e;9&#xff09;运算符仅限-*/。 #include <stdio.h> #include <string.h> #include <stdlib.h> #define STACK_INIT_SIZE 80 //栈初始化时的长度 #define STACKINCREMENT 10 //栈长度的增…...

层序创建二叉树

#define NoInfo 0/*结点本身信息为NoInfo&#xff0c;则表示该结点不存在*/BinTree CreateBinTree() {int data;BinTree BT, T;Queue Q CreatQueue();scanf("%d", &data);if(data ! NoInfo){BT (BinTree)malloc(sizeof(struct TNode));BT->data data;BT-&g…...

使用Android Studio创建Android项目

文章目录1.启动Android Studio。2.在弹出的窗口&#xff08;Configure your new project&#xff09;中填入内容&#xff0c;点击Next。按照如图所示的值进行填写会使得后续的操作步骤不不容易差错。3.在Select the form factors your app will run on窗口勾选Phone and Tablet…...

webpack 创建vue项目的步骤

1.安装Node.js、 vue、 vue-cli、git 2.打开cmd 进入要创建项目的文件夹 3.输入 vue init webpack project&#xff08;项目名称&#xff0c;注意必须都是小写&#xff09; Project name 项目名 Project description A Vue.js project Author 默认&#xff0c;Git名 Vue bu…...

B站求知讲堂Java视频-基础整理篇-对象过程比较

基础整理&#xff0c;本文仅做复习参考使用&#xff0c;个人笔记&#xff0c;欢迎提问交流 一、对于面向对象与面向过程的理解 面向过程&#xff1a;老八上厕所、坤坤打篮球 面向对象&#xff1a;人的对象&#xff0c;人的动作&#xff0c;人的道具 实例化一个老八的对象&a…...

求知讲堂python+人工智能day7

python面向对象基础&#xff08;上&#xff09; Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 1、面向对象&#xff08;oop,object oriented programmi…...

求知讲堂python+人工智能day1

感谢 谢谢b站上的UP主分享的学习视频&#xff1b; QQ群&#xff1a;819133352 基础课程安排 今日学习目标 1、认识Python 定义 Python是一种面向对象的解释型计算机程序设计语言,由 吉多范罗苏姆 开发。 优缺点 优点&#xff1a;1、是一种代表简单主义思想的语言&#x…...

求知讲堂python+人工智能day9

面向对象基础&#xff08;下&#xff09; 前面我们已经学习了面向对象编程的类、对象、类之间的关系等&#xff0c;接下来我们要深入学习如何具体控制属性、方法来满足需要&#xff0c;完成功能。 私有化属性&#xff08;实例化属性和类属性&#xff09; 为了更好的保存属性…...

B站求知讲堂Java视频-数组常见算法

冒泡排序Java版 package Knowledge_seeking; public class Array_algorithm { public static void main(String[] args) { int[] arr new int[] { 4, 2, 7, 3, 1, 5 }; // swap(arr[i],arr[j]); 行不通在Java // 实现方式详情见https://blog.csdn.net/q…...

求知讲堂python网盘_求知讲堂python+人工智能day12

pyth的垃圾回收机制GC(垃圾回收)负责的主要任务为新生成的对象分配内存识别那些垃圾对象从垃圾对象那回收内存引用计数机制Garbage collection(GC)模块的使用(垃圾回收)现在的高级语言如java&#xff0c;c#等&#xff0c;都采用了垃圾收集机制&#xff0c;而不再是c&#xff0c…...

怎么让应用和计算机通信,计算机通信技术的应用

1计算机通信技术在配电网中的应用1.1FB技术的应用(1)PROFIBUS&#xff1a;是OSI型FB的一个标准&#xff0c;它可以让数据实现快速传输&#xff0c;从而为配电自动化的早日实现奠定了技术保障。其组成部分有以下三种&#xff1a;①PROFIBUS—DP通信协议&#xff0c;使配电设备的…...

计算机控制技术期中考试,西安科技大学计算机控制技术期中考试.doc

《西安科技大学计算机控制技术期中考试.doc》由会员分享&#xff0c;提供在线免费全文阅读可下载&#xff0c;此文档格式为doc&#xff0c;更多相关《西安科技大学计算机控制技术期中考试.doc》文档请在天天文库搜索。1、&#xfeff;计算机控制技术期中考试题一、填空题1&…...

计算机硬件技术万晓冬,计算机硬件技术基础-万晓冬-习题

计算机硬件技术基础-万晓冬-习题11 简述计算机和微型计算机经过了哪些主要发展阶段?12 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?13 写出下列机器数的真值&#xff1a;(1)01101110 (2)10001101(3)01011001 (4)1100111014 写出下列二进制数的原码、反码和补码…...

ccc-pytorch-宝可梦自定义数据集实战-加载数据部分(9)

文章目录第一步&#xff1a;构建路径与种类的映射关系第二步&#xff1a;载入所有的宝可梦图像第三步&#xff1a;打散顺序并通过路径名提取映射关系构建映射文件第四步&#xff1a;完善选取、获取图片信息功能并可视化第五步&#xff1a;对数据进行预处理第六步&#xff1a;批…...

【案例讲解】LVGL GIF开机动画和关机动画

更多源码分析请访问:LVGL 源码分析大全 目录 1、功能特性2、重点代码2.1、 覆盖其它图层2.2、 强制GIF只播放一次2.3、 任何页面中长按OK键跳出关机页面2.4、 完成时销毁自身3、参考源码1、功能特性 1、播放一次完整的GIF后就退出,退出时并销毁对象,以节省资源;2、图层能覆…...

腾讯云服务器带宽计费规则介绍

腾讯云服务器公网带宽计费模式按使用流量是怎么计算的&#xff1f;不按照带宽大小计费&#xff0c;按照实际云服务器公网出方向实际产生多少流量来收费&#xff0c;为了避免突发流量产生高额流量费&#xff0c;可以设置一个峰值带宽。 腾讯云服务器公网流量费计算的是出流量&a…...

主从高可用面试题大全

主从高可用面试题大全 目录 文档索引 面试题汇总 Q&#xff1a;注册中心是什么&#xff1f;为什么需要注册中心&#xff1f; Q&#xff1a;注册中心是如何实现的&#xff1f; Q&#xff1a;实例如何通过注册中心进行服务发现 Q&#xff1a;注册中心如何进行选型&#xff…...

C语言-程序环境和预处理(2)

文章目录预处理详解1.预定义符号2.#define2.1#define定义的标识符2.2#define定义宏2.3#define替换规则注意事项&#xff1a;2.4#和###的作用##的作用2.5带副作用的宏参数2.6宏和函数的对比宏的优势&#xff1a;宏的劣势&#xff1a;宏和函数的一个对比命名约定3.undef4.条件编译…...

抓包逆向神器Charles推荐,https接口了无秘密

业余时间想找个免费的智能AI接口用&#xff0c;体验了几款插件真不错&#xff0c;比如Bito插件和IDE神器Cursor&#xff0c;但不知道他们的后台接口。想着看看他们的接口&#xff0c;不用说肯定是https加密的。http包透明传输还好&#xff0c;但是大多数是https加密传输的&…...

什么品牌的蓝牙耳机适合学生党用?学生党高性价比国产蓝牙耳机推荐

最近看到很多网友问什么品牌的蓝牙耳机适合学生党用&#xff1f;现在的蓝牙耳机品牌越来越多&#xff0c;适合学生党用的蓝牙耳机品牌也不少。下面&#xff0c;我来给大家推荐几款适合学生党的国产高性价比蓝牙耳机&#xff0c;可以当个参考。 一、南卡小音舱蓝牙耳机 参考价…...

C语言指针链表

C语言指针链表是一种非常常见的数据结构&#xff0c;它可以用于在程序中存储和操作一系列相关数据&#xff0c;包括但不限于整数、字符串、结构体等类型。下面我们将介绍如何使用C语言指针链表&#xff0c;并提供一个可以执行的示例代码。 1. 定义链表结构体 链表是由若干个节…...

sh脚本中使用getopts解析的参数中含有空格的解决方法

一、getopts的问题 如下使用getopts时&#xff0c;当执行命令为 #sh test1.sh -s “A B C” 时&#xff0c; getopts只能解析到 -s A&#xff0c;空格后面的内容就没办法解析了,其实在使用$给fun_main函数传参的时候"A B C"就被分割成了三个参数了。 #!/bin/sh #t…...

关于测试,我发现了哪些新大陆

关于测试 平常也只是听说过一些关于测试的术语&#xff0c;但并没有使用过测试工具。偶然看到编程老师在课堂上使用龙测为我们展示了一波测试的相关操作&#xff0c;我发现了一些新大陆&#xff0c;这篇文章就记录一下有关测试的相关操作。 开启测试之旅 进入官网了解到 龙测…...

HTTP状态代码以及定义

在我们平常浏览网页时&#xff0c;也会发现一些文件不存在时显示为“404错误”&#xff0c;这就是常见的Http请求状态&#xff08;status&#xff09; Web服务器响应浏览器或其他客户程序的请求时&#xff0c;其应答一般由以下几个部分组成&#xff1a;一个状态行&#xff0c;…...

基于Springboot实现口腔牙诊所网站平台【源码+论文】

基于Springboot实现口腔牙诊所网站平台【源码论文】开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea M…...

SQLAlchemy查询不重复的数据

在SQLAlchemy中&#xff0c;如果你想查询不重复的数据&#xff0c;可以使用distinct()方法。以下是一个简单的示例&#xff1a; 首先&#xff0c;导入必要的库和对象&#xff1a; from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declar…...

Leetcode27—移除元素

27 移除元素 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…...

vue3 组件篇 Message

文章目录组件介绍组件使用组件代码参数说明关于vue3-dxui组件库组件介绍 Message组件用以消息提示&#xff0c;用户在前端完成某些交互时&#xff0c;在页面弹出的某种反馈。该组件一共有四种类型&#xff0c;info、success、warning、error。与一般的组件不同&#xff0c;该组…...

Linux宝塔面板搭建Discuz论坛, 并公网远程访问【内网穿透】

文章目录前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&…...

最长公共子序列 以及 输出公共最长子序列

最长公共子序列 以及 输出公共最长子序列题目描述 给两个字符串&#xff0c;输出最长公共子序列 例如 ABCBDAB BDCABA 那么输出结果就是 BCBC 思路&#xff1a; f[i][j] 表示 1-i 和 1-j 中对应字符串A 和 字符串B的角标中 已经算出的最长子序列长度 b[i][j] 表示 字符串A和B…...

【vue2】使用elementUI进行表单验证实操(附源码)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue使用elementUI进行表单验证实操&#xff08;附源码&#xff09; 【前言】我们在构建一…...

药品批准文号查询|药融云-中国批准文号系统在线查询

药品批文是国家食品药品监督管理局&#xff08;NMPA&#xff09;对药品的审评和批准的证明文件&#xff0c;是药品合法上市的必要条件。药品批文包括国产药品批准文号和进口药品注册证号&#xff0c;每个批文都有唯一的编号和有效期限。那么&#xff0c;怎样查询中国药品批文呢…...

谁是猪头王

来自推理学院APP 规则&#xff1a; 示例&#xff1a; 每张牌上有猪头数量&#xff0c;红色虚线框里面有总数。 现在4位玩家数字公布&#xff0c;首先出2的先选一行清空并扣分&#xff0c;假如他选第2行1个猪头&#xff0c;则扣1分&#xff0c;局面变成&#xff1a; 5 …...

Mac配置jdk环境

打开终端获取java的安装路径在终端输入&#xff1a;/usr/libexec/java_home -V待会使用中间java se8的地址在配置文件中完善路径打开配置文件open -e .bash_profile 将以下模版粘贴到bash profile中去&#xff0c;并将我的jdk地址替换为上述java se8后面的地址后保存#JAVAJAVA_…...

【算法系列之回溯算法】leetcode46.全排列

90.子集II 力扣题目链接 给你一个整数数组 nums &#xff0c;其中可能包含重复元素&#xff0c;请你返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。返回的解集中&#xff0c;子集可以按 任意顺序 排列。 输入&#xff1a;nums [1,2,…...

Docker基础篇——最全讲解

文章目录一、CentOS安装docker二、启动帮助类命令三、镜像命令1.名词概念2.常用命令2.1 镜像命令2.2 容器命令2.2.1&#xff1a;常用参数2.2.2&#xff1a;常用指令2.3 安装单机mysql、redis一、CentOS安装docker docker官网 1&#xff09;yum安装gcc相关&#xff1a; yum -y…...

若依框架----源码分析(@RateLimiter)

若依作为最近非常火的脚手架&#xff0c;分析它的源码&#xff0c;不仅可以更好的使用它&#xff0c;在出错时及时定位&#xff0c;也可以在需要个性化功能时轻车熟路的修改它以满足我们自己的需求&#xff0c;同时也可以学习人家解决问题的思路&#xff0c;提升自己的技术水平…...

Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/129687210 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…...

java基础:JAVA中重写equals()方法的同时要重写hashcode()方法

一、public boolean equals(Object obj) 和 hashcode()方法是object对象中的方法。 二、equals与hashcode间的关系是这样的&#xff1a; 1、如果两个对象相同&#xff08;即用equals比较返回true&#xff09;&#xff0c;那么它们的hashCode值一定要相同&#xff1b; 2、如果…...

你掌握了吗?在PCB设计中,又快又准地放置元件

在印刷电路板设计中&#xff0c;设置电路板轮廓后&#xff0c;将零件(占地面积)调用到工作区。然后将零件重新放置到正确的位置&#xff0c;并在完成后进行接线。 组件放置是这项工作的第一步&#xff0c;对于之后的平滑布线工作是非常重要的工作。如果在接线工作期间模块不足…...

Uploadifive 批量文件上传

Uploadifive 批量文件上传_uploadifive 多个上传按钮_asing1elife的博客-CSDN博客 属性auto - Boolean - true当文件被添加到上传队列时&#xff0c;会自动上传buttonClass - String为上传按钮指定一个类选择器buttonText - String - SELECT FILES定义显示在按钮上的文本内容up…...

多美商城实战-01-引入REST Framework

1. 引入Django REST framework 在本章中,我们要大家介绍为什么学习Django REST framework,它能帮助我们做哪些事情。 课程思路: 我们从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实 现一个REST API为例,明确后端开发REST API要做…...

数字温湿度传感器DHT11模块资料

模块实例https://blog.csdn.net/qq_38393591/article/details/111269994 1.1产品概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术&#xff0c;确保产品具有极高的可靠性与卓越的长期稳定性。传感器…...

2023面试题汇总二

一、CSS面试题 1. 清除浮动的方式有哪些&#xff1f; 为什么要清除浮动&#xff1f;因为浮动的盒子脱离标准流&#xff0c;如果父盒子没有设置高度的话&#xff0c;下面的盒子就会撑上来。 额外标签法(在最后一个浮动标签后&#xff0c;新加一个标签&#xff0c;给其设置cle…...

孩子用什么样的灯对眼睛没有伤害呢?2023这样的灯光更护眼

现代社会高速发展&#xff0c;越来越多的人开始重视身体健康&#xff0c;尤其是很多家长&#xff0c;非常关心孩子的眼睛健康问题。现如今我们的青少年儿童近视率常年高居世界第一&#xff0c;情况不容乐观&#xff0c;这个与习惯、学习、照明环境等众多因素有关。 其中照明环境…...

GitHub的Repository权限将public转为private(转)

转自: GitHub的Repository权限将public转为private 2019年1月7日&#xff0c;GitHub CEO Nat Friedman 于官方博客公开发文&#xff0c;称“New year, new GitHub”&#xff0c;宣布从此将免费无限地为普通用户提供私有仓库服务。 因此&#xff0c;我们可以将之前创建的公开仓库…...

《钢琴调律原理及应用》 笔记

【第一章 绪论】 美国人威廉布雷德怀特于 1917 年发表了世界上第一部关于钢琴调律理论与技术的著作&#xff0c;书名为《钢琴调律与相关技术》 福岛琢郎于1950年发表一部名为《钢琴的构造调律修理》的专著 80年代初&#xff0c;在沈阳音院任教的张琨先生写出了我国第一部有关…...

Java OFD文件转PDF、图片、SVG、TXT、HTML

OFDRW 提供了将 OFD 文档导出为其他格式文档的能力&#xff0c;如导出为 PDF、图片、SVG、TXT、HTML 等。 OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口&#xff0c;使用统一的 API 实现 OFD 文档导出功能。 之前整合的 2.0.0 以前版本&#xff0c;可参考 OFD 文件转换…...

WuThreat身份安全云-TVD每日漏洞情报-2023-03-23

漏洞名称:Windows Installer 特权提升漏洞 漏洞级别:高危 漏洞编号:CVE-2023-21800,CNNVD-202302-1117 相关涉及:Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD…...

gan实战(DCGAN、)

一、DCGAN 1.1 参数 &#xff08;1&#xff09;输入&#xff1a;会被放缩到6464 &#xff08;2&#xff09;输出&#xff1a;6464 &#xff08;3&#xff09;数据集&#xff1a; 1.2 实现 import glob import torch from PIL import Image from torch import nn from torch.u…...

视频编辑场景下的文字模版技术方案

作者 | Lok’tar ogar 导读 本文根据度咔剪辑APP文字模版开发实践&#xff0c;分享视频编辑场景下&#xff0c;静态文字模版渲染能力的技术方案。作为富文本渲染方案的父集&#xff0c;此技术方案可以扩展到其他需要复杂富文本渲染的场景下。 全文6745字&#xff0c;预计阅读时…...

移动应用架构设计:如何转变开发流程

移动应用架构设计&#xff1a;如何转变开发流程 2023 年掌握移动应用程序架构的指南&#xff08;附案例研究&#xff09; 如果他们要解决这个问题&#xff0c;开发人员需要了解移动架构设计的最佳实践&#xff0c;使他们能够构建用户喜欢的优化应用程序。其中一些做法包括使用…...

【服务器数据恢复】误操作导致NetApp存储卷丢失的数据恢复案例

服务器数据恢复环境&#xff1a; 某公司的一台NetApp某型号存储&#xff1b; 几十块磁盘组建两组存储池&#xff0c;两组存储池互为镜像&#xff1b; 存储池划分卷并映射到ESXI作为数据存储使用&#xff0c;卷内有数百台虚拟机。 服务器故障&#xff1a; 管理员操作失误导致卷…...

QML- QML视觉元素类型

QML视觉元素类型一、概述一、图像类型三、共享视觉属性1. 不透明度和可见性2. 转换&#xff08;转置&#xff09;一、概述 对于最基本的视觉效果&#xff0c;Qt Quick提供了一个 Rectangle 类型来绘制矩形。这些矩形可以用颜色或垂直渐变来着色。 Rectangle 还可以在矩形上绘制…...

nodejs+vue+elementui水果购物商城vue

水果购物商城系统的主要使用者分为管理员&#xff1b;个人中心、用户管理、水果分类管理、水果信息管理、系统管理、订单管理&#xff1b;前台首页&#xff1b;首页、水果信息、个人中心、后台管理、购物车、人工服务&#xff1b;用户后台&#xff1b;首页、个人中心、水果信息…...

从NVIDIA GTC大会,看AI算力行业信号

从NVIDIA GTC 2023这场全球行业盛宴&#xff0c;我们可以解读出AI算力行业的哪些重要信号&#xff1f;一年一度的NVIDIA GTC如期而至汇聚了全球AI与元宇宙开发者的目光焦点&#xff0c;NVIDIA GTC 2023于美国当地时间3月20日如期而至。众所周知&#xff0c;作为全球一年一度的行…...

Docker 在未来应用场景的有哪些?

Docker是一种流行的容器化技术&#xff0c;可以将应用程序和其依赖项打包到一个可移植的容器中&#xff0c;使得应用程序可以在任何平台上运行。Docker的应用场景非常广泛&#xff0c;下面列举了一些常见的应用场景&#xff1a; 应用程序部署和管理&#xff1a;Docker可以使应…...

部署+使用集群的算力跑CPU密集型任务

我先在开头做一个总结&#xff0c;表达我最终要做的事情和最终环境是如何的&#xff0c;然后我会一步步说明我是如何搭建。 要做的事情 尝试如何使用多台机器的算力共同跑一个CPU密集型或者GPU密集型的任务。这里以CPU密集型为例子。 在多台机器搭建MPI环境&#xff0c;构建…...

MATLAB算法实战应用案例精讲-【智能优化算法】森林优化算法(FOA) (附MATLAB代码实现)

目录 前言 算法原理 算法思想 (一)树的初始化 (二)局部播种...

后端接口返回近万条数据,前端渲染缓慢,content Download 时间长的优化方案

前言 性能优化&#xff0c;是前端绕过不去的一道门槛&#xff0c;甚是重要。最近一年&#xff0c;也很少有机会在项目中进行前端性能优化&#xff0c;一直在忙于业务开发。 最近终于是来了机会&#xff0c;遇到了这样的场景&#xff0c;心里也甚是激动&#xff0c;写个随笔记…...

三天吃透MongoDB面试八股文

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…...

游戏服务器开发指南(一):设置合适的Socket选项

前言 上周写完系列序言&#xff0c;得到不少读者朋友的关注&#xff0c;这也给了我额外的动力。写东西就是这样&#xff0c;都希望获得更多的关注&#xff0c;如果写出来没什么人看&#xff0c;那就无异于闭门造车、自娱自乐。欢迎朋友们在文后留言&#xff0c;我也会根据大家…...

为什么电路板上的线路总是弯曲的?

不知道小伙伴有没有发现&#xff0c;电路板上的线路虽然密密麻麻&#xff0c;但线路总是弯曲延伸而不是直径到达&#xff0c;毕竟学过小学数学都知道&#xff1a;两点之间直线最短&#xff0c;所以为什么要花那么多线路来设计PCB板&#xff1f;难道不能直接设计成直线。小伙伴们…...

计算机网络(第十三弹) --- ARP 协议及子网掩码的相关概念

ARP 协议及子网掩码1 ARP 协议2 子网掩码1 ARP 协议 ARP 协议就是介于数据链路层和网络层之间的协议; 建立了主机 IP 协议和 MAC 地址的映射关系. 在网络通讯时, 源主机的应用程序知道目的主机的 IP 地址和端口号, 却不知道目的主机的硬件地址, 数据报首先是被网卡接收到再去处…...

Tlsr8258开发-小问题汇总

默认情况如果不指定时钟源&#xff0c;则使用外部晶振&#xff0c;并且默认为16M如果想要在一开始就调用读取flash的函数&#xff0c;一定要先cpu_wakeup_init()&#xff1b; delay_us(150)。我这里是通过读取flash中的值&#xff0c;然后来选择初始化BLE还是2.4G如果想要在BLE…...

python 基础系列篇:四、编写两个简单的小游戏(猜数字及2048)

python 基础系列篇&#xff1a;四、编写两个简单的小游戏&#xff08;猜数字及2048&#xff09;猜数字游戏游戏进程示例需求分析并逐步实现1、使用随机函数包 random2、记录用户输入3、提前做好的结果反馈4、判定A的实现5、判定B的范围6、判定B的判定内容7、判定B的实现8、用户…...

网络安全——网络层安全协议

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 引言 一.网络攻击与防御 1.常见的网络攻击 &#xff08;1&#xff09;窃听…...

8种特“坑”的 SQL 写法,性能降低100倍

给大家分享几个SQL常见的“坏毛病”及优化技巧。 SQL语句的执行顺序&#xff1a; 1、LIMIT 语句 分页查询是最常用的场景之一&#xff0c;但也通常也是最容易出问题的地方。比如对于下面简单的语句&#xff0c;一般 DBA 想到的办法是在 type、 name、 create_time 字段上加组…...

用c++手写一个带箭头的线

根据经纬度&#xff0c;和uv。算出开始点位和结束点位&#xff0c;并在结束点位画一个小箭头。根据需要调整0.2和0.8以及箭头的headSize 。 #include <iostream> #include <vector> #include <cmath> #include "matplotlibcpp.h" namespace plt …...

JVM-Java虚拟机(二)

执行引擎概述1.执行引擎是 Java 虚拟机核心的组成部分之一。2.JVM 的主要任务是负责装载字节码到其内部&#xff0c;但字节码并不能够直接运行在操作系统之上&#xff0c;因为字节码指令并非等价于本地机器指令&#xff0c;它内部包含的仅仅只是一些能够被 JVM 所识别的字节码指…...

Golang中的边界检查和边界检查消除(bounds check elimination)

边界检查大家都知道Golang是内存安全型语言&#xff0c;在根据索引获取数组/切片元素时&#xff0c;Golang runtime 会检查索引是否超出范围&#xff0c;如果索引超出了范围&#xff0c;程序就会 panic&#xff0c;这种机制叫做边界检查&#xff08;bounds check&#xff09;。…...

发现一个不错的golang框架,文档非常详细,自带代码生产dao工具,可以快速的进行项目开发,还有社区也是非常的活跃

目录前言1&#xff0c;关于goframe框架介绍2&#xff0c;创建Dao代码3&#xff0c;测试Dao的方法4&#xff0c;总结前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/129698017 未经博主允许不得转载。 博主CSDN地址是&#xff1a;https://blog.csdn…...

使用Python开启局域网传送数据(3):使用 simple_http_server 实现上传下载功能

&#x1f4a1;温馨提示&#xff1a;本文测试环境&#xff1a;windows11 64位、Python3.9。 摘要&#xff1a;本文将介绍在 Windows 系统中如何使用 Python 的第三方模块 simple_http_server 实现在局域网中传送数据&#xff0c;仅限于别人上传文件给自己的功能&#xff0c;不具…...