T31项目
文章平均质量分 64
听风吟,凭风舞
这个作者很懒,什么都没留下…
展开
-
Day24T31用户系统权限实现
原创 2021-11-29 23:13:04 · 2732 阅读 · 0 评论 -
Day22T31单元测试与系统安全规约
一、单元测试规约软件测试指的就是通过手工对被测对象进行测试操作。以此来验证实际结果与预期之间是否存在差异。软件测试目的: 验证软件的正确性 找出软件中的bug1.单元测试的AIR原则A:Automatic 自动化I:Idependent 独立性R:Repeatable 可重复性2.BCDE原则B:Border 边界值测试C:Correct 正确的输入,并得到预期的结果D:Design 与设计文档相结合E:Error 证明程序有错...原创 2021-11-26 23:51:02 · 2382 阅读 · 0 评论 -
T31Day21一周学习总结
T31课程学习到第三周了,学习到后面听的大多是懵懵懂懂,这大概就是知道的越多就越觉得自己无知吧。这周主要学习的课程有Java开发避坑指南、集合与并发编程以及懵懵懂懂的Oath2。这周Java开发避坑指南,还是教会了我很多开发方面的注意事项,比如:浮点数的转化以及在二进制中的存储;日期对象格式的发展从Date、SimpleDateFormat、Calendar到LocalDate、LocalTime、LocalDateTime、Instant等,在现在的高并发编程中线程安全是一个非常重要的保障原创 2021-11-21 22:24:46 · 529 阅读 · 0 评论 -
T31Day19Oath2
一、Oath2是什么?Oath2是目前最流行的授权协议,用来授权第三方应用,获取用户数据。Oauth2授权模式: 授权码模式:最完整和严谨的授权码模式,第三方平台登陆都是此模式;安全性最高; 简化模式:省略授权码阶段,客户端是纯静态页面采用此模式;安全性高; 密码模式:把用户名和密码告诉客户端,对客户端高度信任,比如客户单和认证服务器是同一公司;安全性一般; 客户端模式:直接以客户端名义申请令牌,很少用,安全性最差;二、为什...原创 2021-11-15 23:55:04 · 213 阅读 · 0 评论 -
T31Day17集合与并发编程
一、集合规约数据结构:指逻辑意义上的数据组织方式及其相应的处理方式。大致分为: 线性结构 树结构 图结构 哈希结构HashMap: 分为哈希槽(slot)和哈希桶(bucket),大致存储结构为数组加链表,链表在数据比较多的时候会进化成红黑树。 在执行steam流编程过程中想要使用Collectors.toMap()时,要注意如果键值可能重复需要一个BinaryOperator参数类型的参...原创 2021-11-15 23:34:47 · 606 阅读 · 0 评论 -
T31Day15Java开发避坑指南
一、浮点数据的处理上节课孤尽老师给我们讲了浮点数为什么会出现精度损失的问题以及浮点数在二进制中存储的一个形式,这节课更加详细的讲述了浮点数由10进制转换到2进制的一个计算过程例:5..2F 该数字的整数部分为101,小数部分应为0011001100110011001100110011...,因为尾数位置的有效位数只有23位,所以只能取到红色部分,黑色部分省略,这就是为什么浮点数会存在精度损失,所以暂时可表示为101.00110011001100110011001;然后将该数使用科学计数法计数得:1.原创 2021-11-11 00:35:53 · 304 阅读 · 0 评论 -
T31Day14一周学习总结
这周主要学习了工程结构规约,技术架构选型,以及编码规约。一、工程结构规约这节课主要学到了项目分层,MVC框架的发展,以及现在java工程应用最广泛的包管理发工具Meavn,Meavn可以帮助我们更高效的开发Java项目,主要功能包括依赖管理,打包,主要是帮我们统一了目录格式,是代码的维护成本变得更低了。二、技术架构选型这节课学到了微服务框架的一个发展历史,由最早的单体应用到SOA架构在到现在的微服务,更多的是学到了一个各个分层开源项目的一个技术选型,及功能对比,如数据库连接池的主流技术有Dr原创 2021-11-10 23:52:38 · 873 阅读 · 0 评论 -
T31Day12编码规约
一、为什么要有编码规约?熵增定律:只要我们没有外力干预代码规范,我们的代码总有一天会无可救药。熵增定理:任何系统在没有外力有序干预下,一定会往混乱无序的方向发展。代码规范不一致带来的最直接的后果就是代码的生产力损耗。1.好的代码规约带来的效益:减少代码维护成本。改善可读性提高团队开发的合作效率锻炼出更加严谨的思维身心愉快二、代码格式与命名风格1.命名体现代码元素特征 ...原创 2021-11-08 00:10:23 · 240 阅读 · 0 评论 -
T31Day10技术架构选型
一、关于技术选型为什么要进行技术选型: 降低研发成本,提高研发效率。1.微服务架构的诞生单体应用:所有的模块打包到一起部署运行;例如打包一个War包放到一个Tomcat下运行,这种架构也叫巨石型应用架构,在开发小型项目上有独特优势: 易于调试、部署,运维方便。缺点:1、不可靠。任何模块的一个bug,可能拖垮整个应用 2、单维扩展。只能通过运行更多的服务器水平扩展,而不同的应用服务对资源的需求不同 ...原创 2021-11-07 23:19:13 · 123 阅读 · 0 评论 -
T31Day08工程结构规约
一、应用分层为什么要分层?可扩展性、可维护性。计算机领域的任何问题都可以通过加一个中间层来解决推荐分层结构:分层的异常处理:DAO层:异常类型很多,不需要打日志。Service层:必须记录出错日志到磁盘,尽可能带上参数信息,保护案发现场。Web层:绝不能往上抛异常,应跳转到友好错误页面,友好的提示错误信息。开放接口层:将异常处理成错误码和错误信息方式返回。分层领域模型:DO(Date Object):此对象与数据库表结构一一对应,通过DAO层向上传输数据源对象原创 2021-11-02 23:40:06 · 139 阅读 · 0 评论 -
T31Day07一周学习总结
回顾上一周所学的内容,主要有架构设计、数据库建库建表规约、异常与日志设计规约等等更偏向开始写代码前的规划工作,正所谓磨刀不误砍柴工,在拿到项目需求后,做一个需求分析设计,再做一个整体的规划,一个好的架构设计对软件制作过程绝对会起到事半功倍的效果。这一周的学习对我个人来说,收获还是比较大的。收获: 对于我一个刚入行业没多久的软件开发工程师来说,架构设计一节课无疑是扩宽了我对整个软件开发行业的视角,我曾简单的以为架构就是简简单单的做一个技术选型,比如数据库用xxx?亦或者是使用SSM框...原创 2021-11-02 00:14:35 · 153 阅读 · 0 评论 -
T31Day05异常处理和日志
一、Java异常机制1.Java异常处理流程2.Java异常处理机制3.Java异常体系二、异常处理设计与实践1.异常抛出与捕获的原则 非必要不使用异常 使用描述性消息抛出异常 力所能及的异常一定要处理 异常忽略要有理有据2. 特殊NPE场景及其处理对策①级联调用时容易产生NPM(NullPointException)String name=university.getColleage().g...原创 2021-11-01 00:09:18 · 116 阅读 · 0 评论 -
T31Day03Mysql规约
首先,什么是规约?规约经过相互协议规定下来的共同遵守的条款。为什么要制订规约?为了方便多人合作,及降低沟通成本。一、建表规约作用:解决数据库相关名称的纠结,选择合适的数据类型及长度。1.表和字段命名:必须使用小写字母或数字 禁止出现数字开头 禁止两个下划线中间只出现数字 不使用复数名词 禁用保留字 是与否概念的字段,必须使用 is_xxx 的方式命名注:对应的在...原创 2021-10-30 16:04:41 · 154 阅读 · 0 评论 -
T31项目Day01架构设计
一、需求分析理解和挖掘用户的诉求,以及背后的逻辑,转化成可行性的分析结果。从非结构化到结构化,确定系统的职责、模块的过程。1.需求边界2.用户故事3.用户路径问题的分层:用户问题:业务问题:产品问题:技术问题:二、七大设计原则1.单一职责高内聚、低耦合模块的名字非常重要...原创 2021-10-27 00:23:28 · 123 阅读 · 0 评论