随笔分类 - 业务设计
摘要:遇到了监听配置文件是否被修改的需求,因功能规模小,没有加入 Apollo、config 等组件,所以得自己实现 1. 自行实现 第一想法是用定时任务去实现,下面是笔者的实现思路:FileModifyManager 来监听管理全部文件,要实现监听接口 FileListener 并传入给 FileMod
阅读全文
摘要:高并发的情况下难免会用到限流方案的,这里仅提供思路 1. 合法性限流 高级验证码 + IP黑名单(短时间的操作) 2. 容器限流 Tomcat:设置最大线程数maxThread,超过则会排队 Nginx:控制速率、控制并发连接数 # 控制同一IP的访问频率,下面的5作为一个缓存数,即超过1r/s的请
阅读全文
摘要:最近看到了WebSocket,不免想做些什么小功能,然后就选择了聊天室,首先当然先介绍什么是WebSocket 1. WebSocket WebSocket 是 HTML5 开始提供的可在单个 TCP 连接上进行全双工通讯的协议,其允许服务端主动向客户端推送数据,浏览器和服务器只需要完成一次握手,两
阅读全文
摘要:以前的响应数据格式不堪回首,在第一个项目中被怼就开始重视起格式了,然后网上找了些参考综合记下了笔记 1. 响应数据的格式 现在不会点前后端分离都不好意思,在分离的环境中,我们前后交互就显得尤为重要。前端按照接口文档中的URL地址和参数要求发送请求,接着后端对业务进行处理就响应约定格式的数据,这种约定
阅读全文
摘要:笔者第一次写网站只写了接收参数以及登录页面就兴奋了一整天,还特意地加上了第三方登录,想起当时的情景还历历在目。之前是照着被人的博客一步步完成第三方登录的功能,现在就要自己来理解完成了 1. OAuth 2.0 第三方登录需要用到OAuth 2.0的原理,那么我们得先了解其原理,然后再讲解第三方登录就
阅读全文
摘要:今天学的内容太南了(主要太菜),为了找回自信去瞅了下吃灰的备忘录,还真发现些内容,下期预定第三方登录 1. SSO 单点登录(Single Sign On),在多个互相信任的Web站点中,只要登录过其中一个,那么其他的站点都可以直接访问而不用登录。举个栗子:淘宝和天猫是两个Web站点,登录淘宝之后就
阅读全文
摘要:最近笔者浏览网页的时候发现站内消息提醒99+,一时不知所措。点完消息后就在想消息功能是怎么实现的? 1. 站内信 站内信简单点就是网站内的消息通知,在网站内部实现,不用邮件,短信等服务。很多时候我们都在使用,比如系统推送的公告,用户的私信,订阅的更新等等很多 根据站内信的发送范围可将其分为: **一
阅读全文
摘要:最近在写一个问答功能,类似于评论,几番找资料才有点感觉(主要是太菜了),为了加深印象就单独抽出来记下笔记,然后这篇写完就开始SpringBoot的复习了 1. 说明 网上看到有三种类型的评论,按照笔者的理解记下了过程(可能理解错了,望大神指出),所以列出的是笔者的理解,下面以模拟博客评论的场景来说明
阅读全文
摘要:1. 流程 我们注册账号的时候会收到一封邮件,点击邮件里的链接就激活账号,这个功能很常见。其实就是在用户表里面加state和code字段,state表示激活状态,code是激活码 用户填写账号点击注册,接着后台就往数据库插入数据,数据中state字段为0(表示未激活),还有个随机的code 之后就向
阅读全文
摘要:预备知识 邮箱服务器,提供邮件服务 STMP协议(Simple Mail Transfer Protocol),用于从源地址到目的地址传输邮件的规范,默认25端口 POP3协议(Post Office Protocol 3),接收电子邮件,远程管理邮件的协议,默认110端口 发送邮件的过程 **导包
阅读全文
摘要:简单的权限(拦截)管理 给特定的用户以不同的权限来访问不同的资源 很多人把权限模型理解为 用户—权限,这样不是不可以,是不够好。因为如果有100个用户,20个权限呢?给每个用户单独一个个设置不太现实,所以这时候就要加入另一个模块(角色),结构模型如下: 1. 建5张表 用户 CREATE TABLE
阅读全文
摘要:平时我们查询的必要参数是写在Dao层的,但这样是不合理的,Dao层只是用来访问和操作数据库,不应该包含其他信息,所以通用做法创建一个Page对象,将分页信息全部放到里面 Page对象 public class Page { private List<Object> list; //存放查询的数据 p
阅读全文
摘要:这里的购物车暂时存放书,后期把参数改成Object,把方法抽取成接口,只要实现了接口的Object类都可以放进购物项,这样就实现了购物任何物品 使用购物项因为一个购物项可以包含某种商品的数量,总价等,反之则需要把商品重复存放到购物车,没有用户体验 购物车用HashMap,键存放书id,值存放购物项
阅读全文
摘要:1. 项目启动 确定产品 业务梳理 业务评审 组成人员 2. 需求阶段 产品原型 前后端评估需求,工作量 3. 设计阶段 接口设计 数据库设计 流程控制 网页设计 逻辑设计 4. 测试阶段 前后交互 修改Bug 用户手册 5. 产品上线 项目验收 产品上线 6. 运行维护 人员培训
阅读全文
摘要:1. java 由字母、数字、下划线、$符号组成 不能以数字开头 名称不能使用JAVA中的关键字 坚决不允许出现中文及拼音命名 类名,接口名--大写驼峰 变量名,方法名--小写驼峰 项目名,包名--全部小写 常量名--全部大写 2. 数据库 由英文、数字、下划线组成 多个单词用下划线分割 不能出现关
阅读全文