模式分解是否为无损链接的算法分析
方法一:无损连接定理
关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是:
U1∩U2→U1-U2 €F+ 或U1∩U2→U2 -U1€F+
方法一:无损连接定理
关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是:
U1∩U2→U1-U2 €F+ 或U1∩U2→U2 -U1€F+
2020-08-06
菜单栏实现:内侧标题position使用relative可自动上下移动,想打开和关闭的组件使用display:block和none控制显示与隐藏,在标题栏div添加onclick事件更改display参数即可实现
对比色实现:使用getelementsbyclassname获得一样classname的一个列表,for循环让列表[i]项的style.backgroundColor(注意这里和css不一样)变成不一样的颜色(加余数判定)
注意:for循环内如果设置多个表的颜色,表内元素必须相同,不然进行时报错回中止for循环!!!
2020-08-07
滚动条:overflow:scroll;overflow-x:hidden
2020-08-10
右侧菜单设置有问题待修复,下拉菜单:
若要弄这样的表,灰色部分使用th白色部分用td就可以分开设置,td内部加input就可以输入值
2020-08-12
1 | static showdiv(){ |
以上为气泡核心代码,思路为先获得目标位置,图片src和文字描述,再通过js代码换进去,添加mouse over和mouseout就可以添加鼠标悬浮和移出功能
只需要在html文件中添加一个div即可,div中添加主图img,下方文字div和左侧小箭头img。
2020-08-13
checkbox首先需要定义函数,添加onclick函数,定义两个变量分别选择box和需要更改的input list,第一个可以直接用id,第二个建议先选出父元素再用tagname选出input。添加判断条件q.checked,内部两个for循环就可解决,注意disabled是attrabute,需要用set和remove,set要传入两个参数
箭头效果用css就可以,用js不知道为什么会出错
2020-08-19
button标签的border是没按下时的边框,outline是按下之后的边框,建议颜色都是inherit
h换色函数需要首先把所有标签都编号,判断当下颜色是否改变,没改变就变,然后把所有其他的都变成初始值
应用的时候使用箭头函数btn=>{}此时btn就是每次点击的this,使用匿名函数可以实现有参数的函数
2020-08-21
js中数字直接相加有可能是首尾相连,所以需要用parseInt转换!!
2020-08-31
添加时需要先选中要添加的位置,最好做一个空的div,然后使用innerHTML的方式直接添加,需注意的是换行和"都需要用\转义
删除时只需要将其innerHTML变成""就可以
2020-10-26
人工alert函数:
1 |
|
原理就是动态添加需要alert的文字进去
2020-11-04
最近在搞bootstrap
导入时只需要
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
就可以,但是在npm下运行时需要把jq下载到本地,同时引入在线jq和本地jq才可以
输入框默认值,点击清除,不点击恢复:
onfocus="if(this.value=='test'){this.value=''}" onblur="if(this.value==''){this.value='test'}" value="test"
用for循环appendChild时不能只靠innerHTML修改元素,必须重新声明才可以
列表可以使用push 和pop
2020/11/23
实现长宽比:
垂直方向的padding
这是最早提出的一种实现方案,主要借助的原理是利用padding-top
或者padding-bottom
的百分比值,实现容器长宽比。在CSS中padding-top
或padding-bottom
的百分比值是根据容器的width
来计算的。如此一来就很好的实现了容器的长宽比。采用这种方法,需要把容器的height
设置为0
。而容器内容的所有元素都需要采用position:absolute
,不然子元素内容都将被padding
挤出容器(造成内容溢出)。
比如我们容器的长宽比是16:9
,那么根据计算:100% * 9 / 16
可以得到56.25%
。如果你希望的是4:3
,那么对应的就是100% * 3 / 4
。
具体的CSS代码如下:
1 | .aspectration { |
通过通配符*
选择器,让其子元素的宽高和容器.aspectration
一样大小:
1 | .aspectration > * { |
下载安装
到目标文件夹中git init初始化
把文件添加到git仓库使用命令git add <file>
使用命令 git commit -m <message>
要随时掌握工作区的状态,使用git status
命令。
如果git status
告诉你有文件被修改过,用git diff
可以查看修改内容。
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。(上一个是HEAD^,上100个是HEAD~100)
穿梭前,用git log
可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。
命令git rm
用于删除一个文件
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git
;
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;.
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone
命令克隆。
$ git clone [email protected]:1982606762/worked1
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
或者git switch <name>
创建+切换分支:git checkout -b <name>
或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
远程连接github:
输入下面的命令,如果有文件id_rsa.pub
或
id_dsa.pub
,则直接进入步骤3将SSH
key添加到GitHub中,否则进入第二步生成SSH key
1 | ls -al ~/.ssh |
第一步:生成public/private rsa key pair
在命令行中输入ssh-keygen -t rsa -C "[email protected]"
默认会在相应路径下(/your_home_path)生成id_rsa
和id_rsa.pub
两个文件,如下面代码所示
1 | ssh-keygen -t rsa -C "[email protected]" |
第二步:输入passphrase(本步骤可以跳过)
设置passphrase后,进行版本控制时,每次与GitHub通信都会要求输入passphrase,以避免某些“失误”
1 | Enter passphrase (empty for no passphrase): [Type a passphrase] |
sample result:
1 | Your identification has been saved in /your_home_path/.ssh/id_rsa. |
第三步:将新生成的key添加到ssh-agent中:
1 | # start the ssh-agent in the background |
用自己喜欢的文本编辑器打开id_rsa.pub
文件,里面的信息即为SSH
key,将这些信息复制到GitHub的Add SSH key
页面即可
出现1251一般是密码问题
首先使用cmd 输入
1 | mysql -u root -p |
登录后输入
1 | mysql> alter user root@localhost identified by 'newpassword' password expire never; |
newpassword是新密码
之后就可以正常链接了