自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录编程生活

积累,机会是给有准备的人的,越努力越幸运。

  • 博客(254)
  • 收藏
  • 关注

原创 CSS 制作3D魔方 爱的魔方给女(男)朋友一个感动

首先上效果图:是不是很炫呢!没有?好吧!只能发个大招了,来看下动态的效果吧http://www.meipai.com/media/395929464效果还算可以吧,相信只要你用心,你会做出更炫的效果。把你们的生活点滴记录在上面,你的他/她肯定会非常感动的。好了,是不是已经迫及待的想看看到底是怎么实现的了!下面先附上HTML的代码

2015-08-24 09:14:05 6745 4

转载 HTML5 APP应用实现图片上传及拍照上传功能

HTML 手机端代码如下: 拍照结果: $(document).ready(init); function init() {//为了便于使用这个接口,先做一下兼容性处理navigator.getUserMedia = navigator.getUserMedia || navigator.webkit

2015-07-20 11:04:43 12587 9

原创 linux查看外网ip的5种方法

linux查看外网ip的5种方法 使用curl命令

2023-11-15 15:21:03 4046

转载 会话存档-如何高性能存储海量聊天记录

会话存档-如何高性能存储海量聊天记录_es 聊天消息保存_疯狂的帆的博客-CSDN博客

2023-06-16 11:03:54 209

原创 解决 git pull 操作后文件权限变化

1、进入项目根目录 .git 目录2、新建 post-merge 文件3、写入钩子内容4、给予运行权限。

2023-05-31 17:19:07 721

原创 Linux下通过 rm -f 删除大量文件时报错:Argument list too long

可以通过以下脚本通过循环实现删除,如下:/bin/bash# 此处通过 DIR 指定待处理文件所在的目录DIR='/root/mysql' #待删除目录cd $DIRdo#读取ls结果中的各个文件名进行强制删除rm -f $Idone。

2023-05-29 10:07:07 2367

原创 php excel列字母转数字,数字转字母

【代码】php excel列字母转数字,数字转字母。

2023-05-19 10:15:08 338

原创 laravel数据操作返回值

以前用CI框架对于返回值没有过多关注,但是发现使用laravel框架的时候出现了一些小问题,特意实践总结了一些常用情形,希望对大家有所帮助  先理解几个概念:   1>StdClass 对象=>基础的对象   2>Eloquent 模型对象(Model 对象)=>和模型相关的类对象   3>Eloquent 集合=>可以简单理解为对象数组,里面的每一个元素都是一个Model 对象   注明:对象和实例只是说法不同,就是实例化的类,称谓只是一个代号,大家理解实质即可  1>$test = DB::table(

2022-06-13 12:00:26 1755

原创 Laravel中的where高级使用方法

Laravel中的where高级使用方法

2022-06-13 11:41:33 892

原创 laravel在中间件内生成参数并且传递到控制器3种方法

方法1使用request−>attributes−>add(request->attributes->add(request−>attributes−>add(arr)方法Demo:注册中间件这部分就不说了 主要说用法在中间件中传递参数lass MidParams //中间件{ public function handle($request, Closure $next) { $mid_params = ['mid_params

2022-04-18 11:50:17 1362

转载 laravel 执行原生sql

1.插入数据DB::insert('insert into test (id, name, email, password) values (?, ?, ? , ? )',[1, 'Laravel','[email protected]','Laravel']);2.查询语句$user = DB::select('select * from test where id = ?', [1]); //我们还 可以看到在执行查询的时候使用了参数绑定,以避免SQL注入。除此之//外还可以使用命名绑

2021-08-16 15:06:57 1150

原创 Laravel数据库 Eloquent 操作返回值

先理解几个概念:StdClass 对象 => 基础的对象Eloquent 模型对象(Model 对象) => 和模型相关的类对象Eloquent 集合 => 可以简单理解为对象数组,里面的每一个元素都是一个Model 对象DB Facades1, $users = DB::table('users')->get(); 返回值:数组结果,其中每一个结果都是 StdClass2, $user = DB::table('users')->first(); 返回值:单

2021-08-05 15:44:31 546 1

原创 iterm2 zsh隐藏命令行前面的用户名和主机名iTerm2

修改vim ~/.zshrc文件,在文件底部增加隐藏用户名和主机名prompt_context() {}只保留用户名,隐藏主机名 prompt_context() { if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then prompt_segment black default "%(!.%{%F{yellow}%}.)$USER" fi } 只保留主机名,隐藏用户名

2021-07-02 12:16:57 4512 1

原创 mysql面试-基础1

2021-06-30 23:25:33 70

原创 MySQL开启慢查询日志,MySQL查看慢查询语句

一、慢查询日志相关参数1、slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。2、log_slow_queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log3、slow_query_log_file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log4、long_query_time

2021-03-15 00:36:51 287

转载 mysql版本:‘for the right syntax to use near ‘identified by ‘password‘ with grant option‘

查询mysql具体版本SELECT @@VERSION问题分析:mysql版本8.0.13,在给新用户授权时,发生了变化:1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'password' with grant option' at l

2021-03-13 21:37:02 2490 1

原创 Redis-异步消息队列与延时队列

异步消息队列说道消息队列,你肯定会想到Kafka、Rabbitmq等消息中间件,这些专业的消息中间件提供了很多功能特性,当然他的部署使用维护都是比较麻烦的。如果你对消息队列没那么高要求,想要轻量级的,使用Redis就没错啦。Redis通过list数据结构来实现消息队列.主要使用到如下命令:lpush和rpush入队列lpop和rpop出队列blpop和brpop阻塞式出队列[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aJp9z9Nw-161470557634

2021-03-03 01:20:34 638

原创 Redis-分布式锁

当多个进程不在同一个系统中,就需要用分布式锁控制多个进程对资源的访问。使用redis来实现分布式锁主要用到以下命令:SETNX KEY VALUE如果key不存在,就设置key对应字符串valueexpire KEY seconds设置key的过期时间del KEY删除key代码实现如下:$redis = new Redis();$redis->connect('127.0.0.1', 6379);$ok = $redis->setNX($key, $value);if (

2021-03-03 00:02:48 137

原创 element select 选项内容显示过长隐藏问题

添加 css 样式<style> .el-select__tags-text { display: inline-block; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .el-select .el-tag__close.el-icon-close { top: -7px; }</style&.

2021-02-26 09:49:30 5770

转载 PHP反射和依赖注入

PHP类的反射和依赖注入在讲服务容器之前我想先梳理下PHP反射相关的知识,PHP反射是程序实现依赖注入的基础,也是Laravel的服务容器实现服务解析的基础,如果你已经掌握了这方面基础知识,那么可以跳过本文直接看服务容器部分的内容。PHP具有完整的反射 API,提供了对类、接口、函数、方法和扩展进行逆向工程的能力。通过类的反射提供的能力我们能够知道类是如何被定义的,它有什么属性、什么方法、方法都有哪些参数,类文件的路径是什么等很重要的信息。也正是因为类的反射很多PHP框架才能实现依赖注入自动解决类与类之

2021-01-20 14:02:46 184

原创 Mac 使用git出现xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)

Mac更新完系统,使用 git、svn 出现xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun解决方法命令行终端输入xcode-select --install会提示安装 xcode按步骤安装就可以安装成功后就可以正常使用 git 和 svn 了。

2020-12-07 16:31:59 711

原创 mysql修改表操作总结

一: 修改表信息1.修改表名alter table test_a rename to sys_app;  2.修改表注释alter table sys_application comment ‘系统信息表’;二:修改字段信息1.修改字段类型和注释alter table sys_application modify column app_name varchar(20) COMMENT ‘应用的名称’;  2.修改字段类型alter table sys_application modify

2020-12-04 16:11:26 323

原创 MySQL写sql的21个好习惯,学习工作效率翻倍

前言每一个好习惯都是一笔财富,本文分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,有不对的地方欢迎指正推荐一下自己的linuxC/C++交流群:973961276!整理了一些个人觉得比较好的学习书籍、视频资料以及大厂面经视频共享在群文件里面,有需要的可以自行添加哦!1. 写完SQL先explain查看执行计划(SQL性能优化)日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。explain select

2020-11-25 17:38:34 263

原创 Mac 安装 RabbitMQ

// 更新brew资源brew update// 执行安装brew install rabbitmq当你看到下图中的文字,则证明已经安装成功了.MQ的安装目录在 /usr/local/Cellar/rabbitmq安装RabiitMQ的可视化监控插件// 切换到MQ目录,注意你的安装版本可能不是3.8.8cd /usr/local/Cellar/rabbitmq/3.8.8/// 启用rabbitmq management插件sudo sbin/rabbitmq-plugins ena

2020-10-22 17:12:10 644 1

原创 Mac使用brew安装老版php7.1、php5.6

首先通过 brew search php查看是否能找到对对应的php版本,eg:表示目前可安装的php版本只有php [email protected] [email protected]也就是说没有我想安装的php7.1版本或者更老的php版本。通过命令 brew tap exolnet/homebrew-deprecated可以将老的或者已经遗弃的php版本找回来。安装完之后继续使用 brew search php发现 老版本的php回来了再通过 brew install exolnet/deprecated/php@7.

2020-09-17 17:02:46 1762 1

原创 Mac 解决安装brew卡在 “Cloning into ‘/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core‘...”

1. 前言不管是在brew的安装过程还是升级更新过程中,国内的环境brew都会卡在这里2. 解决方法cd /usr/local/Homebrew/Library/Taps/mkdir homebrewcd homebrewgit clone https://mirrors.ustc.edu.cn/homebrew-core.git3. 更新brew update...

2020-09-17 14:39:48 13793 12

原创 完全卸载/删除mac自带php

rootless内核保护删除php文件时,你会发现没有权限删除,自带php受系统保护,关闭rootless查看rootless状态csrutil status //查看rootless状态enable //开启关闭rootless重启电脑开后按住 Command+R 进入恢复分区. 然后在 实用工具 栏找到 终端启动运行.csrutil disable //关闭rootlessreboot //重启开启rootless建议删除完php后,打开rootlesscsrutil enab

2020-09-16 16:42:35 5410

原创 Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed ‘MCRYPT_RIJNDAEL_128‘ in

错误:Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed ‘MCRYPT_RIJNDAEL_128’ in /http/www.mywakavLee.cn/config/app.php on line 83原因:缺少 mcrypt 扩展解决方法:安装 mcrypt 扩展php的 mcrypt扩展,在php7.1版本以后便不支持,在7.2版本则直接废弃。首先看下你的 php 版本,如果是 php7.1 以上,那么就需要你手动

2020-09-16 16:12:00 1011

原创 php7.1以上 php 7.2/php7.3/php8.0 安装 mcrypt 扩展

php的 mcrypt扩展,在php7.1版本以后便不支持,在7.2版本则直接废弃。1. 下载 mcrypt 扩展源码下载地址 https://pecl.php.net/package/mcrypt我下载的是1.0.3,下载最新版即可2. mcrypt 扩展安装下载好之后,进行解压tar xf mcrypt-1.0.3.tgz进行扩展安装然后进入到源码目录cd mcrypt-1.0.3通过 phpize 建立 php 外挂模式phpize生成相应的makefile./conf.

2020-09-16 16:04:40 2625

原创 PHP内存泄漏问题解析

内存泄漏内存泄漏指的是在程序运行过程中申请了内存,但是在使用完成后没有及时释放的现象, 对于普通运行时间较短的程序来说可能问题不会那么明显,但是对于长时间运行的程序, 比如Web服务器,后台进程等就比较明显了,随着系统运行占用的内存会持续上升, 可能会因为占用内存过高而崩溃,或被系统杀掉PHP的内存泄漏PHP属于高级语言,语言级别并没有内存的概念,在使用过程中完全不需要主动申请或释放内存, 所以在PHP用户代码级别也就不存在内存泄漏的概念了。但毕竟PHP是使用C编写的解释器,而C语言的程序是

2020-09-03 11:32:05 331

原创 缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存的数据,由于缓存是不命中的时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能 DB 就挂掉,要是有人利用不存在的 key 频繁公交我们的应用,这就是漏洞。解决方案有很多种方法可以有效的解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的 bitma

2020-08-07 15:17:23 593

原创 php自动获取字符串编码函数mb_detect_encoding,文件编码GBK转UTF-8

Windows电脑 xlsx、CSV 文件,上传到 Linux 服务器上,文件内容中的中文出现乱码。所以在 move_uploaded_file() 之前要把,文件内容的格式由 GBK 转换 为 UTF-8//读取原文件内容$read = file_get_contents($file['tmp_name']);//判断文件内容编码格式$encode = mb_detect_encoding($read,array('ASCII','GB2312','GBK‘,'UTF-8'));//如果不是

2020-08-06 15:39:56 423

原创 MySQL insert ignore、insert into与replace into的区别

INSERT IGNORE 与INSERT INTO的区别insert ignore 与insert into的区别就是insert ignore会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。eg: insert ignore into table(name) select name from table2mysql中常用的三种插入数据的语句:insert into表示插入

2020-08-05 17:42:26 1699

原创 PHP:Cannot modify header information - headers already sent by出错解决

<?phpob_start();setcookie("username","test",time()+3600);echo "the username is:".$HTTP_COOKIE_VARS["username"]."\n";echo "the username is:".$_COOKIE["username"]."\n";print_r($_COOKIE);?>访问该PHP文件时提示Warning: Cannot modify header information - h.

2020-08-04 14:01:20 374

转载 MySQL中 int(11)和int(10)有没有区别

引言依稀还记得有次面试,有面试官问我int(10)与int(11)有什么区别,当时觉得就是长度的区别吧!面试官最后也没有给反馈,我也就以为自己答对了。直到有一次有个同学又跟我谈起这个事,才去查了以下,发现事情并没有哪么简单… …最后查出的结果是:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储 3个长度的数字,int(11)就会存储 11 个长度的数字,这是大错特错的。int(10)也可以代表 2147483647 这个值int(11)也可以代表。要查看出

2020-07-31 16:00:04 172

原创 Mysql分库分表的主键生成算法

mysql单表在数据量超过千万的时候,性能就会受到极大的影响。尤其是对于不命中索引的请求,破坏性是难以想象的。当单表的数据量达到一定程度的时候,我们就需要进行分表或者表分区了。分表面临的第一个问题就是主键ID生成的问题,因为涉及到多表,所以原本单表的自增ID生成已经不可用了。那么我们就需要生成全局的ID,有两种方法供我们选择,两者也各有优缺点。1.使用外部依赖生成全局ID最常见的算法就是利用外部的存储,例如Redis、Mysql或者Zookeeper来实现。上述三者比较推崇的是用Redis来实现,因

2020-07-31 15:33:10 531

原创 【经典面试题】七大缓存经典问题

1.缓存失效原因分析在写缓存时,我们一般会根据业务的访问特点,给每种业务数据预置一个过期时间,在写缓存时把这个过期时间带上,让缓存数据在这个固定的过期时间后被淘汰。一般情况下,因为缓存数据是逐步写入的,所以也是逐步过期被淘汰的。但在某些场景,一大批数据会被系统主动或被动从 DB 批量加载,然后写入缓存。这些数据写入缓存时,由于使用相同的过期时间,在经历这个过期时间之后,这批数据就会一起到期,从而被缓存淘汰。此时,对这批数据的所有请求,都会出现缓存失效,从而都穿透到 DB,DB 由于查询量太大,就很容

2020-07-12 12:56:59 1788

原创 Mac brew安装redis

1、安装redis$ brew install redisError:Failed to download resource “reds” // 下载reds失败不过不需要担心,brew会已经从其它地方下载并正确安装了配置文件路径: /usr/local/etc/redis.conf2、启动redis(可选)$ redis-server3、添加至开机启动项(可选)$ ln -f /usr/local/Cellar/redis/2.8.13/homebrew.mxcl.redis.pl

2020-07-10 16:35:37 606

原创 Mac 解决brew一直卡在Updating Homebrew

运行命令brew install node,结果界面一直卡在Updating Homebrew…上,有两种解决办法方法一:直接关闭brew每次执行命令时的自动更新(推荐)vim ~/.bash_profile# 新增一行export HOMEBREW_NO_AUTO_UPDATE=true方法二:替换brew源cd "$(brew --repo)"git remote set-url origin https://mirrors.ustc.edu.cn/brew.git#替换homeb

2020-07-10 16:24:03 413

原创 简单实现 nginx 用户登录认证(auth_basic)

1. 安装 htpasswd 工具yum -y install httpd-tools 2. 创建认证用户htpasswd -c pass.db mingzhen53 //wang 并输入密码在次添加用户时输入时输入htpasswd pass.db username会在/etx/nginx/passwd.db文件中生成用户名和加密的密码:myuser:YlmaHlkJnzhxG3.nginx 增加两项配置增加 authbasic 和 authbasicuserfile vim /

2020-07-10 10:30:56 1456

空空如也

空空如也

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

TA关注的人

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