开发
和 while true 一样,一直循环,同样的while 2,while “A” 都是表示while true
可以在浏览器里打开调试模式,在source里查看引用了哪几个js文件。
可换行的字符串。
换个CDN
var date = new Date(); //获取当前的时间
var year = date.getFullYear()
console.log(year)
var month= date.getMonth()+1
console.log(month)
var day = date.getDate()
console.log(date)
var week = date.getDay()
var hours = date.getHours()
console.log(hours)
var min = date.getMinutes()
console.log(min)
var sec = date.getSeconds()
// 因为var week = date.getDay()得到的是数字0~1 所以用switch语句来赋值
switch(week){
case 0:
week='星期日'
break;
case 1:
week='星期一'
break;
case 2:
week='星期二'
break;
case 3:
week='星期三'
break;
case 4:
week='星期四'
break;
case 5:
week='星期五'
break;
case 6:
week='星期六'
break;
}
数据库连接池的基本思想是:为数据库连接建立一个“缓冲池”,预先在池中放入一定数量的数据库连接管道,需要时,从池子中取出管道进行使用,操作完毕后,在将管道放入池子中,从而避免了频繁的向数据库申请资源,释放资源带来的性能损耗。
死锁产生的4个必要条件
1、互斥:某种资源一次只允许一个进程访问,即该资源一旦分配给某个进程,其他进程就不能再访问,直到该进程访问结束。
2、占有且等待:一个进程本身占有资源(一种或多种),同时还有资源未得到满足,正在等待其他进程释放该资源。
3、不可抢占:别人已经占有了某项资源,你不能因为自己也需要该资源,就去把别人的资源抢过来。
4、循环等待:存在一个进程链,使得每个进程都占有下一个进程所需的至少一种资源。
ls命令 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等
cd命令 命令语法:cd [目录名]。说明:切换当前目录至dirName
pwd命令 查看当前工作目录路径
mkdir命令 创建文件夹
rm命令 删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用
mv命令 移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
cp命令 将源文件复制至目标文件,或将多个源文件复制至目标目录。
cat命令 一次显示整个文件:cat filename 将几个文件合并为一个文件:cat file1 file2 > file
less命令 less 可以随意浏览文件
tail命令 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
which命令 在linux要查找某个文件,但不知道放在哪里了
find命令 用于在文件树中查找文件,并作出相应的处理
chmod命令 用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。
chown命令 chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID
du命令 du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看
ps命令 ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top
top命令 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
kill命令 发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9)
首先需要区分Redis和MySQL是否存在分布式的问题,还是说你考虑的是Redis缓存和MySQL的一致性。
如果是后者,那相对会比较简单。
这个问题和文件系统的写入比较相似,可以参考一下。
小程序开发主要需要html+css+js这些基本的前端语法,如果需要牵扯到服务端开发,还需要一门服务端语言做支撑。
其实可以在上传加签的时候直接把文件名也由服务端生成好传给客户端,这样客户端就不能随意指定文件名称。
主要是栈,计算器是需要根据标识符比如括号,或者+,-,*,/等符号进行压栈和出栈操作。
你指的是ssh吗?可以看下是否被linux的安全策略给禁用了,比如iptables
使用外网连接主要是把RDS暴露给了任何网络环境;内网可以配置成自己的私有网络,仅允许你的网络环境下的机器可访问。
建议在OSS的文件名用UUID来物理防止重名的问题;或者上传之前查询一下OBJECT是否存在(需要注意并发事务的问题)
需要在上传之前查询一下Object是否已存在
无锁编程就是lockfree,可以google搜索一堆示例代码。上面也说了一些了,现代CPU都支持CAS的原子操作。
CAS实现的Lock Free本质上就是说,当有两个线程同时操作一个值的时候,我再操作之前先读一下这个对象的值。
操作完成后,我需要修改这个值的时候,做一次CAS操作,如果Compare成功,那么表示这时候没有其他线程对他进行修改,我直接SWAP,也就是修改这个值。这时候,有其他线程进来后,发现值已经和之前不一样了,也就是compare失败,则不修改。
因为CAS是原子的,所以比较和swap不会有中间态,既可保证整个操作的无锁性,但是有ABA的情况,所以一般这个值的某几位,你需要设置一个操作序列号,每次操作需要+1
无锁编程就是lockfree,可以google搜索一堆示例代码,现代CPU都支持CAS的原子操作。
CAS实现的Lock Free本质上就是说,当有两个线程同时操作一个值的时候,我再操作之前先读一下这个对象的值。
操作完成后,我需要修改这个值的时候,做一次CAS操作,如果Compare成功,那么表示这时候没有其他线程对他进行修改,我直接SWAP,也就是修改这个值。这时候,有其他线程进来后,发现值已经和之前不一样了,也就是compare失败,则不修改。
因为CAS是原子的,所以比较和swap不会有中间态,既可保证整个操作的无锁性,但是有ABA的情况,所以一般这个值的某几位,你需要设置一个操作序列号,每次操作需要+1
试试打开隐身模式看看
可以考虑用ssh执行,在jenkins的pipeline里做控制。
如使用密码
sshpass -p ssh root@$MASTER_IP "$command"
如用证书
ssh root@MSATER_IP "$command"
调试有这个几个步骤
RHEL上的命令
// 允许8080端口访问
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
systemctl stop iptables
只会有这么两道拦着。
和MySQL类似:
// 使用utf-8的格式导出表
mysqldump --default-character-set=utf8 -t -u root -p $TABLE > $SAVE_PATH/save.sql
// 打开save.sql 文件,修改需要改的表结构字符集为utf-8
// 导入新表(老表备份一下,并删除)
mysql -u root -p < $SAVE_PATH/save.sql