strip

干了三年Java后端,你竟然还不知道MySQL的四大隔离级别?

允我心安 提交于 2021-02-20 16:29:18
前言 之前分析一个死锁问题,发现自己对数据库隔离级别理解还不够清楚,所以趁着这几天假期,整理一下MySQL事务的四大隔离级别相关知识,希望对大家有帮助~ 事务 什么是事务? 事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 假如A转账给B 100 元,先从A的账户里扣除 100 元,再在 B 的账户上加上 100 元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没有增加。所以就需要事务,将A的钱回滚回去,就是这么简单。 事务的四大特性 原子性: 事务作为一个整体被执行,包含在其中的对数据库的操作要么全部都执行,要么都不执行。 一致性: 指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10块钱,不管成功与否,A和B的总金额是不变的。 隔离性: 多个事务并发访问时,事务之间是相互隔离的,一个事务不应该被其他事务干扰,多个并发事务之间要相互隔离。。 持久性: 表示事务完成提交后,该事务对数据库所作的操作更改,将持久地保存在数据库之中。 读者福利:关注公众号:麒麟改bug,获取整理好的MySQL500多页学习笔记和面试题资料(1184页PDF文档) 事务并发存在的问题 事务并发执行存在什么问题呢,换句话说就是,一个事务是怎么干扰到其他事务的呢?看例子吧~ 假设现在有表

python 内置函数总结(大部分)

不羁的心 提交于 2021-02-16 12:05:07
python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数。它们就是python提供给你直接可以拿来使用的所有函数。那今天我们就一起来认识一下python的内置函数。 上面就是内置函数的表,68个函数都在这儿了。这个表的顺序是按照首字母的排列顺序来的,你会发现都混乱的堆在一起。比如,oct和bin和hex都是做进制换算的,但是却被写在了三个地方。。。这样非常不利于大家归纳和学习。那我把这些函数分成了6大类。你看下面这张图: 上图中,标红的四大块有56个方法。今天先学习这些。 1-1. 作用域相关的函数 enter description here 基于字典的形式获取局部变量和全局变量 globals()——获取全局变量的字典 locals()——获取执行本方法所在命名空间内的局部变量的字典 Output: {' name ': ' main ', ' doc ': None, ' package ': None, ' loader ': <_frozen_importlib_external.SourceFileLoader object at 0x00F6EE30>, ' spec ': None, ' annotations ': {}, '

数据处理之pandas库

泪湿孤枕 提交于 2021-02-15 06:21:49
1. Series对象   由于series对象很简单,跟数组类似,但多了一些额外的功能,偷个懒,用思维导图表示    2. DaraFrame对象   DataFrame将Series的使用场景由一维扩展到多维,数据结构跟Excel工作表极为相似,说白了就是矩阵 1. 定义DataFrame对象   DataFrame对象的构造分三部分:数据data,行标签index和列标签columns,下面给出三种构造方法 data = { ' color ' :[ ' blue ' , ' green ' , ' yellow ' , ' red ' , ' white ' ], ' object ' :[ ' ball ' , ' pen ' , ' pencil ' , ' paper ' , ' mug ' ], ' price ' :[1.2,1.0,0.6,0.9,1.7 ]} # 构造DataFrame方法1 frame1 = pd.DataFrame(data) print (frame1) # 构造DataFrame方法2 frame2 = pd.DataFrame(data,columns=[ ' object ' , ' price ' ]) print (frame2) # 构造DataFrame方法3 frame3 = pd.DataFrame(data

OpenStack黄金十年:说说我与OpenStack的故事

橙三吉。 提交于 2021-02-15 02:31:59
导读:从2010年到2020年,OpenStack项目整整走过了十个春夏秋冬。不管是OpenStack基金会,还是积极参与OpenStack社区的厂商、企业乃至开发者,想必都有肺腑之言想对OpenStack倾诉。 翻开记忆中OpenStack项目十年的故事,会不会别有一番滋味在心头? 故事1: 改变从OpenStack开源云开始 OpenStack之所以能有今天的行业影响力,与OpenStack基金会的成功运作是密不可分的。OpenStack项目十周年故事的第一个讲述人便是OpenStack基金会首席运营官Mark Collier(柯理怀)。 2010年,OpenStack项目启动时仅有少数几个组织的支持。十年后的今天,OpenStack拥有:来自187个国家的600多个组织,以及105000位社区成员的支持;OpenStack与 Linux kernel、Chromium(Chrome浏览器和Chrome OS的上游项目)已成为全球最活跃的三大开源项目;数千名开发者在上游贡献了代码,按时发布了20个OpenStack版本;全球组织及机构的OpenStack部署总规模已达到1000万个计算核心,涉及零售、金融服务、电信、研究机构、政务等多个行业和领域;OpenStack已是开源私有云领域的事实标准,同时全球还有几十个公有云平台基于OpenStack部署;社区已启动四个新的开源项目

老男孩python学习之作业二---三级菜单

↘锁芯ラ 提交于 2021-02-14 08:45:45
因为之前花力气完成了购物小程序的作业 现在做这个三级菜单简直是 so easy !! 1 .显示省级菜单 2 .交互,提示用户输入要查看的省份(退出e) 2.1 .用户正确输入列表中的省份 3 .显示市级菜单 3.1交互,提示用户输入要查看的市(返回q/ 退出e) 4 .显示县级菜单 4.1交互,提示用户输入(返回q/ 退出e) 4 .2输入e 退出 4 .3输入q 进入市级循环 4 .4输入错误 提示重新输入 3 .2输入e 退出 3 .3输入q 进入省级循环 3 .4输入错误 提示重新输入 2.2 .输入e 退出 2.3 .输入错误 提示重新输入 先百度百科各个省份的行政规划(我心狠手辣的搜索了十多个),一般百科里面都是以表格的形式罗 列出来的,你不能直接复制到代码中,所以要用到其他软件 excel 表格和 notepad++ 文本编辑器 找到省份的行政规划表格后,复制粘贴到 excel 表格中,数据会像在百科中一样列成了几行几列,你要 删除不要的那几行数据,然后复制粘贴到 notepad++ 文本编辑器中 在 notepad++ 文本编辑器中找到“搜索 --- 替换”,将其中的“、”全部替换成“ ’,’” 这样处理完,你的字典数据算是完成里一半了,接下来就需要你麻烦一点手动操作去完成字典。 如果你有更快,更省事的方式,请你也分享给我 china_dic = { ' 山西省 '

python基础操作以及hdfs操作

自古美人都是妖i 提交于 2021-02-14 02:35:17
一、前言 作为一个全栈工程师,必须要熟练掌握各种语言。。。HelloWorld。最近就被“逼着”走向了python开发之路,大体实现的功能是写一个通用类库将服务器本地存储的文件进行简单清洗后转储到HDFS中,所以基本上python的相关知识都涉及到了,这里对一些基础操作以及hdfs操作做一总结,以备查阅。 二、基础操作 2.1 字符串操作 字符串操作应该是所有语言的基础。python基本上也提供了其他语言常用的一些字符串处理函数,常用的如下: 1、startswith 以某个字符串起始 2、endswith 以某个字符串结尾 3、contain python没有提供contain函数,可以使用 'test' in somestring 的方式来进行判断,当然也可以使用index来判断 4、strip 去除空格及特殊符号 5、len 判断字符串长度len(str) 6、upper lower 大小写转换 7、split 分隔字符串 2.2 文件操作 文件以及文件夹操作也是写程序中经常用到的功能。python中文件操作常用的有以下函数。 1、walk 用于递归遍历文件夹,获取所有文件。 2、os.path 文件、文件夹路径等操作。 对文件操作进行了简单的封装,代码如下,仅供参考: def isFile (name): return os.path.isfile(name) def

Python爬虫实例:爬取豆瓣Top250

我们两清 提交于 2021-02-13 14:03:22
入门第一个爬虫一般都是爬这个,实在是太简单。用了 requests 和 bs4 库。 1、检查网页元素,提取所需要的信息并保存。这个用 bs4 就可以,前面的文章中已经有详细的用法阐述。 2、找到下一个 url 地址。本例中有两种方法,一是通过 url 的规则,本例中通过比较发现,只要更改 url 中的 start 参数值就可以;二是通过下一个页的标签获取下一页的 url。代码中采用了第一种方法。 3、判断退出条件,爬虫不可能无限制循环下去。 在这个最简单的示例中,实现以上三步一个爬虫就完成了。简单到不想做其他说明,直接看代码吧。 """ 爬取豆瓣电影Top250 """ import os import re import time import requests from bs4 import BeautifulSoup def download(url, page): print (f " 正在爬取:{url} " ) html = requests.get(url).text # 这里不加text返回<Response [200]> soup = BeautifulSoup(html, ' html.parser ' ) lis = soup.select( " ol li " ) for li in lis: index = li.find( ' em ' ).text

爬虫实践

时光总嘲笑我的痴心妄想 提交于 2021-02-10 08:12:21
1.URL爬取   爬取一个站点的所有URL,大概有以下步骤:   1.确定好要爬取的入口链接。   2.根据需求构建好链接提取的正则表达式。   3.模拟成浏览器并爬取对应的网页。   4.根据2中的正则表达式提取出该网页中包含的链接。   5.过滤重复的链接。   6.后续操作,打印链接或存到文档上。   这里以获取 https://blog.csdn.net/ 网页上的链接为例,代码如下: 1 import re 2 import requests 3 4 def get_url(master_url): 5 header = { 6 ' Accept ' : ' text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 ' , 7 ' Accept-Encoding ' : ' gzip, deflate, br ' , 8 ' Accept-Language ' : ' zh-CN,zh;q=0.9 ' , 9 ' Cache-Control ' : ' max-age=0 ' , 10 ' Connection ' : ' keep-alive ' , 11 ' Cookie ' : ' uuid_tt_dd=10_20323105120

你用 Python 写过最牛逼的程序是什么?

那年仲夏 提交于 2021-02-09 11:31:32
编译:Python开发者 - Jake_on 英文:Quora http://python.jobbole.com/85986/ 有网友在 Quora 上提问,「你用 Python 写过最牛逼的程序/脚本是什么?」。本文摘编了 3 个国外程序员的多个小项目,含代码。 Manoj Memana Jayakumar, 3000+ 顶 更新:凭借这些脚本,我找到了工作!可看我在这个帖子中的回复,《Has anyone got a job through Quora? Or somehow made lots of money through Quora?》 1. 电影/电视剧 字幕一键下载器 我们经常会遇到这样的情景,就是打开字幕网站subscene 或者opensubtitles, 搜索电影或电视剧的名字,然后选择正确的抓取器,下载字幕文件,解压,剪切并粘贴到电影所在的文件夹,并且需把字幕文件重命名以匹配电影文件的名字。是不是觉得太无趣呢?对了,我之前写了一个脚本,用来下载正确的电影或电视剧字幕文件,并且存储到与电影文件所在位置。所有的操作步骤仅需一键就可以完成。懵逼了吗? 请看这个 Youtube 视频:https://youtu.be/Q5YWEqgw9X8 源代码 存放在GitHub: subtitle-downloader 更新: 目前,该脚本支持多个字幕文件同时下载。步骤

python爬虫爬取链家二手房信息

…衆ロ難τιáo~ 提交于 2021-02-09 10:00:58
#coding=utf-8 import requests from fake_useragent import UserAgent from bs4 import BeautifulSoup import json import csv import time # 构建请求头 userAgent = UserAgent() headers = { 'user-agent': userAgent .Chrome } # 声明一个列表存储字典 data_list = [] def start_spider(page): #设置重连次数 requests.adapters.DEFAULT_RETRIES = 15 s = requests.session() #设置连接活跃状态为False s.keep_alive = False #爬取的url,默认爬取的南京的链家房产信息 url = 'https://nj.lianjia.com/ershoufang/pg{}/'.format(page) # 请求url resp = requests.get(url, headers=headers,timeout=10) # 讲返回体转换成Beautiful soup = BeautifulSoup(resp.content, 'lxml') # 筛选全部的li标签