自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 开发环境使用 ngrok工具映射公网地址

下载 ngrokngrok 很容易安装。下载具有零运行时依赖性的单个二进制文件。ngrok官网ngrok使用教程1.解压安装在 Linux 或 Mac OS X 上,您可以使用以下命令从终端解压缩 ngrok。在 Windows 上,只需双击 ngrok.zip 即可解压缩。unzip /path/to/ngrok.zip2. 连接您的帐户运行此命令会将您的身份验证令牌添加到默认配置文件中。这将授予您访问更多功能和更长会话时间的权限。正在运行的隧道将列在仪表板的状态页面上。 ngro

2021-10-09 13:39:40 271

原创 uPic 图床配置教程 - Imgur

这里写自定义目录标题配置项说明Client ID 获取方式配置项说明Client ID: Applications Client IDClient ID 获取方式1.打开Imgur 官网并登陆2.进入应用注册页面3.按要求填写表单信息4.注意Authorization type选项必须选择OAuth 2 authorization without a callback URL5.复制生成好的 Client ID 值到 uPic Client ID 输入框并保存[外链图片转存失败,源

2021-09-14 16:12:48 1339

原创 redis 常用命令(持续更新。。。)

redis 常用命令持续更新。。。批量删除 key批量删除 keyredis-cli -h redis连接地址 -a 密码 keys "wiki_fav_uid_arr_*" | xargs redis-cli -h redis连接地址 -a 密码 del

2021-09-08 20:44:44 209

原创 Go Modules 日常使用

1. 初始化新项目,我们可以使用 go mod init 初始化生成 go.mod 文件go mod init2. Go Proxy因国内访问外网受限,一般我们都会配合 Go Proxy 使用,以防止使用 go get 获取源码包时花费时间过长或无法下载go env -w GOPROXY=https://goproxy.cn知识点: 我们使用 go env -w 来修改 Go 相关的环境变量。Go Proxy 设置完成后即可放心使用 go get 来下载依赖了,作为测试,我们下载 H

2021-06-07 13:43:48 683

原创 mysql自动备份脚本

新建shell脚本vim /home/deploy/mysqlBackup.sh#!/bin/bash # 以下配置信息请自己修改mysql_user="db_user" #MySQL备份用户mysql_password="db_password" #MySQL备份用户的密码mysql_host="localhost"mysql_port="3306"mysql_charset="utf8mb4" #MySQL编码backup_db_arr=("bbs" "bookstack" "m

2021-05-26 10:06:47 140

原创 位、字节、字符的区别

介绍位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,1B(byte,字节)= 8bit(位)字符:是指计算机中使用的字母、数字、字和符号ASCIIS码: 1个英文字母(不分大小写)= 1个字节的空间 1个中文汉字 = 2个字节的空间 1个ASCII码 = 一个字节UTF-8编码:1个英文字符 = 1个字节

2021-05-26 10:00:36 505

原创 php文件上传超出2M大小限制

查看phpinfo先确定当前用的哪个php.ini配置Loaded Configuration File /etc/php/7.2/fpm/php.ini则修改对应的php.ini配置sudo vi /etc/php/7.2/fpm/php.ini[1、通过php.ini查看php配置文件位置]post_max_size = 50M      #可接受的最大POST数据upload_max_filesize = 50M   #文件上传允许的最大值max_execution_time

2021-05-26 09:59:13 563

原创 Ubuntu下安装的mysql 开启远程访问

1、进入mysql方法一mysql -u root -p mysql>create user db_user@'%' identified by 'db_password'; #创建用户 mysql> grant all privileges on *.* to db_user@'%' with grant option; #授权flush privileges; mysql> exit; #退出数据库控制台,特别注意有分号方法二CREATE USER 'usernam

2021-05-25 13:44:09 370

原创 centos 安装迅搜

1、下载wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz22、安装相关依赖yum -y install gcc make gcc-c++ zlib-devel3、解压和安装tar -xjf xunsearch-full-1.4.14cd xunsearch-full-1.4.14sh setup.sh4、安装完成提示信息 Installation completed successfully,

2021-05-25 13:42:29 178

原创 ubuntu 切换php版本

切换PHP版本sudo update-alternatives --config php过程如下root@JD:/var/www/bbs# php -vPHP 7.4.1 (cli) (built: Dec 18 2019 14:44:22) ( NTS )Copyright (c) The PHP GroupZend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.1, Copyright (

2021-05-25 13:41:28 410

原创 sudo 出现unable to resolve JD 解决方法

Ubuntu环境, 假设这台机器名字叫abc(机器的hostname), 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host abc虽然sudo 还是可以正常执行, 所以就直接从/etc/hosts 设定, 让abc(hostname) 可以解回127.0.0.1 的IP 即可.在127.0.0.1 localhost 后面加上主机名称(hostname) 即可:sudo: unable to resolve host JD解决方案如下vi /et

2021-05-25 13:40:40 137

原创 Ubuntu更新时提示错误 E: Sub-process /usr/bin/dpkg returned an error code (1)

Ubuntu更新时提示错误 E: Sub-process /usr/bin/dpkg returned an error code (1)安装redis时报错如下Reading package lists... DoneBuilding dependency tree Reading state information... DoneCalculating upgrade... Done0 upgraded, 0 newly installed, 0 to remove and

2021-05-25 13:39:51 463

原创 5 个 Composer 小技巧

1. 仅更新单个库只想更新某个特定的库,不想更新它的所有依赖,很简单:composer update foo/bar此外,这个技巧还可以用来解决“警告信息问题”。你一定见过这样的警告信息:Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.

2021-05-25 13:38:18 339 4

原创 Class StatusesTableSeeder does not exist 如何解决

2021-05-25 13:36:56 80

原创 Artisan常用快捷操作命令

编写填充器类php artisan make:seeder UsersTableSeeder该命令会在 database/seeds 目录下创建一个 UsersTableSeeder 填充器类,初始化代码如下:<?phpuse Illuminate\Database\Seeder;class UsersTableSeeder extends Seeder{ /** * Run the database seeds. * * @return v

2021-05-25 13:34:42 324

原创 laravel Trailing data 问题解决

laravel Trailing data 问题解决出现此问题一般是由于相关数据模型中created_at 的时间格式不正确导致的比如 protected $table = 'ptn_apply_list'; public $timestamps = true; protected $dateFormat = 'U'; protected $guarded = [];把其中的 protected $dateFormat = ‘U’;注释掉即可这是由于我存储的数据 格式 .

2021-05-25 13:33:14 1277

原创 停止、删除所有的docker容器和镜像

列出所有的容器 IDdocker ps -aq停止所有的容器docker stop $(docker ps -aq)删除所有的容器docker rm $(docker ps -aq)删除所有的镜像docker rmi $(docker images -q)删除所有不使用的镜像docker image prune --force --alldocker image prune -f -a删除所有停止的容器docker container prune -f参考文章htt

2021-05-24 11:02:35 118

原创 docker-Compose 使用

查看安装版本docker-compose --version编排容器下面我们还是以wordpress 为例来使用 compose 编排镜像,创建文件 docker-compose.yaml 内容如下version: "3.3"services: mysql: image: mysql:5.7.28 restart: always environment: - MYSQL_ROOT_PASSWORD=admin888 - MYSQL_DATABA

2021-05-21 11:29:46 202 2

原创 docker-compose ports和expose的区别

docker-compose中有两种方式可以暴露容器的端口:ports和expose。1.portsports暴露容器端口到主机的任意端口或指定端口,用法:ports: - "80:80" # 绑定容器的80端口到主机的80端口 - "9000:80" # 绑定容器的80端口到主机的9000端口 - "443" # 绑定容器的443端口到主机的任意端口,容器启动时随机分配绑定的主机端口号不管是否指定主机端口,使用ports都会将端.

2021-05-21 11:27:08 1203

原创 Docker 常用命令

查看docker images # 列出所有镜像(images)docker ps # 列出正在运行的容器(containers)docker ps -a # 列出所有的容器docker pull centos # 下载centos镜像docker top <container> # 查看容器内部运行程序容器docker stop <container>

2021-05-21 11:18:20 660

原创 Ubuntu18.04上安装Docker-Compose

1.进入https://github.com/docker/compose/releases 查看最新版本,当前版本为1.23.1sudo curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose2.设置权限sudo chmod +x /usr/local/bin/docker-comp

2021-05-21 11:14:18 193

原创 在 Ubuntu18.04 上安装 Docker CE (社区版)

卸载旧版本如果之前安装旧版本,需要先卸载:sudo apt-get remove docker docker-engine docker.io containerd runc设置仓库更新 apt 包索引:sudo apt-get update让 apt 能通过 HTTPS 使用仓库:sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-proper

2021-05-21 11:13:35 90

原创 Phpstorm好用插件

IDE Eval Reset (无限次免费刷新30天试用期)插件市场安装在Settings/Preferences… -> Plugins 内手动添加第三方插件仓库地址:https://plugins.zhile.io搜索:IDE Eval Reset插件进行安装。如果搜索不到请注意是否做好了上一步?网络是否通畅?插件会提示安装成功。https://plugins.zhile.io或下载插件到本地下载连接如下链接: https://pan.baidu.com/s/1Bk

2021-05-10 17:58:14 3150

原创 go使用rabbitmq 实践

1、 使用docker-compose编排rabbitmq vim docker-compose.ymlversion: '3'services: rabbitmq: image: rabbitmq:management container_name: rabbitmq restart: always hostname: myRabbitmq ports: - ${MANAGEMENT_PORT}:15672 - ${RABBITM

2021-04-30 13:30:47 574

原创 redis 实现分布式锁

使用redis实现分布式锁一、SETNX语法:SETNX key valueredis中提供了一个setNx(set if not exist)命令,该命令仅当key不存在时才可以设置成功,使用该命令设值可以保障众多客户端中只有一个客户端可以成功设置值(即:获取到锁...

2021-04-01 19:24:21 126

原创 redis 布隆过滤器

作用用于判断某个元素是否存在于指定集合中。在确保高性能的同时,布隆过滤器能够将存储空间降低 90% 以上,不过和 HyperLogLog 一样的问题是,它也存在一定误差,不过对于海量数据而言,这个误差是可以接收的(它判断不存在的元素,一定不存在,但是它判断存在的元素,有可能不存在。)常用命令bf.add 添加元素到集合bf.exists 检查元素是否存在bf.madd 批量添加元素到集合bf.mexists 检查多个元素是否存在代码实践127.0.0.1:6379> bf.ma

2021-04-01 14:53:09 71

原创 redis发布与订阅

PUBLISH127.0.0.1:6379> publish first message(integer) 1127.0.0.1:6379> publish first message_2(integer) 1127.0.0.1:6379>SUBSCRIBE127.0.0.1:6379> subscribe firstReading messages... (press Ctrl-C to quit)1) "subscribe"2) "first"3) (in

2021-04-01 10:27:07 58

原创 redis实现共同好友功能

SINTER语法:SINTER key [key …]返回一个集合的全部成员,该集合是所有给定集合的交集不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)代码实践127.0.0.1:6379> sadd peter a b c(integer) 3127.0.0.1:6379> smembers peter1) "c"2) "a"3) "b"127.0.0.1:6379> smembers peter1) "c"2)

2021-03-31 15:51:04 449

原创 redis 实现uv统计

一、通过 SET 结构实现SADD语法:SADD key member [member …]将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略假如 key 不存在,则创建一个只包含 member 元素作成员的集合当 key 不是集合类型时,返回一个错误SCARD语法:SCARD key返回集合 key 的基数(集合中元素的数量)代码实践127.0.0.1:6379> sadd 'index.uv.20210331' 'us

2021-03-31 15:30:20 286

原创 对象接口使用方法

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。接口是通过interface关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。接口中定义的所有方法都必须是共有的,这是接口的特性。实现(implements)要实现一个接口,使用implements操作符,类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分割多个接口的名称Note实现多个接口时,接口中的方法不能有重名接口也可以继承.

2021-03-31 15:07:40 217

原创 抽象类使用方法

PHP5支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被定义为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者共有的,而不能定义为私有的。(私有的>受保护的>供公共的)此外方法的调用方式必须.

2021-03-31 15:06:22 256

原创 redis中使用zincrby和zrevrange、zrange实现排行榜功能

ZINCRBY语法:ZINCRBY key increment member为有序集 key 的成员 member 的 score 值加上增量 incrementZREVRANGE语法:ZREVRANGE key start stop [WITHSCORES]返回有序集 key 中,指定区间内的成员。成员按 score 值递减(从大到小)的次序排列ZRANGE语法:ZRANGE key start stop [WITHSCORES]返回有序集 key 中,指定区间内的成员

2021-03-31 14:51:36 628

原创 redis实现一个有原子性复位操作的计数器

需求举例来说,每次当某个事件发生时,进程可能对一个名为 mycount 的 key 调用 INCR 操作,通常我们还要在一个原子时间内同时完成获得计数器的值和将计数器值复位为 0 两个操作实现127.0.0.1:6379> INCR mycount(integer) 1127.0.0.1:6379> INCR mycount(integer) 2127.0.0.1:6379> INCR mycount(integer) 3127.0.0.1:6379> INCR

2021-03-31 14:06:24 277

原创 访问对象的方式及后期静态绑定

访问对象的方式$this 类内使用,代表当前对象self:: 类内使用,用于访问静态属性,类常量class:: 类外用于访问静态属性,类常量static:: 后期静态绑定,谁调用,当前对象即是谁parent:: 访问父类数据后期静态绑定 实践<?phpclass Parent1{ public static $name = 'parent'; public function sayName() { echo static::$name; //

2021-03-30 13:40:40 49

原创 Trait

作用:解决代码复用问题,解决单一继承问题Trait和类相似,支持定义方法和属性,但不是类,不支持定义构造函数,因而不能实例化,只能被其他类使用,要在一个类中使用 Trait,可以通过use 关键字引入,然后就可以在类方法中直接使用 trait 中定义的方法了(Trait支持属性和方法以及可见性设置(private、protected、public),并且即使是 private 级别的方法和属性,依然可以在使用类中调用)实践<?phpTrait TraitOne { public $

2021-03-30 11:42:17 123

原创 php 继承问题

php是单继承的php是单继承的php可以通过使用interface或trait实现类似多继承的功能php为何不能多继承当两个B类和C类从A继承而D类从B和C继承时产生的歧义。 B和C已覆盖A的方法,而D不覆盖它,那么D继承哪个方法版本:B还是C?......

2021-03-30 11:21:33 77

原创 PHP类型转化

PHP 不像 Java 那样支持同一个类中定义多个同名方法(参数数量或类型不同,这种叫做方法重载),另外,由于子类一定包含了父类的公开方法,所以当类作为参数类型声明时,如果声明类型为父类,则可以传入子类对象,反过来,如果声明类型为子类,则不能传入父类对象测试代码class Car{ public function drive() { echo 'Car drive'; } } class Benz extends.

2021-03-11 11:56:53 109

原创 laravel 自动加载 自定义的文件/辅助函数

如图所示..."files": [ "app/helpers/function.php" ] . . .执行命令composer dump-autoload

2021-03-09 11:50:24 78

原创 mac配置homestead开发环境

预先下载软件VagrantVirtualBox安装 Homestead Vagrant 盒子Vagrant 安装好了之后,在终端中使用如下命令将 Homestead Vagrant 盒子 laravel/homesterad 添加到 Vagrant 中。下载该盒子将会花费一些时间,具体时间长短主要取决于你的网络连接速度(建议在有梯子的条件下下载):vagrant box add laravel/homestead如果上述命令执行失败,需要确认 Vagrant 是否是最新版本,如果不是的话

2021-03-04 11:53:19 168 1

原创 Mac 安装php扩展redis

PHP 安装 Redis 扩展:Connection to `ssl://pecl.php.net:443′ failed1. 获取证书存储地址php -r "print_r(openssl_get_cert_locations());"执行结果php -r "print_r(openssl_get_cert_locations());"Array( [default_cert_file] => /usr/local/etc/openssl@1.1/cert.pem .

2021-03-04 11:52:47 237 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除