作者小头像 Lv.4
652 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
  • 活跃之星
  • 考证狂人
成长雷达
15
387
100
150
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2021/05/17 11:07:10 最后回复 奋斗青年_93 2021/11/12 09:50:11 版块 训练营
15897 251 0
发布时间 2021/05/17 11:07:10 最后回复 奋斗青年_93 2021/11/12 09:50:11 版块 训练营
15897 251 0
发布时间 2021/05/17 11:07:10 最后回复 奋斗青年_93 2021/11/12 09:50:11 版块 训练营
15897 251 0
他的回复:
华为云ID:Onlymrwcj第四周读书笔记第4章 Java数据类型和变量# 变量变量是程序中存储数据的基本单元,在该存储空间中,存储的数据值可以改变。通过变量名可以简单快速地找到它存储的数据。- 1.声明变量,即根据数据类型在内存申请空间。数据类型 变量名;eg:int age;- 2.赋值,即将数据存储至对应的内存空间。age = 20;上面两步可以合并int age = 20;- 3.使用变量,即取出数据使用;- 什么是标识符?用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单的说,标识符就是一个名字。- 标识符命名规范:标识符由数字、字母、下划线和$组成,第一个字符不能是数字;标识符不能是java关键字和保留字;标识符区分大小写,遵循驼峰命名规范;标识符要简单明了,见名知意。- Java中有3种类型的变量:全局变量、局部变量、静态变量- 1.全局变量:类的属性,也叫成员变量或实例变量2.局部变量:某个方法或代码块中临时定义的变量- 3.静态变量:被static修饰的变量,整个类的成员共享的变量ASCII:American Standard Code for Information Interchange,美国信息交换标准代码。基于拉丁字母,主要用于显示现代英语和其他西欧语言,最通用的信息交换标准,并等同于国际标准ISO/IEC 646ASCII码使用指定的7位或8位二进制数组合表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。Unicode,统一码,万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。 Unicode是为了解决传统的字符编码方案的局限而产生的,早期被设计为16位的字符编码,能产生65536个字符,后期被扩展为1112064个字符,称为补充字符,Java支持这些补充字符char占2个字节,范围[0,65535]数据类型转换: 自动类型转换:小范围变量数据赋值给大范围变量 强制类型转换:范围大的变量数据赋值给小范围的变量,要指明数据类型在C和C++里通过指针操作内存中的元素,在Java 中通过“引用”。在Java中一切都被视为对象,但我们操作的标识符实际上是对象的一个引用。引用数据类型:数组、接口、类
发布时间 2021/05/17 11:07:10 最后回复 奋斗青年_93 2021/11/12 09:50:11 版块 训练营
15897 251 0
他的回复:
华为云ID:Onlymrwcj第三周读书笔记第三章 Java编码规范3.1 标识符的关键字标识符规则: 1.字母、数字、下划线、$ 2.不能使用数字开头 3.不能使用Java关键字 4.区分大小写标识符:类、变量、方法、接口、枚举、注解 utf-8编码格式,因此可用中文类,接口命名规则: 单个单词:首字母大写,其余小写,小驼峰命名法 多个单词:每个单词的首字母都大写,其余小写,大驼峰命名法规范:(尽量按照统一的规范来进行命名,不符合也可以编译通过,但是不专业)1)见名知义2)遵循驼峰命名方式3)类名,接口名首字母大写,后面每个单词的首字母大写4)变量名,方法名首字母小写,后面每个单词首字母大写5)常量名全部大写,单词和单词之间使用"_"衔接关键字是SUN公司开发java语言的时候,提前定义好的一些具有特殊含义的单词,全部小写,不能作为标志符3.2 文档注释,单行注释和多行注释1、单行注释: //2、多行注释:/...../3、文档注释:在.java原文件所在目录中执行命令华为java编程规范- 1.注释:源程序注释量必须在30%以上,注释的内容清楚明了,含义准确- 2.缩进:缩进空格4个,不允许用tab缩进- 3.分界符如{}应各独占一行,同时与引用它们的语句对齐- 4.较长的语句、表达式或参数(>80字符)要分成多行书写。window =>Editors => Text Editors => Show print margin,勾选- 5.一行只写一条语句,不允许多个短语句写在一行中- 6.if/for/do/while/case/switch/default等语句自占一行;if/for/do/while等语句的执行体部分无论多少都要加{}- 7.命名:类名和接口使用类意义完整的英文描述,每个英文单词的首字母大写,其余字母小写- 8.命名:方法名和属性名使用意义完整的英文描述,首字母小写,剩余单词的首字母大写- 9.命名:常量使用全大写的英文描述,英文单词之间用下划线隔开,并且用static final修饰
发布时间 2021/05/17 11:07:10 最后回复 奋斗青年_93 2021/11/12 09:50:11 版块 训练营
15897 251 0
他的回复:
华为云ID:Onlymrwcj第二周读书笔记第2章 Java开发环境的搭建JDK:javaSE标准安装包,包含JRE。JRE:Java运行环境。JVM:Java虚拟机,是JRE的一部分。Java程序语言的核心,具有独立性。JVM (Java Virtual Machine)Java虚拟机,是JRE的一部分jvm.dll: JVM所有程序并不是直接运行在操作系统上,而是通过JVM执行,这样一来肯定要比直接在操作系统上执行程序的处理速度要慢,先期这的确是个问题,但是后来由于硬件技术的飞速发展,这些问题已经可以忽略了,但是依然会存在JVM调优问题。 环境变量JAVA_HOME配置- 1.右击计算机>属性>高级系统配置>环境变量- 2.系统变量里新建系统变量,变量名为JAVA_HOME,变量值对应JDK的安装目录,如:C:\Program Files\Java\jdk1.8.0-171- 3.系统变量里找到path,点击编辑,在path值后面加上分号,再加上%JAVA_HOME%\bin,确定。java程序开发中最基础的单元是类,所有的程序都必须封装在类中执行,类的基本定义语法如下:[public] class 类名 {},类名称必须与文件名称保持一致,一个.java文件中只允许有一个public class定义。类名称的每一个单词首字母要求大写。主方法main,主方法是所有程序执行的起点,并且一定要定义在类中,住方法定义为:public static void main(String [] args){执行代码}编译指令javac,其中的c就是compile的意思,java文件只是源码文件,不能执行,必须转换成字节码文件.class才能执行。
他的回复:
华为云账号:Onlymrwcj微信昵称:归晴day 05   搭建一套开发框架ASP.NET Core框架不规定用于创建服务的任何特定的体系结构样。首先了解一下什么是REST。REST指的是一组架构约束条件和原则,满足这些约東条件和原则的应用程序或设计就是 RESTful。REST首次出现在 Roy Fielding于2000年发表的博士论文中。它是一种架构模式,用于创建使用HTTP作为其基础通信方式的AP。REST体系结构模式指定了系统应遵守的一组约束,即REST约束。RESTful约束用于限制服务器端只能遵循这些约束来处理和响应客户端请求,而遵循这些约束服务也可以获取理想的非函数化的属性,比如性能、可伸缩性、简单程度、可变能力、可见度灵活性和可信度。如果任何一个服务违背了其中一个原则,则不能被称作 RESTful系统客户端服务器约束:这是第一个约束。客户端发送请求,服务器发送响应。服务器架构背后的原则一一关注点分离。通过分离用户界面和数据存储这两个关注点,提高了用户界面跨平台的可能性,通过简化服务器组件提高了其可伸缩性无状态约束:客户端和服务器之间的通信在请求之间必须是无状态的。这意味着我们不应该在与客户端相关的服务器上存储任何内容。来自客户端的请求应包含服务器处理该请求的所有必要信息。这样可以确保服务器独立处理每个请求可缓存约束:服务器提供的某些数据(如产品列表或公司的部门列表)不会经常更改。此约束表明,应让客户端知道该数据的有效期为多长时间,这样客户端就不必一次又一次地通过服务器获取该数据了,比如网页缓存统一接口约束:定义了客户端和服务器之间的接口。要了解统一的接口约束,我们需要了解什么是资源以及HTTP谓词(GETPUT、PoST和 DELETE)。在 RESTful AP的数据库上下文中,资源通常代表数据实体,产品、员工、客户等都是资源。每个请求发送的HTP谓词(GET、PUT、PoST和 DELETE)告诉AP如何处理资源。每个资源都由特定的UR(统一资源标识符)标识ASP.NET Core中的 WEB APISwashbuckle. AspNetCore有如下3个主要组件Swashbuckle. AspNet core. Swagger:将 Swagger对象模型和中间件转换为SwaggerDocument对象,然后作为公开JSONSwashbuckle. AspNetCore Swagger Gen:是一个 Swagger生成器,可以将SwaggerDocument从路由、控制器和模型中直接生成对象。它通常与 Swagger中间件结合,以生成自动公开的 Swagger JSONSwashbuckle. AspNetcore. Swagger:它是一个嵌入式的多版本 Swagger UI工具。它可以解析 Swagger JSON来构建丰富的、可定制的界面,以呈现 Web ap功能它还包含一些内置的公共方法测试工具。Swashbuckle.AspNetCore会去解析OpenAPI的规范和协议,所以无需手动维护他们了。要配置多版本API隔离配置SwaggerUI即可。
他的回复:
华为云账号:Onlymrwcj微信昵称:归晴day 04 泛型仓储的最佳实践落地1.如何做一个好架构1、架构简介架构设计角度:业务设计、物理部署、开发架构架构是有关软件整体结构与组件的抽象描述,用于指导软件设计。构架即软件系统的顶层设计结构。架构规则:构架是顶层设计,框架是半成品,组件是复用,模块是业务职责划分,系统是协调且可运行的实体,系统由子系统组成,子系统由模块组成,模块由组件组合而成。泛型仓储的最佳实践落地采用仓储模式的优势包括:使代码更清晰,更易于重用和维护;允许创建松耦合的系统。那么接下来要添加很多实体,比如 Course、 Department和 Teacher等,要怎么建立仓储呢?按照目前的方式,我们会针对每个实体都创建两个文件一个为 Repository的接口文件一个为 Repository的类文件如果有50个实体,那么就会创建100个文件,然而每个类中的实体所做的功能都差不多(都是增、删、改、査等基础功能)。如果要增加一个通用功能,比如统计总数,那么就要修改100次,这不仅枯燥乏味,还极易出错。另外,我们还要将它们全部注入Configure Services(()方法中,此时会发现,我们根本无法维护这个 Startup类文件。.复杂数据类型及自动依赖注入NetCore.AutoRegisterDi是一个开源库,目前使用Microsoft.Dependency Injection依赖注入组件,但也有使用Autofac组件,此组件功能较多,但是性能比较慢。如何在ASP.NET Core中处理并发冲突悲观并发称悲观锁,在没有EF Core的ORM框架之前,采用传统Ado.Net提供的开发方式,应用程序为了防止在并发情况下出现数据丢失,会将数据库锁定,从数据库读取一条数据前,锁定为只读或更新状态。这样会占用大量数据库资源,导致性能问题。乐观并发又名开放式并发,也称乐观锁。它允许多个进程或用户独立进行更改而不产生数据库锁,节省开销。悲观锁每次读取数据都会对数据加锁,而乐观锁并发每次读取数据默认不加锁,只有在更新的时候才判断当前数据是否更新。乐观锁会通过给数据添加版本号记录机制实现,适用于多读的应用类型,提高吞吐量。EF Core的工作原理:配置并发令牌(RowVersion属性)可以控制乐观并发,每当SaveChanges()方法执行更新或删除操作是,会将数据库上的并发令牌值与EF Core中读取的原始值比较,如果RowVersion值匹配,则完成操作,如果不匹配,则EF Core会假设另一个用户已执行冲突操作,并中止当前事务。
他的回复:
华为云账号:Onlymrwcj微信昵称:归晴day03 ASP.NET CORE Identity.1 为什么需要密码加密?由于很多用户是多个网站共用一个密码,因此一个网站密码泄漏就会造成很大的安全隐患。由于有了这么多前车之鉴,我们现在做系统时,密码都要加密处理。加密方案进化史Hash算法原始密码经哈希函数计算后得到一个哈希值改变原始密码,哈希函数计算出的哈希值也会相应改变同样的密码,哈希值也是相同的哈希函数是单向、不可逆的。也就是说从哈希值,你无法推算出原始的密码是多少密码加盐为了防止黑客通过彩虹表根据哈希值反推原始口令,在计算哈希的时候,不能仅针对原始输入计算,需要增加一个salt来使得相同的输入也能得到不同的哈希,这样,大大增加了黑客破解的难度。自适应单向函数现在鼓励开发人员利用自适应单向函数来存储密码。开发人员来设定不同的worker factor满足不同的安全需要,在安全和效率之间做出权衡。例如: bcrypt , PBKDF2 , scrypt , and Argon2 .ASP.NET Core Identity是使用什么密码加密  HASH256 开放式重定向漏洞:用户可能会被诱导到其他木马网站导致账号被盗。ASP.NET Core 中内置的LocalRedirect()方法可以防止重定向攻击。允许url访问非本地URL需要自行扩展白名单地址栏。3.2 ASP. NET Core身份( dentity认证介绍ASP. NET Core Identity是一个会员身份系统,最早的时候它的名字还叫" Membership",当然那是一个古老的历史,现在我们来了解全新的 Identity 吧。它是一个完善的,全面的,庞大的框架。创建查询更改删除账户信息。验证和授权。密码重置。双重身份认证。支持扩展登录,如微软、 Facebook、谷歌,Qα微信等等。它还提供了一个丰富的AP,并且这些AP还可以进行大量的扩展。ASP.NET Core Identity中用户表与角色表的关联关系是多对多 。授权与认证的关系定义:身份认证:识别用户的身份授权:识别用户可以做什么或者不可以做什么。MVC的授权通过[Authorize]Attribute控制 3. ASP.NET Core中的授权           身份验证是用于识别用户的身份,而授权是用于识别用户可以做什么和不能做什么的过程,ASP.NET Core MVC中的授权通过Authorize属性标签控制。       4. 角色管理与用户扩展           用户扩展实现通过扩展内置的IdentityUser类,在AspNetUsers表中保存自定义数据,用户管理使用UserManager类。           角色管理使用RoleManager类,将IdentityRole类指定为RoleManager的泛型参数,通过依赖注入,RoleManager可供任何控制器或视图使用。       5. 角色授权是指可以对控制器(Controller)或控制器内的操作方法应用基于角色的授权检查。       RBAC:Role-Based Access Control,基于角色的访问控制       CBAC:Context-Based Access Control,基于上下文的访问控制