自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 callback和promise.all两种实现前端请求token过期时刷新token处理的解决模型

1. 需求分析前台向后台请求数据,经常用到token。token到了一定时期,后台会判定请求的token过期,需要重新请求。但出现以下情况怎么办呢?前台同时向后台发出n个带token的请求,但请求的token都是过期的,每个请求都要先重新向后台刷新token,再回来执行刚刚的请求。这就出现了一个问题:多次进行了不必要的请求token2. 问题解决思路实际买票模拟情景:一堆人同时去一...

2020-05-03 08:25:08 674 1

原创 BUG消灭者的自我修养(一)——行走江湖,我们的武器是什么?

改了一个BUG,还有千千万万个BUG——程序员苦逼的一生。最后修改:2020-8-8 17:28:15写作目的从入坑程序员的小白开始,长期记录自己改BUG的心得与各个时间段的自己作思想搏斗,提高自己问:行走江湖,我们的武器是什么?面对如此强悍的BUG,我们不能手无寸铁,赶紧把手边的武器扛起来。1. 不懂就问法两问:问度娘,问大佬。总所周知,这种解决BUG最快的方法。(当然,前提是问有所答)2. 文档追溯法俗话说,解铃还须系铃人,有时候,我们用别人的框架,用了别人的规范,我们要.

2020-08-08 17:30:03 327

原创 架构师如是说(二)——约定胜于定义

——其实,我真的不喜欢做重复的事情。来公司有一段时间了,对框架也有一定的熟悉程度了,我感觉可以开始“摸鱼”了,然而,我也开始觉得不耐烦了,因为我最近老是在重复一些重复的代码,心想着“这玩意能不能封装一下啊”,“怎么才能提高速度呢?”,“有没有一些教人如何封装函数的教程呢?”上百度一下,“我是谁?我在哪?我在做什么?”是的,最近的项目需要进行很多的增删改查,代码逻辑好像很多都一样,就换了别名,于是我尝试写一些高复用的函数代码,但是,写的过程中,又发现有些东西需要特殊化,“那个是可以复用的,.

2020-08-07 10:28:00 241

原创 小白跨域遇坑记录-就那点破事别费劲了-持续更新v1.0

公司项目laravel 5.2 的,我最近要做前后端分离,故涉及到了跨域问题,记下一些坑,以后遇到一个记一个。最后修改时间:2020-6-11 10:56:071.中间件跨域,一定要保证中间件完美进出,不被其他诸如die等代码dia掉,否则无法跨域。2.跨域一定要开放路由的完整的method,容易忽略options的开放,因为第一次请求options是在测试是否能跨域。3.中间件跨域,一定要保证header能正确被设置,尤其是擅长拷贝别人代码的,注意自己的兼容性。4.中间件跨域,

2020-06-11 11:00:06 289

原创 架构师如是说(一)——敏感式开发

也不是大分享,只要是我刚出来实习的一个小小的总结并记录下来。“我们在开发的时候,开发出来了一个小功能了,就先公开给别人用,先给我们内部人员用用,完了再开放给客户用。”公司的架构师如是说。今天跟他聊了关于开发计划的问题,由于我之前的开发工作都是自嗨的比较多,上来实习后,发现团队合作开发还是缺乏经验,今天架构师就跟我说了这么一个话题,“敏感式开发”的研发观念。1. 什么是敏感式开发观念其实我前面那句架构师的话已经表明了敏感式开发的做法了。它强调我们开发产品和客户之间的强联系,为的就是能及时修复未来隐瞒的b

2020-06-06 15:31:27 1707

原创 Antd Pro 开发规范学习笔记(不断完善)

通过阅读Antd pro 里面的一些源码,发现他们在构建项目时一些常用的小规范,似乎值得我等新人研究研究和模仿模仿,俗话说,无规矩不成方圆,我折磨着得有自己的规范才行,故写下这篇文章。修改日期:2020年6月6日10:49:381. 组件规范index.tsx1.1 import导入1.2 接口声明1.3 函数组件写法大概写法:const 组件A: React.FC<组件A的Props接口> = (props) => { ...}在整个组件的写法里面,又可包含以下写法

2020-06-06 10:50:34 556

原创 数据库如何通过二进制字段来表达RBAC中的用户角色-与运算&位移算法运用

1. 需求分析:要求在建立RBAC中user表中用一个字段来代表其角色,决定采用32位的方法,那么如何才能够用32位中某一位是否为1的方式来表达其角色呢?2. 解决方法通过位移算法和与运算可以快速判断某一位是否为1,如32位中,我规定从后算起第3位为1,就是超级管理员,那么,判断是否为超级管理员的算法如下:if (($user->user_role>>2 & 1) == 1) {.....}...

2020-06-06 10:25:40 302

原创 Umi.js学习笔记1-基于Antd Pro视角-目录及约定

1. mock/全局:模拟数据(umi还可以局部mock)1.1 怎么解析mock文件umi遍历此目录下所有的 .js 文件,包括 _ 前缀的,进行解析。1.2 怎么写export default { '/api/users': ['a', 'b'],}; http://localhost:8000/api/users可以配置忽略解析 mock.exclude配置 export default {mock: {exclude: [‘mock//*.js’, 'mock.

2020-06-06 10:13:59 1091

原创 开发原则:开发优先级的观念

1. 为什么需要在开发之前,制定好开发优先级的观念“先开发一个能用的东西,让客户用着先。”架构师经常这么跟我说,我似乎有点理解了他的意思,在闲暇之际,寻思着我们这么做,能解决些什么问题呢?首先,这么做,使得我们的产品很快就能用上,这对客户来说,是一件好事,他们肯定是一心想“快点!开发快点!”。所以一定意义上能满足客户对速度的需求。然后,这么做,使得我们开发人员能快速展开开发重心工作,能够确认这些重要的工作能否做出来,做得好,才能真正展开后续的开发工作,所以,对于开发人员而言,可以让自己快速对接业务研发

2020-06-02 10:21:31 1996

原创 Node.js buffer 对象如何进行位移或者与运算等

先将buffer 对象转换为 十进制 整数对象用buff.readUInt32BE(0)整数对象就可以进行位移或者与或运算了

2020-05-31 13:45:07 614

原创 [简记]img如何接受svg格式的响应请求数据体

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-05-27 09:28:55 959

原创 FLEX实现产品列表布局

1. 需求分析要达到如下效果2. 代码/*1. 容器声明*/ul { list-style:none; display: flex;/*必须,flex声明*/ flex-wrap: wrap;/*必须,指定可以换行*/ width: 500px;/*必须,一定要固定宽度,100%都不行*/ margin:auto;/*非必须,为了在中间好看*/ justify-content: space-between;/*非必须,富裕空间

2020-05-16 12:53:40 1216

原创 在uniapp中fixed悬浮导航栏兼容H5的两种方式

1. 发现问题在小程序端,导航栏(综合排序那个导航栏)的定位是fixed,可以正常显示,见下图:但是在H5端,就会出现问题,如下图:2. 解决问题方法一:引用uniapp的CSS变量–window-top链接 - uniapp的CSS变量使用方法如下:position: fixed;left: 0;top: var(--window-top);方法二:特殊对待H5-高度计算法用一个变量,如下: data() { return { headerTop:"0px

2020-05-16 12:42:44 3963

原创 Flex实现左固右满布局

1、 需求分析要实现一个左边宽度固定,右边的宽度自动铺满的布局,效果如下2. 代码实现: /*1. 容器的声明*/ .container { display: flex; width: 100%; height: 300px; border: 1px solid red; } /*2. 项目的声明*/ .left { width: 100px;/*必须,左固就得固*/ background: blue; }

2020-05-16 11:31:52 2190

原创 Vue环境下实现n级分类两种算法-迭代法&递归法-以3级分类为例

给一个多级分类数据表,如何在MVVM的VM层处理显示多级分类效果呢?

2020-05-16 11:07:24 1129

原创 常用浏览器兼容之JS兼容

主要参考:https://caniuse.com/1. 整体不完整总结,陌生的支持自行查询caniuse2. 具体2.1 DOM 事件篇2.1.1 回调绑定DOM的回调绑定主要流行用addEventListener(),但是由于IE6-8都不支持,只能用attachEvent()替换,故常用的兼容写法——bind函数封装如下:function bind(obj,eventSt...

2020-05-07 10:02:14 734

原创 uni-app实现用AI自行绘制的SVG矢量图片-base64转换法

1. 需求分析想要在Uni-app下实现用AI自行绘制的SVG矢量图片2. 实现思路AI==>.svg==>base642.1 先用AI绘制好AI图2.2 导出SVG格式文档注意,导出之前先把画板固定下来 “对象-画板-适和选中的图稿”2.3 在线转换base642.4 复制到CSS中应用——以stylus语法为例...

2020-05-03 08:57:52 2620

原创 【简记】JS中~符号的巧妙配合应用——indexOf 判断

有这么一个需求一个数组let arr = ['qq','weixin'.'taobao']如何判断里面有没有‘qq’?先想到了indexOf但是console.log(arr.indexOf('qq')) //0而if(arr.indexOf(‘qq’))等价于if(0) 故这样不行所以用~于indexOf配合应用:因为 ~0=-1,·1=-2…if(~arr.ind...

2020-04-30 14:25:57 358

原创 【简记】javascript中 ~1为什么是-2

1的 二进制原码:0000 0001~1 之后:1111 1110 (~就是按位取反)以原码的角度看待 1111 1110 ,分析出它是负数(由于第一位是1,因此为负数)这个负数要在计算机中存储,必须是补码,而原码转换补码规则:符号位不变,数值位取反加1所以 1111 1110变成补码为:1000 0010这样的补码代表:-2附上常见各种码转换关系...

2020-04-30 14:12:36 914

原创 javascript class声明类 生存笔记

使用 class 的语法,让开发者告别了使用 prototype 模仿面向对象的时代。但注意,它不是新类型,typeof解析只是一个function,故它只是原型模仿面向对象开发用的语法糖1. 语法class name [extends] { // class body}2. 特性class Human { says(){console.log("say something!...

2020-04-20 11:34:55 336

原创 箭头函数生存笔记

1. 箭头函数的特性1.1 别的函数有单独的this,箭头函数没有如果是该函数是一个对象中的构造函数,所以判断this很重要的标准就是判断该是不是函数的构造函数,this指针指向一个该对象本身;箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this,定义时的上一层,不是调用时的上一层 ,这样看起来,箭头函数定义时没有给自己留this,也就是没有单独的this指针。如...

2020-04-20 10:32:20 160

原创 AJAX生存笔记

1. AJAX概述AJAX = Asynchronous JavaScript And XML一句话:异步的 JavaScript 和 XMLAJAX 不是编程语言,而是现有标准的新方法。AJAX 是一门艺术(如何实现在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页一种艺术)。2. 历史通过了解它的历史,我们可以更加全面理解AJAX。有时候,当您在谷歌的搜索框输入关键...

2020-04-19 19:37:14 255

原创 简记-常见HTTP状态码生存手册-300字

1xx:第一个动作是请求指示信息–表示请求已接收,继续处理2xx:一个来回就完事成功–表示请求已被成功接收、理解、接受200:请求被正常处理3xx:再来一次重定向重定向–要完成请求必须进行更进一步的操作301:永久性重定向302:临时重定向4xx:事不过三,再过就报错客户端错误–请求有语法错误或请求无法实现400:低级的报文语法错401:你没有证-请求没通过认证...

2020-04-18 11:57:17 153

原创 Promise对象文档阅读笔记-promise.all生存笔记

1. 概述Promise.all(iterable)方法返回一个 Promise 实例,这个实例的完成条件是:要么在 iterable 参数内所有的 promise 都“完成(resolved)”要么在 iterable 参数不包含promise对象时回调完成(resolve);如果参数中 promise有一个失败(rejected),此实例回调失败(reject),失败的...

2020-04-17 22:57:02 239

原创 Promise对象文档阅读笔记-入门篇

前言:来源于MDN文档,用自己的理解水平进行二次解读,做以下笔记。1. 语法new Promise( function(resolve, reject) {...} /* executor */ );resolve和reject这对孪生兄弟的作用就是更改Promise对象的状态(fulfilled)(rejected)触发resolve要手动,触发rejected可以直接抛出一个...

2020-04-17 16:28:13 272

原创 在Linux上批量上传文件七牛云COS存储【入门篇】

1、 Centos下七牛云qshell安装1.1 查看自己的Linux内核版本cat /proc/version1.2 到官方下载对应的zip安装包https://developer.qiniu.com/kodo/tools/1302/qshell1.3 上传到一个具体的目录我上传到了/home/tools/,解压unzip qshell-linux-x86-v2.4.1.zip...

2020-04-15 16:21:01 773

原创 基于css理解bootstrap栅格布局-1000字

1. 先制造一个容器先制造一个“容器”,取类名为.container,用来装各种东西(盒子呀);对于CSS来说,这个容器固定了宽度,其宽度取决于媒体查询(见代码1.1)。代码1.1 @media (min-width: 769px) { width: 750px; } @media (min-width: 992px) { width: 97...

2020-03-18 11:49:40 312

原创 红米手机TWRP读不了刷机包成功解决记录

我有部没用的红米4A手机,打算刷个魔趣试试,结果问题来了我的魔趣版本要求TWRP3.2.1以上,好不容易找到红米4A的TWRP3.3.1结果遇到recovery读不了刷机包问题,百度一下,说是data要格式化,我用3.3.1版本格式化了,没用,看来3.3.1因为兼容问题根本动不了data然后我想起来我之前3.0.1版本好像可以读包,获取也可以低版本格式DATA,高版本刷包 果然可以。方...

2020-03-04 19:31:27 10623

原创 win7如何文件夹共享到局域网以及解决网络发现保存修改等问题【开荒篇】

第一步:度娘https://jingyan.baidu.com/article/fec7a1e53efe621190b4e7ae.html发现问题:我的启用网络发现死活开不了!遇到问题,解决问题!又问了一下度娘,好多都说开启三个服务:分别启动以下服务Function Discovery Resource PublicationSSDP DiscoveryUPnP Device...

2020-03-02 12:12:53 952

原创 一个共享价值的线下聚会游戏节目——小威困境解决方案【创世篇】

大家好,我是小威,很无聊,我刚做了个我觉得特别有趣的梦,里面的我遇到了一个困境,正想着如果在现实生活中我该如何解决,接下来我将一一为大家呈现我的思考过程。

2020-02-24 07:38:47 392

原创 Adobe Premiere Pro cs6 精简版 0xc000007b 应用程序无法正常启动

必败方法记录法1、把Adobe PS CS6 目录.dll文件拷贝,粘贴到Adobe Premiere CS6目录下信息不对称,失败法2、下载驱动人生等安装组件看来驱动人生没有发现倪端,失败!法3、修改环境变量?别说了,失败正确解决记录0xc000007b错误大部分情况下是DirectX或者VC++运行库的问题,建议使用DirectX Repair增强版修复一次,...

2020-02-22 09:54:20 4173

空空如也

空空如也

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

TA关注的人

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