谷粒商城归纳总结----------------------chapter1

在做完尚硅谷的谷粒学院以后,为了增加自己的技术栈继续学习谷粒商城——

1.学习docker的过程中对容器的一个理解就是,每一个部署的环境可以立刻通过一个docker容器进行存放对应的镜像映射,并且宿主机以及相对应的镜像之间的关系,大linux包含小linux其实每个镜像内部都是一个小linux,可通过命令docker exec -it mysql /bin/bash 进入到linux内核中进行简单的linux命令操作,在进行实践的过程中发现vim命令不可用也就是说我们不能进入到内核进行对文件的修改,需要对docker进行文件挂载以及端口映射的一个操作,大linux的端口号映射docker当中的端口号并且宿主机当中的文件目录和docker中镜像对应的文件进行挂载,挂在过后可以在宿主机进行修改内容而无需进入的内核中。

2.P16当中人人开源的后台管理系统的环境搭建,无需安装py并且对应的node版本号为10.20.1 x 64位,并且我们采取一个依赖cnpm install操作时,使用淘宝镜像,如果使用国外的镜像往往依赖下载不成功导致无法运行,那么安装完以后就可以了。
在这里插入图片描述
在这里插入图片描述
常见问题
一:使用cnpm命令无法运行脚本在这里插入图片描述使用cnpm无法使用命令的话那么使用powershell以管理员身份运行并且执行命令输入set-ExecutionPolicy RemoteSigned,选择Y 或者A ,就好了在这里插入图片描述
在这里插入图片描述
二:使用人人开源的第二条命令时报错(其实是你本机已存在cnpm),也就是说直接运行第三条命令即可
在这里插入图片描述
三:如果是因为npm install安装不成功失败以后,我们应该将下载的依赖进行一个删除操作,当然可以直接删除文件夹node_modules,同时我也了解到有一个做法

npm install rimraf -g
rimraf node_modules

可以快速删除文件夹并且删除彻底且成功。

四.在最新版的idea当中没有.idea文件夹并且在运行springboot项目的时候如何查看run dashboard,最新版放入进了view tools中的services并且在run configuration当中并且选择springboot即可
在这里插入图片描述
在这里插入图片描述
五.在单元测试的时候报:java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use在这里插入图片描述
①:有可能没有编写启动类
②:启动类以及单元测试类他们不在同一个目录下所以报 找不到启动类,放在同一个包目录下就解决这个问题了
在这里插入图片描述
六.gateway网关的使用(可以提供高可用)
在部署gateway统一前端项目请求跳转后端接口同一路径,并且过程中需要uri路径重写,并且涉及到跨域问题给gateway设置一个configuration.
在这里插入图片描述
在这里插入图片描述

跨域:
跨域的出现指的是浏览器不能执行其他网站的脚本,本质其实就是js同源策略,浏览器对js施加的安全限制。对如普通的html标签来说不存在跨域问题,并且浏览器向服务器发送一个简单请求的时候也就是get,head,post请求并且Content-type有要求,而其他请求则是非简单请求,非简单请求发送的时候需要发送一个options方法预检请求,当发送完以后请求响应是否允许跨域,若允许才真正发送数据给服务器,当然在进行表单提交的登录时是post提交同时content-type是application-content所以是非简单请求。
在这里插入图片描述
七.文件上传涉及跨域问题
在这里插入图片描述

① 起初做谷粒学院的时候,文件上传功能是用户将文件上传到应用服务器当中,并且采用阿里云提供的sdk,输入账密以及对应的accesskey和accesssecret,好处就是不会对外暴露并且比较安全,不好的地方在于文件上传压力给到了应用服务器上增加了带宽如果上传较大的文件影响其他接口的使用
在这里插入图片描述

②直接让浏览器上传给对象存储将阿里云账密放入到js当中,让js直接提交到阿里云的oss当中。好处加快速度,降低了服务器的压力,坏处就是有泄露账号密码的风险
③我们采取一个方式就是浏览器请求应用服务器返回一个哈希签名,通过返回成功哈希签名校验后使用浏览器js上传到阿里云oss当中这样既降低了应用服务器的压力,同时也降低账密泄露的风险。
在这里插入图片描述
注:上述③文件上传的时候出现了跨域问题,原因就是本项目发送给阿里云oss出现了跨域问题,js的同源策略,不允许执行本项目以外的脚本。
在这里插入图片描述
解决方案就是:在阿里云oss当中配置好跨域设置允许哪种方式那种请求头来源于哪里即可解决
在这里插入图片描述

常用知识点总结:
① java8新特性stream流式编程:(圣思园)
筛选,排序,聚合
stream流相当于包含了对集合当中的每个元素操作的一个容器。那么其操作和&& ||存在着短路操作,如果满足那么
在这里插入图片描述
②函数式接口:
1.接口只有一个抽象方法
2.接口当中可以包含Object当中的方法,可以重写相对应的Object方法
3.接口上方声明了@FunctionalInterface
对于函数式接口而言其实现可以是lambda,方法引用以及构造方法实现
③lambda表达式
其实也就是函数式接口实现类的对象,其实就是引入了函数式编程,因为在1.8之前入参和返回值都不会有函数,那么1.8之后引入函数式编程以后可以类似于js一样在入参上直接编写函数,相对于函数式编程而言就是对应的函数式接口,具体如上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破晓以胜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值