This commit is contained in:
RainSun 2020-03-03 20:37:08 +08:00
parent 042986e3fa
commit d93bc1b2b1
5 changed files with 68 additions and 2 deletions

View File

@ -85,7 +85,7 @@ autostart = True
`gunicorn qrcodeLi:app -c gunicornLi.conf`
`gunicorn qrcodeMe:app -c gunicornMe.conf`
`gunicorn yiban:app -c gunicorn.conf`
`gunicorn coc:app -c gunicorn.conf`
`gunicorn coc:app -c gunicorn.conf.py`
`gunicorn api:app -c gunicorn.conf.py`
`gunicorn ccb:app -c gunicorn.conf.py`

View File

@ -32,4 +32,38 @@
* 尽量使用for...let在每次循环中都会声明一个新的变量生成了一个闭包。避免for里边的函数在调用的时候引用不到正确的变量。
* const声明相对于保护其中的内容更注重其语意所带来的规范性
* 如果把方法定义在{}内那么在块外执行会报ReferenceError
* spread/rest`...`放在数组前用于展开数组,放在变量前就是收集变量到一个数组里,例如 `function a(...arg){} a(a,b,c) -> arg = [a,b,c]`
* spread/rest`...`放在数组前用于展开数组,放在变量前就是收集变量到一个数组里,例如 `function a(...arg){} a(a,b,c) -> arg = [a,b,c]`
* 解构 `var [a, b, c] = foo()` 如果foo返回的是一个长度为三的数组其内容将会被依次赋值给abc
* 对象属性复制模式`var {a, b, c} = foo()`这里省略的其实是`a:, b:, c:`,对象的属性名要和函数返回的属性名相同,然后将值一一赋值给属性值`var {a: x, b: y, c: z} = foo()`最后使用的是`xyz`而不是`abc`
* 对于这个形式,如果省略声明符就需要用小括号括起来`({a, b, c} = foo())`
* 对象属性名的计算属性`var which = 'w'; o1 = {which: 'w'}; => {which: 'w'} o2 = {[which]: 'w'}; => {w: 'w'}`使用中括号即可
* 简单的交换两个元素`[a, b] = [b, a]`'
* 允许出现多次列出同一个源属性`{a: {x: X, x: Y}, a} = {a: {x: 1}} => X == X == 1, a = {x :1}`
* 不必都写在一行里,解构的目的不是为了打字更少,而是为了可读性更强
* 赋值的时候用不到的东西可以抛弃`[,a,b] = [1, 2, 3] => a = 2, b = 3`
* 赋值的时候多余的东西会赋值undefined`[a, b] = [1] => a = 1, b = undefined`
* 赋值的时候可以使用spread/rest`...`进行收集操作`[...a,b] = [1, 2, 3] => a = [1, 2], b = 3`
* 赋值的时候可以使用默认值`{a, b: WW = 20} = {a: 10} => a = 10, WW = 20`
* 赋值的时候可以嵌套结构
* 在形参中使用这个就接近了命名参数,得到了任意位置的可选参数功能,设置默认参数`{x = 10} = {}`
* 对象字面量扩展
* 简洁属性`{x}`
* 简洁方法`{x(){}}`
* 这个操作会生成一个匿名的函数,如果需要递归请不要使用
* 模板字面量``...${foo(`${name}s`)}``
```js
function foo(strings, ...args) {
console.log(strings)
console.log(args)
}
var desc = "awesome"
foo`Every thing is ${desc}!`
// ["Every this is ", "!"]
// ["awesome"]
// 配合Strng.resuce可以用来处理字符串
```
* 箭头函数
* 合理使用,函数越短越适合用,函数长了反而会使函数边界模糊
* 主要的功能是为了this的规范化而不是减少代码量
* 尽可能减少非必要情况下的箭头函数使用
*

View File

@ -207,4 +207,31 @@ server {
access_log off;
}
access_log /home/pi/data/nginx/logs/pan443.log;
}
server {
listen 80;
server_name portainer.canary.moe;
return 301 https://portainer.canary.moe$request_uri;
access_log /home/pi/data/nginx/logs/portainer.log;
}
server {
#SSL 访问端口号为 443
listen 443 ssl http2; #填写绑定证书的域名
server_name portainer.canary.moe;
#证书文件名称
ssl_certificate 1_portainer.canary.moe_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_portainer.canary.moe.key;
ssl_session_timeout 5m;
#请按照这个协议配置
ssl_protocols TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000";
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:5006;
}
access_log /home/pi/data/nginx/logs/portainer443.log;
}

View File

@ -310,6 +310,7 @@ sudo chmod -R g+rwx /home/pi/data/owncloud
sudo -u www-data ls -la /home/pi/data/owncloud
sudo chown -R www-data:www-data /home/pi/data/owncloud
sudo chown -R www-data:www-data /home/pi/data/owncloud/data/canary/files/Photos/animation/0
wget https://download.owncloud.org/community/owncloud-10.3.2.tar.bz2

4
Miscellaneous/test.js Normal file
View File

@ -0,0 +1,4 @@
var o = [1, 2, 3]
var a, b, c, p
p = {a, b, c} = o
console.log(a, b, c, p)