foxnull24
1月前来过
全职 · 300/日  ·  6525/月
工作时间: 周末08:00-20:00工作地点: 远程
服务企业: 0家累计提交: 0工时
聊一聊

使用APP扫码聊一聊

个人介绍

我是程序员客栈的foxnull24,一名前后端开发

我毕业于烟台工程职业技术学院,担任过南康科技有限公司的开发

负责过南康云联络项目的开发

熟练使用vue+springboot+mybatis

如果我能帮上您的忙,请点击“立即预约”或“发布需求”

工作经历

  • 2023-04-10 -至今上海南康科技有限公司开发工程师

    公司主要业务是问卷调查 我主要负责开发南康云联络项目 日常主要是开发新的功能和进行bug修复

教育经历 和TA聊聊

APP扫码和程序员直接沟通

  • 该用户选择隐藏教育经历信息,如需查看详细信息,可点击右上角“和TA聊一聊”查看

技能

Docker
Mybatis
HTML5
0
1
2
3
4
5
0
1
2
3
4
5
作品
audioc

纯前端解码、播放音频,无须服务器支持 默认支持的主流的音频文件格式有 MP3、WAV、OGG、AMR,不同的浏览器对三种格式支持程度不一样。其中 MP3 格式支持度最好

0
2023-04-17 13:39
fox商城

整个首页采用了简洁的布局、简单的色调搭配。从上到下共有三部分,顶部搜索框、中部导航菜单栏、底部商品展示。在搜索框中用户可以通过输入商品名所包含的数据进行模糊搜索,还可以选择商品的分类或品牌进行搜索 FOX商城系统使用的是ThreadLocal存储用户信息,而不是在用常见的Cookie + Session。 由于HTTP协议是无状态的,完成操作关闭浏览器后,客户端和服务器的连接就断开了,所以我们必须要有一种机制来保证客户端和服务器之间绘画的连续性,常见的,就是使用Cookie + Session 的方式。 具体来说,当客户端请求服务端的时候,服务端会为此次请求开辟一块内存空间(Session对象),服务端可以在此存储客户端在该会话期间的一些操作记录(比如用户信息就可以存在Session中),同时会生成一个sessionID,并通过响应头的Set-Cookie: JSESSIONID=XXXXXX命令,将sessionID存储进客户端的Cookie中。 按照Cookie + Session的机制,服务端在接到客户端请求的时候,只要去Cookie中获取到sessionID就能据此拿到Session了。Session存活期间,我们认为客户端一直处于活跃状态(用户处于登录态),一旦Session超期过时,那么就可以认为客户端已经停止和服务器进行交互了(用户退出登录)。 但是这种机制在分布式系统中有弊端,例如,假如有多个服务器,客户端1向服务器发送了一个请求,由于负载均衡的存在,该请求被转发给服务器A,于是服务器A创建并存储了这个Session,紧接着,客户端1又向服务器发送了一个请求,但是这一次请求被负载均衡给服务器B,而服务器B这时又没有存储登录信信息,从而使用户退出登录。 明明用户在上一个页面处于登录态,跳转到下一个页面就退出登录了,这显然不合理。 分布式集群Session共享: (1)Session Replication 但是这种方案存在问题: 同步Session数据带来了额外的网络带宽开销,只要Session数据有变化,就需要将数据同步到所有的其他服务器,集群越大,同步泰来的网络带宽开销就越大。 每台Web服务器都要保存所有的Session数据,如果整个集群的Session数据很多(比如很多人同时访问网站的情况),每台服务器用于保存Session数据的内存占用会非常严重。 (2)Session Sticky 保证一个会话中的每次请求都能落到同一台服务器上面。 但是这种解决方案也存在问题: 如果某台服务器宕机或者重启了,那么它上面存储的Session数据就丢失了,用户就需要重新进行登录。 负载均衡器变为一个有状态的服务,因为它需要保存Session到具体服务器的映射,和之前的无状态服务相比,内存消耗会更大,容灾方面会变得麻烦。 (3)Session 数据集中存储 借助外部存储(Redis、MySQL等),将Session数据进行集中存储,然后所有的服务器都从这个外部的存储中拿取Session 但这种解决方案也存在问题,过度依赖外部存储,如果集中存储Session的外部存储服务器出问题了,那么直接就会影响到整个系统。 (4)ThreadLocal ThreadLocal线程本地内存,每个访问ThreadLocal变量的线程都有自己的一个本地实例副本,每个线程之间互相隔离,互不干涉。 ThreadLocal适用于每个线程需要有自己单独的实例(数据),实例(数据)需要在多个方法中共享,但不希望被多线程共享 ThreadLocal实现需求:显示登录信息,在本次请求中持有当前用户数据。 ThreadLocal只跟其归属的线程有关,线程销毁后,那么它对应的ThreadLocal中存储的信息也就被清除了,也就是说,ThreadLocal只用于本次请求中持有数据。 在FOX商城项目中,使用ThreadLocal与Session结合的方式。 由于本系统使用的是spring session ,spring session实现了将session数据暂存到redis的逻辑。 简单来说,将用户数据从Cookie中获取后存入ThreadLocal里,这样,只要本次请求未处理完,这个线程就一直还在,当前用户数据就一直被持有,当服务器对本次请求作出响应后,这个线程就会被销毁。 同一个用户发出的两次请求可能被不同的两个线程进行处理,那么就需要过滤器,具体来说就是定义一个过滤器,在每次请求前都对用户请求进行拦截判断,然后将已经登录成功的用户信息存到ThreadLocal里,从而使得该线程在本次请求中持有该用户信息,如果未登录将会重定向到登录模块进行登录。

0
2023-04-15 16:11
南康云联络中心

1. 项目分为 系统首页 样本库 问卷管理 项目管理 生产监控 统计报表 人员管理 数据管理 常规设置 企业中心 2. 我负责开发新功能 并修复bug,后端使用ssm框架 前端使用Velocity模板引擎 3. *上传的amr录音文件需要在网页上播放 我开发了audioc的js库用于播放录音

0
2023-04-15 16:07
更新于: 2023-04-15 浏览: 73