p1

【插件】Emmet 快速编写代码

一曲冷凌霜 提交于 2020-01-14 02:16:51
最近新下载了一个编辑器,叫brackets。里面插件挺好弄的,直接安装就行。 据说Emmet很好用,所以打算把一些用法写在这里,方便查看。 一、在<head></head>中 link:css,然后 按Tab键     快速引入css文件 <link rel="stylesheet" href="style.css"> 二、在HTML中搞起来 1.初始化 输入!(叹号)或html:5,然后 按Tab键 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 9 </body> 10 </html> 2.添加类、id、文本和属性 输入p.p1    给p标签添加一个叫p1的类 <p class="p1"></p> 输入p#p2    给p标签添加一个叫p2的id <p id="p2"></p> 输入p.p1#p2    给p标签同时添加一个叫p1的类和p2的id <p class="p1" id="p2"></p> 输入h1{你好,我是h1标签}    在{}中填写文本内容 <h1>你好,我是h1标签</h1> 输入a[href=#]      在[]中填写元素的属性 <a href="#"></a> 3

51单片机流水灯

安稳与你 提交于 2020-01-09 23:54:49
三种方法实现流水灯 1.位输出操作 流程图 Created with Raphaël 2.2.0 开始 开发板初始化 LED0亮一秒后熄灭 LED1亮一秒后熄灭 LED2亮一秒后熄灭 LED3亮一秒后熄灭 LED4亮一秒后熄灭 LED5亮一秒后熄灭 LED6亮一秒后熄灭 LED7亮一秒后熄灭 代码 //位操作输出 # include <reg52.h> # define uint unsigned int # define on 0 # define off 1 sbit LED0 = P1 ^ 0 ; sbit LED1 = P1 ^ 1 ; sbit LED2 = P1 ^ 2 ; sbit LED3 = P1 ^ 3 ; sbit LED4 = P1 ^ 4 ; sbit LED5 = P1 ^ 5 ; sbit LED6 = P1 ^ 6 ; sbit LED7 = P1 ^ 7 ; void delay ( uint xms ) //延时约xms毫秒 { uint i , j ; for ( i = xms ; i > 0 ; i -- ) for ( j = 112 ; j > 0 ; j -- ) ; //分号代表跑空,for语句不需要分号,112次表示一毫秒 } void main ( ) { while ( 1 ) { LED0 = on ; //P1^0=0;

pair

点点圈 提交于 2020-01-07 00:25:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> pair类似于结构体,把两个封装在了一个pair中,其类模板为: template <class T1, class T2> struct pair 参数:T1是第一个值的数据类型,T2是第二个值的数据类型。 功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。 1.构造 pair<int, double> p1; //使用默认构造函数 pair<int, double> p2(1, 2.4); //用给定值初始化 pair<int, double> p3(p2); //拷贝构造函数 2.访问两个元素 pair<int, double> p1; //使用默认构造函数 p1.first = 1; p1.second = 2.5; cout << p1.first << ' ' << p1.second << endl; 3.赋值 (1)可以使用make_pair来赋值 pair<int, double> p1; p1 = make_pair(1, 1.2); (2)变量间赋值: pair<int.double>p1(1,1.2) pair<int,double>p2=p1; 4.使用pair数组: #include

CC2430基础——按键控制开关实验

岁酱吖の 提交于 2020-01-05 02:05:07
本实验是用两个按键分别控制小灯的亮灭。在这个实验里用到的寄存器分别是P0,P1,P0SEL,P0DIR,P1DIR和P0INP。 P0/P1:P0/P1口寄存器; P0SEL:P0功能选择寄存器,主要是选择相应位的功能(0,普通I/O;1,外设功能)。 P0DIR/P1DIR:P0/P1口方向选择寄存器,主要是选择相应位的方向(0,输入;1,输出)。 P0INP:P0口输入模式寄存器,(0,上拉;1,下拉)。 两个LED灯的管脚分别为P1_0和P1_1, 其中,功能选择(P0SEL)定义为普通IO输出;方向选择P0DIR定义为输出   K键对应的是P0_5,CANCEL键对应的是P0_4,UP/DOWN/LEFT/RIGHT键对应的是P0_6   设置这几个按键的管脚的步骤分别是:功能选择(P0SEL),方向选择(P0DIR),输入模式选择(P0INP)。源代码见下: 按下确定按钮LED灯亮,再按一下灯灭,取消按钮也是一样的效果。 #define K1 P0_4 //按键引脚定义,以便控制红灯 #define K2 P0_5 void InitKey(void) //按键引脚初始化 { P0SEL &= ~0X30; P0DIR &= ~0X30; P0INP |= 0x30; //三态 } uchar KeyScan(void) //按键扫描函数 { if(K1 == 0) /

Day2平衡树笔记

…衆ロ難τιáo~ 提交于 2019-12-30 05:40:04
线段树不支持的操作:删除,插入 常见的平衡树 treap 慢||好写 sbt(大小平衡的树) 非常快 比较好写 ||功能不全 rbt 红黑树 特别快 || 非常难写 以上操作支持插入删除O(NlogN) splay 特别慢。。≈O(sqrt(N)) 不太好写,功能强大 可持久化Treap 平衡树一定是二叉树 左儿子里面的元素一定比他小 右儿子一定比当前节点大 中序遍历一定排好序 每次递归的查询 小——》左 大——》右 弊端:深度可能会非常深-->代价非常大 Treap=Tree+heap treap:存两个值[key,val] val:每次插入的值,满足平衡树的性质 key:满足堆的性质,直接rand,深度一定是logN级别的 merge(p1,p2):把以p1为根的Treap和以P2为根的Treap合并成一个Treap,p1的最大值应该<=P2的最小值 split(p,k):把以p为根的Treap拆成两个Treap,一个有k个数,另一个有n-k个数,k为前k小 插入:先把树分为x,y两部分,然后把新的节点a看做是一棵树,先与x合并,合并完之后将合并的整体与y合并 删除: merge实现 先找key最大的,比较p1,p2 若p1大 p1作为根,p2一定在p1的右边, p1.L=p1.L p1.r=merge(p2,p1.r) 若p2 p2.r=p2.r p2.L=merge(p2

Vue学习之路4-v-bind指令

Deadly 提交于 2019-12-26 23:38:47
1. 定义 1.1 v-bind 指令被用来响应地更新 HTML 属性,其实它是支持一个单一 JavaScript 表达式 ( v-for 除外)。 2. 语法 2.1 完整语法:<span v-bind:class="classProperty"></span >,解释: v-bind 是指令, : 后面的 class 是参数, classProperty 则在官方文档中被称为“预期值”。 2.2 缩写语法:<span :class="classProperty"></span >,解释: : 后面的 class 是参数, classProperty 则在官方文档中被称为“预期值”。 3. 用法 3.1 绑定一个属性 全写代码示例: <template> <div> <p class="p1">{{title}}</p> <span v-bind:value="first" class="spancss1">{{text}}</span> </div> </template> <script> export default { name: "v-bindLearn", data() { return { title: "v-bind学习", first: "span1", text: "绑定一个属性" } } } </script> <style scoped> .p1{

计算机图形学 部分笔记

与世无争的帅哥 提交于 2019-12-20 13:56:16
用户域: 用户用来定义设计对象的平面或空间区域称为用户域,也称为用户空间.所采用的坐标系称为用户坐标系。 窗口区: 用户坐标系中需要进行观察和处理的一个坐标区域称为窗口区。(窗口区是用户区域的一部分)。 用户可以在用户域中指定任意的区域w,把他感兴趣的这部分区域内的图形输出到屏幕上。通常称(用户区域中的)这个区域为窗口区。 屏幕域:图形设备上用来输出图形的最大区域称之为屏幕域。它是有限的整数域,大小随具体设备而异。 视图区:用于显示某个窗口中图形的屏幕区域称为视图区(视区)。 说明:窗口是在用户坐标系中定义的,而视区是在设备坐标系(屏幕坐标系)中定义的。窗口定义了要显示什么,而视区定义在何处显示。 通常,窗口和视区都取为边与坐标轴平行的矩形。其它形状的窗口和视区有时也会采用,但其处理更为复杂。 Cohen-Sutherland裁剪算法(编码裁剪算法) (1)输入直线段的两端点坐标:p1(x1,y1)、p2(x2,y2),以及窗口的四条边界坐标: xl 、xr 、 yt和yb。 (2)对p1、p2进行编码:点p1的编码为code1,点p2的编码为code2。 (3)若code1|code2=0,对直线段应简取之,转(6);否则,若code1&code2≠0,对直线段可简弃之,转(7);当上述两条均不满足时,进行步骤(4)。 (4)确保p1在窗口外部:若p1在窗口内

通道程序

倖福魔咒の 提交于 2019-12-09 15:16:34
以前做的通道实验 编写一段程序,使用系统调用pipe()创建一无名管道,同时父进程创建一个子进程p1;并使子进程通过管道向父进程传递数据“p1 process is sending data to father.”,父进程通过管道接收到该字符串后输出。  目的:  创建无名管道,实现基于管道的进程间数据通信,掌握管道通信的方法及特征;并进一步理解互斥与同步的含义 #include<stdio.h>  #include<stdlib.h>  main()  {       int r,p1,fd[2];       char buf[50],s[50];      pipe(fd);       while((p1=fork())==-1);      if(p1==0)     {     sprintf(buf,"p1  is sending data to father.");          printf("child  p1!\n");          write(fd[1],buf,50);          sleep(5);          exit(0);     }     else     {          wait(0);          if((r=read(fd[0],s,50))==-1)           printf("can not

ES6的Lambda表达式

随声附和 提交于 2019-12-08 09:05:37
1、ES5写法 var p1 = document.getElementById( 'test1' ); p1.addEventListener( 'click' , function () { this .style.color = "red" ; }, false ); 2、ES6写法 var p1 = document .getElementById( 'test1' ); p1.addEventListener( 'click' , () => { this .style.color = "red" ; }, false ); 在ES5语法中,this指向其调用着p1; 在ES6语法中,函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 普通函数中,this对象的指向是可变的; 箭头函数中,this对象的指向是固定的。 this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。 由于箭头函数没有自己的this,所以当然也就不能用call()、apply()、bind()这些方法去改变this的指向。 来源: CSDN 作者: 永远的烟火 链接: https://blog.csdn.net/sinat_27180563/article/details

xxx/labelKeypoint/utils/qt.py:81: RuntimeWarning: invalid value encountered in double_scalars

强颜欢笑 提交于 2019-12-07 19:03:20
原代码: return np.linalg.norm(np.cross(p2 - p1, p1 - p3)) / np.linalg.norm(p2 - p1) 出现报错: xxx/labelKeypoint/utils/qt.py: 81 : RuntimeWarning: invalid value encountered in double_scalars 在stackoverflow上发现是忽略了分母为0的问题,修改代码为以下: if np.linalg.norm(p2 - p1) == 0 : return np.linalg.norm(np.cross(p2 - p1, p1 - p3)) else : return np.linalg.norm(np.cross(p2 - p1, p1 - p3)) / np.linalg.norm(p2 - p1) 解决报错。 转载于:https://www.cnblogs.com/wangyarui/p/9770994.html 来源: CSDN 作者: weixin_34235457 链接: https://blog.csdn.net/weixin_34235457/article/details/93233024