自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 HTML5学习笔记

什么是HTMLHyper Text Markup Language(超文本标记语言)超文本包括:文字、图片、音频、视频、动画等HTML5+CSS3我的第一个网页<!--DOCTYPE:告诉浏览器,我们要使用什么规范 --><!DOCTYPE html><html lang="en"><!-- head标签代表网页头部--><head> <!-- meta描述性标签,它用来描述我们网站的一些信息--> &

2022-05-22 15:02:12 267

原创 Javaweb学习笔记04-JSP

JSP什么是JSPjava Server Pages:java服务器端页面,也和Servlet一样,用于动态Web技术!最大特点:写JSP就像在写HTML区别:HTML只给用户提供静态数据JSP页面中可以嵌入java代码,为用户提供动态数据JSP原理思路:JSP到底怎么执行的!代码层面没有任何问题服务器内部工作​ Tomcat中有一个work目录​ IDEA中使用Tomcat会在IDEA的Tomcat中生成一个work目录我电脑的地址:C:\Users\le

2022-05-22 00:37:47 199

原创 Javaweb学习笔记03-Cookie、Session

Cookie、Session会话会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,称之为有状态会话一个网站,怎么证明你来过?客户端 服务端服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了;cookie服务器登记你来过了,下次你来的时候我来匹配你;session保存会话的两种技术cookie客户端技术(响应、请求)session服务器技

2022-05-08 16:19:32 555

原创 Javaweb学习笔记02-Servlet

JavaWebServletHttpServletResponseweb服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,一个代表响应的HTTPServletResponse对象;如果要获取客户端请求过来的参数:找HttpServletRequest如果要给客户端响应一些信息:找HttpServletResponse1、简单分类:负责向浏览器发送数据的方法ServletOutputStream getOutputStream(

2022-05-08 16:14:38 197

原创 Javaweb学习笔记01-web概念、Tomcat、Maven、Servlet

Java Web1、基本概念web开发:静态webhtml,css提供给所有人看的数据始终不会发生变化动态web淘宝,几乎是所有的网站;提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb;静态web*.htm, *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。通络;静态web存在的缺

2022-05-08 16:07:08 320

原创 Python数据分析学习笔记4

4. Matplotlib库入门4.1 Matplotlib库介绍导入方式:import matplotlib.pyplot as plt范例:代码解释看注释:import matplotlib.pyplot as pltplt.plot([3,1,4,5,2])# 参数:# ylabel:标签名称# fontdict:将字体样式添加到标签# labelpad:这有助于我们设置标签和轴之间的间距plt.ylabel("Grade")# savefig()方法用于保存绘制数据后创

2022-03-04 23:22:02 399

原创 Python数据分析学习笔记3

3. 图像手绘效果实现3.1 PIL库PIL库是一个具有强大图像处理能力的第三方库。在命令行下的安装方法:from PIL import Image范例:将数组转化为ndarray数组In [1]: from PIL import ImageIn [2]: import numpy as npIn [3]: im = np.array(Image.open("E:/tiger.jpg"))In [4]: print(im.shape,im.dtype)(435, 428, 3)

2022-03-04 22:03:30 2959

原创 Python数据分析学习笔记2

2. Numpy数据存取和函数2.1 数据的csv文件存取CSV(Comma-Separated Value,逗号分隔值)是一种常见的文件格式,用来存储批量数据。书写方式:np.savetxt(frame,array,fmt=’%.18e’,delimiter=None)frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。array:存入文件的数组。fmt:写入文件的格式,例如:%d %.2f %.18e。delimiter:分割字符串,默认是任何空格。dtype:数据类型

2022-03-04 21:53:00 237

原创 STM32学习笔记4

中断

2022-03-01 18:08:39 792

原创 STM32学习笔记3

按键开发基础按键扫描的基本原理按键信号的识别: 一般来说,按键的两个引脚的一端通过电阻上拉到高电平,另一端则接地在没有按键按下的时候,输入引脚为高电平当有按键按下,输入引脚则为低电平通过反复读取按键输入引脚的信号,然后识别高低电平来判断是否有按键触发去抖动: 按键的输入引脚有低电平产生不代表一定是有按键按下,也许是干扰信号,因此,需要通过去抖动处理,将这些干扰信号过滤,从而获得真实的按键触发信号。如何去抖动: 首次检测到按键输入引脚有低电平后,稍作延时,再次读取该引脚,如还是低电平,则确认为按

2022-02-25 19:50:22 1030

原创 Django项目部署至华为云服务器

部署Django项目到华为云服务器教程基于Ubuntu 20.04 + Python3.7 + mysql5.6 + Django3.2.6 + 宝塔Linux面板1. ssh连接华为云服务器2. 安装宝塔面板宝塔面板官网Ubuntu安装脚本:在命令行中输入wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh安装成功后即可出现公网面板和内

2022-02-25 19:16:01 2541 2

原创 Python数据分析学习笔记1

数据的维度一维数据一维数据由对等关系的有序或无序数据构成,采用线性方式组织列表和数组二维数据是由多个一维数据组成,是一维数据的组合形式多维数据由一维或二维数据在新维度上的拓展形成高维数据利用最基本的二元关系展示数据间的复杂结构Numpy功能:N维数组对象:ndarray数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。设置专门的数组对象,经过优化,可以提升这类应用的运算速度。ndarray是一个多维数组对象,由两部分构成:实际的数据描述这些数据的元数

2022-02-15 00:25:32 535

原创 STM32学习笔记2

一个GPIO口,包含哪些属性和功能?上拉电阻结构是什么?有什么用?下拉电阻结构是什么?有什么用?什么是推挽输出?GPIOGPIO:General Purpose Input & OutputSTM32芯片最拥有GPIOA、GPIOB…GPIOG等7组端口,每组端口最多拥有Pin0、Pin1…Pin15共16个引脚。STM32的每个I/O端口都可以自由编程,但I/O端口寄存器必须按32位字被访问。STM32的每个I/O端口都由7个寄存器来控制STM32的I/O端口可以由软件配置成8种

2022-02-10 21:00:34 3956 2

原创 STM32学习笔记1

软件安装STM32 CubeMx安装STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。安装CubeMx一共需要三个JRE (Java Runtime Environment) Java运行环境 运行JAVA程序所必须的环境的集合STM32CubeMXHAL库 STM32 HAL

2022-02-06 20:43:13 148

原创 嵌入式C学习笔记2

指针每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,它表示了在内存中的一个地址。指针也就是内存地址,指针变量是用来存放内存地址的变量。指针的声明int *ip; /* 一个整型的指针 */double *dp; /* 一个 double 型的指针 */float *fp; /* 一个浮点型的指针 */char *ch; /* 一个字符型的指针 */注:所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型

2022-01-31 16:56:09 499

原创 嵌入式C学习笔记1

进制转换二进制0B十六进制0x例: 十进制15 0B1111 0XOF二进制转十六进制一位十六进制数等于4位二进制数,通过8421码来计算结构体结构体是把多个不同类型的数据集合在一个类型之中数组:相同数据类型的集合结构体:不同数据类型的集合结构体的定义方式一:struct name{int a;char b;float c;}x;使用结构体的步骤://1、定义结构体struct name{int a;char b;float c;}x;//2、写入数据

2022-01-29 11:37:08 1136

原创 Python高级培训考核

任务要求:成功运行学员管理系统案例将学员管理系统案例中,原本存入DAT的数据,存入mysql数据库,而且可以根据指令调出mysql数据库数据展示。修改保存数据的函数,让其自动每秒保存数据到mysql数据库中。(使用线程)模块代码保存模块将数据保存到mysql数据库中#保存学员信息 def save_student(self): time.sleep(30) DBHOST = 'localhost' # 配置地址信息 DBUSER

2022-01-16 17:38:25 605

原创 Python高级培训学习笔记6

使用pymysql连接数据库并进行增删改查的步骤一、导入pymysql并获取连接import pymysqlDBHOST = 'localhost'DBUSER = 'root'DBPASS = 'cuican233'DBNAME = 'test'try: db = pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME) print('数据库连接成功!')except pymy

2022-01-13 14:35:18 418

原创 Python高级培训学习笔记5

定时器在实际应用中,我们经常需要使用定时器去触发一些事件。Python中通过线程实现定时器timer,其使用非常简单示例:使用定时器实现当前时间每秒循环输出一次代码:import threading#导入线程类import time#导入python中的time类def run():#定义run方法,执行实际逻辑结构 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 以%Y-%m-%d %H:%M:%S的格式输出

2022-01-11 14:26:45 92

原创 Python高级培训学习笔记4

信号量信号量又称:Semaphore类迭代锁同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据,比如一个地方有3个座位,那最多只允许3个人坐,后面的人只能等有人起来了才能再坐人def run(n,semaphore): semaphore.acquire() #加锁 time.sleep(3) print('run the thread:%s\n' % n) semaphore.release() #释放if __name_

2022-01-09 22:47:14 421

原创 Python高级培训学习笔记3

线程和进程线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线进程之间相互独立,但同一线程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程中不可见线程上下文切换比进程上下文切换要快的多创建多线程方法1:调用threading库的Thread类:def test(x): print(x) time.sleep(2) t1 = thr

2022-01-08 12:51:13 419

原创 Python高级培训学习笔记2

方法的重写子类继承了父类,可以获得父类的部分方法和成员变量。可是当父类的某个方法不适合于子类本身的特征时,可以进行覆盖重新定义父类当中的方法,即为方法的重写。propertyPython内置有三大装饰器:@staticmethod(静态方法)、@classmethod(类方法)、@property(描述符),其中静态方法就是定义在类里的函数,并没有非要定义的必要;类方法则是在调用类属性、传递类对象时使用;而@property则是一个非常好用的语法糖。@property最大的好处就是在类中把一个方法变成

2022-01-06 14:05:56 616

原创 python高级培训学习笔记1

继承继承让我们更加容易实现类的扩展。子类是父类的拓展。class ParentClass1: #定义父类1 passclass ParentClass2: #定义父类2 passclass SubClass1(ParentClass1): # 单继承,基类是ParentClass1,派生类是SubClass passclass SubClass2(ParentClass1,ParentClass2): # python支持多继承,用逗号分隔开多个继承的类

2022-01-03 21:19:37 470

原创 CNN(卷积神经网络)学习笔记

CNN的概念卷积神经网络(Convolutional Neural Networks / CNNs / ConvNets)与普通神经网络非常相似,它们都由具有可学习的权重和偏置常量(biases)的神经元组成。每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数。CNN的结构层次基础的CNN由卷积(convolution), 激活(activation), and 池化(pooling)三种结构组成。CNN输出的结果是每幅图像的特定特征空间卷积考虑一个大小为5×5的图像,和一个3×3的

2021-09-04 17:31:17 253

原创 BP神经网络学习笔记

BP神经网络结构与原理参数表示nln_lnl​ :表示网络层数,此处为 4LlL_lLl​​ :表示第l层, L1 是输入层,LnL_nLn​​ 是输出层,其他为隐含层wij(l)w^{(l)}_{ij}wij(l)​​ :表示第l +1层第i 个单元与第l 层第 j 个单元的连接权重bi(l)b^{(l)}_ibi(l)​ :表示第l 层第i 个单元的偏置项(激活阈值)zi(l)z^{(l)}_izi(l)​ :表示第l 层第i 个单元的权重累计ai(l)a^{(l

2021-08-29 15:41:40 202

原创 SVM算法学习笔记

什么是SVM算法SVM(support vector machine)支持向量机将两类通过一个阈值而分类开,对于二维来说就是找一条线,三维找一个面,多维找一个超平面Hard margin:距离超平面最近的点的间隔最大最优线:在SVM中最优分割面(超平面)就是:能使支持向量和超平面最小距离的最大值在样本空间中,划分超平面可通过一个线性方程来描述:ωTx+b=0\omega ^ Tx + b = 0ωTx+b=0其中ω\omegaω=(ω1\omega_1ω1​;ω2\omega_2ω2​

2021-08-27 18:19:36 362 1

原创 KNN算法学习笔记

什么是KNN算法寻找未知分类数据的离它最近的n个已知数据,通过已知数据的分类来推断这个未知数据的分类KNN的原理步骤计算距离(常用欧几里得距离或马氏距离)升序排列(最近的排前面,最远的排后面)取前K个加权平均K的选取(算法的核心)K太大:导致分类模糊K太小:受个例影响,波动较大如何取K靠经验或者慢慢尝试均方根误差实战应用以一个癌症检测数据集为例1. 载入数据2. 打乱数据,分组,分为测试集和训练集将2/3的数据作为训练数据,1/3的数据作为测试数据3. KN

2021-08-24 11:41:33 122

原创 Java学习笔记16

多线程程序程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期线程线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的单核CPU和多核CPU单核CPU,是一种伪多线程,CPU通过对一个线程处理一段时间后“挂起”然后处理另一线程,只是C

2021-07-14 22:22:15 102 1

原创 Oracle数据库复习

一、关系数据库基础(20)1.关系型数据库基本知识:关系模型以及模型的层次结构:数据库系统、数据库管理系统的基本概念及其基本组成;E-R图;关系数据库设计数据库系统的概念:数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。数据库系统是为了适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为了实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。数据库系统的组成: 数据库​ 数据

2021-06-09 21:22:08 582 1

原创 Java学习笔记15

手动抛出异常对象1.使用说明在程序执行中,除了自动抛出异常对象的情况之外,我们还可以手动的throw一个异常类的对象。2.经典面试题throw 和 throws区别: throw 表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。 throws 属于异常处理的一种方式,声明在方法的声明处。3.代码示例class Student{private int id;public void regist(int id) throws Exception { if(id > 0){

2021-05-07 20:44:24 54

原创 Java学习笔记14

异常处理java异常处理的抓抛模型抛":程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。并将此对象抛出。抛出后,其后的代码就不再执行。“抓”(异常的处理方式):1.try-catch-finally2.throws异常处理方式一:try-catch-finally格式:try{ //可能出现异常的代码 }catch(异常类型1 变量名1){ //处理异常的方式1}catch(异常类型2 变量名2){ //处理异常的方式2} .

2021-04-10 21:26:01 100 1

原创 Java学习笔记13

异常处理java异常处理的抓抛模型过程一:“抛”:程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。并将此对象抛出。一旦抛出对象以后,其后的代码就不再执行。关于异常对象的产生:① 系统自动生成的异常对象② 手动的生成一个异常对象,并抛出(throw)过程二:“抓”:可以理解为异常的处理方式:① try-catch-finally ② throws异常处理方式一:try-catch-finally格式:try{ //可能出现异常的代码 }catch

2021-04-08 13:03:28 120 4

原创 Java学习笔记12

异常处理异常在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常)异常的体系结构Java程序在执行过程中所发生的异常事件可分为两类:Error: Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:空指针访问试图读取不存在的文件网

2021-04-05 17:30:48 297 2

原创 Java学习笔记11

算法中的时间频度与时间复杂度时间频度一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)时间复杂度一般情况下,算法中的基本操作语句的重复执行次数是问题规模 n 的某个函数,用 T(n)表示,若有某个辅助函数 f(n),使得当 n 趋近于无穷大时,T(n) / f(n) 的极限值为不等于零的常数,则称 f(n)是 T(n)的同数量级函数。记T(n)=O( f(n) ),称O( f(n) ) 为算法的渐进

2021-04-03 16:39:31 3896 4

原创 Java学习笔记10

包装类们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等;Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)均位于java.lang包;其中byte、short、integer、long、float、double是“数字型”,“数字型”都是java.lang.Number的子类。Number类是抽象类,因此它的抽象方法,所有子类都需要提供实现。N

2021-04-01 22:09:01 441 8

原创 Java学习笔记9

接口接口是一组常量和抽象方法、默认方法、静态方法的集合。实现接口的类必须覆盖接口中的所有抽象方法。声明接口:[访问修饰符] interface 接口名 [extends 父接口1,父接口2…] {常量定义; 方法定义;}接口中的常量默认被public static final 修饰;接口中的方法默认被public abstract 修饰;接口的使用:public class Main { public static void main(String[] args)

2021-03-29 18:36:51 157 2

原创 Java学习笔记8

封装通过封装可以提高代码的安全性、复用性、便于调用;Java中4种“访问控制符”分别为private、default、protected、public;1.private 表示私有,只有自己类能访问;2.default表示没有修饰符修饰,只有同一个包的类能访问;3.protected表示可以被同一个包的类以及其他包中的子类访问;4.public表示可以被该项目的所有包中的所有类访问;...

2021-03-25 21:46:05 377 3

原创 Java学习笔记7

继承继承让我们更加容易实现类的扩展。子类是父类的拓展(extends)。使用extends实现继承public class Test{ public static void main(String[] args) { Student s = new Student("123",123,"123"); s.rest(); s.study(); }}class Person { String name; int heigh

2021-03-23 21:52:43 775 6

原创 Java学习笔记6

关键字static和静态初始化块static普通变量和方法从属于对象,而static修饰的成员变量和方法从属于类。静态方法:被static修饰的方法叫做静态方法,又被称为类方法。非static的方法是对象方法(或称为实例方法)。public class User2 { int id; String name; String pwd; static String company = "xxx"; public User2

2021-03-20 19:38:22 140 2

原创 Java学习笔记5

类和对象类类(class)是既包括数据又包括对数据的操作的封装体。是许多对象的一个“模板”,是对某种类型的的对象定义变量和方法的原型。类的声明:class类名<泛型>[extends父类] [implements 接口列表]{ 成员变量的声明; 成员方法的声明;}示例:简单学生类的定义public class SxtStu { //属性(成员变量) int id; String sname; int age; //方法

2021-03-18 13:04:00 937 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除