自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 Laravel启用postgreSQL数据库过程中遇到的问题

1.laravel pgsql could not find driverLaravel提示错误“could not find driver”_vcflyfeel的博客-CSDN博客这是由于没有在php.ini中启用相应插件2.SQLSTATE[08006] [7] received invalid response to SSL negotiation: J这是因为.env文件中写的默认的环境变量是3306端口,而pg数据库访问的5432端口,端口访问错了。3.SCRAM au

2021-10-14 11:25:38 1512

原创 小程序用户登录流程设计

小程序的登录流程是,用户先扫码进入系统,然后小程序调用wx.login()函数获取code(code是微信客户端实时生成的校验码),将code传入后端服务器。服务器使用code和小程序的appid、appsecret向微信服务器请求openid(微信用户的唯一识别码)。服务器拿到openid后,查询数据库的用户信息中是否存在该openid的用户。不存在就新建一条用户记录,将openid存入用户信息中,返回新建用户的id。使用用户id和openid生成token,将token和用户是否是新用户的标识传给小程序

2021-10-04 00:17:19 685

原创 SOLID五大设计原则

单一职责原则 The Single-Responsibility Principle (SRP)一个对象有且只有一个职责,不与其他职责耦合开放闭合原则 The Open/Closed Principle (OCP)对扩展开放,对修改闭合里氏替换原则 The Liskov Substitution Principle (LSP)使用父类的地方,可以用子类替换且不会出问题接口分离原则 The Interface Segregation Principle (ISP)...

2021-04-24 13:44:06 194

原创 React项目的eslint+prettier的代码自动规范

安装 eslint 相关eslint主要检查代码质量yarn add eslint babel-eslint eslint-config-airbnb eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-import --devbabel-eslint:允许您使用奇妙的eslint来链接所有有效的babel代码。 eslint-config-airbnb:提供了Airbnb标准的可拓展配置eslint-plugin-jsx.

2021-04-21 20:02:03 936

原创 基于GitHub Actions的node.js自动化部署

对于持续集成这个名词不太理解的,建议先去了解一下DevOps的相关概念。什么是GitHub Actions?GitHub Actions就是GitHub提供的一个功能,我们在项目仓库顶部的tab项这里可以见到它。它的功能就是,监控某一个分支提交,当分支有新的提交进来时就会触发你编写的脚本。触发:GitHub免费提供了一个服务器来跑我们编写的脚本脚本:脚本可以自己编写也可以使用别人编写好的脚本(action),在顶部的marketplace里就可以找到别人的action实践

2021-04-20 21:46:56 1707

原创 环境变量

环境变量这个东西就是为了方便项目在开发环境和生产环境之间切换,开发的时候用开发环境,部署的时候用生产环境。例如,我们在启动项目的时候用yarn start:dev就是进入开发环境,用yarn start:prod就是进入生产环境,当然这些脚本命令都是自己写的,不一定都是这样的。进入不同环境"scripts": { "start-dev": "cross-env NODE_ENV=development remax build -t wechat -w", "start-p.

2021-04-20 21:11:52 442

原创 块级元素与行内元素

<div>是块级元素浏览器会在其前后显示折行<span>是行内元素在默认情况下,由于span是行标签,设置width是无效的.只有改变display的属性,才可以实现设置宽度。块级元素 block:自动换行。 元素宽度在不设置的情况下,是它本身父容器的100%。例子:<h1>, <p>, <ul>, <table>,<div>行内元素 inline:1.元素的高度、宽度及顶部和底部..

2020-11-24 23:27:26 96

原创 flex的孙元素超出子元素范围

我们先来看一个正常的flex布局。flex:1的意思就是flex:1 1 0,两个子元素的宽度权重为0就平分父元素的宽度了<!DOCTYPEhtml><html><head><title>学习CSS</title><style>.flex{display:flex;height:100px;width:400px;}.child1{flex:1;backgroun...

2020-11-23 09:57:45 509

原创 优雅降级与渐进增强

渐进增强(Progressive Enhancement):一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。使用场景客户大部分都是低级浏览器优雅降级(Graceful Degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。使用场景客户都是年轻人,用的都是新浏览器...

2020-11-22 23:12:15 109

原创 网络安全小结

post和get首先呢,登录是要用post请求,还是用get请求。这个我一下子没明白,因为大家都说post比get更安全,然后我就了解了一下,大家会说这个是因为get请求是直接把参数放在querystring(长度限制255)里的,可以直接被看到,而post是把参数放在body里,不能直接被看到。但其实只要截获了这个报文是可以看到body里的内容的。这时候就想到要给账号密码进行hash加密,加密后就不是明文了嘛。重放攻击我以为这样就万事大吉了,结果有给我知道一个重放攻击,就是拿着加密后的账号密码

2020-10-17 14:58:01 166

原创 跨域

同源策略同源指的是域名(或IP),协议,端口都相同,不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。同源的判定:以http://www.example.com/dir/page.html为例,以下表格指出了不同形式的链接是否与其同源:(原因里未申明不同的属性即说明其与例子里的原链接对应的属性相同) 链接 结果 原因 http://www.example.co.

2020-10-17 14:54:42 77

原创 Web登录安全详解

不加密直接传输会在HTTP报文的body中显示密码明文对称加密加密算法写在前端里,前端有被破解的风险非对称加密中间人攻击SSL劫持攻击将自己接入到客户端和服务器中间,将公钥替换成自己的公钥。SSL剥离攻击也要将自己设为中间人,与客户端HTTP明文会话,与服务器继续HTTPS会话重放攻击密码加密后,直接用密文请求,或者将报文改动一小部分再次请求。HTTPS防止重放攻击TLS是可以防止重放攻击的,具体是通过报文鉴别码MAC(Message A...

2020-10-17 14:52:02 766 1

原创 协商缓存与强缓存

浏览器请求一个资源时,会先获取这个资源的header信息,通过cache-control和expires字段判断是否命中强缓存。如果未命中,浏览器会发送一个有关缓存的header字段信息(Last-Modified和Etag),如果命中服务器会返回一个新的响应header信息以更新缓存中的header信息,但不返回资源,告知浏览器从缓存中获取资源。如果未命中,则返回新资源。 获取资源形式 状态码 发送请求到服务...

2020-10-16 21:26:50 76

原创 websocket

websocket是H5出的新协议,它在握手的时候需要用到http协议,让服务器切换到websocket协议。Http 的keep-alive只是把多个http请求合并为一个http协议可以模拟websocket长轮询long poll :阻塞模型,一个request到服务器,等到服务器有新消息了再response。考验高并发ajax轮询:每隔一段时间查询一次,有可能想要查询到的信息还没准备好。浪费服务器资源。参考文章:http://blog.sina.com.cn/s/blo.

2020-10-16 20:17:56 225

原创 flex布局

详细的flex的API介绍:https://juejin.im/post/6844903903029362702居中justify-content:center; 水平居中align-items:center; 垂直居中flex:1来自 <https://www.cnblogs.com/-constructor/p/12315905.html> flex: 是flex布局子项的属性默认值为0 1 autoflex:none取值为0 0 autofle...

2020-10-16 19:41:31 236

原创 为什么是三次握手与四次挥手

三次握手\为什么是三次握手(两次握手情况)如果客户端发送的第一次握手请求延迟了,服务器接收到这个失效的请求,同意建立连接,但是客户端没有信息传来,服务器的资源就浪费了。简单来说就是:防止服务器收到无效链接的情况,要保证双方都收到了最新的链接。四次挥手为什么要四次挥手TCP是全双工通信,不能单方面完全断开连接客户端发送FIN:只能断开 客户端 -> 服务端 方向的连接服务端发送FIN:只能断开 服务端 -> 客户端 方向的连接参考文章:参..

2020-09-22 23:09:00 115

原创 js箭头函数

箭头函数相当于匿名函数This箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。回顾前面的例子,由于JavaScript函数对this绑定的错误处理,下面的例子无法得到预期结果:var obj = { birth: 1990, getAge: function (...

2020-09-22 21:15:05 90

原创 js原型与原型链

实例只有__proto__leta={};console.log('a',a)__proto__指向原型原型的constructor指向构造函数Object()构造函数的prototype指向实例原型构造函数的__proto__指向他自己的原型f()Object.getPrototypeOf(object) 方法返回指定对象的原型leta={};console.log...

2020-09-22 21:08:15 74

原创 HTTP状态码

常用的14种状态码 类别 原因短语 1XX Informational(信息性状态码) 接受的请求正在处理 2XX Success(成功状态码) 请求正常处理完毕 3XX Redirection(重定向状态码) 需要进行附加操作以完成请求 .

2020-09-22 20:07:42 91

原创 HTTP协议

HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。协议历史版本 0.9 1.0 1.1 2.0 0.9该版本只有一个GET命令GET /index.html上面命令表示,TCP 连接(connection)建立后,客户端向服务器请求(request)网页index.html。协议规定,服务器只能...

2020-09-02 20:29:35 113

原创 CSRF与XSS

CSRFCSRF (Cross Site Request Forgery),中文名:跨站请求伪造攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址自动加载。用户在登录状态下这个请求被服务端接收后会被误以为是用户合法的操作。对于 GET 形式的接口地址可轻易被攻击,对于 POST 形式的接口地址也不是百分百安全,攻击者可诱导用户进入带 Form 表单可用POST方式提交参数的页面。如何防范客户端防范:对于数据库的修改请求,全部使用POST提交,禁止使用GET请求

2020-09-02 20:23:43 140

原创 HTTPS

HTTPS协议 = HTTP协议 + SSL/TLS协议SSLSSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。SSL协议在1994年被Netscape发明,后来各个浏览器均支持SSL,其最新的版本是3.0TLSTLS的全称是Transport Layer Security,即安全传输层协议,最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineer

2020-08-27 22:25:32 151 1

原创 GET与POST

浏览器的GET和POST这里特指浏览器中非Ajax的HTTP请求,即从HTML和浏览器诞生就一直使用的HTTP协议中的GET/POST。浏览器用GET请求来获取一个html页面/图片/css/js等资源;用POST来提交一个<form>表单,并得到一个结果的网页。GET‘读取’一个资源,反复读取不应该对被访问的数据有副作用,无副作用也称为"幂等"(Idempotent)因为GET因为是读取,对GET请求的数据就可以缓存。这个缓存可以做到浏览器本身上(彻底避免浏览器发请求)

2020-08-27 22:20:13 121

原创 js内存管理

js垃圾回收1)问什么是垃圾一般来说没有被引用的对象就是垃圾,就是要被清除, 有个例外如果几个对象引用形成一个环,互相引用,但根访问不到它们,这几个对象也是垃圾,也要被清除。2)如何检垃圾一种算法是标记 标记-清除 算法,栈内存和堆内存基本类型大小固定,引用类型大小不固定,分开存放使得程序运行占用内存最小。栈内存:存放基本类型。堆内存:存放引用类型(在栈内存中存一个基本类型值保存对象在堆内存中的地址,用于引用这个对象。)基本类型在当前执行环境结束时销毁,而引用类型不.

2020-08-23 23:22:15 81

原创 js基本类型与引用类型

基本类型undefined,boolean,number,string,null1.基本类型的值是不可变任何方法都无法改变一个基本类型的值 var name = 'jay'; name.toUpperCase(); // 输出 'JAY' console.log(name); // 输出 'jay'2.基本类型的比较是值的比较var a = 1;var b = true;console.log(a == b);//true用==比较会先将true转为1,...

2020-08-23 23:19:25 80

原创 js作用域链

当代码在一个环境中执行时,会创建变量对象的一个作用域链(作用域形成的链条)作用域链的“链”描述作用域链的第一个,始终都是当前执行的代码所在环境的变量对象作用域链中的下一个对象来自于外部环境,而在下一个变量对象则来自下一个外部环境,一直到全局执行环境全局执行环境的变量对象始终都是作用域链上的最后一个内部环境可以通过作用域链访问所有外部环境,但外部环境不能访问内部环境的任何变量和函数。作用域链查找过程描述当在内部函数中,需要访问一个变量的时候,首先会访问函数本...

2020-08-21 15:58:57 103

原创 js闭包

我的理解:一个函数外包了一层函数,当里面函数被调用时,同时里面的函数使用了外面一层函数作用域里的变量,就算外面一层函数没有被引用了,这时候外面一层函数及其作用域里的变量也不会被垃圾回收。概念:一个内部函数,有权访问包含其的外部函数中的变量,闭包之间是共享作用域的,尽管 外部函数 可能一直没有被调用,但是 内部函数 可能会被调用,就会导致无法对其内存进行回收。虽然例子中的闭包被保存在了全局变量中,但是闭包的作用域链并不会发生任何改变。在闭包中,能访问到的变量,仍然是作用域链上能够查询到的.

2020-08-21 15:53:27 126

原创 前端React学习路线

# React 培训计划## 阶段### 阶段一 (认识 React)看官网的教程1. [React 文档的核心概念部分](https://zh-hans.reactjs.org/docs/getting-started.html)2. [ 入门教程:Tic-tac-toe 游戏 ](https://zh-hans.reactjs.org/tutorial/tutorial.html)先把文档看一下,看完核心概念部分即可。然后跟着教程实现一下 Tic-tac-toe 游戏### 阶

2020-08-12 15:46:05 251

原创 用户管理的 CURD 应用_笔记(张立志视频版)

用户管理的 CURD 应用(原版)用户管理的 CURD 应用地址:https://github.com/sorrycc/blog/issues/18(张立志视频版)用户管理的 CURD 应用地址:https://www.aspirantzhang.com/dva3.html名词解释1.Redux:(瑞大可死)一个中间件,用来在React里处理数据的流向和存储,提出了一个store(存储)的概念,但是Redux没有考虑异步数据2.Redux-saga:(瑞大可死-撒噶)专门处理异步数据

2020-07-28 16:56:25 312

原创 js 二维数组根据列的和,对列进行排序。冒泡排序

for (let i = 1; i < source.length - 1; i++) { for (let j = 1; j < source.length - 1 - i; j++) { let sum = 0; for (let k = 1; k < source.length; k++) { sum += source[k][j] ...

2020-07-15 15:16:55 630 3

原创 Ant Design 实战教程_笔记

Ant Design 实战教程Ant Design 实战教程地址:https://www.yuque.com/ant-design/course名词解释1. install 安装 美 [ɪnˈstɔːl]2. export 输出 使用export default命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名3. borderRadius 边界半径 border 边界,镶边; Radius 半径border-radius 允许你设置元素的外边框圆角。当使用...

2020-07-15 09:45:41 1409

原创 React井字棋游戏_笔记

井字棋游戏地址:https://zh-hans.reactjs.org/tutorial/tutorial.html名词解释1. props是 “properties” 的简写,美 [ˈprɑpərtiz],属性2.子类,是一个类继承了另一个类3. <ol> 标签定义有序列表,有带序号VS Code教程1. 10个超好用插件https://zhuanlan.zhihu.com/p/994626722.使用 VSCode 调试 React 应用 https://zhua

2020-06-14 22:12:29 188

原创 阅读react文档核心概念_笔记

阅读react文档核心概念名词解释DOM:文档对象模型,Document Object ModelElement:元素const:常量render:呈现(渲染)Interval:间隔Babel:将ES6及以上版本的代码转换为ES5的工具plugins:插件,Babel插件可以将输入源码进行转换,输出编译后的代码props:properties,属性函数setInterval():以毫秒为周期调用函数toLocaleTimeString() :根据本地时间把 D

2020-06-14 22:08:25 118

原创 Web开发常见问题(一)

1.404错误:(1)检查dao,service,controller的@Autowired等注解是否重复或则错误(2)检查mybatis的mybatis-config.xml是否将mapper和JavaBen映射(3)检查mybatis的mapper文件是否有错误(namespace等)也有可能是拼写错误2.工程内的文件突然消失,或则误删(1)右键工程名有一个Resto...

2020-04-08 22:50:20 160

原创 【Unity】Textmesh pro制作Font Asset

在做unity游戏教程的过程中遇到问题,原框架的角色对话框不显示中文。一开始以为是中文在C#脚本里跑了一圈变成乱码了,看了半天代码,也没看出个一二三四。突然灵光一闪,之前在web实验的时候用图片代替数字,所以这个游戏里的文字会不会其实是预先做好的图片,然后看了半天,没找到想象中的图片在哪。最后发现了TextMesh Pro文件夹百度了一下,这是一个很好用的字体渲染工具,后来被unity收购...

2019-11-23 23:49:06 2011

原创 笔记本选购指南(2017版)

文章虽然是我17年写的,但是大体思路还是一样的,有变化的就是显卡、cpu、内存的更新换代,其他都差不多。游戏本选购指南【仅供参考】原创作者:Frequent本文主要说的是5000以上常见的游戏本,主要是为了避免小白买到坑人的电脑先举个例子1.截图是我在京东随手点开一个游戏本的商品界面的标题2.i5-7300HQ指的是CPU3.8G指的是内存,8G内存一般是...

2019-09-26 20:25:57 248

原创 Android Studio no module

安装完Android Studio安装完后,运行(调试)按钮是灰色的,不能点。明明sdk和虚拟机什么的都装了,可就是不能点。我这是已经弄好的,可以点了,先给大家看个样子。去edit configuration里创建这个就会显示这个时候去 File==》new==》new Module 按流程随便创建一个module,就会发现功能全都正常了,那个app也出来了。...

2019-09-26 14:33:10 1685 3

原创 努比亚手机 NX569H 无限 正在优化第1个应用(共1个)

每次手机开机都会被这个卡住,开不了机。最后摸索出了解决办法,先让它在这个界面待个10几分钟,然后强制重启,再等个10几分钟就自动开了。不这样做,就要等不知道到什么时候,几个小时都有可能。...

2019-09-23 18:38:46 3037

原创 The package javax.servlet is accessible from more than one module:

原因是Jar包在Modulepath里。更改为Classpath后即可解决。右键工程文件==》Buid Path==》ConfigureBuid Path..==》Libraries

2019-09-23 13:16:08 5779 1

原创 Server Tomcat v9.0 Server at localhost failed to start.

试了网上说的在build path重新添加Tomcat和jar,然后问题依旧。最后发现在这里有一些充满BUG 的项目在右边,把那个项目Remove后,服务器恢复正常。右键想要执行的jsp文件==》Run As==》Run On Server==》Next==》Remove错误工程...

2019-09-23 12:57:49 170

2019-11-23_SIMYOU SDF.asset

SIMYOU SDF.asset 3000常用中文,幼圆字体 Textmesh pro字体文件

2019-11-24

空空如也

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

TA关注的人

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