- 博客(102)
- 收藏
- 关注
原创 数学基础内容
在这里插入图片描述](https://img-blog.csdnimg.cn/63590a5cb0f8454c92a79575b865d6dc.png)
2024-04-21 20:22:47
100
原创 以梦为马,不负韶华
时间流转,一转眼已经接近毕业整一年的日子,没有想到自己在人生的这个阶段才真正意识到时间的宝贵,想学想做的事太多,只恨分身乏术。人生百转千回,千姿百态,不论当前究竟在经历怎样的旅程,只愿时光匆匆流过后,自己可以有所收获。以梦为马莫负韶华,勉励自己。...
2021-06-04 16:24:40
150
原创 用户、授权、备份、事务
创建GAGA用户,密码是123,只能通过指定IP登录create user "GAGA"@"192.168.11.105" identified by "123";
2021-04-05 17:05:27
142
原创 索引
表索引索引是通过多路所搜树的方式存储数据的,每一个磁盘块代表一次IO操作读取的磁盘内容,可以看出采用树的形式查找数据比线性查找数据执行更少的IO操作。创建索引的原则:1.索引要创建在数据区分度高的字段,这样查找提升效率大。2.加索引的字段占空间要尽可能小,因为叶子节点基本是固定的,如果在占空间大的字段加索引,索引字段会占用更多次判断,会增加树深度,增加查找IO。聚集索引聚集索引即主键(primary key),一张表只能由一个聚集索引,聚集索引是InnoDB储存引擎组织数据储存的依据,如果一
2021-04-02 17:08:17
230
原创 sql注入
对于在输入用户名密码等需要用户自行输入内容并在mysql数据库中查询的语句,sql注入是一种常见的被攻击方式。#数据表场景create table userinfo(id int primary key auto_increment,user_name char(10),password char(10));insert into userinfo(user_name,password) values("gaga","123"),("mb","234");#模拟用户登录场景import pym
2021-03-31 16:12:02
213
原创 pymysql
pymysql是python提供的mysql客户端查数据import pymysqlconn = pymysql.connect( #先建立连接 host = "127.0.0.1", port = 3306, user = "root", database="test", password="123", charset="utf8")cursor = conn.cursor() #创建游标sql = "select * from dep;"
2021-03-31 15:17:04
80
原创 多表查询
场景:两张表,一张emp表内是员工数据,一张dep表是部门数据,emp表内pid字段关联dep表id字段。 insert into emp(name,post,salary) values ("gaga","tec",10000), ("xjj","sale",8000), ("mb","tec",9000), ("cjj","tec",9500), ("brownie","sale",6000), ("gagaga","manager",15000);create table dep(
2021-03-31 11:09:46
131
原创 mysql行增删改和单表查询
插入 insertinsert into 表名(字段1,字段2,字段3,……,字段n) values(值1,值2,值3,……,值n);如果不指定字段则需要在values处输入全部字段信息insert into book(id,name) values(1,"book1");将查询出的数据插入指定表insert into 表名1(字段1,字段2,字段3,……,字段n) select(字段1,字段2,字段3,……,字段n) from 表名2(where 字段 = condition);更新up
2021-03-30 17:30:23
93
原创 表的修改与三种外键约束模式
场景:存在book表和publish表,book表的pid字段外键关联了publish表的id字段create table publish(id int primary key auto_increment,name char(10));create table book(id int primary key auto_increment,name char(10),pid int not null,foreign key(pid) references publish(id);查看外键关系名称
2021-03-30 00:33:10
732
原创 忘记root密码的解决办法
如果忘记root密码,只能想办法跳过mysql的权限认证功能,因为正常启动mysqld服务一定会有密码验证。先停止mysqld服务:net stop mysql利用cd命令将执行目录改到bin输入mysqld.exe – skip-grant-tables再打开一个dos窗口用mysql进到客户端(这时已经跳过了密码验证)mysql的用户名密码都在一个名叫mysql的库里的user表内存着,所以只需要修改表里的数据就可以修改密码。use mysql;show tables;select us
2021-03-26 10:32:35
245
1
原创 mysql完整性约束
not null约束该字段不能为空create table t1(id int, name varchar(5) nut null);insert into t1(name) values ("cjj");default规定默认值create table t1(id int, name char(10), age int default 18);insert into t1(id,name) values(1,"gaga");unique不唯一create table t1(
2021-03-25 23:56:47
111
原创 MYSQL基础数据类型与严模式修改
数值类型类型大小范围(有符号)范围(无符号)TINYINT1字节(-128,128)(0,255)SMALLINT2字节(-32768,32768)(0,65535)MEDIUMINT3字节(-8388608,8388607)(0,167772155)INT或INTEGER8字节(-2147483648,2147483647)(0,4294967295)BIGINT8字节(-9233372036854775808,92333720
2021-03-25 00:25:28
205
原创 数据库基础SQL语句
客户端连接服务端时的完整指令mysql -h 127.0.0.1 -P 3306 -uroot -p #-h ip地址 -P 端口号#之后输入密码库操作show databases; #查看所有数据库use db1;#使用db1库drop database db1;#删除db1这个库表操作创建表语法:create table 表名(字段名1,类型[(宽度) 约束条件],字段名2,类型[(宽度) 约束条件],字段名3,类型[(宽度) 约束条件],);show table
2021-03-24 23:40:48
86
原创 socket服务端加并发:socketserver
socket服务端要同时连接多个客户端,只能排队连接是不符合实际开发需求的,要实现scoket模块的并发就需要socketserver模块。#socketserver服务端.pyimport socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): while 1: from_client_data = self.request.recv(1024)
2021-03-24 15:20:16
120
原创 数据库介绍
数据库管理系统存在的意义1.如果软件直接和硬盘进行操作提取或者储存数据IO多,使用数据库管理系统会以最少的IO操作数据。2.可以解决数据储存提取等操作的并发。数据库一些概念记录:一条信息表:文件库:文件夹数据库管理系统:软件数据库服务器:一台机器,安装了数据库管理软件数据库分类:关系型数据库:mysql oracle sqlserver sqlite Accessmysql最大的好处就是开源oracle不开源所以特别安全,费用高,一般用在银行政府等。sqlserver特别简单
2021-03-24 09:48:09
146
1
原创 计算机发展史与进程等相关概念
计算机发展史最早出现的计算机:算盘电子类计算机发展史:第一代计算机1940~1955在大学里出现了机房,想使用计算机必须预约。先连接调配各个硬件,真空管,再插上程序调试,效率极低。优点:个人独享整个计算机资源缺点:1.硬件调试插线耗时效率低 2.所有人都是串行执行第二代计算机:磁带储存——批处理系统优点:1.程序员不用亲自对硬件进行插线操控,效率提高。2.可以进行批量处理代码。缺点:1.程序员不能独享计算机 2.所有程序还是串行第三代计算机:集成电路,多道程序系统大背景:1.集成电
2021-03-24 00:12:18
139
原创 mysql安装过程与无法启动服务的解决
mysql 5.6.47 windows解压版链接:https://pan.baidu.com/s/145jQ1jGp5hyGdIPa5n_rvw提取码:recv1.下载完成解压后可以放在任意地址2.需要在mysql-5.6.47-winx64路径下写my.ini文件,作为mysql服务端和客户端的配置3.my.ini的一种写法[client]# 设置mysql客户端默认编码default-character-set=utf8[mysql]# 设置mysql客户端默认编码default
2021-03-22 00:06:33
217
原创 基于UDP协议的socket
UDP协议是无链接的,先启动哪一端都不会报错#server.py内import socketserver = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#面向报文的server.bind(("127.0.0.1", 8801))while 1: data = server.recvfrom(1024) #data接收到是一个元组,第一个元素是数据内容,第二个元素是元组形式的客户端IP和端口号 print(f"来自
2021-03-21 23:44:35
937
原创 自定制报头解决粘包问题实现文件的下载
Json存在的意义数据是需要以bytes的形式在网络之中相互传输的,而数据类型中,只有str数据可以通过bytes()函数转换为bytes形式,所以很直接的想法就是将其他类型的数据转换为str,再通过bytes()函数转换为bytes,再通过网络传输。这就涉及到一个问题,接收方接收到bytes数据并通过解码反解回str数据后再如何将str数据转换为原始数据。Json就是解决的这一问题,可以通过Json模块将数据转换为一种特殊的str数据,这种str数据可以反解回原始数据类型。这样就解决了数据在网络中的
2021-03-21 23:03:54
71
原创 粘包现象与粘包的简单解决
数据缓冲区每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入到缓冲区,函数就可以成功返回,不管它们有没有到达目标机器,也不管它们何时被发送到网络,这些都是TCP协议负责的事情。TCP协议独立于 write()/send() 函数,数据有可能刚被写入缓冲区就发送到网络,也可能在缓冲区中不断积压,多次写入的数据被一次性发送到网络,这取决于当时
2021-03-14 14:18:20
311
原创 基于TCP协议的socket应用实例:执行远程命令
subprocess模块subprocess模块可以模拟cmd命令行的运行import subprocessobj = subprocess.Popen("dir", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print(obj.stdou
2021-03-11 23:04:03
144
原创 合理退出通信、基于TCP协议的socket循环通信、基于TCP协议的socket通信与链接循环
socket通信的正常退出#server.py中import socketphone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)phone.bind(("127.0.0.1", 8848))phone.listen(5)print("监听状态")conn, addr = phone.accept()print("已被连接")print(f"客户端IP为{addr[0]}", f"客户端端口为{addr[1]}")#通过
2021-03-11 18:17:28
251
1
原创 DNS服务器
路由器的IP分内网IP和外网IP外网IP就是和公网通信时采用的IP内网IP:在局域网内,所有计算机的IP地址都是假的,都是通过路由器的DHCP协议自动分发的IP地址和网关。DNS服务器前提:第一次访问京东1.电脑A要访问京东网站,在浏览器内输入www.JD.com电脑A将域名单播给交换机交换机将域名单播给路由器路由器会将域名发给DNS服务器DNS服务器会将域名转换为对应网段返还给路由器路由器判断目标网段和源网段是否处同于自己的网段发现不属于自己网段则通过
2021-03-04 15:17:04
192
1
原创 socket套接字
socket定义socket相当于一个接口,承上启下,在应用层和操作系统之间起承接作用。实际上从传输层开始及以下,都是操作系统帮忙完成的,不需要手动封装。socket就是封装了系统内多个层的中间接口。socket又称套接字,它是应用层与TCP/UDP协议族通信的中间软件抽象层,是一组接口。在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在socket口后面,对用户来说,一组简单的接口就是全部,让socket区组织数据,以符合制定协议。socket抽象层存在的原因:
2021-03-04 14:45:50
178
1
原创 异常处理
异常处理错误的分类1.语法错误 2.逻辑错误、异常处理只能处理代码的逻辑错误。异常的定义代码发生异常错误之后,程序被中断。异常处理定义当代码出现异常时,通过某种方法不让程序中断,合理的“跳过”异常。异常处理的作用1.用户体验良好2.是代码更有健壮性和容错性异常处理的两种方式1.if 只能处理简单异常2.try 异常处理的常用方式try: # doc = {"name": "MB", "age": 25} # salary = doc["salary"]
2021-02-24 15:23:21
145
原创 K-Mean聚类、DBSCAN聚类原理与实现
聚类问题是一种无监督问题,聚类问题的目的是将相似的对象分在一组,这类算法的难点在:1.如何评估聚类的结果 2.如何调参K-Means聚类算法基本概念:要得到的簇的个数:需要指定k值质心:均值,即向量各维度的平均值距离的度量:通常采用欧式距离和余弦相似度(均需要先对数据做标准化处理)优化目标:工作流程:1.指定k2.随机选取两个点作为质心3.计算每一个点到质心的距离并将该点分入距...
2019-09-04 19:01:02
410
原创 PCA原理与实现
import numpy as npimport pandas as pddf = pd.read_csv("iris.data", header=None)df.columns = ["sepal_len", "sepal_wid", "petal_len", "petal_wid", "class"]X = df[["sepal_len", "sepal_wid", "petal_...
2019-09-04 16:36:46
176
原创 LDA线性判别分析的原理推导与Python实现
feature_dict = {i: label for i, label in zip(range(4), ("sepal length in cm", "sepal width in cm", "petal length in cm", "petal width in cm"))}import pandas as pddf = pd.read_csv("i...
2019-09-01 11:05:26
266
原创 SVM原理与实现
支持向量机(Support Vector Machine)是一种有监督的机器学习方法,主要用来解决二分类问题,具体是通过寻求一个决策边界使得两类数据可以最好地分开需求:现有两类数据点,需要寻找一个决策辨别使得两类数据被最好的分开决策边界数学表达:ωTx+b=0\boldsymbol{\omega}^{T} \boldsymbol{x}+b=0ωTx+b=0这里ωT\omega^{T}ωT...
2019-08-29 11:00:12
176
原创 关键词提取TF-IDF原理、词云,LDA,朴素贝叶斯分类器的实现
TF-IDF原理TF-IDF的全称是Term Frequency,Inverse Document Frequency表示词频与逆词频,它的思想是如果某个词比较少见,但它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性TF=某个词在文章中出现的次数该文出现次数最多的词出现次数TF=\frac{某个词在文章中出现的次数}{该文出现次数最多的词出现次数}TF=该文出现次数最多的词出现次...
2019-08-26 17:23:38
1122
原创 贝叶斯分类器原理与单词自动纠错的实现
贝叶斯算法原理是通过贝叶斯公式将正向概率转换为逆向概率和先验概率之积正向概率:袋子中有N个白球,n个黑球,摸个球是黑球的概率逆向概率:并不知道黑球和白球的比例,先摸几个球,以结果推测袋中黑白球的比例贝叶斯公式:ρ(A∣B)=P(B∣A)P(A)P(B)\rho(A | B)=\frac{P(B | A) P(A)}{P(B)}ρ(A∣B)=P(B)P(B∣A)P(A)P(Ai∣B)=P...
2019-08-10 16:06:24
452
原创 Titanic获救的随机森林,集成学习实现
import pandas as pdimport numpy as np#数据预处理-------------------------------------------------------------------------------------------------------------DATA = pd.read_csv("titanic_train.csv")p...
2019-08-08 10:34:36
119
原创 集成学习算法与随机数森林、Adaboost原理
集成学习的目的是让机器学习算法的效果更好集成学习主要有三种方式:1.Bagging:训练多个分类器,并以取平均或者众数的方式去的最终结果2.Boosting:从弱学习器开始加强,通过对分类错误的样本赋予更高的权重完成模型的强化3.Stacking:以分阶段的模式聚和多个分类或回归模型降方差(bagging),减偏差(boosting),提升预测准确性(stacking)Bagging...
2019-08-06 17:58:22
270
原创 决策树算法原理与实例
决策树就是从根节点开始一步步走到叶子节点(最终的决策)所有数据最终都会落到叶子节点,既可以做分类也可以做回归节点又可以分为: 1.根节点 2.非叶子节点与分枝 3.叶子节点熵决策树选用熵来当做将数据分开的标准熵:熵的定义是随机变量不确定性的度量熵的公式是:H(X)=−∑pilogpiH(X)=-\sum pi \log piH(X)=−∑pilogpi当pi=0或者pi...
2019-08-05 22:31:56
412
原创 逻逻辑回归案例:信用卡欺诈检测
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltDATA = pd.read_csv("creditcard.csv")#查看数据是否平衡---------------------------------------------------------------------------------...
2019-08-03 22:46:35
295
原创 线性回归及逻辑回归算法的推导、手动实现逻辑回归
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltData = pd.read_csv("LogiReg_data.txt", header=None, names=["Exam1", "Exam2", "Admitted"])positive = Data[Data["Admitted"] == 1...
2019-07-30 15:10:50
568
原创 Matplotlib模块
Matplotlib模块是Python中用来画图的模块制作折线图利用plt.plot(x轴,y轴)结构创建折线图import matplotlib.pyplot as pltimport pandas as pddata = pd.read_csv("UNRATE.csv")data["DATE"] = pd.to_datetime(data["DATE"])#利用pd.to_da...
2019-07-27 22:57:57
494
原创 Pandas模块
Pandas是Python中关于数据处理的模块Pandas的底层是基于Numpy来实现的,它的核心数据结构是DataFrame读数据
2019-07-26 20:37:13
334
原创 Numpy模块
numpy是Python中关于矩阵处理的模块numpy的核心数据结构是array,是列表中嵌套列表的结构创建向量、矩阵;查看shape,改变shape;取出某个数据import numpy as npvector = np.array([1, 2, 3, 4, 5])matrix = np.array([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]]) #列表嵌套...
2019-07-26 17:58:12
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人