获得徽章 0
- 加分题的答案:
借助CAS单点登录管理所有用户信息,把用户信息存储在Redis服务器中返回ticket给业务系统.
对于完全不同域名的系统,cookie 是无法跨域名共享的,sessionId 在页面端也无法共享的,在分布式环境中就需要一台CAS单点登录服务器和一台专门存储对应信息的Redis服务器.
1.启用一个专业的用来登陆的域名(比如:cas.com)来供所有的系统的 sessionId.
2.当业务系统(如 b.com)被打开时,借助 cast 系统来登陆.
2.1. b.com 打开时,发现自己未登陆 ---->于是跳转到 cas.com 去登陆.
2.2 cas.com 登陆页面被打开,用户输入帐户/密码登陆成功.
2.3 cas.com 登陆成功,种 cookie 到 cas.com 域名下---->把 sessionid 放入后台redis {ticket,sesssionid} ---->页面跳回 b.com.
2.4 b.com 重新被打开,发现仍然是未登陆,但是有了一个 ticket 值.
2.5 b.com 用 ticket 值,到 redis 里查到 sessionid,并做 session 同步 ---->种 cookie给自己,页面原地重跳.
2.6 b.com 打开自己页面,此时有了 cookie,后台校验登陆状态,成功.展开评论2 - 问答题一的答案:
面向对象程序设计和面向过程程序设计的区别实际就是解决问题的方式不同。
面向过程在面向对象出现以前被叫"结构化编程", 它将数据和操作数据分为2部分,主要的核心问题是数据结构、算法的开发和优化.它是将解决问题的步骤分解为几个步骤并依次调用.它是以步骤来划分问题.
面向对象是将一个事务抽象为一数据类型,将某种数据结构和操作这种数据结构的操作以某种模块化方式绑定在一起,万物即可对象.它是将构成问题事务分解成各个对象,列出各个对象在整个解决问题的步骤的行为,最终实现问题的解决.它是以功能(行为)来划分问题.展开评论1 - 问答题二的答案:
重载与重写是 Java 多态性的不同表现.
重载是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名方法.
重载是一个类中多态性的表现,在编译时起作用.
重载要求同名方法有不同的参数列表(参数类型不同、参数个数不同或者二者都不同),对返回类型没有特殊的要求,不能根据返回类型进行区分.
重写是多个同名方法却具有不同的参数和不同的定义,实质表现是对父类的函数进行重新定义.
重写是父类与子类之间多态性的表现,在运行时起作用.
重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则).展开评论1 - 论运营该不该背锅
群里水友最近一直吐槽,为什么文章不上首页,一直问是怎样推荐,你文章不好怎样上推荐啊。后来发现其实也有很多好的文章几个月没上推荐,这就是运营的锅。一个掘力值过滤很多刚来的人,搞到人家要拼命发文去追上掘力值高的,才可能有推荐到首页,导致了现在一群人刷掘力值,这社区环境越来越差,运营难道没想去优化吗?
如果我来做,基于协同过滤算法,加权混合推荐算法为指定用户生成推荐结果(基于用户的协同过滤算法40%,基于物品的协同过滤算法30%,基于内容过滤的算法30%),抛弃掘力值的影响,加入几个池,比如热点池,潜力池,让大家的文章尽力给更多人看,掘金才会越来越好,学着点吧,做个人吧,运营展开21