个人介绍
基本信息
姓 名:仇思易
性 别:女
手 机:*
邮 箱:3184685044@qq.com
东北大学
软件工程 云计算(本科)
语言:Java
选修课程:JavaWeb,安卓开发,iOS开发,全栈开发,服务工程方法论,移动互联概论
项目经历
爱尚商城(Spring Cloud)
使用Spring boot作为微服务框架,Spring Cloud Alibaba作为分布式微服务方案,nacos作为注册中心,Gateway作为网关,OpenFeign用于各个微服务相互之间进行远程调用,内置Ribbon实现负载均衡。对象存储使用了阿里的OSS对象存储服务,数据库使用了Mysql以及Elasticsearch作为搜索引擎进行文本分析,使用了Echars做数据可视化,后台管理的页面使用了Vue框架+ElementUI ,使用了前后端分离开发。
咕咕奶茶(c#/UWP)
使用了MVVM框架,将MVC模式中的View 的状态和行为抽象化,视图 UI 和业务逻辑分开,让代码整体逻辑更加清晰的同时实现了数据的双向绑定。用户可以通过本系统记录奶茶的品牌,种类,价格,以及规格,温度,甜度,当天的心情,系统通过SQLite将打卡记录的信息存入本地嵌入式数据库。系统会读取本地数据库中的奶茶茶打卡数据进行统计分析,通过MicroChart将每月喝奶茶的杯数以条形图展示。
智能云工厂(网页/GUI)
打造面向制造业全产业链开放的工业互联网平台,不同身份的用户可以通过这个平台对设备产品进行管理,下订单,进行排产。使用了MVC框架,GUI版本通过Fastjson对包含用户信息,工厂信息,订单信息等的对象转换为 JSON 格式的字符串,存入工程目录下的txt文件中;网页版本,前端使用Vue+ElementUI 绘制网页,AJAX对数据进行请求,后端使用controller匹配url调用service层具体业务,用MyBatis操作数据库,使用多层拦截器进行权限管理。用户可以上传下载文件实现文件共享,上传的文件将保存到服务器的update文件夹中,使用随机生成的UUID和原文件名组合生成不会重复的文件名。
实习经历
上海经禾信息技术有限公司
软件开发实习生
熟悉公司业务业务,完成相关文档编写
根据需求完成项目的模块开发
测试产品功能,发现并且协助定位问题
1.AITEXTS 爱文本(c#/WPF)
敲定需求,参与模块的开发,整体测试功能,修复bug
2.国学(Spring Boot)
担任项目组长,与产品经理确定需求,确定技术选型,设计数据库,完成后端,完成部分前端,测试部分功能,线上部署项目,完成产品需求书
工作经历
2022-08-08 -2023-03-01上海经禾信息技术有限公司软件工程实习生
熟悉公司业务业务,完成相关文档编写 根据需求完成项目的模块开发 测试产品功能,发现并且协助定位问题 1.AITEXTS 爱文本(c#/WPF) 敲定需求,参与模块的开发,整体测试功能,修复bug 2.国学(Spring Boot) 担任项目组长,与产品经理确定需求,确定技术选型,设计数据库,完成后端,完成部分前端,测试部分功能,线上部署项目,完成产品需求书
教育经历
2019-09-01 - 2023-03-21东北大学软件本科
技能
完成了Linux虚拟机的安装,在虚拟机上安装docker 通过docker在虚拟机上安装MySQL以及redis 与组员进行简单需求分析 本商城是个B2C的电商平台,将会面向两类对象 后台管理员: 对商品的管理 对商品分类的管理。 对仓库的采购与管理 用户: 浏览商品 加入购物车下单 支付订单 查看订单状态及信息 会员累积积分 对数据库进行设计并且创建数据库 通过对SpringCloud(使用Eureka做配置中心,zuul做网关,Feign进行负载均衡,Config及码云制作配置中心)的学习并实现简单的商品管理功能,对微服务架构有个基础的了解,理解各个组件的作用 对各个微服务的后端进行搭建 在nacos对微服务进行注册,并且在配置中心进行配置 完成商品管理,商品类别管理的服务以及前端
l 功能一:奶茶打卡功能 可以打卡喝的每一杯奶茶,记录的时候可以选择奶茶的多种参数,记录当天心情,奶茶评分,还可以上传一张照片,随时随地记录自己的每一杯奶茶喝当天的心情。 l 功能二:奶茶图鉴功能 按时间线展示所有的奶茶打卡记录,用户可以在这里查看自己的奶茶日记,查找每一次的奶茶打卡记录。 l 功能三:品牌管理功能 系统里存储了一些主流奶茶品牌,用户也可以根据自己的喜好对奶茶品牌进行管理,添加一些小众奶茶品牌。 l 功能四:数据统计功能 可以对喝奶茶历史数据进行统计,并用条形图进行数据的可视化,进行年月周的数据展示,方便用户对自己的卡路里进行合理评估,以便健康的选择喝奶茶。 l 功能五:喜好分析功能 展示用户当月评分最高的奶茶,打卡最多的品牌,累计的奶茶消费,给用户下次点奶茶是提供参考。 l 功能六:今日奶茶功能 当用户打开系统时,系统会每天为用户推荐一种爆款奶茶,包括奶茶名字,奶茶品牌,奶茶简介,心情美文,和一张漂亮的图片,用户可以选择查看和跳过,若超时未点击,系统自动调至主界面。 从MVVM+IService以及项目各个核心技术点的角度,逐个介绍项目的重要实现技术。 1、 MVVM模式及双向数据绑定 MVVM是Model-View-ViewModel的简写,即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。这两个方向都实现的,称之为数据的双向绑定。 在MVVM的框架下视图和模型是不能直接通信的。它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。并且MVVM中的View 和 ViewModel可以互相通信。声明性数据和命令绑定隐含在MVVM模式中。在Microsoft解决方案堆中,绑定器是XAML的标记语言。 图1.MVVM模式 如图所示,在一个View的生命周期内,一个ViewModule会管理一个DomainObject(业务模型),一个DO可能包括多个Module数据模型,一个Module可能来自多个数据源,而不是想很多所谓的MVVM框架那样强迫一个M来一个数据源。 这样的分层,使得逻辑更加清晰,Module层可以被多次复用,一般来说DO层与VM层View层属于一一对应关系,方便对数据做增删改查的同步。 MVC全名是Model View Controller,MVC是Model-View- Controller的简写。即模型-视图-控制器。M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑。使用MVC的目的就是将M和V的代码分离。‘MVC是单向通信,也就是View跟Model,必须通过Controller来承上启下。MVC和MVVM的区别并不是VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。 MVVM代码实现步骤: 1.View:MainPage.xaml——>绑定Result和ClickMeCommand 2. MainPageViewModel.cs——>提供数据Result和功能Command 3. 使用定位器模式ViewModelLocator.cs——>定位ViewModel(依赖注入容器SimpleIoc) 4. 将ViewModelLocator注册在全局App.xaml里 5. 在MainPage里通过ViewModelLocator绑定MainPageViewModel mainpages里通过locator找到model,Bining把viewmode里数据绑定到了ui ViewModel里的Locator代码如下: public class ViewModelLocator {//定位器能定位 负责找ViewModel public MainPageViewModel MainPageViewModel => SimpleIoc.Default.GetInstance(); //依赖注入容器 SpringIoc public ViewModelLocator() {//定位器 SimpleIoc.Default.Register(); //只要注册一下,以后可以无限取 } 在app.xaml把Locator注册为静态资源: //注册ViewModelLocator资源 相较于MVC,MVVM的优点在于:MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开,实现的是业务逻辑组件的重用,其中的ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。由于mvc出现的时间比较早,前端并不那么成熟,很多业务逻辑也是在后端实现,所以前端并没有真正意义上的MVC模式。