1.引言 当执行某些动作之后,会期待反馈.最终要么是得到了结果,要么就是超时了.当超时发生时,可能是期望得到通知,或是希望能自动重试,等等.于是设计了一种通用的异步超时的处理机制,以期通过简洁易理解的方式完成超时的处理过程. 2.对外接口设计 从使用的角度,调用方期望的是"指定超时时长,时间到自动执行指定过程",由此可以得出外部的操作接口参数.从功能角度来看,对于未超时的情况,需要提供在超时时长内随时清除超时任务的功能. 2.1操作接口 在这里,我们把设计的机制称里"超时任务…
前四章介绍了系统层的设计,从这一章开始进入服务层的设计. 连接断开 在常见的服务器场景中,客户端断开连接的方式为被动关闭.即作为客户端请求完服务器的服务后,选择主动关闭同服务器的连接.在服务器的角度看,服务器是客户端连接套接字read系统调用返回0,触发关闭逻辑,服务器本地是被动关闭连接的. 但是在某些场景中,客户端虽然已经实际断开了与服务器的连接,但是服务器并不能及时检测出此时维护的连接已经断开的情景.在这种情况下,由于被动关闭的缘故,服务器并不会主动释放与该连接有关的资源.这些不能被释放的资…
写在前面 上一篇文章中我带着大家进行了权限部分的极简设计,也仅仅是一个基本的权限设计.不过你完全可以基于这套权限系统设计你的更复杂的权限系统,当然更复杂的权限系统要根据你的业务来进行,因为任何脱离实际业务的权限设计都是耍流氓!今天这篇文章我们就对CMS系统的内容进行设计.同时下篇文章准备带着大家理解一下架构设计. 这几天我也想了很多,要不要把这个CMS做的尽可能完善,考虑的尽可能周到!想想还是算了,前面还是以极简为主,不然的话严重影响这个系列教程的进度,导致已经有很多朋友都留言要崔更了(这里非常…
export default new Router({ routes: [ { path: '/live', name: 'live', component: () => import('@/view/live/live.vue') } ] }) 上面的代码是很常见的router代码分割,只在代码路由为live才会去加载live.vue但这样在live.vue获取的过程将是一片空白,什么也没有,体验不好, 利用vue提供的异步组建可以解决 新建一个 loadable.vue <template…
前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不断的维护和拓展中,比如最近重构了dashboard,加入了全屏功能,新增了tabs-view等等.所以项目会越来越复杂,不太适合很多初用vue的同学来构建后台.所以就写了这个基础模板,它没有复杂的功能,只包含了一个后台需要最基础的东西.vueAdmin-template 主要是基于vue-cli w…
页面初始化 mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面.关闭页面.手势事件配置.预加载.下拉刷新.上拉加载. 在app开发中,若要使用HTML5+扩展api,必须等plusready事件发生后才能正常使用,mui将该事件封装成了mui.plusReady()方法,涉及到HTML5+的api,建议都写在mui.plusReady方法中.如下为打印当前页面URL…
作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4. 排序算法内容聚合 5. 多线程内容聚合 Nginx 极简教程 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. 示例Demo: https://github.com/dunwu/nginx-tutorial/tree/master/demos Demo目录中的示例模拟了工作…
1.前言 话说最近一段时间受疫情的影响,股市各种妖魔横行.本人作为一个入股市不满三年的小韭菜,就有幸见证了好几次历史,也是满心惊喜,就权当是接受资本市场的再教育了吧. 小韭菜的炒股方法其实很简单,这两年多来一直死守着一只股票,不满仓,也不空仓,逢低就买点,逢高就卖点.靠着这种守株待兔的笨方法,没有赚到大钱,但好在也不至于亏钱,目前的累计收益率是25.83%. 年初复工前窝在家,天天抱着个手机,实时看着股票行情,心情也跟着起飞下降,好不惬意:复工上班后,不能一直抱着手机看,突然还有点不习惯了. 怎…
Nginx 极简教程 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. examples 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果. 一.Nginx 简介 二.Nginx 入门 三.Nginx 实战 Http 反向代理 Https 反向代理 负载均衡 网站有多个 webapp 的配置 静态站点 搭建文件服务器 解决跨域 资源 一.Nginx 简介 什么是 Nginx? Nginx (engine x) 是一款轻量…
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node/events 前端对事件肯定不陌生,为 window 绑定 scroll 事件 window.addEventListener('scroll', ev => { console.log(ev); }); Node.js 大部分异步操作使用事件驱动,所有可以触发事件的对象都继承了 EventEmi…