分类 默认分类 下的文章

日常 web 开发中,我们经常遇到想要滚动某元素,但却导致了其他元素发生了滚动的问题。

比如我们某元素使用了浮层,当浮层无法滑动时,我们尝试滑动浮层,会发现浮层下的元素(通常来说是页面)发生了滚动,这就是滚动穿透。

而元素滚动到底时,再尝试滚动会导致元素的可滚动父级开始滚动,这就是滚动链(Scroll Chaining)。

换个说法来说规范可能更好理解一些,规范不是用户手册,它只会规定了你要有哪些特性以及如何实现这些特性,但它不会规定你不要实现某些特性。而各大浏览器厂商不约而同的选择了这样的模式:当尝试滚动目标元素时,如果元素不能滚动,那就去尝试让它的父级元素进行滚动,哪个能滚滚哪个。

这篇文章分析了这个问题,并给出了解决方案:
https://blog.osvlabs.com/?p=246

1.交互式:使用标准的输入和输出,是程序执行的中途让用户输入
在这个脚本里,fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读
取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上。

#! /usr/bin/php

<?php

// ask for input
fwrite(STDOUT, "Enter your name: ");

// get input
$name = trim(fgets(STDIN));

// write input back
fwrite(STDOUT, "Hello, $name!\n");

2.使用命令行参数

在命令行里输入程序参数来更改其运行方式是很常见的做法。你也可以对CLI程序这样做。PHP CLI带有两个特殊的变量,专门用来达到这个
目的:一个是$argv变量,它通过命令行把传递给PHP脚本的参数保存为单独的数组元素;另一个是$argc变量,它用来保存$argv数组里元素的
个数。

要注意的是,$argv的第一个自变量总是脚本自己的名

方法一:read指令
该命令是在shell提示符下获取用户输入的最简单,使用最广泛的方法read。演示其用法的最佳方法是一个简单的演示:

#! /bin/bash

while true; do
    read -p "Do you wish to install this program? [Y/N]" yn
    echo You input is: $yn;
    case $yn in
        [Yy]* ) echo make install; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done

方法二:select指令
另一种方法是Bash的命令。这是使用的相同示例:select

#! /bin/bash

echo "Do you wish to install this program? Please select a number:"
select yn in "Yes" "No"; do
    echo You input is: $yn;
    case $yn in
        Yes ) echo make install; break;;
        No ) exit;;
    * ) echo "Please answer yes or no.";;
    esac
done

执行命令结果:

$ ./test_select.sh 
Do you wish to install this program? Please select a number:
1) Yes
2) No
#? 2
You input is: No
$ ./test_select.sh 
Do you wish to install this program? Please select a number:
1) Yes
2) No
#? 1
You input is: Yes
make install

MySQL主从复制状态及数据一致性监测工具 percona-toolkit:
详情简介使用文章:
https://www.cnblogs.com/kevingrace/p/6261091.html

percona-toolkit工具介绍 percona-toolkit工具中最主要的三个组件分别是:

  • pt-table-checksum 负责监测mysql主从数据一致性
  • pt-table-sync 负责当主从数据不一致时修复数据,让它们保存数据的一致性
  • pt-heartbeat 负责监控mysql主从同步延迟

另外两个工具介绍:
配置生成工具https://sc.toolnb.com/tools/mysqlslave.html
主从复制错误修复工具:https://github.com/hcymysql/pt-slave-repair