所有由csj555发布的文章

邮件链接跳转并自动已经登录

邮件链接跳转并自动登录的实现原理主要基于两种常见的技术:一是浏览器的自动登录,二是第三方平台的SDK回调。

在浏览器自动登录方面,用户在首次登录成功后,浏览器或服务器会在一定时间内保存用户的登录状态。即使用户关闭了浏览器或服务器重启,只要在这段时间内,用户重新打开浏览器或再次访问接口数据,都不需要重新登录。具体的实现方式可以使用Spring Security的配置来添加记住我功能,即只需要添加.rememberMe()即可实现自动登录。

对于第三方平台如QQ的自动登录,当用户点击第三方登录时,会跳转到第三方登录SDK内部;用户输入第三方登录用户名或密码后,有些第三方登录平台可以直接调用已经登录的账号完成第三方平台登录。登录完成后,第三方平台或SDK会回调我们的应用。具体的实战代码可参考Spring Security的配置示例。

pyhton3安装

yum install python3 python3-pip
pip3 install -U scikit-learn
pip3 install -U ipython
python3 -m pip install --upgrade pip
pip install notebook

pip3 install jieba

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow
pip3 install matplotlib

pip install -U tensorflow

MySQL数据库锁—(三)行锁和间隙锁

一、全局锁
全局锁是对整个数据库实例加锁,整个库处于只读状态。

flush tables with read lock

适用场景
全局锁适用于做全库逻辑备份,但是整个库处于只读状态,在备份期间,所有的更新操作、DDL将会被阻塞,会对业务产生影响。

single-transaction
mysqldump备份时可以使用single-transaction参数,在备份数据之前启动一个事务,借助于MVCC获取到一致性视图,保证在备份的过程中,还支持数据的更新操作。
但是single-transaction只能用于支持事务的引擎,比如MyISAM不支持事务,所以使用MyISAM引擎的时候,是无法使用single-transaction的。

二、表级锁
表级锁分为表锁和元数据锁。

1、表锁
表锁从名字上就可以看出锁的是数据库表(Table),语法为:

继续阅读MySQL数据库锁—(三)行锁和间隙锁

CentOS7安装k3s

master:1.1.1.1
node-1:2.2.2.2
node-2:3.3.3.3

1、关闭防火墙
firewalld和iptables

2、k3s主节点执行
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | K3S_TOKEN=TTTTOOOOKKKK sh -s - \
--node-external-ip="1.1.1.1" \
--disable traefik \
--flannel-backend=wireguard-native \
--flannel-external-ip

[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s.service to /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s

继续阅读CentOS7安装k3s

svn配置

如果有两个库在同一个目录下,需要单独配置,就不能用SVNParentPath,要用SVNPath


<Location /svn/docs>
        DAV svn
        SVNPath /svn/docs
        AuthType Basic
        AuthName " hello SVN user ! "
        AuthUserFile /svn/docs/conf/passwd
        AuthzSVNAccessFile /svn/docs/conf/authz
        Require valid-user
</Location>

<Location /svn/code>
        DAV svn
        SVNPath /svn/code
        AuthType Basic
        AuthName " hello SVN user ! "
        AuthUserFile /svn/code/conf/passwd
        AuthzSVNAccessFile /svn/code/conf/authz
        Require valid-user
</Location>

CentOS7修改DNS命令

注:$connectionName需修改为当前服务器的网卡名称,如eth0等

nmcli con mod $connectionName ipv4.dns “192.168.51.252 192.168.51.253”
nmcli con mod $connectionName ipv4.dns-search “sit-zg”
nmcli con mod $connectionName ipv4.dns-options “ndots:5,timeout:1”
ifdown $connectionName && ifup $connectionName

mysql(8.0)关闭binlog

1、在[mysqld]下添加skip-log-bin,重启服务

2、查看binlog是否开启
show variables like '%log_bin%';

3、删除原有的binlog
不能直接删,要通过设置过期时间删除

1)显示binlog的过期时间
show variables like '%expire%';

2)设置过期时间
set global binlog_expire_logs_seconds=60*60*24;

3)手动刷新日志
flush logs;

Alpine中firefox显示中文

1、进入容器
docker exec -it firefox /bin/bash

2、查看系统
cat /etc/issue
Welcome to Alpine Linux 3.18

3、安装中文字体
apk add --update ttf-dejavu fontconfig

4、删除缓存
rm -rf /var/cache/apk/*

5、刷新字体
mkfontscale && mkfontdir && fc-cache

6、验证
fc-list

发现并没有中文字体!!!(1-6步骤还是要执行,否则没有mkfontscale命令)

7、从windows系统复制一个微软雅黑
C:\Windows\Fonts\msyh.ttc

8、docker容器中建立一个文件夹
docker exec -it firefox /bin/bash
mkdir /usr/share/fonts/win

9、上传msyh.ttc到宿主机,复制到docker容器
docker cp /root/msyh.ttc f718979f28a3:/usr/share/fonts/win

10、刷新缓存
mkfontscale && mkfontdir && fc-cache

11、firefox内选择字体

仓库地址:https://hub.docker.com/r/linuxserver/firefox
文档地址:https://docs.linuxserver.io/images/docker-firefox