Docker入门教程
安装Docker安装环境此处在Centos7进行安装,可以使用以下命令查看CentOS版本 1lsb_release -a 在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看 1uname -r 用yum源安装查看是否已安装docker列表 1yum list installed | grep docker 安装docker 1yum -y install docker linux 安装docker 查找docker安装路径Linux系统下查找安装包所在目录的方法,rpm查找安装包路径 1234567891011121314151617Linux rpm 命令用于管理套件参数说明:-a 查询所有套件。-l 显示套件的文件列表。-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户rpm -qa | grep dockerrpm -ql docker-ce-19.03.13-3.el7.x86_64which使用指令"which"查看"nginx"的绝对路径,输入如下...
限制ip接口案例
为什么要开细节类因为有很多东西,很细微,但又很实用。就会放在细节类。该类的目的是做个记录,既然简单。 限制ip接口案例 场景 需要针对相同ip用户每分访问接口次数的做限制,防止用户恶意刷。 代码 1234567891011121314151617181920212223242526/** * 接口 ip 限制 * @param $miniutes 分钟数 * @param $times 次数 * @param $api 接口唯一标识 * @return bool */public function apiIpLimit($miniutes, $times, $api){ $ip = Request::getClientIP(); //获取用户ip if ($ip) { $key = $api . "_" . $ip; $num = Yii::$app->cookie->get($key); $num = $num ? $num + 1 : 1; //请求次数加1 ...
Docker常用操作命令大全
环境Linux Centos7 docker进程相关命令 systemctl start docker #启动docker服务 systemctl stop docker #停止docker服务 systemctl restart docker#重启docker服务 systemctl status docker #查看docker服务状态 systemctl enable docker#设置开机启动服务 docker容器管理命令docker run -d --name {your_name} {image_name} # 运行容器 参数说明: -i:以交互模式运行容器,通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。 -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。 -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。 -it 创建的容器一般称为交互式容器; -id 创建的容器一般称为守护式容器。 –n...
charles手机端捕获数据
推荐一款自己常用的捕获手机端数据工具:charles 注意:关于安卓7.0版本以上charles无法抓取https包的问题,这个因为测试都是公司的包,所以安卓开发那边会做相应处理打包,就不会出现问题了。 关于Charles的安装,Charles给手机链接代理,安装证书,安卓手机抓包的连接,以及配置 这篇文章写得很不错的。 常用的点 在处理好PC端的charles的下载,安装,证书之类后。 手机连接与电脑同一网络下的WIFI,手动设置代理,主机名charles:Help->Local IP Addresses,端口名charles:Proxy->Proxy Settings->Port。 连接成功后,其实就可以捕获数据了。但是https的数据会显示错误,这时候就需要下载证书了。 手机浏览器下载证书链接:http://chls.pro/ssl,下载完后。让手机信任证书,例如:"指纹与密码-其他安装选项-从存储装置安装"操作信任,当然不同手机操作信任的路径不一定相同。 Charles抓包postman 因为有很多测试再postman上面测试...
Go 控制结构for循环loop
for循环是编程语言中一种循环语句,for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环. for循环 12for initialisation; condition; post { } 这是典型的 for 循环三个表达式,第一个为初始化表达式或赋值语句;第二个为循环条件判定表达式;第三个为循环变量修正表达式,即此处的 post。 示例: 1234567package main import "fmt" func main() { for a := 0; a < 12; a++ { fmt.Print(a,"\n") } } for嵌套 Go 语言允许用户在循环内使用循环.接下来我们将为大家介绍嵌套循环的使用. 以下实例使用循环嵌套来输出 2 到 100 间的素数: 12345678910111213141516171819packa...
GO 控制结构if-else
简单例子: 1234567if condition1 { // do something } else if condition2 { // do something else } else { // catch-all or default} 注意: 1.即使当代码块之间只有一条语句时,大括号也不可被省略。 2.关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行 1234if x{}else { // 无效的} 使用方式 当 if 结构内有 break,continue,goto 或者 return 语句时,Go 代码的常见写法是省略 else 部分.无论满足哪个条件都会返回 x 或者 y 时,一般使用以下写法: 1234if condition { return x}return y 注意事项 不要同时在 if-else 结构的两个分支里都使用 return 语句,这将导致编译报错 functio...
GO 包package和import
什么是package package用于对我们的程序进行*分类*,以便易于维护. 每个go文件都属于某个包. 每个Go应用程序必须具有main包。包名称应以小写字母书写. 如果更改并重新编译package,则必须重新编译使用此package的所有代码程序! Import 别名导入 import mongo "mywebapp/libs/mongodb/db" Import 省略package名导入 这里的点.符号表示,对包 lib 的调用直接省略包名,您我以后就是一家人,不分彼此,您的东西就像我就的一样,随便用. 12345package mainimport . "github.com/libragen/felix/lib"func main() { SayHello() //如果没有.忽略包名,那么需要lib.SayHello()。不过这样可能要注意函数名或变量名是否会冲突,个人不推荐} Import 执行初始化工作导入 import _ "github.com/libragen/fe...
GO 数据类型(入门篇必读)
为什么是必读?因为这边会给出这个系列的参考/出处文章地址 https://mojotv.cn/ 变量声明语法 123456789101112var a int //声明一个int类型的变量var b struct { //声明一个结构体 Name string}var a = 8 //声明变量的同时赋值,编译器自动推导其数据类型var a int = 8 //声明变量的同时赋值//声明变量的同时赋值更习惯用":=",但注意全局变量不可以用":="a := 8 go可使用var关键字声明全局变量,但是:=这种方式是不能用在全局变量中的.:=只能用在函数体内部. 1234567var ( a int b bool xx,yy,dd string="xx","yy","dd" //这里省略变量类型也是可以的. zz,aa="zz","aa" ...
Hexo博客中插入音乐
成品具体成功已体现在网络掩码文章底部。 操作一款html5音乐播放器:Aplayer。把Aplayer加入hexo需要用到hexo-tag-aplayer插件。 切换到hexo目录,运行: 1npm install --save hexo-tag-aplayer 安装完成后,在需要添加音乐的地方加上: 1{% aplayer "歌曲名称" "作者" "音乐_url" "封面图片_url" "autoplay" %} 文章链接 网易云外链的处理网易云提供的外链连接无法成功播放,所以找到一篇解决的文章。 例如:杨钰莹的心雨,网址是:http://music.163.com/#/song?id=317151 很明显,ID是317151 那么,这首歌的真实地址就是:http://music.163.com/song/media/outer/url?id=317151.mp3 文章链接 问题mac端(win端没有测试过)控制不了音量大小,只能空过电脑或耳机条件。 1&...
网络掩码
ip地址的组成(网络位+主机位)IP地址采用分层结构; IP地址是由网络号(net ID)与主机号(host ID)两部分组成的。 根据不同的取值范围,IP地址可以分为五类;IP地址中的前5位用于标识IP地址的类别: 1234567891011A类地址的第一位为0; 127 => 0(128)1(64)1(32)1(16) 1(8)1(4)1(2)1(1)网络位7(8-1)位,主机号24位(32-7-1 = 24)B类地址的前两位为10; 191 => 1(128)0(64)1(32)1(16) 1(8)1(4)1(2)1(1)网络位14(8+8-2)位,主机号16位(32-14-2 = 16)C类地址的前三位为110;223 => 1(128)1(64)0(32)1(16) 1(8)1(4)1(2)1(1)网络位21(8+8+8-3)位,主机号位(32-21-3 = 8)D类地址的前四位为1110;E类地址的前五位为11110; 实际大多通过子网掩码来区分网络位和主机位,子网掩码跟IP地址一一对应,子网掩码为1的是网络位,为0的是主机位。如:192.168...

