- 博客(308)
- 资源 (51)
- 问答 (4)
- 收藏
- 关注

原创 计算机为什么要使用原码、反码、补码
1. 什么是原码、反码、补码先看一个例子: +1和-1的原码、反码、补码的表示[+1] = [00000001]原 = [00000001]反 = [00000001]补[-1] = [10000001]原 = [11111110]反 = [11111111]补原码、反码、补码的计算方式如下:原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。反码:正数的反码...
2019-11-29 17:53:02
6943
4

原创 前端实现http请求重试功能
需求情况比较简单: 需要在前端实现一个重试的功能,如果一个请求访问出错(不管是后端服务出错还是网络出错,亦或者是请求的结果不符合预期)均可进行自动重试直接上代码,代码直接复制到xx.html文件即可运行<!DOCTYPE html><html><script src="https://unpkg.com/axios/dist/axios.min.js"&g...
2019-11-27 19:10:15
2604

原创 SQL使用了索引,为什么还是很慢
数据库的查询性能一直是性能优化的重灾区。近期看了丁奇老师的分享“为什么SQL语言使用了索引,但却还是慢查询?”,收获颇丰,以此做个记录0 准备创建一张测试表,设置主键索引(id)和普通索引(a) ,如下:CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT N...
2019-11-22 20:51:31
3047

原创 如何找出打满磁盘的进程
集群机器的磁盘经常会被某些进程打满磁盘空间被打满,其他进程无法继续写入磁盘的读写通道被打满,其他进程因为读写缓慢而影响性能问题1: 磁盘空间被打满1.1. 检查机器磁盘使用主要是使用df命令来查看磁盘空间的使用,如下图所示:Linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列是文件系统的类型;第3,4,5列给出分区总大小、已使用...
2019-11-12 20:08:43
1361
原创 API和ABI的区别
API (应用程序接口): 定义了源代码和库之间的接口ABI(应用二进制接口) :定义了一组编译应用程序所需要遵循的规则。比如寄存器如何使用、堆栈如何使用等等API兼容: 代码可以在相互兼容的API系统中编译ABI兼容: 编译好的代码可以在相互兼容的ABI系统中运行...
2020-07-28 20:41:29
1515
原创 CPU个数、CPU物理核数、CPU逻辑核数、vCPU数之间的区别
CPU个数: 看得见摸得找的CPU个数,插在主版上面的。在linux系统下面的/proc/cpuinfo文件的条目中,有多少个不同的physical id就有多少个物理CPU。CPU物理核: 一个CPU可能有多个核。在linux系统下面的/proc/cpuinfo文件的条目中,可以看具体有多少个cpu cores,就表示一个CPU有多少个CPU物理核CPU逻辑核(CPU超线程):用Intel的超线程技术(HT)将物理核虚拟而成的逻辑处理单元。在linux系统下面的/proc/cpuinfo文件的条目中,
2020-07-13 20:55:56
8392
原创 Kubernetes为所有默认的ServiceAccount授权
环境准备:创建一个私有的命名空间 mynamespace,创建一个pod,让这个pod使用默认的service account#cat mynamespace.yamlapiVersion: v1kind: Namespacemetadata: name: mynamespace#cat example-pod3.yamlapiVersion: v1kind: Podmetadata: name: test-default-verbs namespace: mynamesp
2020-05-19 21:08:16
3600
原创 go依赖包安装报错:unrecognized import path golang.org/x/crypto/ssh/terminal
使用 godep报错$godep restoregodep: [WARNING]: godep should only be used inside a valid go package directory andgodep: [WARNING]: may not function correctly. You are probably outside of your $GOPATH.godep: [WARNING]: Current Directory: /root/go/k8s-controll
2020-05-15 20:59:10
1686
原创 go get 安装 k8s.io/code-generator 报错
go get 安装 k8s.io/code-generator 报错 cannot find package通过如下方式解决:git clone https://github.com/golang/sys.git $GOPATH/src/github.com/golang/sysgit clone https://github.com/golang/net.git $GOPATH/src/github.com/golang/netgit clone https://github.com/golang
2020-05-08 22:59:49
2408
原创 docker pull报错:Timeout exceeded while awaiting headers解决思路
问题使用fluntd的时候,docker pull镜像失败,原因是镜像在墙外$docker pull k8s.gcr.io/fluentd-elasticsearch:1.20Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connecti...
2020-05-03 17:49:54
3573
原创 Kubernetes报错:MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
报错信息MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable原因原因:这个问题的本质原因是,两个相同的Deployment(一个已部署,一个要部署),但它们选择器不同。场景复现例:app.yamlapiVersion: apps/v1 ...
2020-04-18 17:14:11
18044
原创 k8s:worke节点启动后,node处于NotReady状态
通过kubeadm join 方式,添加一个node到kubernetes集群后,发现节点的状态是NotReady#kubectl get nodesNAME STATUS ROLES AGE VERSIONbd011088191033.na610 Ready master 10h v1.18.0bd01108...
2020-04-04 22:37:10
2144
2
原创 查看一批ip的网段
通过ipcalc命令,该命令可以计算一个ip地址的网段$ipcalc -n 192.168.1.1/24NETWORK=192.168.1.0把要计算的网段放到一个文件a里,通过如下命令cat a | xargs -i ipcalc -n {}/22 | sort |uniq -c就能得到网段信息(22表示子网掩码的位数)...
2019-05-30 17:01:50
2612
原创 javascript如何处理字符串中的\u
问题: 字符串在页面显示的时候,有\u,如:Tesla\u8fc1\u79fb ,想要显示它的原文let a = 'Tesla\u8fc1\u79fb'//显示 Tesla迁移alert( unescape(text.replace(/\\/g,'%')) ) ...
2019-05-06 11:22:12
4369
1
原创 Linux找出inode满的目录并删除
df -i 找出inode满的目录发现是/dump/1下面的目录满了cd /dump/1 通过 shell找出具体的目录并删除for i in /dump/1/*; do echo $i; find $i |wc -l|sort -nr; done
2019-04-06 11:12:50
5161
原创 Javascript防止按钮多次点击的节流函数throttle
问题:一个按钮点击后执行的异步操作,返回时间不一定,可能会导致多次重复点击。 例:<!DOCTYPE html><html><body > <button onclick="test()" >点击</button></body><script>function test
2018-11-21 13:04:03
5581
原创 Webpack中的query: { presets: ['es2015','react'] }
问题最近检查配置的时候,发现在webpack中有一段配置 module: { loaders: [{ test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel', query: { presets: ['es2015','react'] } }]...
2018-11-05 20:12:15
3756
原创 JavaScript 快速踩坑(1)
JavaScript语言核心1.JavaScript概述JavaScript语言核心JavaScript中最重要的类型就是对象,对象是由花括号扩起来的 var book ={ topic: "javascript", fat:true}将函数和对象合写到一起时,函数就变成了“方法” **2. 词法结构字符集许多客户端JavaScript对象和
2017-09-03 18:01:39
679
原创 《Python入门》笔记
Python入门Python与其他语言相比的优势Python与C和Java相比,运行速度较慢。但随着技术发展,CPU运行速度越来越快,性能的瓶颈往往不在CPU的运行速度,而在网络和数据库的调用上。这就和电瓶车与轿车在堵车时的运行速度一样,与车本身的运行速度无关。Python变量和数据类型Python中的布尔类型a = 'python'print 'hello,', a or 'world' #he
2017-07-20 09:45:10
534
原创 MongoDB入门(3)--MongoDB的索引
MongoDB的索引查看索引 db.test_table.getIndexes()创建索引(1表示升序,-1表示降序) db.test_table.ensureIndex({x:1})索引的种类_id索引_id索引是绝大多数集合默认建立的索引,对于每个插入数据MongoDB都会自动生成一条唯一的_id字段单键索引单键是最普通的索引db.test_table.ensureIndex({x
2017-05-04 21:53:31
754
原创 MongoDB入门(2)--增删改查
使用MongoDB的增删查改查看数据库 show dbs切换数据库 use local删除数据库 db.dropDatabase()数据写入 db.test_table.insert({x:1})查看数据表 show collections查询数据 db.test_table.find()db.test_table.find({x:1})插入多条数据 for(i=3
2017-05-03 19:20:07
742
原创 MongoDB入门(1)--搭建并连接服务器
几个重要的网站MongoDB官网: www.mongodb.orgMongoDB国内官方网站: www.mongoing.com中文MongoDB文档地址: docs.mongoing.comMongoDB的特点没有表结构的概念,每条记录可以有完全不同的结构业务开发方便快捷sql数据库需要事先定义表结构再使用{name:”小明”,sex:”男 ”} {name:”小红”,address
2017-05-03 19:14:56
732
原创 Linux命令行与shell脚本(20)--实例:uptime,df,ps
获得系统运行时间 $ uptime | sed -n 's/,/ /gp' | gawk '{if ($4 =="days" || $4 == "day"){print $2,$3,$4,$5}else{ print $2,$3 } }'up 6:54磁盘使用情况df -h | sed -n '/%*\//p' | gawk '{print $1,$5}'统计僵尸进程ps -al | ga
2017-04-25 15:42:53
1240
原创 Linux命令行与shell脚本(20)--实例:备份文件
创建一个配置文件,该文件包含了要备份的每个目录或文件$ cat files_backup_config /Users/chenhong/Desktop/shell_workspace/mysql.sh/Users/chenhong/Desktop/shell_workspace/disk_used_view.sh/Users/chenhong/Desktop/shell_workspace/
2017-04-25 15:40:23
5093
原创 Linux命令行与shell脚本(19)--实例:监测磁盘空间
监测磁盘空间找出指定目录的前十名磁盘空间用户。它会生成一个以日期命名的报告,使得磁盘空间使用量可以被监测 命令如下,其中(1) -s用来在目录一级显示整体磁盘使用情况(2){11,$d}删除11行到最后一行的内容sudo du -s $HOME/* | sort -rn | sed '{11,$d;}' | sed '=' | sed 'N; s/\n/ /' | gawk '{printf
2017-04-25 15:35:41
1408
原创 Linux命令行与shell脚本(18)--shell连接mysql
在脚本中使用数据库连接数据库并查询表#!/bin/bashmysql=`which mysql`;$mysql shell -u root -proot -e "select * from employees" #连接shell数据库,-e后指定执行的语句执行多条命令mysql=`which mysql`;$mysql shell -u root -proot <<EOF #shell
2017-04-25 15:33:10
4699
原创 Linux命令行与shell脚本(17)--正则表达式
什么是正则表达式sed和gawk的正则表达式引擎之间是有区别的。gawk可以使用大多数扩展正则表达式模式符号,并且能够提供一些额外的sed没有的功能。但正因为如此,gawk通常在处理数据流时更慢$ echo "The book are " | sed -n '/book/p'The book are $ echo "The book are " | sed -n '/^book/p'
2017-04-25 14:48:10
712
原创 Linux命令行与shell脚本(16)--gawk使用
gawkgawk通常用来从大文本文件中提取数据元素并将它们格式化成可度的报告Crtl+D组合键能终止gawk程序并返回到命令行界面提示符下gawk读取文本文件并显示第1数据字段值 gawk -F: '{print $1}' /etc/passwdgawk允许将程序存储到文件中 $ cat script1 {print $1}$ gawk -F: -f script1 /etc/pas
2017-04-25 14:29:57
723
1
原创 Linux命令行与shell脚本(15)--sed使用
sedsed可以基于输入到命令行的或是存储在命令文本文件中的命令来处理数据流中的数据。s命令会用斜线间指定的第二个文本字符串来替换第一个文本字符串。echo "This is a test" | sed 's/test/big test/' #This is a big testsed编辑器自身不会修改文本文件的数据,它只会将修改后的数据发送到STOUT在sed命令上执行多个命令时,只要
2017-04-25 14:19:51
2036
原创 Linux命令行与shell脚本(14)--在函数中使用数组
数组变量和函数传递数组给函数function testit(){ local new_array; new_array=(`echo $@`); echo "The new array value is: ${new_array[*]}";}myarray=(1 2 3 4 5 6);echo "The original array is ${
2017-04-25 13:58:00
1464
原创 Linux命令行与shell脚本(13)--在函数中使用普通变量
基本的脚本函数创建和使用函数function fun1(){ echo "This is a function echo";}count=1;while(( count <= 5 ))do fun1; #调用函数 count=$[ $count + 1 ];doneecho "End";bash shell会把函数当作小型脚本,运行结
2017-04-25 13:56:15
1401
原创 Linux命令行与shell脚本(12)--控制脚本
处理信号Ctrl+C组合键会产生SIGINT信号,会停止shell中当前运行的进程Crtl+Z组建键会产生SIGTSTP信号,停止shell中运行的任何进程,停止进程会让程序继续保留在内存中,并能从上一次停止的位置继续运行trap命令允许你来指定shell脚本要观察哪些Linux信号并从shell中拦截。如果脚本收到了trap命令中列出的信号,它会阻止它被shell处理,而在本地处理它tra
2017-04-25 13:13:17
1235
原创 Linux命令行与shell脚本(11)--输入/输出重定向
理解输入和输出重定向错误消息 ls -al badfile 2> test4重定向错误和数据 ls -al test test2 test3 badtest 2> test6 1> test7 #错误输入到test6,正常数据显示到test7ls -al test test2 &> test8 #将标准错误和标准输入都重定向到test8在脚本中重定向输出将文本输出到标准错误中 echo
2017-04-25 12:59:06
1649
原创 Linux命令行与shell脚本(10)--获得用户输入
获得用户输入read命令:接受从标准输入(键盘)或另一个文件描述符的输入。echo -n "Enter your name:"; #-n使得echo不换行read name;echo "Welcome $name";read -p "Enter your age:" age #-p直接在read命令行指定提示符days=$[ $age * 365 ];echo "The day is
2017-04-25 11:06:51
622
原创 Linux命令行与shell脚本(9)--函数参数
命令行参数位置参数变量是标准的数字,$0是程序名, $1是第一个参数,$2是第二个参数,以此类推,直到第9个参数 $9如果位置参数变量超过10个,用花括号表示,如 ${10}basename命令,用来只返回程序名而不包括路径name1=$0name2=`basename $0`echo "name1:$name1";echo "name2:$name2";检查参数是否存在#!/bi
2017-04-25 11:03:27
1631
原创 Linux命令行与shell脚本(8)--结构化命令
使用if-then语句bash shell的if语句会运行if行定义的那个命令。如果该命令的退出状态码是0,位于then部分的命令就会被执行。如果该命令的退出状态码是其他值,then部分的命令就不会执行。if datethen echo "it worked"fiif abcthen echo "it worked again"fiecho "we ar
2017-04-25 10:55:16
567
spring自动装配例子
2015-04-04
spring入门 aware接口实现
2015-04-03
Jsp+Servelt使用 smb访问网络共享文件
2015-02-03
java使用smb访问网络共享文件
2015-02-03
JDBC POOL 高效数据源配置
2015-01-25
设计模式例子(java版本)
2015-08-31
网络设备ASW到底是啥?
2019-12-06
java.lang包下的类能不能被代理,为什么??
2015-07-17
关于 java 虚拟机 Hotsport
2015-07-15
关于javascript的一个问题
2015-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人