ssh介绍
SSH是一种网络协议,用于计算机之间的加密登录。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
命令参数
-1:强制使用ssh协议版本1;
-2:强制使用ssh协议版本2;
-4:强制使用IPv4地址;
-6:强制使用IPv6地址;
-A:开启认证代理连接转发功能;
-a:关闭认证代理连接转发功能;
-b:使用本机指定地址作为对应连接的源ip地址;
-C:请求压缩所有数据;
-F:指定ssh指令的配置文件;
-f:后台执行ssh指令;
-g:允许远程主机连接主机的转发端口;
-i:指定身份文件;
crond介绍
crond是linux下周期性执行某项任务或等待处理某些事情的一个守护进程。
crond是系统默认安装切默认启动的服务。crond每分钟回去检查是否有要执行的任务,有就去执行。
linux下的任务调度分为两种,系统任务调度和用户任务调度。而配置调度任务的文件就叫做crontab文件.
系统任务调度 系统需要周期性执行的任务例如日志清理等,系统任务调度的crontab文件为/etc/crontab。
cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
用户任
Centos7修改软件源
这里以Centos7为例子,6同样的方法url里相应7修改为6即可
配置remi源
remi源依赖epel源,安装epel源
yum install epel-release
安装remi源
rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
启用remi源
/etc/yum.repos.d/remi.repo,在[remi]下边的enabled=0改为enabled=1
同时也安装了各版本的php
不小心删除了libc.so.6
升级系统软件说依赖更高glibc库,然后升级过程中错误删除了libc.so.6。。导致所有的命令均无法执行。
例如执行ll,有如下提示
ll
sh: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
libc.so.6介绍
glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。
sh bash这些都是依赖与glibc库的,所
Go并发调度器解析之实现一个协程池
深入golang之---goroutine并发控制与通信
night-reading-go
Go语言·听说你想让程序运行的更快?
年终盘点!2017年超有价值的Golang文章
飞雪无情的博客
鸟窝
Go 命令详解
goroutine 实现原理
让我们执行如下代码:
package main
import "fmt"
func main() {
v := []int{1, 2, 3}
for i := range v {
println(i)
}
fmt.Println(v)
}
我们可能会得到如下结果(但每次都未必一样):
0
1
[1 2 3]
2
为什么呢?
fmt.Println把结果输出到标准错误(standard error)中,println把结果输出到标准输出(standard output),因为两个输出的目标不一样,所以顺序是不固定的。
定义
搜索引擎(search engine)是一种信息检索系统,旨在协助搜索存储在计算机系统中的信息。搜索结果一般被称为“hits“,通常以表单的形式列出。网络搜索引擎是常见、公开的一种搜索引擎,其功能为搜索互联网上储存的信息。
工作方式
搜索引擎为一组项目提供一个接口,使用户可以指定关于感兴趣的项目的标准,并让引擎找到匹配的项目。搜索查询通常表示为识别一个或多个文档kennel包含的期望概念的一组单词。有多种样式的搜索查询语法在严格性上有差异。它也可以在以前的站点中搜索搜索引擎中的名称。而一些文本搜索引擎要求用户输入由白色空格分割的两个或三个字,其他搜索引擎可以使用户能够指定整个文档,图片,
数据库优化有哪些?分别需要注意什么?
数据库设计
尽可能地使用最有效(最小)的数据类型
tinyint(1Byte)
smallint(2Byte)
mediumint(3Byte)
int(4Byte)
bigint(8Byte)
bad case:int(1)/int(11)
不要将数字存储为字符串,字符转化为数字,用int存储ip而非char(15)
优先使用enum或set,sex enum (‘F’, ‘M’)
避免使用NULL字段
NULL字段很难查询优化
NULL字段的索引需要额外空间
NULL字段的复合索引无效
bad case:`name` char(32) default
免密码登录配置
在需要免密钥登录其他机器的机器上生成ssh公钥,并复制到需要被登录的机器上
ssh-keygen
scp ~/.ssh/id_rsa.pub 目标机器用户名@目标机器ip:/home/目标机器用户名/
在目标机器处理,首先用目标用户登录机器
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys //ssh免密钥登录会检测文件的权限,过于开放和保守都不行~
chmod 700 ~/.ssh
设置 SSH,打开密钥登录功能(默认一般是开通的,不需要修改)
修改/etc/
golang中字符串格式化输出
package main
import (
"fmt"
"os"
)
type point struct {
x, y int
}
func main() {
// Go提供了几种打印格式,用来格式化一般的Go值,例如
// 下面的%v打印了一个point结构体的对象的值
p := point{1, 2}
fmt.Printf("%v\n", p)
// 如果所格式化的值是一个结构体对象,那么`%+v`的格式化输出
// 将包括结构体的成员名称和值
fmt.Printf("%