上下文

画布、拖放事件、音视频

こ雲淡風輕ζ 提交于 2019-12-04 17:32:09
一、拖放事件 1.1 设置拖拽 给标签设置一个draggable设置为true, 标签就可以拖拽了 1.2 拖拽事件 1.2.1拖拽元素事件 (事件对象为被拖拽元素) ondragstart 拖拽前触发 ondragend 拖拽结束触发 ondrag 拖拽前、拖拽结束之间,连续触发 看实例: <div draggable="true"><img src="images/225.jpg" alt="" style="width:100px;height: 100px;" ></div> <script> var box = document.querySelector("div"); box.ondragstart = function(){ console.log("我被拖拽了!"); } box.ondrag = function(){ console.log("我在被拖拽的过程中"); } box.ondragend = function(){ console.log("拖拽结束了!"); } </script> 1.2.2 目标元素事件 (俗解:意思就是拖拽的元素放在哪里) ondragenter 进入目标元素触发,相当于mouserover ondragover 进入目标,离开目标之间,连续触发 ondragleave 离开目标元素触发,相当于mouseout ondrop

说一说JVM双亲委派机制与Tomcat

半世苍凉 提交于 2019-12-04 16:32:56
说一说JVM双亲委派机制与Tomcat https://www.cnblogs.com/dengchengchao/p/11844022.html 讲个故事: 以前,爱捣鼓的小明突然灵机一动,写出了下面的代码 package java.lang; public class String { //...复制真正String的其他方法 public boolean equals(Object anObject) { sendEmail(xxx); return equalsReal(anObject); } //... } 这样,只要引用 java.lang.String 的人,小明能随时收到他的系统的相关信息,这简直是个天才的注意。然而实施的时候却发现,JVM并没有加载这个类。 这是为什么呢? 小明能想到的事情,JVM设计者也肯定能想到。 双亲委派模型 上述故事纯属瞎编,不过,这确实是以前JVM存在的一个问题,这几天看Tomcat源代码的时候,发现频繁出现 ClassLoader 为什么要用这个东西呢? 想要解答这个问题,得先了解一个定义:双亲委派模型。 这个词第一次看见是在《深入理解JVM》中,目的也是为了解决上面所提出来的问题。 在JVM中,存在三种类型的类加载器: 启动类(Bootstrap)加载器: 用于加载本地( Navicat )代码类的加载器,它负责装入 %JAVA

contextlib:上下文管理器工具

风流意气都作罢 提交于 2019-12-04 16:26:56
介绍 contextlib模块包含的工具可以用于处理上下文管理器和with语句 上下文管理器API ''' 上下文管理器(context manager)负责管理一个代码块中的资源,会在进入代码块时创建资源,然后再退出代码后清理这个资源。 比如:文件就支持上下文管理器API,可以确保文件读写后关闭文件。 with open("xxx") as f: f.read() ''' # 那么这是如何实现的呢?我们可以手动模拟一下 class Open: def __init__(self, filename, mode='r', encoding=None): self.filename = filename self.mode = mode self.encoding = encoding def __enter__(self): print("__enter__,有了这个就可以使用with Open() as xx语句,这里的xx就是我return的内容") return self def read(self): print(f"文件进行读操作,读取文件:{self.filename}, 模式:{self.mode}, 编码:{self.encoding}") def __exit__(self, exc_type, exc_val, exc_tb): print("__exit__

with管理文件操作上下文

試著忘記壹切 提交于 2019-12-04 15:30:02
with管理文件操作上下文 一、with管理文件操作上下文 之前我们使用open()方法操作文件,但是open打开文件后我们还需要手动释放文件对操作系统的占用。但是其实我们可以更方便的打开文件,即Python提供的上下文管理工具——with open()。 with open('32.txt', 'rt', encoding='utf8') as f: print(f.read()) sdf with open()方法不仅提供自动释放操作系统占用的方法,并且with open可以使用逗号分隔,一次性打开多个文件,实现文件的快速拷贝。 with open('32.txt', 'rb') as fr, \ open('35r.txt', 'wb') as fw: f.write(f.read()) 来源: https://www.cnblogs.com/Dr-wei/p/11871555.html

5-Perl 变量

爱⌒轻易说出口 提交于 2019-12-04 11:36:39
1.Perl 变量 变量是存储在内存中的数据,创建一个变量即会在内存上开辟一个空间。 解释器会根据变量的类型来决定其在内存中的存储空间,因此你可以为变量分配不同的数据类型,如整型、浮点型、字符串等。 上一章节中我们已经为大家介绍了Perl的三个基本的数据类型:标量、数组、哈希。 标量 $ 开始, 如$a $b 是两个标量。 数组 @ 开始 , 如 @a @b 是两个数组。 哈希 % 开始 , %a %b 是两个哈希。 Perl 为每个变量类型设置了独立的命令空间,所以不同类型的变量可以使用相同的名称,你不用担心会发生冲突。例如 $foo 和 @foo 是两个不同的变量。 2.创建变量 变量不需要显式声明类型,在变量赋值后,解释器会自动分配匹配的类型空间。 变量使用等号(=)来赋值。 我们可以在程序中使用 use strict 语句让所有变量需要强制声明类型。 等号左边为变量,右边为值,实例如下: $age = 25; # 整型 $name = "abc"; # 字符串 $salary = 1445.50; # 浮点数 以上代码中 25, "abc" 和 1445.50 分别赋值给 $age, $name 和 $salary 变量。 3.标量变量 标量是一个单一的数据单元。 数据可以是整数,浮点数,字符,字符串,段落等。 简单的说它可以是任何东西。以下是标量的简单应用: 实例 #!

[学习记录]selinux策略日志相关

不羁岁月 提交于 2019-12-04 11:31:55
selinux对于被拒绝的操作是会记录在系统日志的,位置在/var/log/audit/audit.log type为AVC,大括号里是操作类型,还有是否被拒绝、pid、安全上下文等等信息 selinux提供了audit2allow工具,用来分析策略日志然后生成一个使日志中被拒绝 实例如下: 相当于直接输出了一个.te文件,我们只要把输出导出成te文件,然后编译,加载即可。 需要注意的是audit2allow会粗暴地以全部通过为目的进行修改,因此需要注意不要让修改破坏了其它组件地安全。 来源: https://www.cnblogs.com/trickofjoker/p/11858362.html

Flask---请求上下文源码分析

百般思念 提交于 2019-12-04 09:24:41
threading.local 多个线程修改同一个数据,复制多份变量给每个线程用,为每个线程开辟一块空间进行数据存储 不用threading.local # 不用local from threading import Thread import time lqz = -1 def task(arg): global lqz lqz = arg # time.sleep(2) print(lqz) for i in range(10): t = Thread(target=task,args=(i,)) t.start() threading.local使用 from threading import Thread from threading import local import time from threading import get_ident # 特殊的对象 lqz = local() def task(arg): # 对象.val = 1/2/3/4/5 lqz.value = arg time.sleep(2) print(lqz.value) for i in range(10): t = Thread(target=task,args=(i,)) t.start() 通过字典自定义threading.local(函数) from threading import

Docs-.NET-C#-指南-语言参考-关键字:C# 关键字

限于喜欢 提交于 2019-12-04 06:19:55
ylbtech-Docs-.NET-C#-指南-语言参考-关键字:C# 关键字 1. 返回顶部 1、 C# 关键字 2017/03/07 关键字是预定义的保留标识符,对编译器有特殊意义。 除非前面有 @ 前缀,否则不能在程序中用作标识符 。 例如, @if 是有效标识符,而 if 则不是,因为 if 是关键字。 此主题中的第一个表列出了是 C# 程序任意部分中的保留标识符的关键字。 此主题中的第二个表列出了 C# 中的上下文关键字。 上下文关键字仅在一部分程序上下文中有特殊含义,可以在相应上下文范围之外用作标识符。 一般来说,C# 语言中新增的关键字会作为上下文关键字添加,以免破坏用旧版语言编写的程序。 abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace 全新 null object operator out override params

iOS绘图系统(一) UIKit与CoreGraphics

本秂侑毒 提交于 2019-12-04 06:00:40
####导语 说一下为什么写这一系列的文章,笔者之前看到动画就觉得头大,被CALayer、Transform等名词弄的晕头转向,也查了许多资料,但大部分的资料都是以一个具体的例子来说明动画的使用,涉及到很多具体的东西,而对很多基本的概念,动画宏观方面的阐述的比较少,所以想写下这一系列的文章,让初学动画的人有个快速的宏观认识。 ###1、iOS的绘图系统都有哪些呢? iOS主要的绘图系统有UIKit、Core Graphics(也称Quartz 2D)、Core Animation、Core Image、OpenGL ES。每一个都主要起什么作用呢?大概介绍一下。 UIKit 最高级的页面,也是大家页面布局经常用到的,比如UIView、UIButton等。可以通过UI前缀来识别UIKit元素。 Core Graphics UIKit下的主要绘图系统,用于绘制自定义视图。可以通过CG前缀来识别Core Graphics元素。 Core Animation 提供了强大的2D和3D动画。 Core Image 对图片进行各种滤镜处理,比如高斯模糊、锐化等。 OpenGL ES 主要用于游戏绘图。 ###2、视图绘制与视图布局的区别有哪些呢? 我们先来理解一下视图绘制周期的概念,这有助于理解视图绘制与视图布局的区别。 iOS在运行循环(run loop)中整合所有的绘图请求

appium(api操作)

流过昼夜 提交于 2019-12-04 05:42:35
1 driver.current_activity #获取当前activity 2 3 driver.current_package #获取包名 4 5 driver.lock(seconds=2) #息屏 6 7 #收起虚拟键盘 8 driver.hide_keyboard() 9 10 #获取屏幕宽高 11 windows = driver.get_window_size() 12 windows("width") 13 windows("height") 14 15 #拉取文件,指定路径 16 driver.pull_file("") 17 18 #推送文件, 19 driver.push_file(destination_path="路径", base64data="内容") 20 21 #安装,指定安装路径 22 driver.install_app("") 23 24 #卸载应用,指定包名 25 driver.remove_app("") 26 27 #关闭应用 28 driver.close_app() 29 30 #启动应用 31 driver.launch_app() 32 33 #检查应用是否安装,指定包名 34 driver.is_app_installed(" ") 35 36 #将应用置于后台,指定时间 37 driver.background_app