自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

追风2019

总结工作经验,个人思考

  • 博客(75)
  • 资源 (5)
  • 收藏
  • 关注

原创 vue + axios 通过 S3 预签名地址上传文件

如果业务中用到了 S3,那文件的上传下载必然是最基础的功能,但如果直接通过 Upload 方法上传文件,会存在非常大的安全隐患,所以普遍做法是后端提供文件上传预签名地址,前端根据预签名地址进行文件上传操作。一、后端生成预签名地址根据后端语言的不同种类,使用不同的 SDK,这里示例采用 golang 生成 S3 文件上传预签名地址:package mainimport ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/..

2021-03-01 18:27:19 2819 5

原创 Windows 系统单机搭建 Redis 哨兵模式

为了保证 Redis 的高可用性,可以采用 Redis 实例主从配置的方式,但主从配置方式天然存在主服务单机故障就导致整个系统瘫痪的致命问题。为了解决这个问题,Redis2.4开始支持 哨兵机制,Redis 2.8 中正式引入。哨兵机制 的思想很简单,再 Redis 运行服务外,专门运行一个哨兵服务,监测主服务是否发生故障,一旦发生,从服务自动升级为主服务,如果主服务恢复了,自动变为从服务。主服务也可以配置一个哨兵服务,如果挂掉,重启后可以充当为一个从服务哨兵。

2020-09-02 18:12:54 919

原创 Windows 系统单机搭建 Redis 主从模式环境

目标设计 1 主 2 从,6380 端口的 Redis 实例作为主服务,6381、6382 端口的 Redis 实例作为从服务。一、下载 Redis 安装包参考:https://blog.csdn.net/createNo_1/article/details/108358659可以先安装好 RedisDesktopManager,方便下面测试。二、配置 Redis 主从实例Redis 文件夹复制两份,总共三个Redis 运行文件夹,分别命名如下:1. 修改主服务配置(Re...

2020-09-02 16:05:44 644

原创 Windows7 系统环境下安装 Redis + RedisDesktopManager

Windows7 系统环境下安装 Redis + RedisDesctopManger

2020-09-02 12:18:01 600

原创 Golang 解决 Map 并发读写安全问题

fatal error: concurrent map writes

2020-06-13 11:15:53 2816 3

原创 Golang 操作 Map 错误记录(指针类型变量赋值问题)

一、错误代码示例package mainimport ( "fmt" "time")type TestUser struct { Name string Age int}type TestData struct { Data map[string]interface{} Sort int}var TestChan chan *TestDatafunc init() { TestChan = make(chan *TestData, 100) Start()}

2020-06-12 20:59:29 1386

原创 Vue 数据绑定失败问题

Vue 通过对数据的操作改变html 的 dom 显示,使得前端开发聚焦于对数据的逻辑的操作。昨天遇到一个问题:设置一个数组变量,通过 http 请求后端,循环遍历获取数据,期望可以实现数据改变后自动渲染到 dom,但结果是数据时有时无,代码如下:<select class="select select-middle" v-model="val"> <optio...

2020-04-08 10:11:08 1442

原创 Mysql基础 —— 数据基础操作

一、数据基础操作1. 插入数据INSERT INTO `table_name` (`field1`,`field2`,……) VALUES ("value1", "value2",……);eg:INSERT INTO `user` (`name`, `sex`, `age`) VALUES ("王三", 1, 24);2. 修改数据UPDATE `table_name` S...

2019-08-13 09:34:40 189

原创 全球项目多区域数据同步问题解决方案

一、背景我们公司的用户分布在全球,因为考虑到产品性能和国内安全防护的特殊情况,所以服务端代码分别部署在中、欧、美三个区域的服务器上,同时,也部署了一台用于对全球账号、设备进行唯一验证和管理的全球服务器。因为各个区域有部分数据表或缓存数据是需要事先在管理后台配置,且大多数据在各个区域一致,因此考虑在全球服务器进行统一配置后直接同步到各个区域服务器。二、数据同步目标1. 全球服务器指定...

2019-07-07 18:46:33 2217 2

原创 如何更优雅管理API接口版本(v1/v2/v3…)

一、前言一个web项目中,随着需求的变更或增加,API接口也会跟着变化,而如果APP发布后,已使用的接口肯定不能直接覆盖更新,需要新增升级版本接口和新的APP版本对应,因此多个版本接口更替后,如何更优雅管理不同版本接口代码,如何设计更直观的接口文档呈现给app端,这是我们后端工程师需要考虑的事情,下面总结接口版本管理经验。二、接口代码版本规范考虑到接口今后一定会进行版本迭代,因此一开始...

2019-04-24 09:13:05 18729 5

原创 Mysql基础命令 —— 数据库、数据表操作

一、数据库操作1. 查看当前mysql内所有数据库SHOW DATABASES;2. 创建数据库CREATE DATABASE 数据库名称;eg:CREATE DATABASE project;3. 删除数据库DROP DATABASE 数据库名称;eg:DROP DATABASE project;4.选择操作某个数据库USE 数据库名称;e...

2019-03-30 19:50:28 303

原创 Mysql基础命令 —— 系统操作命令

一直在做web端网络开发,也是在理解静态网页、动态网页后,就一直和Mysql数据库打交道。刚开始做的小项目,除了Mysql基本增删改查以外,最多就用用连表查询,因为没有需求,所以自己也没有下功夫深入理解数据库。随着工作深入和项目业务量的增加,越来越感受到自己对于数据库运用的粗浅,每次遇到项目运行效率和并发的问题,都在一次次对自己进行灵魂拷问,数据库这部分,你是不是糊弄过去了?再也不能逃避...

2019-03-30 18:43:47 1008

原创 MixPHP_数据库操作基类

一、前言因为使用习惯了TP和Laravel的数据库操作方式,所以又重新在代码写SQL操作会不太习惯,且代码看着也不直观,于是根据MixPHP的数据库操作方式进行了二次封装。二、数据库操作基础类<?phpnamespace apps\common\models\database;use mix\facades\PDO;abstract class BaseModel...

2019-02-17 17:56:46 947

原创 MixPHP_路由配置

一、前言MixPHP作者没有将路由这部分专门分配一个文件夹进行代码架构,都是放在config文件里面的,而因为MixPHP有多种模式(http模式、常驻同步、常驻协程),在多个配置之间切换,路由也需要迁移,有些麻烦,所以单独把路由拿出来进行单独管理。二、具体操作1. 在目标应用配置文件夹下添加route.php,此处示范地址:apps/api/config/route.php。...

2019-02-17 16:51:55 1296

原创 MixPHP_集成phinx操作数据库迁移填充管理

一、 前言使用Laravel和Tp5.1的朋友应该都有接触数据库迁移的功能,这个功能很方便做数据库版本管理,可以不用远程连接直接管理数据库结构,项目上线时也比较方面,直接执行迁移就自动生成了对应的数据表。我一直都喜欢用迁移,所以更换MixPHP框架后,也第一时间考虑这个框架的迁移怎么搞,还好,找到了phinx,下面将集成phinx的过程进行总结。二、集成phinx的详细过程1.  使用...

2019-02-17 16:06:37 689

原创 记一次压力测试后更换项目框架的经历

一、前言这段时间一直在对项目接口进行压测,过程很扎心,测到最后决定更换Swoole类框架。我选择的接口框架是TP5.1,这个选择不是从技术上考虑,仅仅是希望公司同事更容易上手。接口花了一个多月开发完成,部署服务器Lnmp环境,项目上线,测试接口功能,没大问题,然后把存在高并发的接口挑出来进行压测,结果……泪奔!公司业务是在欧美,所以我们是买的亚马逊aws服务器,虽然公司网络用的是香...

2019-02-17 13:18:35 781

原创 PHP的ip2long和long2ip升级函数

一、说明PHP的ip2long和long2ip函数都仅仅适用于IPV4范围内的IP地址转换。使用ip2long函数时,IP地址极限是127.255.255.255,一旦超过,就会出现各种问题,要么转换成带负号的长整型,要么输出空白;使用long2ip函数时,转换长整型的极限是2147483647,一旦超过,就会报错。因此,在现在广泛使用IPV6的情况下,有必要升级一下这两个函数,整...

2018-12-18 17:12:13 922

原创 Laravel5.5集成极光推送_解决推送失败重推问题

一、背景之前公司在做了一个关于现场互动的产品,以微信小程序为用户端,电视盒子APP(安卓应用)为显示端,产品主打的内容为:用户在小程序端发弹幕和霸屏信息,然后服务端把用户发送的内容推送到安卓端(电视盒子APP)显示。推送能力我们选择了第三方SDK,极光推送。在应用的过程中,有一个难点,因为是第三方推送能力,我们无法保证推送一定成功,尽管极光返回结果状态显示为推送成功,但在实际情况中也可能是...

2018-11-27 16:24:13 1298

原创 解决在PhpStudy集成Wamp环境下配置ThinkPHP3.2框架URL重写失败问题

一、背景这段时间刚好有时间,帮朋友做一个简单的系统管理网站,因为朋友买的空间是虚拟机,支持的PHP版本在5.5以下,所以只好挑一个老框架,为了快速便捷开发,我就选择了ThinkPHP3.2。本地PhpStudy,选择了一个php-5.6.27-nts+Apache集成环境,然后安装thinkPHP3.2到项目根目录,配置URL重新去除每次访问的Index.php,结果一直报错:No input...

2018-11-26 17:05:42 1721

原创 Laravel5.5集成七牛云上传、管理(删除、查询)

一、为什么使用七牛云存储1、使用七牛带宽和CDN,速度快,不占用开发者服务器。2、支持图片任意格式、任意分辨率自动生成,可以用来做图片服务器。3、小流量免费:存储空间 10GB,每月下载流量 10GB,每月 PUT/DELETE 10万次请求,每月 GET 100万次请求。当项目发展大时,需要更大流量才需购买。适合互联网创业者。4、支持webp,画质不变,图片体积大幅度减小,特别适...

2018-11-20 14:46:14 1875 1

原创 Laravel5.5开发规范 [ 个人总结 ]

我先在石墨文档总结的这篇开发规范,感觉在石墨文档的排版看着更舒服,点击传送:Laravel5.5开发规范一、概述laravel5.5是目前laravel框架发行使用最稳定的版本,laravel社区会维护这个版本到2019年6月,所以公司一直采用laravel5.5版本作为所有项目的开发框架。为了保证产品开发过程中统一代码的编写原则,提高代码的可读性、可维护性及可靠性,特定此开发标准...

2018-11-20 12:06:31 831

原创 laravel5.5组件之 Forms & HTML 组件 (laravelcollective/html)

一、为什么要使用laravel的Forms&amp;HTML组件?因为第一次用Laravel,虽然都在说laravel好,但自己没有意识到他好在哪里的时候,只能先用他已有的工具,Forms和HTML工具同样如此,感觉用起来也不省事,而且还不符合自己曾经编写HTML表单的习惯,看着怪别扭,上网查了一些资料,说是使用这个组件会减少HTML代码量,并且会协助创建CSRF(Cross Site Req...

2018-11-20 11:21:58 2562

原创 设置meta标签强制客户端浏览器为google内核+兼容+双核

  meta代码:// 强制客户端浏览器为google内核&lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&gt;// 设置谷歌内核&lt;meta name="renderer" content="webkit"&gt;   360浏览器的head头部有一行代码作为参考:&lt;met

2018-11-19 22:06:49 6075 1

原创 laravel5.5之模型操作数据库 — Eloquent ORM(实践)

一、背景        Laravel操作数据库有三种方式,一种是用DB类操作原生sql,一种是用构造器查询,还有一种是Laravel里独特的模型操作方式,即Eloquent ORM。前两种的操作方式可以参考:https://blog.csdn.net/zls986992484/article/details/52824962,这篇博文也有总结Eloquent ORM,只是为了总结学习,写篇博...

2018-11-19 21:57:36 4983

原创 Laravel5.5结合小程序获取用户unionid | 网站实现微信扫码登录

一、背景我们目前有一个项目是有两个终端,一个是小程序端,一个PC网页端,而我们设计这个产品的用户模块是直接和用户微信账号绑定,即同一个微信,可以访问小程序和PC端。而这两个终端需要一个唯一的标识来匹配用户的身份,微信里的用户唯一标识也就是“unionid”(注意不同终端的openid是不同的)。而小程序端不能直接获取到明文的unionid,只能通过wx.getUserInfo获取到加密数据...

2018-11-06 20:38:25 3049

原创 Laravel5.5+EasyWeChat_小程序支付(含回调)

 一、支付准备1. 登录微信公众平台,到小程序后台获取小程序应用信息:APP_ID(应用ID)、APP_SECRET(应用秘钥)2. 登录微信商户平台,获取商户信息:MCH_ID(商户ID)、MCH_KEY(商户公钥)3. 在商户平台配置中设置回调网址授权。二、小程序调用支付代码use Config;use EasyWeChat\Factory;public funct...

2018-10-24 18:13:15 7627

原创 Laravel5.5 集成 mPDF

一、说明公司新项目有一个将数据导出PDF文件格式的需求,所以花了半天的时间在网上到处找技术成熟的轮子,试了好几个,最后发现mPDF这个轮子最好用,做完了功能,写篇总结,希望带给有同样需求的朋友一些帮助。二、安装  window环境需要在dos系统跳转到项目根目录,执行命令:composer require niklasravnsborg/laravel-pdf三、配置  ...

2018-10-24 14:07:42 1982

原创 Laravel5.5 文件上传

一、配置文件进入/config/filesystems.php,在 disks 添加上传文件配置信息:'upload' =&gt; [ 'driver' =&gt; 'local', 'root' =&gt; public_path('upload/'),],  效果如下:   二、模版页面&lt;div class="mws-form-row"&gt...

2018-09-18 16:47:15 1471

原创 VMWare10下安装Centos7+PHP7.2+Mysql5.7+Nginx全流程

一、背景说明作为一名phper,基本和Linux服务器扯不开关系,如果习惯于在Windows下开发项目,结果是很长一段时间都会烦恼于上线后出现的各种问题,所以,如果线下开发环境也是Linux环境,这就极大保障了自己代码上线正确率。现在比较流行用一键安装工具,只是我在线上、线下都试过,线上虽然安装好了,但线下安装太费内存,安装了两次都因为内存不够失败。所以,鉴于这样的需求背景下,我们自然...

2018-09-13 20:22:58 440

原创 laravel5.5报错总结

一、写作背景 使用一个框架时,经常出现各种问题、报错,多积累错误经验,可以更快解决出现的问题,所以,本篇博文用于记录我在使用Laravel5.5的过程中遇到的报错信息以及解决办法,文章也会持续更新。二、问题总结1. 使用 session 提示错误:Session store not set on request  解决办法:到 /app/Http/kernel.php中添加两句代码...

2018-09-12 18:03:36 642

原创 centos7.3下卸载Apache+PHP+Mysql

一、背景说明我们经常会遇到这种情况,很久没用的虚拟机,之前装的lamp 或 lnmp 项目环境版本太低,升级或部分重装,总有一些报错,处理报错问题花很多时间,这时候还不如卸载重装,加上现在一键安装这么方便,出于效率考虑,可以这么做。当然,如果新手想练习linux命令或者解决问题的能力,那也可以继续研究,提前祝你好运。下面总结在centos7.3下卸载Apache+PHP+Mysql的经验。...

2018-09-12 10:45:51 1864 2

原创 小程序开发调用本地接口报错:SSL certificate: unable to get local issuer certificate

一、PHPStudy集成环境,解决办法如下:1. 到 http://curl.haxx.se/ca/cacert.pem下载pem文件;2. 将文件拷贝至PHPTutorial文件夹下,如: D:\phpStudy\PHPTutorial\cacert.pem;3. 打开 php.ini 配置文件, 增加 curl.cainfo = "D:\phpStudy\PHPTutorial\c...

2018-09-11 16:16:28 1793

原创 laravel5.5 下错误提示——调用类不存在

一、 问题背景经常我们在本地windows下开发完项目后,非常认真测试下来,什么问题也没有,然后放心地上线,结果一测试线上版本,各种报错,内心的阴影面积随着一次次这种情况发生,一次次扩大,实在不能忍了,于是下定决心以后线下开发也用linux环境。只不过,踩过这么多的坑,还是记录一下经验,为后来者做做贡献。二、找不到类的情况1. 弱智错误1:类名写错;2. 弱智错误2:类调用路径写错...

2018-08-31 12:09:02 3031

原创 laravel5.5 __Resource路由__RESTFul风格控制器

一、背景描述经常我们在写某一个功能模块时,要用到的功能无非就是增删改查,如果按照基础的实现方式,我们会发现,做一个模块功能时,获取文件列表,需要写一个路由,打开编辑页面,需要一个路由,甚至删除某条数据,仍然需要一个路由,这种重复工作,让人会觉得很难受。而且如果每一个页面或者功能都去写一个路由的话,路由文件也会显得特别冗杂,重复性也很大。我们希望代码美观且简洁,如果只写一个路由,然后根据请求...

2018-08-17 18:45:34 10262 4

原创 调用多个laravel项目接口导致数据库连接错乱

一、背景问题最近接手了一个之前已经做好的产品,只是后台还有Bug需要调试。从仓库pull下来项目代码,然后在本地配置好,就让小程序和app调用接口进行调试,因为一些特殊配置的数据没有到位,报了一些错,简单修正就好了,但是有一个问题,一直反复出现。这个产品调用了两个laravel框架项目中的后台接口,先调用了A后台接口后,再调用B后台接口,然后就报A.xxx数据库不存在,调了B后台接口后...

2018-08-02 15:09:14 916

原创 ab压力测试工具

一、背景介绍        使用PHP开发的程序员在工作一年后就经常会碰到并发问题了(工作一年内的PHP程序员在不断熟悉增删改查及各种API、各种框架,当然,我说的是普通人),所以每个项目做下来后,需要用并发压力测试工具来对项目进行一个测试检查才行,而我们常常搭建的项目环境LAMP中的Apache就自带了一种压力测试工具——ab。二、ab介绍        ab,即Apache Ben...

2018-07-25 17:53:06 918

原创 PHP文件锁

一、文件锁是什么 ?        顾名思义,对文件上锁。        可以通过“进门”的实际情况来理解:        有多个人要通过一个大门到食堂里吃饭,但食堂只有一个座位。        食堂管理员A有点偷懒,不想等那么久,于是就告诉大家,中午都可以来食堂吃饭,但是要跑快点才行,只有一个座位,第一个到的人就可以在食堂吃饭,然后就会锁门,其他人看到门锁上了就哪来的回哪去吧,这...

2018-07-25 17:05:18 3118

原创 laravel5.5数据库之数据填充(实践)

前要:laravel5.5数据库迁移可以参考我的上一篇博文:laravel5.5数据库迁移入门实践一、背景        常常在做项目的过程中,会使用很多的测试数据,而因为团队开发,如果每个人的测试数据都不一致,会出现各种测试问题,所以有必要对数据库中的测试数据也进行开发过程中的版本控制。        填充和迁移类似,都是通过类似于迁移文件一样的填充文件来保存数据和执行填充操作。...

2018-07-20 14:45:52 2569 2

原创 laravel5.5数据库迁移入门实践

Laravel里面对数据库设计了一套版本控制方式——数据库迁移,以下是个人学习入门的实践过程。一、生成迁移文件1. windows进入进入计算机dos系统,跳转到项目根目录,执行以下命令:(1)第一次生成迁移文件时,需要先安装迁移(以后操作不需要执行这一步了)php artisan migrate:install(2)生成goods迁移文件 // 指定添加一个goods...

2018-07-20 09:15:47 1474

原创 laravel5.5 根据数据迁移文件构建数据库和填充数据

一、背景 新公司的项目是在coding版本仓库中,领导把我coding账号添加到项目成员后就叫我开始熟悉代码,没给数据库账密,laravel5.5又是第一次接触,有点懵圈…… 一个同事提示说laravel5.5里面有种文件是数据库迁移文件,然后抓住这个信息,开始百度+谷歌,终于,花了一下午时间把laravel5.5的迁移基本搞清楚怎么操作,并根据迁移文件搭建了本地数据库,填充数...

2018-07-16 15:51:02 665

1~4级淘宝商品分类,同时包含数据库格式数据,只要 5 积分!

既有方便 excel 处理的四级分类,也有方便数据库操作的分类字段数据。 数据库字段包含:cid、name、is_parent、parent_id、level、pathid、path 是不是和你老师讲的商品分类表设计差不多? 拿去直接用就好,5 积分,不坑人~

2024-04-05

js+php分片上传大文件学习demo(上传进度条、解决php单文件上传大小限制)

这个demo仅仅是提供给需要的朋友用于学习分片上传文件的思路,具体思路如下: 1. 前端页面选择文件; 2. js捕获文件信息,获取文件大小,根据提前设置好的分片大小,将文件进行分片; 3. 利用后台代码(PHP)驱动上传文件分片,且需要上传分片的索引值和总分片数; 4. 后台上传代码识别到最后一个分片后,需要将已上传的分片进行合并,合并后保存为一个完整的新文件。 具体详情,参考代码。

2019-03-29

laravel5开发规范

公司长期使用Laravel作为项目开发框架,根据实际工作遇到的各种代码思路沟通、阅读问题,特此整理总结一份简单易用的Laravel开发规范。其中参考了部分大佬的规范,颇为收益,整理总结,希望对有需要的朋友有些帮助。

2018-10-09

mysql行业数据库

根据58、猎聘这些网站的行业分类手动copy下来的数据。

2018-09-18

mysql精确到三级区域的地域表

mysql精确到三级城市的地域表,比如:四川(一级)->成都(二级)->锦江区(三级)。

2018-05-11

PHP备份或导入mysql数据库类(含有demo,亲测可用)

我们有时候需要在后台做一个数据库备份和导入功能,以满足不懂数据库的用户一键操作数据库备份、导入的需求,非常实用。

2018-05-07

空空如也

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

TA关注的人

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