CAS单点登录流程梳理前言新的项目中,需要对接单点登录,于是了解了一下 CAS 的登录流程。 必看流程图先上一张图(图片来源网络) 登录按照流程图,前端需要在初次进页面的时候,请求服务器获取鉴权。 服务端发现这个用户没有相关凭证的时候,可以返回相应的状态码告知前端需要登录。 前端跳转到 https://*.*/cas/login?service=http://*.* 进行登录。 登录完成之后, CAS 会返回给前端一 2020-06-18 系统 CAS
499问题查询解决本文记录了我从遇到 499 问题,到解决的全过程。 如果有小伙伴比较急,需要知道问题可能出现在哪里,请直接看 解决思路 一栏 随着公司的发展,系统也越来越健全。近期使用了阿里云的 sls 服务来分析 nginx 系统日志,并设立了告警功能。 各种平时注意不到的异常情况发生了。 系统环境经典的 LNMP 什么是 499解释是:client has closed connection 这很有可能是 2019-08-20 系统 Http
v-charts的初次体验前言最近做一个小项目,用到了图表,由于前端是基于 vue 编写的,自然而然是要用 vue 相关的扩展了。 说句实话,vue 的生态还是蛮不错的,最终选定是用 v-charts 来实现相关功能。 v-charts相关github:v-charts 文档:v-charts 使用方式直接看文档吧 折线图使用直线 <template> <ve-line :data="cha 2019-08-13 JavaScript JavaScript VueJs
Promise原理分析前言最近讨论到了 Promise,此前知道也使用过它,但是对于其原理却不甚了解。 于是翻了翻 MDN 上的文档,又找了几篇文章看了看,研究了研究。 最终,自己尝试了一番,对于其原理也有所了解。 Promise的使用先回顾一下 Promise 的使用。 这里只是简单的调用,如果需要系统学习,还是移步 MDN 上的文档。 new Promise((resolve) => { s 2019-07-14 JavaScript JavaScript Promise
ES6对象的合并前言有时候,我们需要将传进来的对象与默认对象进行合并。 在使用 ES5 的时候,经常需要自己写一个方法专门做这样的事情。 而在 ES6 中,可以使用 Object.assign 方法,更加便利了。 语法 Object.assign(target, …sources) 返回值合并之后的对象 编码运行const object1 = { a:1, b:2, c:3 & 2019-06-13 JavaScript JavaScript
ES6中箭头函数和普通函数的区别前言最近在看 ES6 相关的文档,当讲解到箭头函数的时候,说了三个与普通函数的不同点,这里记录一番。 不同点箭头函数的 this 指向定义时所在的对象先来个普通函数的例子: var user = { name: 'demo', getInfo: function () { setTimeout(function () 2019-05-13 JavaScript JavaScript
Vue-router 响应路由参数变化前言最近用 vue 开发了一个数据展示的项目,在开发过程中,遇到了检测路由参数变化的问题。 路由参数变化具体情况如下: 有一个商品数据展示页,根据商品ID的不同,展示不同的数据。 获取商品数据是在 mounted 或者 created 方法里做的。 当使用了 vue-router 的 push 之后,mounted 和 created 方法没有被再次执行。 因此,我们需要在路由参数变化之后,重 2019-03-13 JavaScript JavaScript VueJs
命令行Shadowsocks配置前言一直在使用 Shadowsocks 去墙外逛逛,偶然发现命令行端不能直接访问墙外的资源,这一下子让我突然想要作死一下。简单查了一下,网上相关的资源还真不少。 不过在折腾的过程中也遇到了不少坑,现记录一下,供以后参考。 环境Ubuntu 14.04 Python 2.7 git 需要拥有代理,如果没有,可以到 shadowsocks 上购买 配置安装 Shadowsocks 命令行客户端。 su 2019-02-13 Shadowsocks Shadowsocks 科学上网
DECIAML字段字节计算前言最近在看《深入浅出MySQL》一书,看到了数值类型那一节。里面介绍了一些常用字段的相关信息,如字节长度、最大值、最小值等。 当看到 DECIMAL 字段时,它的字节数是 M+2,这个让我很不解,是为什么? 查阅+理解DECIAML 与 FLOAT 和 DOUBLE 的存储方式不同。 FLOAT 和 DOUBLE 是用二进制存储数据的,所以会有部分精度问题。 DECIAML 是用字符串的方式存储 2018-06-13 MySQL MySQL
PDO 绑定IN()语句的Array变量前言自己琢磨着写了一个小框架使使。写完了之后,开始写 demo 的时候遇到了 PDO 绑定 IN 语句的问题。 问题原本想要在 prepare 语句中写一个变量,再 bindParam 这个变量,当然这个变量的值是一个数组,PDO 的扩展类会自动处理的。 然而在处理方式上让我止步不前了。 解决网上有几种解决方案,一个是直接拼凑 SQL 语句,这与我的期望不符。 第二个就是用问号代替,并绑定,这要计 2018-06-03 PHP PHP PDO