自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javascript进阶

目录一.window对象1.1window的子对象1.1.1navigator对象(了解即可1.1.2screen对象(了解即可1.1.3history对象(了解即可)1.2location对象1.3弹出框1.3.1警告框1.3.2确认框(了解即可)1.3.3提示框(了解即可)1.4计时相关1.4.1setTimeout()1.4.2clearTimeout()1.4.3setInterval()1.4.4clearInterval()..

2022-04-24 20:55:07 290

原创 javascript内置对象和方法

目录一.内置对象和方法二.自定义对象三.创建对象:四.js 面向对象(了解)五.date对象5.2Date对象的方法:六.JSON对象七.Math对象八.RegExp对象( 正则表达式)补充内容:var a1 =[11, 22 ,33, 44, 55];a1.forEach(function(i){ console.log(i); }) var a1 =[11, 22 ,33, 44, 55]; a1.forEach(function(k

2022-04-24 16:26:25 261

原创 JavaScript的函数

目录一.函数二.函数的全局变量和局部变量2.1局部变量2.2全局变量2.3变量生存周期2.4作用域2.5闭包:三.词法分析一.函数函数定义:JavaScript中的函数和Python中的非常类似,只是定义方式有点区别。// 普通函数定义 function f1() { console.log("Hello world!"); } // 带参数的函数 function f2(a, b) { console.log(arguments); // .

2022-04-23 22:54:40 227

原创 JavaScript的类型查询以及运算符和语句

目录一.类型查询二.JS运算符2.1“+” 操作2.2算数运算符2.3比较运算符2.4逻辑运算符2.5赋值运算符2.6三元运算三.语句3.1条件语句3.1.1if else3.1.2多重if else语句3.1.3switch语句3.2循环语句3.2.1for循环3.2.2while循环3.2.3数组去重一.类型查询typeof "abc" // "string" typeof null // "object" ty...

2022-04-23 22:27:33 1566

原创 JavaScript的数组及操作

目录一.创建数组的方法二.数组操作方法2.1获取数组的长度:aList.length;2.2用下标操作数组的某个数据:aList[0];2.3join() 将数组成员通过一个分隔符合并成字符串2.4push() 和 pop() 从数组最后增加成员或删除成员2.5unshift()和 shift() 从数组前面增加成员或删除成员2.6reverse() 将数组反转2.7indexOf() 返回数组中元素第一次出现的索引值2.8splice() 在数组中增加或删除成员

2022-04-23 22:08:24 1480

原创 JavaScript变量

一.变量声明JavaScript 是一种弱类型语言,JS 的变量类型由它的值来决定。定义变量需要用关键字 ‘var’ 。同时定义多个变量可以使用 “,” 隔开。javaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。 多个英文字母 驼峰 myName,严格区分大小写。 声明变量使用 var 变量名; 的格式来进行声明。例子:<!DOCTYPE html><html lang="en"><head> <meta...

2022-04-23 20:00:20 113

原创 JavaScript介绍及引用

一.JavaScript介绍1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注..

2022-04-21 22:06:29 1227

原创 CSS总结

块元素、内联元素、内联块元素 元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。 块元素 块元素,也可以称为行元素,布局中常用的标签如:div、p、ul、li、h1~h6、dl、dt、dd等等都是块元素,它在布局中的行为: 支持全部的样式 如果没有设置宽度,默认的宽度为父级宽度100% 盒子占据一行、即使设置了宽度 内联元素 内联元素,也可以称为行内元素,布局中常用的标签如:a、span、em、b、strong、i等等 都

2022-04-21 16:33:19 66

原创 CSS 浮动元素

在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。关于浮动的两个特点:浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。三种取值left:向左浮动 right:向右浮动 none:默认值,不浮动一.clear clear属性规定元素的哪一侧不允许其他浮动元素。值 描述 left 在左侧不允许浮动元素 right...

2022-04-21 13:00:17 852

原创 CSS盒子模型

目录一.margin外边距二.padding内填充CSS盒模型详解(图文教程) - 千古壹号 - 博客园margin: 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。 padding: 用于控制内容与边框之间的距离; Border(边框): 围绕在内边距和内容外的边框。 Content(内容): 盒子的内容,显示文本和图像。一.margin外边距.margin-test {margin-top:5..

2022-04-21 12:41:01 140

原创 CSS属性相关

目录一.宽和高二.字体属性2.1文字字体font-family2.2字体大小font-size2.3字重(粗细)三.文字属性3.1文本颜色3.2文字对齐text-align3.3文字装饰text-decoration: none;3.4首行缩进text-indent: 32px;四.背景属性五.边框属性5.1边框样式5.2border-radius六.display属性用于控制HTML元素的显示效果。一.宽和高width属性可以为.

2022-04-21 12:22:25 142

原创 CSS选择器

目录一.ID选择器二.class 选择器三.元素选择器四.通用选择器五.组合选择器5.1后代选择器5.2儿子选择器5.3毗邻选择器5.4弟弟选择器5.5属性选择器一.ID选择器一个标签可以设置一个id 属性和id值(类似于每个人的身份证号,具有唯一性),然后可以通过id选择器找到对应的标签并为其添加CSS样式.语法格式:# i1{background-color: red;}二.class 选择器标签也可以设置class 属性与..

2022-04-20 23:36:02 314

原创 CSS层叠样式表

一.css 介绍层叠样式表,是一种样式表语言,用来描述HTML和XML文档的呈现。随着HTML的发展,为了满足面设计者的要求,HTML添加了很多显示功能,但是随着这些功能的增加,使得HTML越来越杂乱,HTML 页面也越来越臃肿,CSS便随之诞生,CSS 用于简化HTML标签,把关于样式部分的内容提取出来,进行单独的控制,使结构与样式分离开发。CSS 是以HTML为基础,设置网页的外观显示样式,如字体、颜色、背景的控制及整体的布局等,和HTML 类似,CSS也不是真正的编程语言,甚至不是标记语言。..

2022-04-20 22:22:41 3648

原创 数据库账户管理

目录一.授予权限1.1查看所有用户二.创建账户、授权2.1创建账户&授权2.2示例1三.账户操作3.1修改权限3.2修改密码在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crudMySQL账户体系:根据账户所具有的权限的不同,MySQL的账户可以分为以下几种 服务实例级账号:,启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实..

2022-04-19 21:12:16 697

原创 数据库中的索引

一. 思考在图书馆中是如何找到一本书的?一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作),而且插入操作和更新操作很少出现性能问题,遇到最多、最容易出问题还是一些复杂的查询操作,所以查询语句的优化显然是重中之重二.解决办法当数据库中数据量很大时,查找数据会变得很慢 :优化方案:索引三.索引是什么索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是..

2022-04-19 20:27:02 791

原创 数据库中的事务

一.为什么要有事务事务广泛的运用于订单系统、银行系统等多种场景例子:A用户和B用户是银行的储户,现在A要给B转账500元,那么需要做以下几件事:检查A的账户余额>500元;A 账户中扣除500元;B 账户中增加500元;正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜。那如果A账户扣了钱之后,系统出故障了呢?A白白损失了500,而B也没有收到本该属于他的500。以上的案例中,隐藏着一个前提条件:A扣钱和B加钱,要么同时成功,要么同时失败。事务的需求就在于此所谓

2022-04-18 23:59:37 525

原创 数据库中的视图

一.问题对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦解决办法:定义视图二.视图是什么通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变); 方便操作,特别是查询操作,减少复杂..

2022-04-18 23:11:13 448

原创 MySQL数据库设计

目录一.三范式1.1第一范式(1NF)1.2第二范式(2NF)1.3第三范式(3NF)二.如何找出两张表之间的关系关系型数据库建议在E-R模型的基础上,我们需要根据产品经理的设计策划,抽取出来模型与关系,制定出表结构,这是项目开始的第一步 在开发中有很多设计数据库的软件,常用的如power designer,db desinger等,这些软件可以直观的看到实体及实体间的关系 设计数据库,可能是由专门的数据库设计人员完成,也可能是由开发组成员完成,一般是项目经理带领组员..

2022-04-18 21:46:17 1352

原创 数据库数据的导出导入命令

备份的就是mysql的各种数据库(database)以及库内的各种数据表(table)备份的方案有很多种只备份每一个库,不要里面的表 备份所有的库,和所有的表,但是不要表中的数据,只备份它的结构(创建的SQL) 只要某一个库,以及这个库中的所有表,以及所有数据 只要某一个库,里面的某一张表mysqldump命令mysqldump命令是把数据的执行SQL,进行导出的作用,导出的数据以SQL文件形式存储http://linux.51yip.com/search/mysqldumpm

2022-04-18 20:53:01 1352

原创 MySQL高级操作 分页

当数据量过大时,在一页中查看数据是一件非常麻烦的事情语法:select * from 表名 limit start,count 说明:从start开始,获取count条数据例子:查询前三行男生的信息mysql> select * from school_student where sex='男' limit 0,3;+------+------+------+------+| id | name | age | sex |+------+------+-----

2022-04-18 20:27:57 426

原创 MySQL高级 分组

一.MySQL常用高级用法1.1分组 group bygroup by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组 group by可用于单个字段分组,也可用于多个字段分组例子:select sex from school_student group by sex;+------+| sex |+------+| 女 || 男 |+------+select 查询的字段 from 表名 group by 查询的字段;mysql&gt..

2022-04-18 19:07:41 573

原创 异常与错误

目录一.异常的概念1.1python中,错误触发的异常如下二.异常处理2.1什么是异常?2.2什么是异常处理2.3为什么要进行异常处理?2.4如何进行异常处理?2.5简单的捕获异常语法2.5.1单个异常2.5.2多个异常 异常类型捕获演练 —— 要求用户输入整数2.5.3捕获未知异常2.5.4异常捕获完整语法2.6抛出异常2.7自定义异常类2.8断言三.try..except的方式比较if的方式的好处一....

2022-04-13 16:30:38 168

原创 协程基础了解

目录一.概念协程是啥协程和线程差异二.协程介绍三.Greenlet模块四.Gevent模块一.概念之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。随着我们对于效率的追求不断提高,基于单线程来实现并发又成为一个新的课题,即只用一个主线程(.

2022-04-12 22:56:58 665

原创 Redis数据库

一. Redis数据结构redis 是key-value的数据结构,每条数据都是一个键值对键的类型是字符串注意:键不能重复redis是一种高级的key:value存储系统,其中value支持五种数据类型字符串(strings) 散列(hashes) 列表(lists) 集合(sets) 有序集合(sorted sets)二.数据操作:保存、修改、获取、删除1.string类型字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这意味着该类型可以接受

2022-04-12 14:55:17 893

原创 线程基础(2) 锁 信号量 队列

一.锁当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进行写入操作,从而保证了多线程情况下数据的正确性。threading模块中定义了Lock类,可以方便的处理锁定:impo

2022-04-12 11:29:45 236

原创 线程基础 (1)

一.线程概念进程:之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。这是这样的设计,大大提高了CPU的利用率。进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上实现多道编程而提出的。有了进

2022-04-11 20:23:33 174

原创 进程池和multiprocess.Pool模块

为什么要有进程池?进程池的概念。在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁进程也需要消耗时间。第二即便开启了成千上万的进程,操作系统也不能让他们同时执行,这样反而会影响程序的效率。因此我们不能无限制的根据任务开启或者结束进程。那么我们要怎么做呢?在这里,要给大家介绍一个进程池的概念,定义一个池子,在里面放上固定数量的进程,有需求来了,就拿一个池中的进程来处理

2022-04-11 11:50:49 208

原创 进程之间的数据共享

展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。from multiprocessing import Manager,Process,Lockdef work(d,lock): wi.

2022-04-11 11:12:12 913

原创 JoinableQueue队列实现消费之生产者模型

方法介绍JoinableQueue([maxsize])创建可连接的共享进程队列。这就像是一个Queue对象,但队列允许项目的使用者通知生产者项目已经被成功处理。通知进程是使用共享的信号和条件变量来实现的。JoinableQueue的实例p除了与Queue对象相同的方法之外,还具有以下方法:q.task_done() 使用者使用此方法发出信号,表示q.get()返回的项目已经被处理。如果调用此方法的次数大于从队列中删除的项目数量,将引发ValueError异常。用于消费者,是指每消费队列

2022-04-11 10:57:23 322

原创 生产者消费者模型

在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。为什么要使用生产者和消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这个问题于是引入了生产者和消费者模式。什么是生产者消费者模式生产者消费者模式是通过

2022-04-10 20:39:52 65

原创 进程中的操作

一.锁我们实现了程序的异步,让多个任务可以同时在几个进程中并发处理,他们之间的运行没有顺序,一旦开启也不受我们控制。尽管并发编程让我们能更加充分的利用IO资源,但是也给我们带来了新的问题。当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。进程锁: 也是为了控制同一操作系统中多个进程访问一个共享资源,只是因为程序的独立性,各个进程是无法控制其他进程对资源的访问的,但是可以使用本地系统的信号量控制(操作系统基本知识)。os.getpid () Python中的method用于获取

2022-04-10 19:25:40 956

原创 python程序中的进程操作

我们已经了解了,运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果,也就是说,当我们的程序中存在多个进程的时候,在某些时候,就会让程序的执行速度变快。以我们之前所学的知识,并不能实现创建进程这个功能,所以我们就需要借助python中强大的模块。目录一. multiprocess模块代码:方法介绍:属性介绍:在windows中使用process模块的注意事项二.使

2022-04-10 11:42:56 916

原创 什么是·进程?

目录一.概念1.1.进程的特征1.2进程与程序中的区别二.进程调度2.1先来先服务调度算法2.2短作业优先调度算法2.3时间片轮转法2.4多级反馈队列三.进程的并行与并发四.同步异步阻塞非阻塞4.1同步和异步4.2阻塞与非阻塞4.3同步/异步与阻塞/非阻塞一.概念进程是一个动态的概念。 是指正在执的程序。是程序执行过程中的一次指令,数据集等的集合。也可以叫做程序的一次执行过程。 是计算机中的程序关于某数据集合上的一次运行活动,是系.

2022-04-09 20:38:15 509

原创 多任务了解基础

一.操作系统发展史早期的计算机是以计算为核心的。 现在的计算机是以存储为核心的。 第一代计算机:电子管计算机:及其耗电,体积庞大,散热量特别高 第二代计算机:晶体管计算机: 轻便,且运算速度比较快,达到每秒几十万次 第三代计算机:白色大头计算机-集成电路计算机,一个PCB上固化几十到上百个小硬件 第四代计算机:大型集成电路计算机:一个板子上可以达到固化十万个硬件。 第五代计算机:超大型集成电路计算机语言发展史:计算机识别的是二进制,机器语言 汇编语言 高级语言: 面向过程语言 (

2022-04-09 16:02:42 185

原创 网络编程1

目录一.套接字(socket)的初使用二.基于TCP协议的socket三.TCP通信模型与UDP通信模型3.1TCP通信模型3.2UDP通信模型四.TCP代码编写五.基于UDP协议的socket六.公共用途的套接字函数七.python_控制台输出带颜色的文字方法一.套接字(socket)的初使用socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基..

2022-04-08 21:19:20 92

原创 TCP协议和UDP协议

广域网与路由器路由器路由器(Router),是连接因特网中各局域网、广域网的设备 它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。 目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。 路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的

2022-04-07 21:23:35 7504

原创 计算机网络发展及相关概念

网络是什么?计算机之间如何通信?早期:以联机进行通信以太网 : 局域网与交换机一软件开发的架构我们了解的涉及到两个程序之间通讯的应用大致可以分为两种:第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构(1)C/S架构C/S即:Client与Server ,中文意思:客户端与服务器端架构 这种架

2022-04-04 21:46:30 1196

原创 HTTP-原生web框架

一.HTTP协议1.http协议介绍在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以:HTML是一种用来定义网页的文本,会HTML,就可以编写网页 HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。科普:Chrome浏览器提供了一套完整地调试工具,非常适合Web开发。安装好Chrome浏览器后,打开Chrome,在菜单中选择“视图”,“开发者”,“开发者工具”,...

2022-03-31 20:05:59 2973

原创 其他文件操作 及目录操作

一.复制文件shutil 模块的copy()函数可以实现复制文件语法如下:shutil.copy(src,dst)import shutilshutil.copy('./test.txt','copytest.txt')src当前文件二.移动文件shutil 模块的move()函数可以实现移动文件语法如下:shutil.move(src,dst)import shutilshutil.move('./copytest.txt','./../')三.重命..

2022-03-30 20:08:37 727

原创 文件操作 写文本文件 以及定位读写 读写二进制文件

文件中写入内容也是通过文件对象来完成的,这提供两种方法一.write()方法with open("test","w") as f1: f1.write('回头科科')例子:刚开始的文档执行程序后的:文件在打开之前存在,则先清空文件内容,再写入’回头科科‘二.writelines()方法该方法向文件中写入字符串列表,其语法如下:文件对象.writelines(list) # 将列表list1中的每个字符串元素写入文件中。字符串列表..

2022-03-30 19:52:44 497

空空如也

空空如也

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

TA关注的人

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