安装TAP-win32即可。
下载TAP-Win32
https://www.updatestar.com/topic/win10 tap adapte 0901
我大概率会编程。
使用@Value注解static类型:1
2
3
4
5
6
7
8
9
10
11
12
13@Component
public class MyConfig {
@Value("${env}")
private static String env;
public static String getEnv() {
return env;
}
public static void setEnv(String env) {
MyConfig.env = env;
}
}
使用上面这种方式,Config.getEnv()会返回null
正确写法
1 | @Component |
要使用一个set函数注入。
1 | select @@sql_mode; |
查询出来的值为:1
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
去掉需要去掉的后,例如去掉NO_ZERO_DATE,set回去:1
set sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
这是对于已存在的数据库,改变其sql_mode,但是对于以后新建的数据库,sql_mode的默认值还是一开始查出来的值。
使用1
set @@sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
改变了全局sql_mode,对于新建的数据库有效,但是仅仅对于这次连接有效。
安装了mysql后,网上说在etc目录中有my.cnf,但是5.7版本好像没有,但是在etc/mysql中有,在该文件夹末尾加上:1
2[mysqld]
sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
注意,这里没有set。
即没有NO_ZERO_DATE,然后输入service mysql restart重启mysql服务,进入mysql后,输入select @@sql_mode,会发现就是配置文件中设置好的sql_mode。
配置/etc/mysql/my.cnf,在后面加入:1
2
3[client]
user=user
password=password
user和password分别填入相应的用户名和密码,然后service mysql restart重启服务,命令行输入mysql即可登录。
如果想要输入密码登录,使用1
mysql -u root -p
即可。
在MySQL中,数据库和表都是对应目录下的一个或多个文件。因此,操作系统的大小写是否敏感决定了数据库大小写是否敏感。而在Windows中是对大小写不敏感的(Linux是对大小写敏感的)。
在linux的mysql中,输入1
show variables like "lower%";
可以看到1
2
3
4
5
6+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
+------------------------+-------+
对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。简而言之,就是SELECT后面接的列必须被GROUP BY后面接的列所包含。如:1
2select a,b from table group by a,b,c; # 正确
select a,b,c from table group by a,b; # 错误
这个配置会使得GROUP BY语句环境变得十分狭窄,所以一般都不加这个配置
1 | wget https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh |
1 | bash Anaconda3-5.3.1-Linux-x86_64.sh |
安装完后测试conda命令。
单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
通常情况下运维内控审计系统、4A系统或者都包含此项功能,目的是简化账号登录过程并保护账号和密码安全,对账号进行统一管理。
在此不考虑单点登录在多个应用下的登录问题,讨论其安全问题。
每个应用有一个域名,根据这个域名去申请apikey和apisecret,其中apikey我认为可以暴露,通过前端链接到authorize,带上apikey和redirect_uri,登录成功后就可以获得一个code并且返回到该uri,后端再通过这个code和apikey,apisecret去authorize获取这个用户的信息,并且拿到一个token,然后把这个用户存入session即可。
这样做可以保证使用apisecret的时候是在后端,不会被暴露,而且整个登录流程除了开始的链接到认证,和后面通过获得code再去链接到认证获取用户的token,其中所有的用户登录,用户认证都是在authorize完成的,这可以保证某一个应用获取不到用户的账号密码,只能获取到用户的基本信息,而且是可以暴露的一些基本信息,所以可以说是比较安全的。
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
退出状态:该命令返回下列出口值:
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
安装nodejs:
1 | sudo apt-get install nodejs-legacy |
安装npm:
1 | sudo apt-get install npm |
npm更新:
1 | npm update -g |
更新Nodejs自身:
1 | npm install -g n |
使用npm -v和node -v查看版本号。