自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (7)
  • 问答 (6)
  • 收藏
  • 关注

原创 Linux 远程复制命令scp命令的使用

设有两机,均为局域网,两机可相互通信无问题,中间无防火墙。两机IP分别为:A:192.168.1.1 B:192.168.1.2假设A,B机的SSH都允许root登录设要把 A上的 /root/abc.zip 传到 B机并放到/abc目录,可以在A机上用命令:scp /root/abc.zip root@192.168.1.2:/abc/提示输入B机的root密码,输入正确之后开始传输。若SSH端口不是默认的22,比如,是端口1234 则加-P参数:scp -P 1234 /root/a

2020-07-31 11:20:44 8784

转载 查看zookeeper版本

命令 1 echo stat|nc localhost 2181 zookeeper@kafka-zookeeper-0:/$ echo stat|nc localhost 2181Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMTClients:/127.0.0.1:54002[0](queued=0,recv..

2020-07-30 21:00:04 33173 1

原创 debain下安装配置supervisor

1.安装supervisorroot@debian-lege-pro:~# apt-get install supervisorReading package lists... DoneBuilding dependency tree Reading state information... DoneThe following extra packages will be installed: python-medusa python-meld3Suggested packages:

2020-07-30 14:26:29 9194

原创 linux 修改/查看ssh端口

查看ssh端口netstat -anp |grep 22 // 查看端口占用netstat -anp |grep ssh // 查看进程占用的端口修改ssh端口vi /etc/ssh/sshd_config

2020-07-30 11:55:43 27188 1

原创 Linux 查询内存的命令 free -h 中Swap与Memory的区别

Swap与Memory区别对于memory没什么可说的就是机器的物理内存,读写速度低于cpu一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存的造价是要高于磁盘的,虽然相对来说价格一直在降低。除此之外,内存的断电丢失数据也是一个原因说不能把所有数据和程序都保存在内存中。既然不能全部使用内存,那数据还有程序肯定不可能一直霸占在内存中。当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去。但是:踢到哪里去?这时候swap就出现了。swap全称...

2020-07-29 21:09:52 15196

原创 composer 的安装与常见用法

一、安装参考:https://www.runoob.com/w3cnote/composer-install-and-usage.html二、常见用法1.php composer如何根据本地调整过的文件结构重新生成一下autoload.php文件啊执行composer dumpautoload

2020-07-29 09:24:53 8574

原创 Git连接GitLab远程仓库

1、简介远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github、gitlab等。为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab。本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。HTTP方式:这种方式要求project在创建的时候只能选择“Public”公开状态,Private和Internal私有模式下不能使用http方式进行连接,如果考虑到安全性必须进行安全设置。SSH方式:这是一种相

2020-07-28 21:20:56 9462

原创 常见的PHP漏洞 - 字符串与0比较是相等的、md5加密漏洞等等

今天踩的坑,查了资料整理如下,一定要记住:不同变量类型进行比较的时候,PHP有内部机制进行转换,再加以比较:‘test‘== 0是把 ’test‘转化成整型再进行比较,所以结果就是 true 了。如果不熟悉内部机制,在比较之前,尽量自己转化为相同类型再进行比较。比较安全的做法就是用 === (三个等于号),这样不仅比较内容,还比较类型,如果类型不一致就按 false 处理。...

2020-07-28 20:03:32 8906

原创 linux 查看cpu核数、内存总容量、硬盘总容量

一、查看cpu核数:cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -lcat /proc/cpuinfo | grep 'process' | sort | uniq | wc -l二、查看内存总容量cat /proc/meminfo三、查看硬盘总容量df -hl显示: 文件系统 容量 已用 可用 已用% 挂载点 FilesystemSize...

2020-07-27 14:38:19 52384 6

原创 laravel 的 phpunit.xml 文件说明

通用配置首先来看phpunit元素上的属性,其中很多属性其实都可以在执行phpunit命令时通过命令行参数的形式传入,但是如果参数太多,且每次传入参数都是一样的,显然配置到phpunit.xml中更方便,也更加易于维护,PHPUnit 执行的命令行参数可以在这里查看,或者通过phpunit --help在命令行查看:backupGlobals属性对应命令行参数里的--globals-backup,用于在每个测试中备份和恢复 PHP 超全局变量$GLOBALS,这里设置为...

2020-07-24 21:59:21 9904

原创 git 移除文件 && 取消对文件的跟踪

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用git rm命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。如果只是简单地从工作目录中手工删除文件,运行git status时就会在 “Changes not staged for commit” 部分(也就是未暂存清单)看到:$ rm grit.gemspec$ git statusOn branch masterChange...

2020-07-24 20:31:34 9826

原创 mysql 批量更换数据库表引擎 InnoDB 到 myISAM, 以及mysql没有eval函数的替代方案

USE `graphics`;SELECT CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=MyISAM; ') as `sql-commands-for-convert-engine` FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = 'graphics' AND TABLE_TYPE = 'BASE TABLE';show table status from xxdbm.

2020-07-23 17:12:36 9436

转载 laravel mysql读写分离配置及源码解析

参考资料:Laravel 5 配置读写分离和源码分析Laravel 5 配置数据库主从读写分离和源码分析配置'mysql' => [ 'write' => [ 'host' => '127.0.0.1', 'port' => 3306 ], 'read' => [ [ 'host' => '127.0.0.1', 'port' => 33

2020-07-23 14:52:35 9874

原创 正则表达式的底层实现原理是什么

参考:https://www.cnblogs.com/Renyi-Fan/p/9694695.html 正则表达式里的底层原理是什么 https://www.cnblogs.com/chanshuyi/p/9197164.html 藏在正则表达式里的陷阱一、总结一句话总结:简单地说,实现正则表达式引擎的有两种方式:DFA 自动机(Deterministic Final Automata 确定型有穷自动机)和NFA 自动机(Non determi...

2020-07-22 18:04:09 11047

原创 括号匹配(栈)

在编程当中我们只会用到三种括号:圆括号(),方括号[]和花括号{},编译器在编译的时候会检查括号是否正确匹配。例如{[()]}、{()[]{}}都是合法的匹配。但是([)]则是不合法的匹配。请编写一个程序来判断输入的括号序列是否合法。根据思路:#include <stdio.h>#include <string.h>int main(){ int i, j, z, flag; char a[101], s[101]; memset(s,

2020-07-22 17:46:51 8841

原创 es日期时间匹配的规则,底层是如何比较日期和时间的以及按照时间查询的几种方式

最近研究es的日期匹配问题,知道es的底层是存储Unix时间戳,并且录入的时间是可以有时区的信息的。目前数据存储有三个数据,两个是0时区数据,一个是东八区数据:{{"date": "2015-01-01T12:10:30Z"}},{{"date": "2015-01-01T12:10:30"}},{{"date": "2015-01-01T12:10:30+08:00"}}当用没带时区信息的语句查询时,三条记录都可以查询出来:{"query": {"range"

2020-07-22 09:31:09 13602

原创 ES 排序sort的用法

1.默认排序默认排序是 _score 降序2.相关字段排序GET /megacorp/employee/_search{ “query”:{ “match_all”: { } }, “sort”: { “create_time”: { “order”: “asc” }}}按照create_time从小到大排序3.多字段排序GET /megacorp/employee/_search{ “query”:{ “match_all”: {...

2020-07-21 21:59:28 21731 5

原创 docker 安装kibana 7.4.0 并配置连接es

使用和 elasticsearch 相同版本镜像 7.4.0(最好和es版本一样,免去一大堆麻烦,logstash的版本选择也一样)1、下载Kibana镜像# 下载Kibana镜像 docker pull kibana:7.4.0# 查看镜像docker images2、编辑kibana.yml配置文件kibana.yml配置文件放在宿主机/root/kibana/目录下,内容如下:#Default Kibana configuration for docker targe..

2020-07-21 15:54:18 9577

原创 MySQL 拼接多行字段函数 GROUP_CONCAT详解

GROUP_CONCAT(expr) 函数会从 expr 中连接所有非 NULL 的字符串。如果没有非 NULL 的字符串,那么它就会返回 NULL。语法如下:GROUP_CONCAT 语法规则它在递归查询中用的比较多,但要使用好它并不容易。所以让我们一起来看看吧:假设有这样一张领接表模型的树型表 t_region,它的基本结构如下:字段 类型 大小 说明 REGION_ID int 11 行政地区ID PARENT_ID int

2020-07-21 11:57:41 13393

原创 Laravel $OBJECT->UPDATED_AT 返回的是Carbon对象,如何返回正常时间格式

当你准备使用数据库里面的created_at的日期的时候,你发现 $object->created_at 返回的确是个对象,而不是string采用下面的方式获取你的想要的时间$object->created_at->timestamp //返回时间戳 $object->updated_at->format('Y-m-d H:i:s') //返回 ‘2020-07-20 17:00:13’$object->created_at其实是php内置时...

2020-07-20 20:56:37 9116

原创 supervisor 常用命令的使用

一、开启命令supervisor的服务器端部分启动命令:sudo unlink /var/run/supervisor.sock supervisord -c /etc/supervisor/supervisord.conf 此时默认开启了所有服务二、supervisor的客户端部分命令:supervisorctl status 查看进程运行状态 supervisorctl start 进程名 启动进程 supervisorctl stop 进程名 关闭进程 supervisorctl

2020-07-18 15:17:06 9122

原创 laravel临时暴露隐藏属性/隐藏显示属性

$user = User::where('id', 1)->get();$user->makeVisible('attribute')->toArray();$user->makeHidden('attribute')->toArray();

2020-07-18 15:13:04 9150

原创 Laravel Redis 由predis切换到phpredis,如果你是通过 PECL 安装 Redis PHP 扩展,就需要重命名 config/app.php 文件里 Redis 的别名的疑惑

参考:https://learnku.com/laravel/t/33649

2020-07-17 16:24:21 9247

原创 Laravel 连接Redis 报 failed: ERR invalid DB index [tcp://localhost:6379] 错误,解决方案如下

错误原因配置信息'database' => env('REDIS_DEFAULT_DATABASE', 0),如果.env 里面REDIS_DEFAULT_DATABASE=0,结果就转成空字符串 ”redis的command就变成SELECT,而非想要的SELECT 0解决方法REDIS_DEFAULT_DATABASE= 1-15 的随意有效值 REDIS_DEFAULT_DATABASE=‘0’,明确是 string 0 .env里不写 REDIS_DEFA...

2020-07-16 21:32:17 9871

原创 redis如何设置密码

密码设置这里简单介绍一下redis如何设置密码redis密码设置有两种方式,一种需要重启redis服务,一种不需要重启redis服务。需要重启redis服务的设置方式即找到redis的配置文件—redis.conf文件,然后修改里面的requirepass,这个本来是注释起来了的,将注释去掉,并将后面对应的字段设置成自己想要的密码,保存退出。重启redis服务,即可。我这里是设置密码成了123不需要重启redis服务的密码设置方式这种相对简单,连接redis之后,通过命

2020-07-16 17:22:05 9092

原创 redis 配置文件详解 - 下面所有内容都是

# Redis配置文件样例# Note on units: when memory size is needed, it is possible to specifiy# it in the usual form of 1k 5GB 4M and so forth:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000.

2020-07-16 17:06:32 8860

原创 Laravel ide-helper的用法

自动生成模型字段注释php artisan make:model Userphp artisan ide-helper:models "App\Models\User" 记住一定要加引号php artisan ide-helper:generate - 为 Facades 生成注释php artisan ide-helper:meta - 生成 PhpStorm Meta file...

2020-07-16 15:25:50 9708

原创 Laravel 查询构造器最终生成sql的地方

vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Collection.php 查看mongodb查询源语句vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php 查看mysql源语句的地方->toSql() 获取源语句的方法...

2020-07-16 15:24:16 9026

转载 Laravel 技巧之 Pivot

在关系式数据库中,要定义一个符合范式的多对多表关系需要一个中间表作为两个表的关系。在Laravel中这个表称为pivot,在查询出关联的记录之后,可以通过pivot属性来访问关联表的字段:$user = App\User::find(1);foreach ($user->roles as $role) { echo $role->pivot->created_at;}在实际应用中,这个中间表可能不仅仅包含两个表的外键,还有一些附加的字段,举个例子:一个用户.

2020-07-16 11:45:55 9571

原创 Linux Samba文件共享服务配置

一、软件准备  RHEL4系统中默认安装了samba服务器和客户机的所有软件包。通过以下命令来确认是否已存在软件包。  # rpm -qa|grep samba  samba-client-3.0.10-1.4E  samba-3.0.10-1.4E  samba-common-3.0.10-1.4E  若没有,则到RHEL4的第2张安装光盘中去找,或者到网上去下载。二、Samba服务的安装和配置1、 Samba安装  安装命令为:  # rpm –ivh 软..

2020-07-14 00:30:54 9511 1

原创 Linux安装启动FTP服务

Linux安装启动FTP服务Linux服务器默认是没有开启FTP服务的。也没有FTP服务器,为了文件的传输需要用到FTP服务器,以典型的vsftpd为例。vsftpd作为FTP服务器,在Linux系统中是非常常用的;下面就说如何在centos 6.5系统上安装vsftp。1.查看是否安装vsftpdrpm -qa|grep vsftpd2.执行以下安装命令yum install vsftpd3.设置开机启动服务chkconfig vsftpd on...

2020-07-14 00:29:10 9081

原创 zabbix 触发器无法触发动作

一、导出镜像docker save -o centos.tar centos或:docker save centos > centos.tar二、导入镜像docker load -i centos.tar或:docker load < centos.tar

2020-07-12 17:20:06 10470

原创 git 工作中常用的命令

git show 查看最近一次commit的相关信息git branch -a #查看所有分支git branch -r #查看远程分支git branch -vv #查看本地分支所关联的远程分支git branch -m old_branch new_branch # Rename branch locallygit push origin :old_branch # Delete the old branchgit checkout -b...

2020-07-12 17:03:28 8972

原创 git pull 强制覆盖本地的代码

git pull 强制覆盖本地的代码方式,下面是正确的方法:git fetch --all然后,你有两个选择:git reset --hard origin/master或者如果你在其他分支上:git reset --hard origin/<branch_name>说明:git fetch从远程下载最新的,而不尝试合并或rebase任何东西。然后git reset将主分支重置为您刚刚获取的内容。--hard选项更改工作树中的所有文件以匹配origin/master中.

2020-07-10 20:14:06 17443

原创 PHP高频面试题 - 详述一次完整的HTTP请求过程

这个问题的核心是域名解析和服务器(nginx)解析这两部分,基本上这两部分详细阐述就可以了。步骤一、解析URL浏览器会解析当前的URL数据,判断此URL是否为合法的链接。如果是合法链接则正常的向下一步骤前进。如果不是合法的链接,则会执行搜索功能,例如执行百度、360、Google搜索等。步骤二、解析域名服务器是以ip的形式存在的。而域名需要解析到ip上,解析IP会有三个小的步骤:1、从浏览器自身的缓存中解析此域名数据2、从本地电脑的HOST文件中解析域名3、通过DNS服务器解析域

2020-07-10 14:46:43 9672

转载 详解 ElasticSearch 中的倒排索引

正排索引在说倒排索引之前我们先说说什么是正排索引。正排索引也称为"前向索引",它是创建倒排索引的基础。这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护;因为索引是基于文档建立的,若是有新的文档加入,直接为该文档建立一个新的索引块,挂接在原来索引文件的后面。若是有文档删除,则直接找到该文档号文档对应的索引信息,将其直接删除。他适合根据文档ID来查询对应的内容。但是在查询一个keyword在哪些文档里包含的时候需对所有的文档进行扫描以确保没有遗漏,这样就使得检索时间大大延长,检索效率低下

2020-07-10 14:29:35 9693

原创 详细讲解 - Mongodb数据查询

1.基本查询 ①方法find():查询 db.集合名称.find({条件文档}) ②方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) ③方法pretty():将结果格式化 db.集合名称.find({条件文档}).pretty()2.比较运算符 # 等于,默认是等于判断,没有运算符 # 小于,$ltless-than # 小于或等于,$lteless-tha...

2020-07-09 10:11:34 11403

原创 MongoDB和MySQL的区别

前言:MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。一、关系型数据库-MySQL1、在不同的引擎上有不同的存储方式。2、查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。3、开源数据库的份额在不断增加,mysql的份额页在持续增

2020-07-08 21:39:35 9862

原创 详细讲解面向对象设计的六大原则

前言其实,六大原则虽说是原则,但它们并不是强制性的,更多的是建议。遵照这些原则固然能帮助我们更好的规范我们的系统设计和代码习惯,但并不是所有的场景都适用,就例如接口隔离原则,在现实系统开发中,我们很难完全遵守一个模块一个接口的设计,否则业务多了就会出现代码设计过度的情况,让整个系统变得过于庞大,增加了系统的复杂度,甚至影响自己的项目进度,得不偿失啊。所以,还是那句话,在合适的场景选择合适的技术!六大原则言归正传,这是我学习设计模式系列的第一篇文章,本文主要讲的是面向对象设计应该遵循的六.

2020-07-08 21:13:57 9107

转载 索引带下划线的数组转换为驼峰式索引命名的数组

写接口代码的时候经常要统一驼峰式命名返回。但数据库又是以下划线命名的字段。以下代码直接将数组转为驼峰式命名的数组。不管是几维数组。分享给大家/* * 将下划线命名数组转换为驼峰式命名数组 * @pram $arr 原数组 * @pram $ucfirst 首字母大小写,false 小写,TRUE 大写 */ public static function camelCase($arr,$ucfirst = FALSE) { if (!is_array($arr)) { ..

2020-07-08 09:45:03 9133

cgo 用法demo代码

go 调用c++代码的示例

2023-05-17

centos7 rpm安装yum所需要的包

centos7 rpm安装yum所需要的包,总共有20个, 打包整理好,方便有需要安装yum的用户,包里所有的资源都来自于网易镜像中心(http://mirrors.163.com/centos/7/os/x86_64/Packages/)

2020-12-11

navicat 连接mysql、mongodb工具

navicat 连接mysql、mongodb工具,可以方便快捷操作mysql 8版本、mongodb 4版本

2020-11-24

elasticsearch 7.4.0 docker-compose文件

快速部署elasticsearch 7.4.0版本 单机三节点docker 容器,方便在本地开发环境部署

2020-11-13

changeWinKey.reg

通过该脚本,可以在Windowns系统下将左Alt键修改为Appskey键,将右边的Appskey键改成Ctrl键

2020-06-30

TabNumberIndicator.jar

jetbrain系列软件的一个插件,官方库的快捷键是Alt+数字切换标签页,因为个人习惯,我把它改成Ctrl+数字 切换标签页,分享给有需要又不会改源码的朋友。安装是在jetbrain软件的插件安装页面选择本地安装后在弹出的文件选择器中选择该文件安装重启即可

2020-06-30

dnmp.rar docker部署lnmp环境包

通过docker快速部署lnmp+redis环境,只要到文件根目录执行docker-composer up即可

2020-06-30

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

TA关注的人

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