自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迷失的鱼的博客

PHP nginx linux h5

  • 博客(141)
  • 资源 (3)
  • 收藏
  • 关注

原创 2019 2020年 php 面试资源都在这里了

PHP面试准备关于面试/谈Offer/程序员职场生涯等少写PHP "烂"代码PHP工程师面试题目PHPer 面试指南一个16年毕业生所经历的php面试找工作遇到的面试题目大话编程https://mp.weixin.qq.com/s/13...strace帮助你调试PHP代码Resetful API 设计规范Java 基础知识、底层原理 面试PHP基础数...

2019-11-07 15:06:06 4808

原创 2019最新三年php 面试题

什么是composer?以及composer是干什么用的?工作原理 PHP如何实现静态化 你了解设计模式吗?说下你最常用的设计模式 观察者模式是如何实现的?工厂模式是如何实现的?适配器模式是如何实现的?…… PHP的优化方案 说下你了解的session和cookie 如何实现不基于session和cookie的用户认证。 说下你目前框架所用到的核心概念 什么是CSRF攻击,X...

2018-03-08 18:09:42 20373 1

转载 windows nvm 安装多版本node

NVM 安装成功后,win + r 输入cmd 新开cmd窗口,使用 命令 “npm install 版本号” 安装指定版本的NodeJS。如果有安装淘宝镜像的需完成下载镜像的配置,打开nvm文件夹下的settings.txt文件,在最后添加以下代码。在指定的文件下新建两个文件夹,一个用来存放nvm的安装文件,另一个用来存放node的文件(方便管理)。# 在线安装指定版本的node.js,[version]为指定的版本号。# 查看可在线安装的node.js版本。# 查看已安装的node.js版本。

2023-07-07 13:12:49 197

原创 微信小程序登录无法调起手机号授权登录

3.你用的不是button,要求是必须为button类型的。1.可能你没有权限,可以通过调用的错误信息看出来。

2023-06-26 17:02:32 1573

原创 uniapp 引入全局函数 this.$function

main.js 引入function.js。一般在common下面(这个根据自身)新建function.js文件。function.js 内容。

2023-05-18 09:14:39 386

原创 uniapp 微信小程序多次返回无法直接返回上一页

【代码】uniapp 微信小程序多次返回无法直接返回上一页。

2023-04-27 09:13:27 948

原创 sftp 错误connection closed 以及sftp 安装教程

ChrootDirectory /data/eversec/data/evercm/ifdata/ftpRoot:将用户的根目录指定到/data/eversec/data/evercm/ifdata/ftpRoot。1)注释Subsystem sftp /usr/libexec/openssh/sftp-server(若不注释,可以通过"cd / "看到系统所有文件)// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。// 创建用户到用户组,并禁止登录。

2023-04-26 15:16:00 4268

转载 什么是链路追踪--golang面试题

但是由于不同的链路追踪系统的API互不兼容,所以埋点代码写法各异,导致用户在切换不同链路追踪产品时需要做很大的改动。解决的问题主要是,在微服务场景下能够快速定位到错误的位置,错误的服务,也就是要建立一个分布式追踪系统,追踪日志。​ Trace表示一条完整的追踪链路,例如:一个事务或者一个流程的执行过程。​ Span表示一个独立的工作单元,它是一条追踪链路的基本组成要素。​ OpenTracing 是一套分布式追踪协议,与平台和语言无关,具有统一的接口规范,方便接入不同的分布式追踪系统。...

2022-08-18 17:56:50 479

原创 go gorm 事务的正确用法

重点1.使用事务时必须通过 defer func() 匿名函数 recover 捕捉错误,panic错误和error ,如果错误不为nil,就会滚Rollback()2.如何判断mysql出现事务表锁,可以通过navicat mysql 工具查看。eg:从左上角工具栏,选择 工具->服务器监控->mysql(选择自己的数据库类型)->state字段字段内容是:waiting for table metadatalock证明有表锁,然后删除这些操作记录3.另外通过sql语句查看产生锁的记录sql:sel

2022-06-17 14:14:00 1005

原创 golang常用函数

golang 字符串常用操作go 数组或者切片转字符串分割FlashPromotionSessionId :=[]int64{1,2,3}strings.Replace(strings.Trim(fmt.Sprint(FlashPromotionSessionId), "[]"), " ", ",", -1)fmt.Sprint(interface{}) string 任意类型转字符串strings.Trim(string,"[]") 去除字符串两边中包含的中括号strings.Re.

2022-06-07 09:16:29 502

原创 go 配置文件解析viper包

github地址:github.com/spf13/viperViper 是一个完整的 Go 应用程序配置解决方案,优势就在于开发项目中你不必去操心配置文件的格式而是让你腾出手来专注于项目的开发。其特性如下:支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件;可以设置监听配置文件的修改,修改时自动加载新的配置;从环境变量、命令行选项和io.Reader中读取配置;从远程配置系统中读取和监听修改,如 etcd/Consul;代码逻辑中显示设置键值注

2022-06-06 14:20:06 367

原创 go 设计模式

创建型模式特点:创建对象的同时隐藏创建逻辑1.单例模式。适用场景:全局共享一个实例,且只需要被初始化一次的场景。eg:数据库,全局配置,全局任务池单例模式分为,1.懒汉模式(第一次使用时加载) 缺点:每次使用时要判断实例是否存在,不存在才创建,而且非并发安全的。 2.饿汉模式(全局加载时被创建) 缺点:创建实例耗时过长会导致启动过慢//饿汉模式type singleton struct {}var ins *singleton = &singleton{}func Get

2022-05-21 21:02:18 1010

原创 重新学习设计模式,提高编写高质量代码

设计模式总结1. 创建型常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。不常用的有:原型模式。2. 结构型常用的有:代理模式、桥接模式、装饰者模式、适配器模式。不常用的有:门面模式、组合模式、享元模式。3. 行为型常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。...

2022-04-29 11:41:48 257

原创 uber-go/goleak 快速找到goroutine 泄露的工具

goget-ugo.uber.org/goleakimport ( "testing" "go.uber.org/goleak")func xielou() {//待测试的方法 ch := make(chan struct{}) go func() { ch <- struct{}{} }()}func TestXielou(t *testing.T) {//单元测试defer goleak.VerifyNone(t) xielou()}...

2022-04-24 16:56:58 242

原创 php扩展下载资源库列表

注意:vc 版本,已经对应的系统是64位,还是32位eg:MSVC9 (Visual C++ 2008)vc对应的php版本 php是nts,还是ts phpinfo查看自己的php信息和扩展是否安装成功。也可以通过php -m命令行1.memcache windos库https://windows.php.net/downloads/pecl/releases/memcache/https://windows.php.net/do...

2022-04-24 10:59:43 674

转载 vite 启动项目报错

查找原因:通过github查阅vite仓库的相关issue【Can't start after init a `vue-ts` project. · Issue #1580 · vitejs/vite · GitHub】,尤大也很明确的指出这个是esbuild的BUG解决方法:手动执行node node_modules/esbuild/install.js...

2022-04-05 21:08:36 2321 1

原创 golang面试题2022

1.nil切片和空切片区别指向引用数组的地址不同,nil切片指向引用数组为0(无实际意义)空切片的引用数组指针地址是有的,且固定为一个值

2022-03-19 11:27:58 651

原创 使用docker 搭建golang环境

golang容器的Dockerfile代码如下FROM golang:1.17 //golang 版本LABEL maintainer="fu <[email protected]>" // 容器作者ENV GOPROXY https://goproxy.cn,direct //配置golang 代理# 安装必要的软件包和依赖包USER root //使用root权限运行RUN sed -i 's/deb.debian.or...

2022-01-17 17:03:20 3316

原创 golang make 和new的区别

make 主要用于初始化map slice channe 入参结构体返回值类型new 用于分配空间和初始化值,入参是值,返回的指针类型的

2022-01-16 23:49:45 140

原创 laravel中DB查询数据库后,返回的对象转为数组

先编码成json字符串,再解码成数组Copy/** * [objectToArray 先编码成json字符串,再解码成数组] * @param [type] $object [description] * @return [type] [description] */ public function objectToArray($object) { return json_decode(json_encode($object), true); } DB查询数据库Copy$

2021-12-15 12:27:56 1960

原创 golang 互斥锁

package mainimport ( "fmt" "sync")var lock sync.Mutex //互斥锁var wg sync.WaitGroup//等待一组协程结束var total intfunc sub() { defer wg.Done()//底层是wg.add(-1) for i :=0;i<1000000;i++{ lock.Lock() total -=1 lock.Unlock() }.

2021-09-12 16:49:15 357

转载 Jetbrains系列产品重置试用方法

Jetbrains系列产品重置试用方法0x0. 项目背景Jetbrains家的产品有一个很良心的地方,他会允许你试用30天(这个数字写死在代码里了)以评估是否你真的需要为它而付费。但很多时候会出现一种情况:IDE并不能按照我们实际的试用时间来计算。我举个例子:如果我们开始了试用,然后媳妇生孩子要你回去陪产!陪产时我们并无空闲对IDE试用评估,它依旧算试用时间。(只是举个例子,或许你并没有女朋友)发现了吗?你未能真的有30天来对它进行全面的试用评估,你甚至无法作出是否付费的决定。此时你会想要延长

2021-09-12 11:44:27 997

原创 mysql 常见语句查询

#MySQL中的排序ORDER BY 除了可以用ASC和DESC,还可以自定义字符串/数字来实现排序 ORDER BY FIELD()SELECT * FROM table ORDER BY FIELD(status,1,2,0);#CONCAT()函数用于将多个字符串连接成一个字符串:多个字段链接之后保证唯一 然后group byselect mid,ww_id,concat(mid,ww_id) as un_id,count(*) as num from work_wecom_group_cha.

2021-09-09 10:10:25 57

原创 laravel model 作用域

全局作用域所谓「全局作用域」,指的是预置过滤器在注册该「全局作用域」的模型类的所有查询中生效,不需要指定任何额外条件。以User模型类为例,我们在系统中可能只想针对已经验证过邮箱的用户进行操作,在没有介绍「作用域」之前,可能你会在应用中到处编写这样的代码:$users = User::whereNotNull('email_verified_at')->...通过全局作用域类实现要实现「全局作用域」,首先需要编写一个实现Illuminate\Database\Eloquen...

2021-09-08 18:50:22 309

原创 redis 学习笔记

Redis 目前支持的数据结构包含以下五种:String:字符串 List:列表 Set:集合 SortedSet:有序集合 Hash:哈希字典INCR除了字符串格式的值外,还支持数字格式的值,我们可以利用这个特性实现计数器功能,比如浏览数、购买数、点赞数等,这个时候,我们可以使用INCR命令来初始化对应的键值INCRBY取还是通过GET指令,默认步长是 1,即每次调用INCR指令会将对应的键值 +1,此外,还可以通过INCRBY显式设置步长,比如我们在前面的基...

2021-09-07 13:18:14 81

原创 golang 学习手册

byte 类型=uint8 无字符int类型没用负数区别于长度257 int8类型首位标记正负数 所以长度-127 +127rune类型则是int32的别名类型,为了解决中文问题

2021-09-04 11:03:45 497

原创 larvel 关联查询

//join 数据在同一级,强关系 $a=Order::select('users.aid','users.merchant_no','orders.*') ->join('users',function($join){ $join->on('users.id','=','orders.user_id')->where('users.id','=',80...

2021-08-31 23:19:58 475

原创 laravel 自定义验证规则 重复利用

自定义laravel表单请求验证类(FormRequest共用一个rules())class TeamDataPermissionRequest extends BaseRequest{ public $mid=''; public $work_wechat=[]; public function __construct() { $this->mid=Auth::user()->mid; $path = \Request::

2021-08-25 23:55:37 450

原创 laravel 手动创建分页器LengthAwarePaginator

分页的方法;//Illuminate\Pagination\Paginatorpaginate()$users = DB::table('users')->paginate(15); //Illuminate\Pagination\LengthAwarePaginatorsimplePaginate()$users = DB::table('users')->simplePaginate(15);Paginator...

2021-08-25 23:28:20 1307

原创 golang 数据类型和php数据类型和proto

proto go phpdouble(双精度) float64 floatfloat float32 floatint32 int32 integeruint32 uin...

2021-08-25 23:10:30 315

原创 golang 方法和函数的区别

//Golang的方法定义//Golang中的方法是作用在特定类型的变量上,因此自定义类型,都可以有方法,不仅仅是struct//定义:func (recevier type) methodName(参数列表)(返回值列表){}//方法和函数的区别/*1,函数调用:function(variable,参数列表)2, 方法,variable.function(参数列表)方法的控制,通过大小写空格控制 *///这里传递的是副本,想改变p的值,需要传递指针func (p *integer.

2021-08-11 15:27:08 460

转载 【laravel】Eloquent 模型事件和监听方式

所有支持的模型事件在 Eloquent 模型类上进行查询、插入、更新、删除操作时,会触发相应的模型事件,不管你有没有监听它们。这些事件包括:retrieved 获取到模型实例后触发 creating 插入到数据库前触发 created 插入到数据库后触发 updating 更新到数据库前触发 updated 更新到数据库后触发 saving 保存到数据库前触发(插入/更新之前,无论插入还是更新都会触发) saved 保存到数据库后触发

2021-07-31 20:20:25 785

原创 mysql关于in大量数据的解决办法

1.创建临时表2.join 表3.EXISTS

2021-07-22 14:29:24 4660

原创 Laravel大量数据库查询导致php进程内存耗尽 解决办法

在Laravel中使用cursor来查询并处理数据 (轻松处理千万级的数据)事发现场最近在项目中遇到内存不足的问题, 测试环境中的PHP内存只有64M,在导出的时候, 数据量比较大,这个时候会出现内存溢出的错误;如何解决目前想到两种方法:调整php.ini文件中memory_limit配置项; 或者在调用方法中调整内存大小ini_set('memory_limit', ""). 使用Laravel的Lazy Collection.考虑到修改配置文件的影响范围过大, 以及对导出的实时性

2021-07-21 10:38:13 1686

转载 阿里云 redis 规范

摘要:本文介绍了在使用阿里云Redis的开发规范,从键值设计、命令使用、客户端使用、相关工具等方面进行说明,通过本文的介绍可以减少使用Redis过程带来的问题。原文:http://click.aliyun.com/m/43801/一、键值设计1. key名设计(1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id(2)【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:.

2021-05-10 14:26:50 126

原创 mysql优化规范

1.主键格式为整型或uuid格式,建议使用int避免数据库底层b+tree的page频繁分裂,导致大量io查询语句优化2.查询结果最好分页,每页最好不超过1000 mysql默认值3.join表数量尽量不超过3个(解决办法添加冗余字段)4.left join尽量用数据量小的表作为左表,right join尽量用数据量小的表作为右表 (因为左连接的话,左表是全量的,右表,右表是全量的)5.条件部分尽量不使用函数或表达式,因为无法命中索引,部分数据库无法利用计算下推到存储层优化.

2021-05-07 14:43:22 295

转载 mysql 索引覆盖

select id,name where name='shenjian'select id,name,sex* where name='shenjian'*多查询了一个属性,为何检索过程完全不同?什么是回表查询?什么是索引覆盖?如何实现索引覆盖?哪些场景,可以利用索引覆盖来优化SQL?这些,这是今天要分享的内容。画外音:本文试验基于MySQL5.6-InnoDB。一、什么是回表查询?这先要从InnoDB的索引实现说起,InnoDB有两大类索引: 聚集索引(clu

2021-05-07 11:19:43 602

原创 2021php高级工程师面试题集

redis 淘汰机制有哪些redis淘汰机制算法是什么mysql 主键索引和普通索引的区别mysql 主从同步延迟如何解决golang协程是无序的如何实现有序php array与golang的切片 数组的差别php如何实现类型自动转换的php的垃圾回收机制php如何做到订单分布式一致性 订单生成需要请求商品服务 ,红包服务,优惠券服务,三种服务同时成功才能生成订单如何实现...

2021-04-14 17:53:02 1633 1

原创 docker 常用命令

docker logs 容器id #查看容器日志 启动失败日志

2021-04-08 16:50:00 57

原创 php 高级工程师简历模范

1.五年年以上php开发经验,三年以上电子商务开发经验,两年以上微信小程序开发经验,两年以上带团队经验,以及系统设计和架构设计经验。2.熟悉分布式系统系统架构设计,高负载环境下的系统开发及优化经验;3.熟悉redis,memcached等NoSQL产品4.熟悉主流开源框架,Laravel,Lumen,Thinkphp5/6,Yii2,Swoole,ElasticSearch,RabbitMQ,Kafka,Element-UI,Uniapp5.了解使用过其他编程语言GoLang(Beeg...

2021-04-01 11:22:33 2527 3

js pdf转图片 并支持.zip下载,可直接在线运行,或下载项目解压后在本地运行

(仅使用JS将PDF转换为图片,并支持.zip下载,可直接在线运行,或下载项目解压后在本地运行!) https://xxlllq.github.io/pdf2img/

2019-03-06

html2fpdf php 实现html 转pdf 图片

html2fpdf php 实现html 转pdf 图片

2018-11-02

php微信开发

微信开发说明文档,新手教程

2017-03-27

空空如也

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

TA关注的人

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