第一百零一次闯荡江湖的无名游侠 - 2023年10月
pluginManagement { repositories { // 改为阿里云的镜像地址 maven { setUrl("https://maven.aliyun.com/repository/central") } maven { setUrl("https://maven.aliyun.com/repository/jcenter") } maven { setUrl("https://maven.aliyun.com/repository/google") } maven { setUrl("https://maven.aliyun.com/repository/gradle-plugin") } maven { setUrl("https://maven.aliyun.com/repository/public") } maven { setUrl("https://jitpack.io") } gradlePluginPortal() google() mavenCentral() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { // 改为阿里云的镜像地址 maven { setUrl("https://maven.aliyun.com/repository/central") } maven { setUrl("https://maven.aliyun.com/repository/jcenter") } maven { setUrl("https://maven.aliyun.com/repository/google") } maven { setUrl("https://maven.aliyun.com/repository/gradle-plugin") } maven { setUrl("https://maven.aliyun.com/repository/public") } maven { setUrl("https://jitpack.io") } google() mavenCentral() } } rootProject.name = "My App" include ':app'
1、math/rand 包1.1、math/rand 包实现了伪随机数生成器1.2、主要方法（1）func Seed(seed int64)设置随机种子，不设置则默认Seed(1)（2）func Int() int返回一个非负的伪随机int值（3）func Int31() int32返回一个int32类型的非负的31位伪随机数（4）func Int63() int64返回一个int64类型的非负的63位伪随机数（5）func Intn(n int) int返回一个取值范围在[0,n)的伪随机int值，如果n<=0会panic（6）func Int31n(n int32) int32返回一个取值范围在[0,n)的伪随机int32值，如果n<=0会panic（7）func Int63n(n int64) int64返回一个取值范围在[0, n)的伪随机int64值，如果n<=0会panic（8）func Float32() float32返回一个取值范围在[0.0, 1.0)的伪随机float32值（9）func Float64() float64返回一个取值范围在[0.0, 1.0)的伪随机float64值（10）func Perm(n int) []int返回一个有n个元素的，[0,n)范围内整数的伪随机排列的切片1.3、代码示例package main import ( "fmt" "math/rand" "time" ) func main() { //不设置随机种子，每次运行结果都一样 fmt.Println(rand.Intn(10)) fmt.Println(rand.Float64()) //设置随机种子 rand.Seed(time.Now().UnixNano()) fmt.Println(rand.Intn(10)) fmt.Println(rand.Float64()) //随机数切片 fmt.Println(rand.Perm(5)) //输出 // 1 // 0.9405090880450124 // 6 // 0.29007018033257015 // [3 4 0 1 2] }1.4、应用场景（1）验证码（2）随机密码（3）抽奖（4）随机算法 2、crypto/rand 包 2.1、crypto/rand 包实现了用于加解密的更安全的随机数生成器2.2、主要方法（1）func Int(rand io.Reader, max big.Int) (n big.Int, err error)返回一个在[0, max)区间服从均匀分布的随机值，如果max<=0则会panic（2）func Prime(rand io.Reader, bits int) (p *big.Int, err error)返回一个具有指定字位数（二进制的位数）的数字，该数字具有很高可能性是质数。如果从rand读取时出错，或者bits<2会返回错误（3）func Read(b []byte) (n int, err error)本函数是一个使用io.ReadFull调用Reader.Read的辅助性函数。当且仅当err == nil时，返回值n == len(b)2.3、代码示例package main import ( "crypto/rand" "encoding/base64" "fmt" "math/big" ) func main() { //1、Int n, err := rand.Int(rand.Reader, big.NewInt(128)) if err == nil { fmt.Println("rand.Int：", n, n.BitLen()) } //2、Prime p, err := rand.Prime(rand.Reader, 5) if err == nil { fmt.Println("rand.Prime：", p) } //3、Read b := make([]byte, 32) m, err := rand.Read(b) if err == nil { fmt.Println("rand.Read：", b[:m]) fmt.Println("rand.Read：", base64.URLEncoding.EncodeToString(b)) } // rand.Int： 92 7 // rand.Prime： 29 // rand.Read： [207 47 241 208 190 84 109 134 86 106 87 223 111 113 203 155 44 118 71 20 186 62 66 130 244 98 97 184 8 179 6 230] // rand.Read： zy_x0L5UbYZWalffb3HLmyx2RxS6PkKC9GJhuAizBuY= }2.4、应用场景（1）生成随机加密串
首先Nginx所需依赖包预处理、编译、连接、汇编gcc用于网站加密通讯openssl用于支持解析正则表达式pcre用于对数据进行解压缩。网站之间通信时，数据先压缩再传输，通过消耗CPU的方式来节省网络带宽zlib安装命令yum -y install make zlib-devel gcc gcc-c++ libtool openssl openssl-devel pcre-devel zlib 开始安装nginx1、获取nginx-1.24.0wget http://nginx.org/download/nginx-1.24.0.tar.gz2、下载完成后，执行解压命令：tar -zxvf nginx-1.24.0.tar.gz 3、 配置安装环境./configure --prefix=/usr/local/nginx make && make install4、启动nginx/usr/local/nginx/sbin/nginx 说明：没有任何报错即是安装成功。5、停止或者重新载入nginx/usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx -s reload6、加载配置文件/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf7、测试配置文件是否正常：/usr/local/nginx/sbin/nginx -t8、创建nginx的软连接ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx9、编辑配置文件cd /usr/local/nginx/conf/ vim nginx.conf
准备工作：安装 Centos7 并且安装ssh服务的虚拟机一台查看 ssh 服务状态(默认安装)systemctl status sshd.service #查看ssh服务状态相关操作命令：systemctl restart sshd.service #重启ssh服务 systemctl start sshd.service #开启ssh服务 systemctl enable sshd.service #设置ssh服务开机自启如果仅修改/etc/issue文件，使用ssh远程登录并不会显示，修改/etc/motd也只能静态显示（即显示内容不会发生变化，时间都需要动态显示），而且/etc/issue的文件内容显示在login提示符之前，而/etc/motd内容显示在用户成功登录系统之后步骤1：# 创建文件夹 mkdir /usr/src/scripts/ # 进入到刚创建好的空文件夹 cd /usr/src/scripts/ # 创建一个空文件 touch system_info.sh # 编写脚本 vi system_info.sh内容如下：(其中 %-2s 为 左缩进2个字符)#uname -snrvm printf "*********************************\n" printf "%2s ChinaSkills 2022 - CSK\n" printf "%-8s Module C linux\n" printf "\n" printf "%-11s>>"`hostname -s`"<<\n" printf ">>`cat /etc/redhat-release`<<\n" echo ">>`date`<<" printf "*********************************\n"步骤2：为该脚本添加可执行权限chmod +x /usr/src/scripts/system_info.sh步骤3：在 /etc/profile 中执行该脚本vi /etc/profile在最后一行添加一条执行该脚本的命令，删除本机登录的上次登录日志的命令/usr/src/scripts/system_info.sh rm -rf /var/log/lastlog #可不加好像也行添加内容如下：步骤4：关闭ssh登录后的上一次登录消息显示，确保已安装ssh并且可以成功登录vi /etc/ssh/sshd_config在普通模式下敲/PrintLastLog 敲回车找到该行(106行)，取消掉注释，并且将yes改为no保存退出，重启ssh服务systemctl restart sshd步骤5：删除/etc/issue内的所有内容vi /etc/issue普通模式下dd删除所有内容后保存退出步骤6：重新登录测试logout本地测试如下：远程连接ssh效果如下：测试成功！————————————————版权声明：本文为CSDN博主「iCdo_X.」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。原文链接：https://blog.csdn.net/weixin_43692598/article/details/125112187
利用 css 3 的新特性 -webkit-scrollbar, 但是这种方式不兼容 火狐 和 IE 超出部分隐藏滚动条 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 利用内外层嵌套, 模拟, 兼容所有浏览器, 相对于方法一比较麻烦, 使用时不能对滚动条声明任何样式 超出部分滚动条 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好 你好
CSS设置内容超出宽度时，可以横向滚动，并且隐藏滚动条
1.当一个块级元素的内容在水平方向发生溢出时，overflow-x决定应该截断溢出内容，或者显示滚动条，或者直接显示溢出内容。2.-webkit-overflow-scrolling属性控制元素在移动设备上是否使用滚动回弹效果。合法值：auto | touchauto：使用普通滚动，当手指从触摸屏上移开，滚动会立即停止touch：使用具有回弹效果的滚动, 当手指从触摸屏上移开，内容会继续保持一段时间的滚动效果。例子：/* 超出部分滚动 */ /* 设置父元素 */ ul { overflow-x: auto; display: -webkit-box; -webkit-overflow-scrolling: touch; margin: 0.5rem 0.5rem } /* 隐藏滚动条 */ ul::-webkit-scrollbar { display: none; }
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 9px; height: 9px } /*定义滚动条轨道*/ ::-webkit-scrollbar-track { background-color: transparent; -webkit-border-radius: 2em; -moz-border-radius: 2em; border-radius: 2em } /*定义滑块 内阴影+圆角*/ ::-webkit-scrollbar-thumb { background-color: #0093ff; background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.4) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.4) 75%,transparent 75%,transparent); -webkit-border-radius: 2em; -moz-border-radius: 2em; border-radius: 2em }
安装图形界面默认情况下是不会安装图形界面的，所以需要自己手动安装，步骤如下：1.开启系统，以root身份进入2.安装X(X Window System)，命令如下：yum groupinstall "X Window System"3.其中大约有200多个软件，安装完成会出现complete！字样。然后安装图形界面软件，GNOME(GNOME Desktop)，命令如下：yum groupinstall "GNOME Desktop"4.由于这个软件组比第一个要大很多（包含800个左右的软件），安装过程会比较慢。安装完成会出现complete！字样。5.安装完成后我们可以通过命令 startx 进入图形界面开机启动图形化界面1.首先使用ctrl+alt+f2切换到命令行模式，如果本身就是命令行模式就直接看下面的步骤2.然后输入如下命令，查看当前开机启动模式systemctl get-defaultgraphical.target代表开机时启动图形化界面multi-user.target代表开机时启动命令界面3.最后输入如下命令设置开机启动图形界面systemctl set-default graphical.target 4.同理，如果想开机启动dos界面，就输入如下命令systemctl set-default multi-user.target 命令界面与图形化界面切换快捷键图形到命令界面：ctrl+alt+f2命令界面到图形：输入startx或者在命令上输入 init 3 命令 切换到命令界面输入 init 5命令 切换到图形界面