精华内容
下载资源
问答
  • python虚拟环境安装

    2019-01-06 14:31:34
    这两个东西,它们的作用都是用来安装python包的,像我们的Flask框架,它其实就是属于python的一个包,那么,如果你想去安装Flask,你就必须要通过easy_install或者是pip的方式来进行安装 这样就设置好了pip和easy...

     

    这两个东西,它们的作用都是用来安装python包的,像我们的Flask框架,它其实就是属于python的一个包,那么,如果你想去安装Flask,你就必须要通过easy_install或者是pip的方式来进行安装

    这样就设置好了pip和easy_install的环境变量,这个环境变量一定要设置,不然,后面就不能正常安装python包。

    为什么python中会有一个python虚拟环境这么一个东西呢?

    通过这个图讲一下python虚拟环境的需求,假设你现在正在开发一个项目,叫做项目A,是基于Flask0.12.2的版本,大家注意,Flask是有版本存在的,就相当于咱们的windows有windows7版本,有windows8版本,有windows10版本,而我们的Flask也是在不断的更新迭代,而各个版本之间的兼容性可能存在很大问题,因为,就像python2和python3两个版本,它们很多代码都不兼容,假设我们现在在开发项目A是基于Flask0.12.2,假设后面你开发了几年,然后,Flask升级,正好升级到了Flask1.0,然后,你现在这个老板就跟你讲,你现在要开发一个项目B了,项目B是基于Flask1.0,这个时候的话,你可能就会有bug了,因为你电脑里面已经存在一个叫做Flask0.12.2版本的Flask,并且,Flask0.12.2和Flask1.0这两个版本它们之间是不兼容的,什么叫做不兼容呢?就是,我项目A是基于Flask0.12.2开发的,我项目A不能在Flask1.0上面运行,项目A只能在Flask0.12.2版本上面运行,这就叫做不兼容。这个时候就会比较蛋疼,我的电脑上已经安装了Flask0.12.2了,比如qq,我不能同时安装两个版本的qq,它只会提示让你升级,这个时候,我们就可以用python的虚拟环境去解决这个问题。Python虚拟环境你其实就可以认为,它就是在

    这个地方我给你开辟一个盒子,在这个盒子里面你就装Flask0.12.2,

    在这个地方我也给你开辟一个盒子,你在这个地方只装Flask1.0,那么在这两个盒子之间,它们不会有任何影响, 就是你在其中一个盒子里面装的任何包都不会影响到另外一个盒子,这样的话,就可以达到我们刚刚的目的了,就是两个版本可以共存。这就是python虚拟环境它的一个主要的目的。

    为什么会需要python虚拟环境呢?目的是什么呢?因为python的框架更新迭代太快了,有时候需要在电脑上存在一个框架的多个版本,这时候,虚拟环境就可以解决这个问题

    讲了这个需求以后,接下来我们再讲一下真正的实操python虚拟环境。

    安装虚拟环境

     

     

    完成python虚拟环境的安装之后。刚刚我们讲了,虚拟环境它其实它的原理就相当于是我这两个盒子,每个盒子里面你安装自己的包,你不要影响到其他的盒子里面的包,就可以了。

    现在我们就去创建这样的一个盒子。

    我们新建一个目录,我们把所有的虚拟环境都放到这个目录中来

     

    然后,进入到这个目录中,我们用命令去创建这样的一个盒子。命令virtualenv就是刚刚安装的那个包的名字,后面跟这个盒子的名字

     

     

    然后,我们怎么去激活这个虚拟环境呢?即使这个虚拟环境(这个盒子)已经创建出来了,但是,我这个项目,我并不知道你要用哪一个盒子啊,所以,应该激活,告诉这个系统我现在当前使用的是Flask0.12.2这个虚拟环境

     

     

    然后,我们在这里面通过activate,这样的话,我们注意到,之前我没有运行activate这个文件的话,它的前面是C:盘

     

    如果,运行完activate文件之后,前面变成了<flask-env>,说明我们当前的这个虚拟环境是已经激活成功的,以后你做的任何操作都是在<flask-env>这个虚拟环境下做的操作。

    注意啊,你前提要有这个虚拟环境的名称,你做的操作才是针对这个虚拟环境的。

     

    这样就是说,退出这个虚拟环境,回到全局的环境当中。

    在MAC上激活虚拟环境如下所以,我这个虚拟环境是安装在~/Virtualwnv/flask-env/bin/这个目录环境下面的

     

    Windows下退出虚拟环境

     

    自己:在Linux中,在激活虚拟环境的时候,source 后面要写全路径。

    展开全文
  • 原生DOM操作

    2021-03-21 19:18:37
    虚拟DOM和diff算法 虚拟dom就是用对象的方式区代真实的dom操作。 ...diff算法:就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点...window的作用:在封闭空间中声明一个全局的变量 全局变量和函数都属于window

    虚拟DOM和diff算法

    虚拟dom就是用对象的方式区代真实的dom操作。

    当页面打开时浏览器解析HTML元素,构建一个dom树,将状态保存起来,在内存中模拟dom操作,又会生成一个dom树,两个进行比较,根据diff算法找出不同的地方,之渲染一次不同的地方

    diff算法:就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom

    JS中所有全局都是window的

    window的作用:在封闭空间中声明一个全局的变量
    全局变量和函数都属于window

    javascript

     由什么东西组成?
     ECMAScript 核心解释器(ES5和ES6)
     DOM BOM
    提供最基本的功能比如:12+5  var a = 12; function show(){}
    兼容性:完全兼容。
    

    DOM 文档对象模型 Document Object Model

    就是document 操作页面的。
    获取元素,修改样式,创建元素
    兼容性:很好,有不兼容的,但是可以解决。

    节点=== 标签 ===元素

    DOM树 页面结构关系

        获取子节点
            oEle.children
                只能获取一层
        获取父节点
            oEle.parentNode
                获取结构父级
            oEle.offsetParent
                获取定位父级
        获取兄弟节点
            获取上一个兄弟节点
                oEle.previousElementSibling
            获取下一个兄弟节点
                oEle.nextElementSibling
            注意:不兼容低版本IE浏览器
        获取首尾子节点
            首子节点
                aEle[0]
                oPrent.firstElementChild
            尾子节点
                aEle[aEle.length-1]
                oPrent.lastElementChild
    
        获取标签名
            oEle.tagName
    

    创建
            document.createElement(‘标签名’);

    插入
            后面添加
            父级.appendChild(要添加的子级)
            某一个子级前面插入
            父级.insertBefore(要插入的元素,插入谁之前);
    删除
            父级.removeChild(要删的元素);

    拖拽 drag

                onmousedown             鼠标按下
                    获取鼠标在div中的位置
                    var disX = ev.pageX-oDiv.offsetLeft
                    var disY = ev.pageY-oDiv.offsetTop
                onmousemove             鼠标移动
                    改变div的left和top
                    oDiv.style.left = ev.pageX-disX+'px';
                    oDiv.style.top = ev.pageY-disY+'px';
                onmouseup               鼠标抬起
                    把onmousemove干掉
                    把onmouseup干掉
    
        
            问题一:
                鼠标没点就懂了
                解决:
                    把onmousemove放在onmousedown里面
            问题二:
                鼠标移动过快,就移出div了
                解决:
                    1.把div放大        不靠谱,设计和产品会找你拼命
                    以下方法靠谱
                    把onmousemove事件加给document
            问题三:
                鼠标抬起依然能动
                解决:
                    正在onmouseup中把onmousemove干掉
            问题四:
                鼠标拖拽的时候,会选中页面内容
                解决:
                    在onmousedown中把默认事件阻止
                    return false;   注意一定要放在最后
    
    展开全文
  • js

    2021-03-22 07:35:01
    虚拟DOM和diff算法 虚拟dom就是用对象的方式区代真实的dom操作。 ...diff算法:就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点...window的作用:在封闭空间中声明一个全局的变量 全局变量和函数都属于window

    虚拟DOM和diff算法
    虚拟dom就是用对象的方式区代真实的dom操作。

    当页面打开时浏览器解析HTML元素,构建一个dom树,将状态保存起来,在内存中模拟dom操作,又会生成一个dom树,两个进行比较,根据diff算法找出不同的地方,之渲染一次不同的地方

    diff算法:就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom

    JS中所有全局都是window的
    window的作用:在封闭空间中声明一个全局的变量
    全局变量和函数都属于window

    javascript
    由什么东西组成?
    ECMAScript 核心解释器(ES5和ES6)
    DOM BOM
    提供最基本的功能比如:12+5 var a = 12; function show(){}
    兼容性:完全兼容。
    1
    2
    3
    4
    5
    DOM 文档对象模型 Document Object Model
    就是document 操作页面的。
    获取元素,修改样式,创建元素
    兼容性:很好,有不兼容的,但是可以解决。

    节点=== 标签 ===元素
    DOM树 页面结构关系

    获取子节点
        oEle.children
            只能获取一层
    获取父节点
        oEle.parentNode
            获取结构父级
        oEle.offsetParent
            获取定位父级
    获取兄弟节点
        获取上一个兄弟节点
            oEle.previousElementSibling
        获取下一个兄弟节点
            oEle.nextElementSibling
        注意:不兼容低版本IE浏览器
    获取首尾子节点
        首子节点
            aEle[0]
            oPrent.firstElementChild
        尾子节点
            aEle[aEle.length-1]
            oPrent.lastElementChild
    
    获取标签名
        oEle.tagName
    

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    创建
            document.createElement(‘标签名’);

    插入
            后面添加
            父级.appendChild(要添加的子级)
            某一个子级前面插入
            父级.insertBefore(要插入的元素,插入谁之前);
    删除
            父级.removeChild(要删的元素);

    拖拽 drag
    onmousedown 鼠标按下
    获取鼠标在div中的位置
    var disX = ev.pageX-oDiv.offsetLeft
    var disY = ev.pageY-oDiv.offsetTop
    onmousemove 鼠标移动
    改变div的left和top
    oDiv.style.left = ev.pageX-disX+‘px’;
    oDiv.style.top = ev.pageY-disY+‘px’;
    onmouseup 鼠标抬起
    把onmousemove干掉
    把onmouseup干掉

        问题一:
            鼠标没点就懂了
            解决:
                把onmousemove放在onmousedown里面
        问题二:
            鼠标移动过快,就移出div了
            解决:
                1.把div放大        不靠谱,设计和产品会找你拼命
                以下方法靠谱
                把onmousemove事件加给document
        问题三:
            鼠标抬起依然能动
            解决:
                正在onmouseup中把onmousemove干掉
        问题四:
            鼠标拖拽的时候,会选中页面内容
            解决:
                在onmousedown中把默认事件阻止
                return false;   注意一定要放在最后
    

    ————————————————
    版权声明:本文为CSDN博主「闪现.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zkl865748013/article/details/115054045

    展开全文
  • java4

    2020-04-16 10:02:05
    栈:保存局部变量的值。 堆:用来存放动态产生的数据,比如new出来的对象。创建出来的对象只包含属于各自的成员变量,并不包括成员方法。 由于常量池包含了一个类型所有的对其他类型、方法、字段的符号引用,所以常量...

    Java程序是在虚拟机jvm上运行的。
    一个完整的Java程序运行过程会涉及的内存区域:
    寄存器:JVM内部虚拟寄存器,程序不可控制。
    栈:保存局部变量的值。
    堆:用来存放动态产生的数据,比如new出来的对象。创建出来的对象只包含属于各自的成员变量,并不包括成员方法。
    由于常量池包含了一个类型所有的对其他类型、方法、字段的符号引用,所以常量池在Java的动态链接中起了核心作用。常量池存在于方法区中,而方法区存在于堆中。
    在方法的参数传递中,基本数据类型,String类是按值传递,即拷贝了一个副本!引用数据类型是按引用传递,即把栈中的地址传入!
    基本数据类型在栈内存中能够改变值,引用数据类型在栈中只改变地址,也就是传递指针
    引用数据类型如果是重新new一个对象,则new出来所赋值的变量的地址(指针)发生改变,指向新new出来的堆区。值并未发生改变。
    引用数据类型如果不用重新new一个对象而是用对象.变量名给一个值,则值会发生改变。
    类的成员变量在不同对象中各不相同,都有自己的存储空间(成员变量在堆中的对象中)。而类的方法却是该类的所有对象共享的,只有一套,对象使用方法的时候方法才被压入栈,方法不使用则不占用内存。

    展开全文
  • java内存

    2020-04-14 20:29:49
    栈:保存局部变量的值。 堆:用来存放动态产生的数据,比如new出来的对象。创建出来的对象只包含属于各自的成员变量,并不包括成员方法。 由于常量池包含了一个类型所有的对其他类型、方法、字段的符号引用,所以常量...
  • C/C++基础知识点(四)

    2020-03-29 17:20:41
    静态变量存储在虚拟地址空间数据段和bss段,C语言中其在代码执行之前初始化,属于编译期初始化。而C++中由于引入对象,对象生成必须调用构造函数,因此C++规定全局或局部静态对象当且仅当对象首次用到时进行构造。...
  • 索引是存放在模式(schema)中的一个数据库对象,索引的作用就是提高对表的检索查询速度, 索引是通过快速访问的方法来进行快速定位数据,从而减少了对磁盘的读写操作。 索引是数据库的一个对象,它不能独立存在,...
  • Java内存区域

    2018-08-25 23:13:13
    1.作用是当前线程字节码行号指示器 2.该内存区域属于线程私有 3.不存在OOM(内存溢出异常) 4.如果执行是本地方法(Native),这个计数器为空   二、java虚拟栈 1.java虚拟栈是线程私有,它生命...
  • 晶振的作用:它结合单片机内部的电路,产生单片机所必须的时钟频率,单 片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越 高,那单片机的运行速度也就越快。MCS-51 一般晶振的选择范围为1~ 24...
  • 目录1.内存划分1.1GC 什么时候开始?对什么东西,做了什么事情?2.垃圾收集算法有哪些?3.内存泄漏和内存溢出 1.内存划分 注:上图黄色框属于线程...本地方法栈 : 与虚拟机栈的作用非常相似,区别是:虚拟机栈为虚拟
  • windows用户称拦截api

    2015-04-06 17:22:24
    如果这个时候函数有局部变量的话,就通过减小ESP的值的方式来为之分配空间。接下来就是保存一些寄存器:EDI,ESI,EBX.要注意的是,函数堆栈是反方向生长的。这时候堆栈的样子: |....| |EDI| |ESI| |EBX| |局部变量|...
  • 题一:在大多数linux发行版本中,...题二: 在bash中,export命令的作用是: a. 在子shell中运行条命令 b. 使在子shell中可以使用命令历史记录 c. 为其它应用程序设置环境变量 d. 提供nfs分区给网络中的其它系统使...
  • 2.在bash中,export命令的作用是:( ) A.在子shell中运行命令 B.使在子shell中可以使用命令历史记录 C.为其他应用程序设置环境变量 D.提供NFS分区给网络中的其他系统使用 3.一台主机要实现通过局域
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕... C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 ...
  • C#微软培训资料

    2014-01-22 14:10:17
    C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出...
  • c#学习笔记.txt

    2008-12-15 14:01:21
    const指定无法修改字段或局部变量的值。 event声明一个事件。 extern指示外部实现此方法。 override提供从基类继承的虚拟成员的新实现。 readonly声明一个字段,该字段只能赋值为该声明的一部分或者在同一类的构造...
  • 由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。 [Page] 39.启动一个线程是用run()...
  • 6.2.1 用RMAN替换变量编写脚本 217 6.2.2 新RMAN配置参数 219 6.2.3 分段备份大文件 220 6.2.4 创建归档(长期)备份 222 6.2.5 新验证命令 225 6.2.6 配置归档重做日志删除策略 228 6.2.7 归档重做日志...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    1.xml在项目中的作用 2.s-EJB 与 e-EJB的区别 3.会话面的作用 4.cmp与bmp的优缺点 5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9....
  • (2)页表的作用是将逻辑页号转换为物理块号。 (3)页面淘汰算法 先进先出算法(FIFO)、循环检测法、最近最少使用页面先淘汰(LRU)、最不经常使用的页面先淘汰(LFU)、最近没有使用页面先淘汰(NUR)...
  • TCP_IP详解卷1

    热门讨论 2010-12-29 10:53:54
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...
  • TCPIP详解卷[1].part12

    2010-12-29 11:12:15
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...
  • TCPIP详解卷[1].part11

    2010-12-29 11:09:56
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...
  • TCPIP详解卷[1].part09

    2010-12-29 11:05:16
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...
  • TCPIP详解卷[1].part08

    2010-12-29 11:04:39
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...
  • TCPIP详解卷[1].part06

    2010-12-29 11:03:10
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...
  • TCPIP详解卷[1].part05

    2010-12-29 11:02:35
    描述了属于每一层各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输不同分组。对tcpdump输出研究可以帮助理解不同协议如何工作...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

属于虚拟变量的作用