自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

holysll的博客

一直写一直爽,不然你养我啊

  • 博客(88)
  • 资源 (1)
  • 收藏
  • 关注

转载 MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISA...

2020-07-09 14:59:22 692

原创 【MongoDB数据库知识】MongoDB数据库常见操作梳理

MongoDB数据库(端口:27017)1. MongoDB常用的操作import pymongoclient = pymongo.MongoClient(host='localhost', port=27017)# 指定数据库testdb = client.test# 指定集合collection = db.students# 插入数据student1 = { 'id': '20180101', 'name': 'zhangsan', 'age': 20,

2020-07-09 14:23:59 351

原创 【Redis数据库知识】Redis数据库常见知识点梳理

文章目录Redis数据库(端口:6379)1. 什么是Redis2. redis的数据类型3. 两种持久化方式4. RDB与AOF比较5. 如果AOF文件出现被写坏的情况,该怎么处理6. redis 和 memcached 的主要区别7. 事务处理8. Redis常见的架构模式(1) 单机模式(2) 主从复制模式(3) 哨兵模式(4) 集群模式9. Redis如何实现分布式锁10. 缓存使用场景11. 常用的缓存使用模式12. 什么是缓存穿透13. 什么是缓存击穿14. 什么是缓存雪崩15. 连接Redis

2020-07-09 14:21:42 495

原创 【MySQL基础知识】MySQL数据库知识点梳理

MySQL数据库知识点目录Mysql数据库(端口:3306)1. 创建数据库2. 用户管理3. 授权管理4. 修改表的列5. 键的操作6. 设置默认值7. SQL语句基础8. 排序9. 聚合函数10. 分组11. 关联查询12. 组合13. LIMIT的用法14. case when15. mysql 常用数据类型16. MySQL读取数据的基本单位17. MySql的事务隔离级别18. MySQL支持哪些存储引擎(1) InnoDB存储引擎(2) MyISAM存储引擎(3) MEMORY存储引擎(4) M

2020-07-09 14:17:57 2333 2

原创 【数据库基础知识】常见的数据库基础知识点梳理

1. 什么是索引2. 索引的数据结构3. 聚簇索引与非聚簇索引4. 什么是索引覆盖5. 什么是回表查询6. 建立索引需要考虑的因素7. 联合索引8. 查看索引是否被使用到9. 为什么要尽量设定一个主键10. 主键使用自增ID还是UUID11. 字段为什么要求定义为NOT NULL12. 如果要存储用户的密码散列,应该使用什么字段进行存储13. 什么是事务14. 事务的特性16. 同时多个事务并发执行可能造成的问题17. 不可重复读和幻读的区别18. 共享锁与排他锁19...

2020-07-09 13:52:24 1337

原创 【操作系统知识】多线程、多进程、并发并行、锁的梳理

1. 并发与并行(1) 并发并发是指同一时间间隔内多个任务都在运行,但是并不会在用一时刻同时运行,存在交替执行的情况,因此也经常存在资源竞争德尔情况。线程是并发的,实现的库有threading。(2) 并行并行指的是同一时刻多个任务同时运行,进程是并行的,实现的库有multiprocessing。(3) 并发与并行的应用场景IO密集型操作(程序需要执行较多的读写,请求和回复任务的需要CPU对硬盘、内存进行读写,如爬虫)应使用并发更好,类似于多线程。CPU密集型操作(程序运行需要花

2020-07-09 13:38:52 574

原创 【操作系统知识】调度算法

17. 调度算法常见的调度算法总结(1) 先来先服务(FCFS, First Come First Service)先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度, 也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业, 而不利于I/O繁忙型的作业(进程)。(2) 短作业优先(SJF, Shortest Job First)短作业(进程)优先调度算法(SJ/PF)是指对短作业或短进程优先调度的算法

2020-07-09 13:30:30 495

原创 【操作系统知识】线程间通信

9. 线程间通信(1) 互斥锁互斥锁为资源引入一个状态:锁定/非锁定。某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进行写入操作,从而保证了多线程情况下数据的正确性。"""#创建锁mutex = threading.Lock()#锁定mutex.acquire([timeout])#释放mutex.release()"""import thr

2020-07-09 13:27:04 796

原创 【操作系统知识】进程间通信

8. 进程间通信Process之间肯定需要通信的,操作系统提供了很多机制来实现进程间的通信。Python的multiprocessing模块包装了底层的机制,提供了Queue/Pipes等多种方式来交换数据。(1) 消息队列Queue简单的理解Queue实现进程间通信的方式,就是使用了操作系统给开辟的一个队列空间,各进程可以把数据放到该队列中,当然也可以从队列中把自己需要的信息取走。Queue/queue模块常用属性属性描述****Queue/queue模块的类***

2020-07-09 13:25:10 200

原创 【操作系统知识】python实现协程

7. python实现协程(1) yield + send实现通过“生产者-消费者”模型来看下协程的应用,生产者产生消息后,直接通过yield跳转到消费者开始执行,带消费者执行完毕后,切换回生产者继续生产。# 利用生成器实现协程# 来源:https://juejin.im/post/5d888151f265da03dd3db0f5def consumer(): r = '' while True: n = yield r if not n:

2020-07-09 13:23:55 198

原创 【操作系统知识】python实现多线程

6. python实现多线程多任务可以由多进程完成,也可以由一个进程内的多线程完成。线程是操作系统直接支持的执行单元,Python的标准库提供了两个模块_thread(低级模块)和threading(高级模块),大部分情况下选择用threading模块。import timeimport threading# 新线程执行def loop(num): print(f"线程{threading.current_thread().name}正在运行...") n = 0 w

2020-07-09 13:22:39 188

原创 【操作系统知识】python实现多进程

5. python实现多进程Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次返回一次,但是fork()调用一次返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后分别在父进程和子进程内返回。子进程永远返回0,而父进程返回进程的ID。一个父进程可以fork出多个子进程,所以父进程要记下每个子进程的ID,而子进程只主要调用getppid()就可以拿到父进程的ID。父进程、子进程执行的顺序没有规律,完全取决于操作系统的调度

2020-07-09 13:21:28 336

原创 【操作系统知识】进程、线程以及协程间的区别

4. 进程、线程以及协程间的区别线程、进程、协程、锁的总结(1) 进程(process)进程是系统进行资源分配和调度的一个独立的最小单位,它是程序执行的一个实例。程序运行时,系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候,就会为它分配CPU、内存、时间片,程序开始真正运行。进程拥有自己独立的内存空间,进程间数据不共享,因此开销大。进程特征:动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生的,动态消亡的;并发性

2020-07-09 13:20:28 251

原创 【Django】Django 基础知识梳理

Django1. Django2. Django请求生命周期3. MVC模式与MVT模式4. FBV和CBV5. ORM的理解6. 中间件的作用7. 谈谈restful规范的认识8. rest_framework框架中有哪些组件9. rest_framework框架认证流程10. rest_framework实现用户访问频率控制11. 路由匹配的原则12. 路由系统中include的作用13. Django默认自动在网址结尾添加’/’14. urlpatterns中的nam..

2020-07-07 01:47:56 307

原创 【Django】Django中的跨域问题如何处理

Django中的跨域问题如何处理跨域是指一个域下面的文档或脚本试图去请求另一个与下的资源。当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同时,就会出现跨域。解决跨域问题:(1)安装第三方扩展:pip install django-cors-headers(2)添加应用INSTALL_APPS = ( 'corsheaders',)(3)添加中间件,第一条MIDDLEWARE = [ 'corsheaders.middleware.Cor

2020-07-07 01:42:31 546

原创 【Django】rest_framework框架认证流程

rest_framework框架认证流程参考Django rest framework源码分析(1)----认证基于CBV使用rest_framework框架,基于反射实现根据请求方式不同,执行不同的方法。原理:url–>view方法–>dispatch方法(反射执行其他方法:GET/POST/PUT/DELETE等)。# 1、在settings的app中添加rest_frameworkINSTALLED_APPS = { 'rest_framework',}# 配置u

2020-07-07 01:38:57 321

原创 【网络基础知识】网络基础知识点归纳梳理

1. 常用的网络传输协议TCP:传输控制协议,可靠传输,面向连接UDP:用户数据包协议,不可靠传输,面向无连接FTP:文件传输协议,用于上传和下载文件HTTP:超文本传输协议,基于TCP/IP通信协议,面向对象SMTP:邮件传输协议TELNET:Internet远程登录服务的标准协议和主要方式DNS:域名系统,将域名解析为ip地址2. ICMP协议与IGMP协议ICMP(Internet Control Message Protocol)Internet控制报文协议,是一种面向无连接

2020-07-07 01:29:56 1712 1

原创 【网络基础知识】select、poll和epoll

select、poll和epollselect通过一个select()系统调用来见识多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select优缺点:优点:目前几乎支持所有平台,优点是良好的跨平台支持;缺点:单个进程能够见识的文件描述符存在最大限制,linux一般是1024,不过可以通过修改宏定义甚至重新编译内核的方式提升这一限制;select()说维护的存储大量文件描述

2020-07-07 01:23:44 187

原创 【网络基础知识】常见的web安全问题有哪些

常见的web安全问题有哪些(1)SQL注入SQL注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。SQL危害到数据库的信息,管理员的账号密码、用户的敏感信息等;可以获取服务器权限;植入攻击脚本;读取服务器敏感文件。常见的一个例子,登陆页面输入用户名admin' --,密码随意输入,这样子后台的SQL语句会由原来的SELECT * FROM user WHERE username='admin' AND psw='password';就会变为

2020-07-07 01:21:40 723

原创 【网络基础知识】Socket编程

24. socket编程socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用打开/读写/关闭模式来操作。socket就是该模式的一种实现,socket即是一种特殊的文件,一些socket函数就是对其极性的操作(读/写IO、打开、关闭)基本上,socket是任何一种计算机网络通讯中最基础的内容。file模块是针对某个指定文件进行打开/读写/关闭;而socket模块是针对服务器端和客户端socket进行打开/读写/关闭。例如当你在浏览器地址输入http://ww

2020-07-07 01:19:15 266

原创 【Python基础知识库】Python中字符串和字节串的区别

字符串和字节串的区别字符串有若干个字符组成,以字符为单位进行操作;字节串由若干个字节组成,以字节为单位进行操作。字符串和直接传出了操作的数据单元不同之外,它们支持的所有方法基本相同。字符串和字节串都是不可变序列,不能随意增加和删除数据。bytes只负责以字节序列的形式(二进制的形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。bytes只是简单记录内存中的原始数据,不在意这些数据的使用。字符串和字节串可以通过不同字符集

2020-07-05 00:55:51 3870

原创 【Python基础知识库】Python中的参数类型

python中参数类型有哪些位置参数:也叫必备参数,指函数调用时,传入的实参数量和位置、类型必须与函数定义时保持一致,即形参和实参的位置数量必须一致# 在调用func函数时,必须按位置传入name和age,多了少了都不行,否则会抛出TypeError异常def func(name, age): """ :param name: str :param age: int :return: tuple """ print(name, age)func(

2020-07-05 00:55:09 218

原创 【Python基础知识库】Python中函数传参过程

python中函数传参过程值传递值传递实际上就是把实际参数值的副本传入函数,不管函数对该值做了什么操作,而参数本身不会受到任何影响。def func(a, b): a, b = b, a print("func里交换处理完a的值为{},b的值为{}".format(a, b))if __name__ == '__main__': a, b = 3, 4 print("交换前a的值为{},b的值为{}".format(a, b)) func(3, 4)

2020-07-05 00:54:12 155

原创 【Python基础知识库】Python中bytes与bytearray

常识普及:通常在常用的ASCII、utf-8 和unicode 编码中,像 a 这样一个英文字符,在内存中占一个字节。一个汉字在ASCII和unicode编码里占两个字节,在utf-8 编码中占三个字节。一个字节有八位,也就是八个数字,也叫8个bit 。计算机中的最小储存单位就是bit,bit是二进制的,所以计算机中的数据全都是0和1,没有其他的数字。bytesbytes是字节组成的有序的不可变序列字符串按照不同的字符集编码encode返回直接序列bytesencode(encod.

2020-07-05 00:53:15 609

原创 【Python基础知识库】Python中yield语句的作用

yield语句的作用python之yield、yield from该关键字用于函数中会把函数包装为生成器(generator),调用生成器函数时,会返回一个生成器对象,生成器函数是生成器工厂。def func(): yield 1 yield 2 yield 3for i in func(): print(i)g = func()print(next(g))print(next(g))print(next(g))# 结果'''12312

2020-07-05 00:51:41 1052

原创 【Python基础知识库】Python中正则表达式

python中正则使用方式正则表达式常用的匹配规则模式描述****一般字符****.匹配除换行符"\n"和"\r"之外的任意字符,在re.S模式下则能匹配任意字符\转义字符,使下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符,如果原始字符串中含有* . ? + $ ^ [ ] ( ) { } | \,需要在前面加转义字符\才能正确表示,或者在字符串前面加个r房子转义[…]字符集,用来表示一组字符,对应的位置可以是字符集中任意一个字符,字

2020-07-05 00:49:44 290

原创 【Python基础知识库】Python常见的内置数据结构

python常见的内置数据结构字符串(string)由字符组成的有序的序列,是字符的集合使用单引号’’、双引号""、三引号’’’’’'表示有顺序、能索引、可迭代、元素能重复、不可变对象python3中,字符串就是Unicode类型字符串连接:"分隔符".join(iterable),如:"".join(['1', '2', '3'])。注意:可迭代对象iterable必须是字符串字符串拼接:通过str + str 将两个字符串拼接得到一个新的字符串字符串分割:

2020-07-05 00:49:21 240

原创 【Python基础知识库】Python捕获异常

python捕获异常及方法总结在编写程序或者调试程序时,或多或少存在BUG或者异常,这时候就需要进行异常的捕获,根据异常Traceback定位出错点,进行处理。异常类型(1) Python内置异常在Python中,异常也是对象,python的异常处理能力很强大,有很多内置异常,可以为用户准确反馈出错信息。BaseException是所有内置异常的基类,但用户自定义的类并不几层BaseException,所有的异常类都是从Exception继承,且都在exceptions模块中定义。pyth

2020-07-05 00:48:13 589

原创 【Python基础知识库】Python中反射机制

python中反射机制Python的反射机制反射的核心本质其实就是通过字符串的形式导入模块,通过字符串的形式,去模块中找指定函数,并执行。利用字符串的形式去对象(模块)中操作(增删改查)成员,是一种基于字符串的事件驱动。实现思路:规定用户输入格式 模块名/函数名 通过__import__的形式导入模块,并通过 hasattr和getattr 检查并获取函数返回值。方法描述getattr根据字符串形式去某个模块中寻找东西hasattr根据字符串形式去某个模块中判断东西是

2020-07-05 00:47:15 195

原创 【Python基础知识库】Python中代码性能分析

如何分析python代码性能python程序代码性能分析和计时统计以下方法分别针对代码块、代码程序文件、 函数进行性能计时统计:time.time()或者datetime.datetime.now()# 结束时间-开始时间import timeimport datetimestart = time.time() # 或者datetime.datetime.now()func() # 需要统计运行时长的函数end = time.time()print(end - start)

2020-07-05 00:46:48 215

原创 【Python基础知识库】Python中字符串格式化

字符串格式化%格式化: C 语言风格的 sprintf 形式, 用%占位# %o 八进制输出print("八进制:%o" % 222)# %d 十进制整数输出print("整数:%d, %d, %d" % (1, 22.33, 0.25))# %x 十六进制输出print("十六进制:%x" % 12)# 浮点数保留两位小数print("浮点数保留两位小数:%.2f" % 3.1415926)# 万能格式 %r,把任何类型(str、int、float、list、tuple、

2020-07-05 00:46:21 123

原创 【Python基础知识库】Python中raise语句的作用

raise语句的作用当程序出错时,python会自动触发异常,也可以通过raise语句触发异常;一旦执行了raise语句,之后的语句不再执行;但如果加入了try...excepet...finally语句,except里的语句会被执行,finally一样也会被执行。raise语法格式:raise [Exception [, args [, traceback]]],参数Exception 是异常的类型数标准异常中任一种(如NameError),args 是自已提供的异常参数;参数traceback

2020-07-05 00:45:55 3154

原创 【Python基础知识库】Python中decimal精确计算

python decimal精确计算python decimal精确计算(1). Decimal接收int和string类型参数from decimal import *# 不能传入浮点数据,因为浮点数据就不准确a = Decimal(3.33)*100b = Decimal('3.33')*100c = Decimal(3)print(a)print(b)print(c)# 结果'''Decimal('333.0000000000000071054273576')Dec

2020-07-05 00:45:21 480

原创 【Python基础知识库】Python语言基础知识点梳理

1. Python语言的特性Python是一种解释型语言,不需要再运行之前进行编译。Python是一种动态类型语言,不需要声明变量的类型。python适合面向对象编程,允许类的定义以及组合和继承。2. python语言相比其他语言的优点和缺点优点简单易懂,灵活简洁强大的标准库和三方库活跃的社区,许多开源项目开发效率高,迭代便捷应用领域广泛,Web开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习缺点执行效率较差,异步生态不完善,相关

2020-07-05 00:44:35 837

原创 【Python基础知识库】Python中元编程

Python黑魔法:元类和元编程Python 元编程元编程(Meta Programming)又叫超编程,是指某类计算机程序的编写,这类计算机程序的编写或者超重其他程序(或者自身)作为他们的数据,或者在运行完成部分本应该在编译时完成的工作。多数情况下,与手工编译全部代码相比,程序员可以获得更高的工作效率,或者给与程序员更大的灵活度去处理新的情形而无需重新编译。编写元程序的语言称之为元语言。被操作的程序的语言称之为“目标语言”。一门编程语言可以同时也是自身的元语言的能力称之为“反射”或者“自反”。

2020-07-04 19:00:48 201

原创 【Python基础知识库】Python中的高阶函数

高阶函数:一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数。abs# Python内置的绝对值函数a = abs(-10) # 直接调用abs()函数f = abs # 函数本身赋值给变量,即变量指向函数b = f(-10)print(a)print(b)# 结果'''1010'''mapmap()函数会根据的函数对指定的序列做映射。map()函数语法:map(functio.

2020-07-04 18:58:36 2238

原创 【Python基础知识库】Python中重载

参考python 中的重载在Python中,具有重载的思想却没有重载的概念。实际上,Python编程中具有重载的目的却无重载的行为,或者说python并不需要重载。python是一门动态语言,不需要声明变量类型,函数中可以接受任何类型的参数也就无法根据参数类型来支持重载,python没有必要去考虑参数的类型问题,这些都可以在函数内部判断处理,并无必要去在写一个函数。python 有多种传参方式,默认参数、可变参数、可变关键字参数,可以处理函数参数中参数可变的问题。# python3.4 中提供的一个

2020-07-04 18:56:28 3005 1

原创 【Python基础知识库】Python中多态与多态性

多态:指的是以类事物有多种形态,如一个抽象类有多个子类,多态的概念依赖于继承;如在java中,一个函数由于函数签名不同,可以有同名的不同函数存在,调用的时候根据函数签名不同自动找到相应的函数执行。简单来说,就是同一事物的多种形态。Python中的多态不是语法,而是一种设计思想,多态的设计就是要完成对不同类型对象使用相同方法调用能得到各自期望的结果。# 多态:同一种事物的多种形态,动物分为人、猪、狗等等class Animal: def run(self): raise Att.

2020-07-04 18:54:50 192

原创 【Python基础知识库】Python类的继承

继承是一种创建新类的方式,新创建的类加子类,继承的叫父类、超类、基类。继承是类与类之间的关系,继承的作用是减少代码冗余、提高重用性。继承的特征:所有的类都继承自object类,即所有的类都是object类的子类;子类一旦继承父类,则可以使用父类中除了私有成员外的所有内容;子类继承父类后,并没有捡父类成员完全复制到子类中,而是通过引用关系访问调用;子类可以定义独有的成员属性和方法;子类中定义的成员和父类成员如果同名,则优先使用子类成员;子类如果想扩充父类的方法,可以再定义新方法的同时访问父类.

2020-07-04 18:53:22 262

原创 【Python基础知识库】Python类的封装

python 类的封装面向对象编程的一个重要特点就是数据封装。类的封装包含数据封装、方法封装、属性封装。# 数据封装,将程序中需要的数据按照统一的格式封装在类型的内部,通过该类型的对象包装使用数据class Student: def __init__(self, name, age): self.name = name self.age = age# 方法封装,函数和方法混合开发, 处理和某个数据关联的功能-> 功能代码封装成函数,将函数封装在类

2020-07-04 18:52:19 780

业务流程图

这是关于一些题目的数据流程图和业务流程图

2012-10-26

空空如也

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

TA关注的人

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