snjl

我大概率会编程。


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

openVPN连不上,显示There are no TAP-Win32 adapters on this system

发表于 2018-12-31 | 分类于 vpn
字数统计: 19 字 | 阅读时长 ≈ 1 分钟

安装TAP-win32即可。

下载TAP-Win32

https://www.updatestar.com/topic/win10 tap adapte 0901

@Value无法注入static变量的值

发表于 2018-12-31 | 分类于 springboot
字数统计: 104 字 | 阅读时长 ≈ 1 分钟

使用@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
2
3
4
5
6
7
8
9
10
11
12
13
14
@Component
public class MyConfig {

private static String env;

public static String getEnv() {
return env;
}

@Value("${env}")
public void setEnv(String env) {
MyConfig.env = env;
}
}

要使用一个set函数注入。

mysql:设置sql_mode

发表于 2018-12-14 | 分类于 数据库
字数统计: 232 字 | 阅读时长 ≈ 1 分钟

查看sql_mode

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的默认值还是一开始查出来的值。

设置新数据库的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。

mysql:配置免密码登录

发表于 2018-12-14 | 分类于 数据库
字数统计: 68 字 | 阅读时长 ≈ 1 分钟

配置/etc/mysql/my.cnf,在后面加入:

1
2
3
[client]
user=user
password=password

user和password分别填入相应的用户名和密码,然后service mysql restart重启服务,命令行输入mysql即可登录。

如果想要输入密码登录,使用

1
mysql -u root -p

即可。

mysql:表名、字段大小写问题

发表于 2018-12-14 | 分类于 数据库
字数统计: 479 字 | 阅读时长 ≈ 1 分钟

在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 |
+------------------------+-------+

阅读全文 »

mysql:sql_mode配置解析

发表于 2018-12-14 | 分类于 数据库
字数统计: 610 字 | 阅读时长 ≈ 2 分钟

ONLY_FULL_GROUP_BY

对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。简而言之,就是SELECT后面接的列必须被GROUP BY后面接的列所包含。如:

1
2
select a,b from table group by a,b,c;  # 正确
select a,b,c from table group by a,b; # 错误

这个配置会使得GROUP BY语句环境变得十分狭窄,所以一般都不加这个配置

阅读全文 »

Ubuntu:安装anaconda

发表于 2018-12-14 | 分类于 服务器
字数统计: 340 字 | 阅读时长 ≈ 1 分钟

下载

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命令。

阅读全文 »

使用单点登录的原因

发表于 2018-12-14 | 分类于 理论
字数统计: 388 字 | 阅读时长 ≈ 1 分钟

单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
通常情况下运维内控审计系统、4A系统或者都包含此项功能,目的是简化账号登录过程并保护账号和密码安全,对账号进行统一管理。

在此不考虑单点登录在多个应用下的登录问题,讨论其安全问题。

每个应用有一个域名,根据这个域名去申请apikey和apisecret,其中apikey我认为可以暴露,通过前端链接到authorize,带上apikey和redirect_uri,登录成功后就可以获得一个code并且返回到该uri,后端再通过这个code和apikey,apisecret去authorize获取这个用户的信息,并且拿到一个token,然后把这个用户存入session即可。

这样做可以保证使用apisecret的时候是在后端,不会被暴露,而且整个登录流程除了开始的链接到认证,和后面通过获得code再去链接到认证获取用户的token,其中所有的用户登录,用户认证都是在authorize完成的,这可以保证某一个应用获取不到用户的账号密码,只能获取到用户的基本信息,而且是可以暴露的一些基本信息,所以可以说是比较安全的。

Ubuntu:使用nohup和&进行后台运行,进程查看和终止

发表于 2018-12-12 | 分类于 服务器
字数统计: 1.1k 字 | 阅读时长 ≈ 4 分钟

nohup

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

  • 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
  • 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
  • 如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值:   

  • 126 可以查找但不能调用 Command 参数指定的命令。   
  • 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。   

否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

阅读全文 »

Ubuntu:安装npm和node

发表于 2018-12-12 | 分类于 服务器
字数统计: 50 字 | 阅读时长 ≈ 1 分钟

安装

安装nodejs:

1
sudo apt-get install nodejs-legacy

安装npm:

1
sudo apt-get install npm

nodejs和npm更新

npm更新:

1
npm update -g

更新Nodejs自身:

1
2
npm install -g n 
n latest

使用npm -v和node -v查看版本号。

1…121314…21
snjl

snjl

越过山丘,才发现无人等候。

203 日志
44 分类
107 标签
RSS
GitHub E-Mail Weibo
© 2019 snjl
总访问量次 | 总访客人 |
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4