自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python中set和dict底层实现原理——重写相等性判断

创建一个类,然后创建三个对象。class Person: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return f'{self.name}: {self.age}'p1 = Person('勤勤', 20)p2 = Person('勤勤', 20)p3 = Person('勤勤', 18)persons

2020-09-28 20:02:13 572 1

原创 数据库的完整性和一致性

递归公式,第n次与第n-1次的关系收敛条件,何时停止递归调用,无限递归会触发递归错误缓存函数执行的中间结果,空间换时间优化程序结果@lru_cache()默认 restrict 不能删除 不能更新级连 cascade设置为空 set nullalter table tb_emp add constraint fk_emp_dno foreign key(dno) reference tb_dept (dno) on delete cascade on update cascade;

2020-09-23 19:52:19 5817

原创 数据库用户授权与视图

select /from /where and or not liek between and /group by/having/ order by (asc desc)/ limit / offsetgrant to/ revoke frommysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> grant all privileges on . to ‘yaoyao’@’%’ with grant opti

2020-09-23 17:38:20 1042

原创 装饰器的应用与取消

装饰器是一个函数,它可以装饰其他的函数或类并为其提供额外的功能GoF设计模式(在特定场景下可以复用的设计经验,一共23种经典的场景)装饰器实现了设计模式的代理模式,用代理对象执行被代理的行为并添加额外的功能代理模式通常解决的都是程序横切关注功能问题(跟正常业务逻辑没有必然联系的功能)import randomfrom functools import wrapsdef change_return_value(func): # 可以随时取消掉装饰器 @wraps(func)

2020-09-23 12:51:36 267

原创 mysql 函数和过程

函数和过程最好在程序中做-- 修改代码结束符delimiter $$create FUNCTION display_level(sal int)returns varchar (10)begin if sal < 4000 then return 'low'; elseif sal <7000 then return 'normal'; else return 'high'; end if; end$$delimiter ;select ena

2020-09-23 12:46:29 214

原创 数据库并发操作可能出现的问题及解决方式

并发操作可能出现的问题两类丢失更新脏读 没提交就读到幻读如何处理锁机制:事务隔离级别 自动加锁读未提交 – 会发生脏读读提交 – 会发生不可重复读,不会读到脏数据可重复读 – 重复读到之前的数据。在一个事务中。测试不同隔离级别下并发操作出现的问题开启事务环境mysql> begin; start transaction ;commit ;rollback;查看 更改事务mysql> select @@tx_isolation;mysql> set se

2020-09-23 10:31:58 6300 1

原创 Django 中的 ORM 机制

什么是ORMObject Relation Mapping 即对象关系映射。实现对象模型到关系模型的双向转换。pythonmysql对象模型关系模型模型类数据库的二维表模型类的对象表中的一条记录使用ORM通过表自动生成模型 python manage.py inspectdb > polls/models.py记得在APPS里添加项目名字进入Django的编译器 python manage.py shell然后即可在Django的编译器

2020-09-22 19:50:40 228

原创 PyCharm中一条命令的事儿

一条命令设置全局豆瓣镜像 pip config set global.index-url https://pypi.doubanio.com/simple一条命令生成依赖项文件pip freeze > requirements.txt一条命令安装所有依赖项 pip install -r requirements.txt

2020-09-22 18:58:14 129

原创 Django安装和做本地仓库免密配置

一、在终端中安装Djangopip3 install django==2.2.16 django-admin --versiondjango-admin startproject hellodjango二、先在本地初始化一个仓库,再添加到远端中(已经做过免密配置)cd hellodjangogit init git remote add origin git@gitee.com:zhangyao97/hello-django.git本地免密配置三、pycharm中安装

2020-09-21 20:04:20 120

原创 在天行数据通过API拿到数据并放入数据库

先创建数据库与表,记得设置字符编码为utf8。否则存中文会报错。create database news DEFAULT CHARACTER set utf8;create table tb_newslist (id int AUTO_INCREMENT PRIMARY KEY,title VARCHAR(100) DEFAULT '',url VARCHAR(150));通过requests获得数据,连接数据库,并将数据写入。import requestsimport pymysql

2020-09-19 17:46:44 737 2

原创 mysql设置级连删除|级连更新

以学习数据库入门的学生表与学院表为例。学生表以学号为主键,学院表以学院编号为主键。学生表中的学院编号参照学院表,作为学生表的外键。现在的需求是:删除学院表中的学院,所属学院的学生在学生表中同时被删除。-- 查看创建学生表的语句SHOW create table tb_student;-- 创建学生表语句create table tb_student(stuid integer not null comment '学号',stuname varchar(20) not null com

2020-09-19 15:36:33 388 2

原创 python递归函数使用@lru_cache()装饰器缓存中间计算结果

很多复杂的问题在没有发现明显的计算规律的时候,也许使用递归能帮我们得到答案。使用递归的条件:递归公式:第n次与第n-1次的关系收敛条件:何时停止递归调用,无限递归会触发递归错误(溢出)举一个简单的例子:计算n的阶乘 n!=n*(n-1)!def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)for i in range(1,101): print(f'{

2020-09-19 10:27:55 506

原创 如何使用mysql的函数帮助

查询 函数用法mysql> ? functionsmysql> ? Control Flow Functionsmysql> ? IF FUNCTION查询学生性别,将数据库中的01显示为男女select stuname as 姓名,case stusex when 1 then '男' when 0 then '女' else '未知'end as 性别 from `tb_student`;根据学生出生日期算学生年龄select stuname,floor(dated

2020-09-18 09:51:12 332

原创 mysql查询进阶——员工表与部门表连接查询

如下是员工表与部门表的表内容。查询月薪最高的员工姓名和月薪(子查询)select ename, sal from tb_emp where sal = ( select max(sal) from tb_emp);-- 如果月薪最高的员工有多个,则结果不正确。-- select ename, sal from tb_emp order by sal desc limit 1;查询员工的姓名和年薪((月薪+补贴)*13)有的员工没有补贴,且值为null,因此需要对null做处理,如果值

2020-09-17 23:50:22 5212 2

原创 mysql随笔-01

IOE --> IBM小型机 Oracle数据库,EMC存储设备2008年 阿里去IOE运动x86 通用服务器mysql 社区版 免费fastDFS --> 分布式文件系统雪花算法 snowflake 分布式自增范式理论:规范级别1NF :列是原子列,不可再分;2NF :主键,不是主键的列必需依赖于主键3NF :不是主键的列直接依赖主键,而不是传递依赖。学生依赖学号,学院依赖学院编号。分表。BCVF范式级别越高,查询越慢。商业项目一般加这些字段:create_time;

2020-09-17 23:19:03 107

原创 云服务器上操作mysql数据库——查命令|修改表

创建数据库创建数据库需要注意,mysql默认latin1编码,保存中文会出现编码黑洞(中文显示为问号),如果数据库会存入中文,那么一定要记得指定字符编码为utf8。mysql> create database school default charset utf8;在mysql中查所有命令帮助mysql> ?查询具体命令的使用帮助mysql> ? show查询所有的数据类型mysql> ? data types;查询表结构mysql> show

2020-09-15 20:25:26 374

原创 更改服务器上mysql root初始密码,并对密码规则进行设置

首先启动mysql,守护进程后面加dsystemctl start mysqld连接mysqlmysql -u root -p如果安装的时候没有设置密码,不知道登陆密码。mysql日志中有设置临时密码。[root ~]# cat /var/log/mysqld.log | grep password将红色方框中的临时密码拷贝下来,登入mysql,然后修改一个能记住的密码。mysql> alter user 'root'@'localhost' identified by 'Tia

2020-09-15 17:45:16 564

原创 使用Gitee做远端仓库并做免密配置

全球最大的代码托管平台GitHub,因为网速实在太慢了,换了个国内的Gitee,速度还行。今天就来总结一下如何将本地代码放到远端仓库,并做免密设置。首先,得有个码云的账号吧,如果没有先注册。注册好了,首页右上角有个 ➕ 号,点击新建仓库。建好仓库以后,进入仓库,会看见有两种连接方式。一、 HTTPS 远程连接点击右边的复制,复制HTTPS地址。选用HTTPS的连接方式每次都需要输入码云的用户名和密码。在Linux系统中执行添加远端仓库,origin是对后面地址的别名,建议就使用origi

2020-09-14 20:57:15 3206

原创 修改远端仓库地址后,执行push报:[remote rejected] master -> master (shallow update not allowed)

在添加远程仓库的时候,删除了旧的仓库地址,添加了新的地址,再次push的时候,报了[remote rejected]错误,好像你已经使用了 git clone --depth< number> 克隆你的本地版本。这会导致浅层克隆。这样一个克隆的一个限制是你不能将它推送到一个新的存储库中。这意味着你必须 unshallow 你的库。git remote add old< path-to-old-remote> ;之后,我们使用 git fetch 来获取旧遥控器上的剩余历史记

2020-09-14 19:40:14 5267

原创 版本控制提交代码到远端仓库报错:Access deined: DeployKey does not support push code

在pycharm中实施版本控制,从远端克隆代码(pull)。克隆代码以后,对代码做了修改,先提交(commit),写明提交原因。没有出现任何异常。再想push到远端仓库的时候,报了如下错误。根据网络上的资料,我将原来部署在仓库的远程连接公钥删除。添加到个人公钥出。修改公钥位置以后,push成功!最后,推荐一个专业的版本控制软件:sourcetree...

2020-09-14 12:30:23 2739 1

原创 使用Git在Linux服务器本地做版本控制(含Git安装步骤)

在本地做版本控制,首先检查一下是否有git。git --version如果没有,就需要先下载安装git。wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.28.0.tar.gzgunzip git-2.28.0.tar.gzcd git-2.28.0# 补充依赖项yum install -y libcurl libcurl-devel zlib zlib-devel# 安装前的配置(配置安装路径)./c

2020-09-09 20:42:21 694

原创 在vim中映射快捷键,使用pylint检查代码规范性

使用vim编辑python代码,像if __name__ == '__main__':这样很长的常用的语句写起来就比较麻烦。可以使用底线命令模式:imap <F2> if __name__ == '__main__':这条语句的意思是在编辑模式下,按F2键会自动补全if __name__ == '__main__':这条长语句,当然可以设置其他任意快捷键,但是请注意:不要和已有的快捷键冲突。但是,如果语句写成:imap _main if __name__ == '__main__':就会出现

2020-09-09 19:04:41 278

原创 去掉服务器命令前面又臭又长的IP

在连接服务器的时候,会发现每次输入命令的时候,都会有一长串的没有用的字符,那么如何去掉呢?这就得修改系统环境变量文件vim /etc/bashrc在41行的位置,删除@\h,去除冗余的IP地址,中间留一个空格好看一些。然后要退出服务器重新登陆,才会生效。最后,解释一下那三个参数的含义。参数含义u用户 (user)h主机(host )w当前所在文件夹(word)...

2020-09-09 17:02:23 231 1

原创 永久更改vim的配置以及vim基本命令的使用

一、修改vim配置进入末行模式,可以设置vim配置。但是末行模式下的设置都是临时设置,退出后再用vim打开文件后,这些设置就会失效。语句含义:set nu显示行号:set nonu取消显示行号:set ts=4设置一个制表键为4个空格:set expandtab设置所有的制表键都为4个空格:set autoindent设置自动缩进不想每次用vim编辑文件的时候都做重复的设置,那么就将这些配置写入文件中永远保存。创建一个.vimrc的文件,然后将

2020-09-08 19:58:47 2984

原创 服务器上源代码构建安装redis

alias ‘rm=rm -f’unalias rmatime访问时间mtime修改时间ctime创建时间数据库服务器下载mysqlwget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar检查摘要md5sum mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar摘要一致,说明文件无损1a899946e4456bff1f0970024c

2020-09-08 17:43:41 104

原创 如何在服务器上安装mysql并解决安装时报与mariadb冲突的错误

下载mysqlwget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar检查摘要 md5sum mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar 摘要一致,说明文件无损1a899946e4456bff1f0970024ce836bf解归档直接解归档文件会很乱,先创建一个叫mysql的文件夹,然后将解归档出来的文件放入mysql文.

2020-09-08 17:25:43 1865

原创 在服务器上源代码构建安装python

补充依赖项yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libdb4-devel libpcap-devel xz-devel libffi-devel下载源代码:wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz验证MD5摘要(.

2020-09-08 15:47:31 240

原创 如何将阿里云服务器变成web服务器

我使用的是finalshell远程连接的我的阿里云服务器,如果想要将其变成一台web服务器,需要安装Nginx或Apache。我选择Nginx,还是先搜索,安装最下面的那个文件。yum search nginx安装命令这样写就可以了。yum install -y nginx安装好了,查看一下信息。yum info nginx然后启动nginxsystemctl start nginx接下来在浏览器输入我的公网IP地址,会发现网页打不开。这个也许是阿里云服务器的80端口没有打开。

2020-09-08 13:11:27 418

原创 一篇文章入门Linux

在FinalShell中常用的快捷键快捷键含义ctrl+w删词ctrl+u删整行ctrl+a到行首ctrl+e到行尾ctrl+c中止程序运行ctrl+z暂停程序并放置后台Linux常用命令语句参数含义ls查看当前目录下的文件和文件夹-l长格式查看-a查看所有(包含隐藏文件)-R递归查看(将文件夹展开)mkdir创建文件夹mkdir -p test/{d1,d2,d3

2020-09-07 20:07:49 513 2

原创 pyecharts对成都java岗位经验要求及学历要求做可视化分析

上一篇文章对岗位的分布情况有了大致的了解,那企业的用人要求又是怎样的呢?接下来对岗位的经验要求以及学历要求做一个描述性统计分析。首先,还是导入需要的包,这次使用饼图,导入Pie。from pyecharts.charts import Piefrom pyecharts import optionsimport csv在上一篇文章清洗数据的基础上改一改切片的位置就可以啦!def prepare_data(): with open('file/java招聘.csv')as f:

2020-09-05 19:01:30 342

原创 使用pyecharts对成都java岗位分布做可视化分析——接上篇

上一篇文章详细描写了从某个招聘网站爬取某个岗位的详细过程。这次,将使用python中的pyecharts库做一个入门级分析。pyecharts库中包含多种作图方式,这次只选择几个常用的图做基本展示。先使用柱状图按城区分类统计招聘数量。首先,导入需要使用的类,然后先查看一下前五条数据。from pyecharts.charts import Barfrom pyecharts import optionsimport csvwith open('file/java招聘.csv')as f:

2020-09-04 20:54:40 311

原创 python-requests多线程爬取招聘网站信息

以下内容为实现在招聘网站爬取某个岗位的招聘信息,使用requests方式获取信息。首先导入需要用到的包import csvimport jsonfrom queue import Queuefrom re import findallimport requestsfrom threadPool import ThreadPool, makeRequests定义一个获取网页信息的函数,headers中需要修改User-Agent的信息,模拟用户登陆。如果返回的状态码是200,说明获取页面成

2020-09-03 20:59:07 999

java招聘.csv

python多线程爬取数据的结果,也是使用pyecharts对成都java岗位分布做可视化分析的原始数据,仅供参考。

2020-09-09

空空如也

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

TA关注的人

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