11 2019 档案

摘要:授权服务器,返回给我一个授权码,这里我只需要把授权传回去就可以了。来证明我是这个服务器。 URI的地址传和第一次的地址一样的,认证服务器会比,第一次跳转的请求和第二次申请令牌的请求redirect_uri这个参数是不是一致,如果不一致 就会报错。这样发出请求后 ,就会拿到一个令牌。 前端的服务器拿到 阅读全文
posted @ 2019-11-30 23:27 高山-景行 阅读(548) 评论(1) 推荐(0) 编辑
摘要:目前为止已经完成了完整的用户逻辑 目前的问题是,用户在登陆的时候,用户名提交的是给前端服务器的。每个前端服务器的开发人员都可能接触到前端的用户名密码。 每一个客户端应用都要去处理登陆的逻辑,一单我的登陆逻辑有变化,可能我所有的客户端应用都要去改,重新部署。一个是安全性,一个是耦合 ,开发起来会比较麻 阅读全文
posted @ 2019-11-30 15:00 高山-景行 阅读(640) 评论(0) 推荐(0) 编辑
摘要:步骤1234已经完成 下面处理 5678这几步。zuul在转发的时候 把请求头加上 获取订单信息 加一个按钮,登陆成功后,去拿订单的信息。 展示获取到的订单信息 ts代码 ts内定义order对象 定义getOrder的方法 和登陆类似 ,这次发的是get请求 前端代码的后端java 先复制zuul 阅读全文
posted @ 2019-11-29 13:00 高山-景行 阅读(720) 评论(0) 推荐(0) 编辑
摘要:本节来实现一个登陆的效果。 需要一个登陆前的页面和登陆后的页面。 直接粘贴过来的代码 这是一个和后台的绑定 后台要有个autenticated的对象来实现绑定,ts内我们定义这个autenticated变量。当autenticated是false的时候,这个hidden就不触发。 方括号绑的是属性, 阅读全文
posted @ 2019-11-29 00:11 高山-景行 阅读(495) 评论(0) 推荐(0) 编辑
摘要:创建一个新的maveb项目,做一个admin的管理界面 用angular写前面的页面。 先把dependcency引用引进来。 前端的插件能帮我在springboot里面搭建出一个nodeJS的环境来。最近这里的引用可以插件最终的源代码。 这是node.js的版本 多出一个node的文件夹来。 有了 阅读全文
posted @ 2019-11-28 22:09 高山-景行 阅读(841) 评论(4) 推荐(0) 编辑
摘要:基于微服务架构,前后端分离实现SSO 前后端分离到底是个什么样的架构。 中间不是用Nginx而是用Node JS。 node.js在服务端的页面渲染,这样搜索引擎爬虫 来爬的时候 爬的就是html页面。 我们 所说的前端不光是浏览器 ,还包括webServer。后端只负责提供数据 把 客户端 ,做成 阅读全文
posted @ 2019-11-28 19:21 高山-景行 阅读(493) 评论(0) 推荐(0) 编辑
摘要:限流,有个现成的开源项目可以帮助我们来做网关上的限流 用最新的这个版本 在pom.xml加入引用。 在限流的过程中需要存一些信息,可以存在数据库里 也可以存在redis里。这里我们演示存到数据库里 比如说配置1分钟内只能有100个请求。那么当前已经有多少个请求过去了 ,这个是需要记下来的,下一个请求 阅读全文
posted @ 2019-11-28 13:02 高山-景行 阅读(646) 评论(0) 推荐(0) 编辑
摘要:首先把地址给它 发送post请求,请求的数据就是这个entity对象。 最后返回的值要封装到TokenInfo里面 如果一切正常的话就会拿到一个响应的实体,实体里面就包含了TokenInfo 打印实体到控制台。最终返回response的body 审计日志 跟在Oauth的过滤器后面 所以这里是2 模 阅读全文
posted @ 2019-11-27 23:51 高山-景行 阅读(516) 评论(1) 推荐(0) 编辑
摘要:把在微服务里面写的安全的相关逻辑挪到网关里面来。这样把安全逻辑和业务逻辑解耦开。那么这些问题就都解决了。 先来看下之前的安全的代码,首先在之类做了认证,认证服务器去认证,拿这个token去换用户信息。 认证完成后,又在这里做了个简单的授权,盘点当前的用户是不是有读权限和 写权限。 在这里还根据res 阅读全文
posted @ 2019-11-27 23:06 高山-景行 阅读(579) 评论(0) 推荐(0) 编辑
摘要:安全相关的代码和业务逻辑相关的代码实际上是在一个应用里面的,在这个应用里面,我们需要去,这个应用本身的处理逻辑里面需要去处理令牌和用户信息之间的转换。 然后我们需要去知道认证服务器的地址,这些都是耦合。 虽然我们把server.resource这里面的代码提炼成一个公用的jar包 把这些client 阅读全文
posted @ 2019-11-27 21:48 高山-景行 阅读(809) 评论(0) 推荐(0) 编辑
摘要:现在有了认证服务器,也配置了资源服务器。也根据OAuth协议,基于令牌认证的授权也跑通了。基本的概念也有了简单的理解。 往下深入之前,有几个点,还需要说一下 使用scopes来控制权限,scopes可以理解为之前的ACL 第三章的时候自己写的ACL来控制的读写权限。在OAuth协议里面用scopes 阅读全文
posted @ 2019-11-26 23:39 高山-景行 阅读(552) 评论(0) 推荐(0) 编辑
摘要:认证服务器已经搭建好了。 可以通过认证服务器拿到令牌 下面改造订单服务,让它可以用这个令牌。 争对订单服务要做三个事, 1。让订单服务知道它自己是Oauth协议里面的资源服务器。,它知道这个事后,它才会在自己的应用前面去加一个过滤器,然后去校验这个令牌。 2.让它知道自己是什么资源服务器。让它声明一 阅读全文
posted @ 2019-11-26 21:48 高山-景行 阅读(1425) 评论(0) 推荐(0) 编辑
摘要:现在可以访问我们的认证服务器,应用我们已经配置好了。 下面配置让用户可以访问我的认证服务器。再来重写一个方法。 EndpointConfigure端点的配置。 authenticationManager用来校验,我们传进来的用户信息是不是合法的 authenticationManager那么它从哪来 阅读全文
posted @ 2019-11-26 17:14 高山-景行 阅读(1483) 评论(1) 推荐(0) 编辑
摘要:Oauth2 解决了cookie和session的问题 搭建认证服务器 把依赖都复制进来 因为搭建的是Oauth的服务器,所以还需要导入oauth2 开始写代码 首先创建启动类 增加配置文件 端口设置为9090 认证服务器的配置 继承的父类。 这个就是授权服务器的配置的适配器的类 @Configur 阅读全文
posted @ 2019-11-26 12:56 高山-景行 阅读(858) 评论(0) 推荐(0) 编辑
摘要:getSession这个方法里面的逻辑,会根据传过来的cookie里面带的JSessionID在你的服务器上去找一个session,如果能找到,就用这个已经存在的session,这个getSession就返回这个已经存在的session吗,如果没有找到就创建一个新的session并返回回来。这句是g 阅读全文
posted @ 2019-11-26 08:41 高山-景行 阅读(751) 评论(0) 推荐(0) 编辑
摘要:整体架构 这个图适合中小公司。麻雀虽小 五脏俱全。微服务架构所需要做的事在这个图里基本都有了。 绿色的不讲,主要讲的是这三块(橘黄色的)。后面的和运维相关,会讲,不会讲的太深 订单服务 首先来写一个订单服务 从user的项目 复制依赖到order里面 复制过来了 增加starter-web的依赖 创 阅读全文
posted @ 2019-11-26 00:21 高山-景行 阅读(1500) 评论(0) 推荐(0) 编辑
摘要:微服务的环境下,我的业务逻辑不再是在一个单一的进程里,而是分散了很多的进程里。订单、物流、库存、价格。每一个tomcat都是一个进程。 每一个进程,每一个tomcat都有自己的入口点。那么就导致我防范的攻击面比原来大的多 。那么风险也会高的多。 性能问题,原来的所有业务逻辑都在同一个进程里面。那么我 阅读全文
posted @ 2019-11-25 23:33 高山-景行 阅读(804) 评论(0) 推荐(0) 编辑
摘要:过渡到复杂的微服务场景下面。 搭建起一个简单的微服务架构,一个网关,一个安全中心,两个微服务,然后会看到如何将安全相关的问题解构出来放在网关上。 然后与OAuth协议整合起来。 阅读全文
posted @ 2019-11-25 22:15 高山-景行 阅读(370) 评论(0) 推荐(0) 编辑
摘要:认证:一个httpBasic 一个是用户名密码的认证 授权:数据库内判断的r就是读 w就是写 ,ACL 获取用户信息的这段逻辑,实际上着也是安全机制的一种。防止越权,当前只能看到自己的信息。 Spring Data JPA提供的一套审计机制,包括审计相关的注解 审计的接口 guava简单的实现留空效 阅读全文
posted @ 2019-11-25 22:10 高山-景行 阅读(296) 评论(0) 推荐(0) 编辑
摘要:让代码同时支持两种方式,登陆访问和带着请求头的token访问也可以。 首先做代码的重构 这里改成getSession() 改成这样以后会有一个问题,我用httpBasic登陆成功以后,我的用户信息放在session里面,后续的请求不用带Authorization的请求头也能访问。 我希望实现的效果是 阅读全文
posted @ 2019-11-25 21:01 高山-景行 阅读(445) 评论(0) 推荐(0) 编辑
摘要:结束 阅读全文
posted @ 2019-11-25 13:02 高山-景行 阅读(256) 评论(0) 推荐(0) 编辑
摘要:结束 阅读全文
posted @ 2019-11-25 12:54 高山-景行 阅读(154) 评论(0) 推荐(0) 编辑
摘要:结束 阅读全文
posted @ 2019-11-25 12:46 高山-景行 阅读(147) 评论(0) 推荐(0) 编辑
摘要:结束 阅读全文
posted @ 2019-11-25 12:40 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:结束 阅读全文
posted @ 2019-11-25 12:34 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:python特点 结束 阅读全文
posted @ 2019-11-25 12:18 高山-景行 阅读(259) 评论(0) 推荐(0) 编辑
摘要:网络带宽计算器的原理 输出的内容用print 引入变量,在前面写一个变量,是一个有意义的单词。把123这个数值赋值给变量a 下面的代码可读性 要比上面高很多。 变量其他需要掌握的知识点 一般这样是用做临时的变量,使用完成后在,这个变量就没有作用了,这种一般会用一个单独的英文字符来表示。 一般是使用意 阅读全文
posted @ 2019-11-24 20:45 高山-景行 阅读(205) 评论(0) 推荐(0) 编辑
摘要:打开终端,输入python3,这就进入了python的命令提示符。 输入type(8),返回的是int类型.用来type来判断当前的是什么类型。 字符串8转int类型。 数字123转字符串 布尔类型的判断 以上就是最基本的数据类型的转换操作。 结束 阅读全文
posted @ 2019-11-24 19:44 高山-景行 阅读(174) 评论(0) 推荐(0) 编辑
摘要:#号后面的都是注释 import是导入一个模块 结束 阅读全文
posted @ 2019-11-24 19:38 高山-景行 阅读(333) 评论(0) 推荐(0) 编辑
摘要:官方版本的python下载以及安装方法,以及pycharm的安装和打开。 社区版就可以完全支持我们的需求了。 点击左侧的图片到右边。 在命令行输入python3 exit() 退出命令行的编辑器。 pythn的运行 如果下面没有已经存在的监视器的话。可以选择上面的新建环境。 新建一个测试的 结束 阅读全文
posted @ 2019-11-24 19:35 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:pthhon3.0对开发者带来了麻烦,因为2.0个3.0的程序并不是兼容的。 目前python3.0已经变成了真正的主力 官方版本和发行版 发行版会把常用的科学计算的包也给继承进来。这样就不用考虑包和包的依赖关系。 https://mirrors.tuna.tsinghua.edu.cn/help/ 阅读全文
posted @ 2019-11-24 15:30 高山-景行 阅读(177) 评论(0) 推荐(0) 编辑
摘要:https://time.geekbang.org/course/intro/98 零基础学Python-第一章 :Python介绍和安装-01.Python语言的特点 零基础学Python-第一章 :Python介绍和安装-02.Python的发展历史与版本 零基础学Python-第一章 :Pyt 阅读全文
posted @ 2019-11-24 15:15 高山-景行 阅读(131) 评论(0) 推荐(0) 编辑
摘要:流控、认证、审计、授权以上都做了初步的简单的实现。 之前写的代码,base64加密了用户名和密码。 缺点1:每次请求都要带用户名密码 增加了泄露的风险。 每次传上来用户名和密码都要check验证。check是个非常耗资源的事 基于token的身份认证 token是有实效的 对于java开发,最常见的 阅读全文
posted @ 2019-11-22 16:07 高山-景行 阅读(684) 评论(0) 推荐(0) 编辑
摘要:说一下最后一个模块,授权。用来做访问控制,控制哪个用户能干什么。哪个用户不能干什么? 遵循最小的授权原则,一个用户只给他必须要的那些权限。 1.你的请求是不是需要权限认证, 有一些请求是根本不需要权限控制的,比如说商品信息搜索和商品信息的查看。 401代表当前请求需要认证,但是你没认证,有可能是没携 阅读全文
posted @ 2019-11-22 11:23 高山-景行 阅读(677) 评论(2) 推荐(0) 编辑
摘要:首先说一下审计日志的处理。审计日志处理的位置,应该是在认证之后,授权之前。因为只有你在认证之后,你才能知道这个请求到底是谁发出来的,谁在做这个事情。在这个授权之前,这样的话那些被拒绝掉的请求。在响应的时候你才可以把他记下来。 日志一定要持久化,可以把它存到数据库里,也可以把它写到文件里。 怎么保证过 阅读全文
posted @ 2019-11-21 16:26 高山-景行 阅读(2218) 评论(1) 推荐(1) 编辑
摘要:Https访问 1.验证双方的身份。 2.一旦建立连接,对数据进行封装加密 这里先生成一个自己自签的证书,不是第三方颁发的,第三方颁发的要花钱。 第二是做一些配置,让程序支持https 安装了java的环境,keytool命令就是可用的,密钥库的口令输入的是123456 keytool -genke 阅读全文
posted @ 2019-11-21 14:24 高山-景行 阅读(838) 评论(0) 推荐(0) 编辑
摘要:这一节来聊一下密码的加密。 加密盐,为了避免两个相同的面加密出来的密文是一样的,每个人的盐不一样, 首先引入工具包,lambdaworks 然后就可以对面进行加密 check是检查明文,确定能不能变成你的加密串。 后面三个参数用来控制你的加密的位数。知道就可以了不需要详细的了解。 运行测试 再存一个 阅读全文
posted @ 2019-11-21 14:08 高山-景行 阅读(958) 评论(0) 推荐(0) 编辑
摘要:校验:非空、唯一性等校验 密码的加密:密码加密来存储。 如何做https的访问 校验 一个层面是接口层面,另外一个层面是数据库层面。 Springboot给我们提供了简单的封装 校验的包里面还有其他的注解。 IDEA里面鼠标选中按住Ctrl键盘直接跳到注解的包下面 然后在参数之前加上注解。@Vali 阅读全文
posted @ 2019-11-21 11:10 高山-景行 阅读(981) 评论(1) 推荐(0) 编辑
摘要:基于Http协议的认证方式有很多。本节我们只讲一个最简单的HttpBasic认证。聪明就可以看出来,这是一个最基础的认证,好处是简单方便,所有的主流浏览器都支持,问题就是并不是非常安全的,但是帮我们大家理解认证这个概念是足够的。 首先要对认证信息做Base64的加密,加密之前要把这两个信息组合起来。 阅读全文
posted @ 2019-11-21 10:02 高山-景行 阅读(682) 评论(1) 推荐(0) 编辑
摘要:本节开始讲认证相关的东西、注意事项,出现问题的对应的解决方案。 先写用户注册的服务,注册一些用户信息进去。注册也是我们安全体系的一部分 注册 UserController里面的create方法 先修改实体类,加上username和password 因为我们已经在配置文件内配置了generate-dd 阅读全文
posted @ 2019-11-21 00:11 高山-景行 阅读(730) 评论(0) 推荐(0) 编辑
摘要:首先要保证你的服务是可用的,其中一个重要的手段就是流控。就是流量控制。比如我的系统每秒只能处理500个请求,那么多余的请求就拒绝掉。这样我的系统不会被压死 实际的开发中,所要面对的流控场景实际是非常复杂的,在负载均衡上做,反向代理上做,或者自己写代码去做也是可以的。。 负载均衡和反向代理一般是针对集 阅读全文
posted @ 2019-11-20 17:01 高山-景行 阅读(918) 评论(0) 推荐(0) 编辑
摘要:如果说想打印出来年龄,但是有没有年龄的这个key值 把创建年龄写在一个按钮上面 通过一个事件来做。 点击创建年龄的按钮,给obj.age设置为18,但是页面的双向绑定并没有显示出来。 因为不响应式,为什么vue不能发现了我改了age呢???因为vue是通过另外一个api。Object.defineP 阅读全文
posted @ 2019-11-16 19:14 高山-景行 阅读(540) 评论(0) 推荐(0) 编辑
摘要:阮一峰http://es6.ruanyifeng.com/#docs/proxy MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy 无限代理Tree http://ww 阅读全文
posted @ 2019-11-16 16:14 高山-景行 阅读(222) 评论(0) 推荐(0) 编辑
摘要:阮一峰 http://es6.ruanyifeng.com/#docs/reflect MDN有一些简陋的介绍 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Reflect 不推荐直接 阅读全文
posted @ 2019-11-15 13:06 高山-景行 阅读(380) 评论(0) 推荐(0) 编辑
摘要:String.includes es5里面判断字符串是否存在的方法 search searcg的厉害之处是可以使用正则 match正则的方式 repeat -1遍,就不合法 startsWith 判断一个字符串是否以某个东西开头的 以1234开头的为true 也可以用indexOf代替。 inclu 阅读全文
posted @ 2019-11-14 22:10 高山-景行 阅读(244) 评论(0) 推荐(0) 编辑
摘要:修复bug 还有bug。鼠标往左拖动,都会跟着动 先来修复这个bug。 -webkit-overflow-scrolling:让他在真正的手机上可以触摸去滚动 然后再设置图片的样式,高度和宽度都设置为100%,图片显示起来是有一些问题的,因为图片比较大所以有时候显示不全 ,然后设置object-fi 阅读全文
posted @ 2019-11-14 15:48 高山-景行 阅读(198) 评论(0) 推荐(0) 编辑
摘要:Array.form 把不是数组的东西变成数组。最常见的就是把伪数组变成数组 那么什么是伪数组 这就是伪数组,因为它不是继承自Array的原型的对象。它只是一个看起来很像数组的数组 只看下面的代码。a看起来很像数组,但是它又不是一个数组 生成的。所以它就是一个伪数组 伪数组就是拥有数组的下标和len 阅读全文
posted @ 2019-11-14 00:19 高山-景行 阅读(434) 评论(0) 推荐(0) 编辑
摘要:这些都是es6才有的 Object.assign 在a加上三个属性 分别是p1\p2\p3 以前是这么去加 b的三个属性p1、p2、p3就全部复制到a这个对象上了。 把后面的东西放到前面的东西上 两个对象都有同一个属性 后面有的重复的会覆盖前面 多个对象 再来一个c对象。 先把b的弄到a上面,再c的 阅读全文
posted @ 2019-11-13 13:09 高山-景行 阅读(160) 评论(0) 推荐(0) 编辑
摘要:Map类型 Map 类型 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。 普通的对象里面用对象做a做 阅读全文
posted @ 2019-11-12 22:02 高山-景行 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一种新的数据类型,它是对象的一种,Set,很像数组,又不是数组。 Set 类型 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set Set 对象允许你存储任何类型的唯一值,无论是原始 阅读全文
posted @ 2019-11-12 20:38 高山-景行 阅读(546) 评论(0) 推荐(0) 编辑
摘要:ES5现有的数据类型。7种数据类型。 新的类型是属于Object 最普通的类型。plain object 数组array 函数function 下面这些都属于Object类型。 今天要讲的 set类型表示集合 Map就是一个映射关系 TypedArray有类型的数组。 今天讲的内容都是不常用的内容。 阅读全文
posted @ 2019-11-12 12:55 高山-景行 阅读(346) 评论(0) 推荐(0) 编辑
摘要:await 拿到用户信息,函数前面加await await等待Promise成功或者失败。 如果Promise里面失败了 什么也拿不到。报了一个错误,叫做不认识。 如果想拿到正常错误,就绪try一下 catch catch就是只处理错误,等价于下面then第一个参数为null,只传递了第二个参数。 阅读全文
posted @ 2019-11-11 23:09 高山-景行 阅读(176) 评论(0) 推荐(0) 编辑
摘要:回调是不需要return 就可以传递数据。缺点就是嵌套多了就成了回调地狱 回调的另外一个问题拿不准应该怎么去传这个参数。以为node.js为例。nodejs有个readFile去读取文件,读取成功就用一个回调,读取失败再来一个回调。每个回调里面,可能还有回调。 这就是第二个问题,不知道应该去传这个回 阅读全文
posted @ 2019-11-11 21:58 高山-景行 阅读(258) 评论(0) 推荐(0) 编辑
摘要:promise 回调 把fun的调用写在另外一个函数里 fun()的调用在fn2这个函数里面。也是调用了函数。这种函数的调用形式叫做回调。 A打电话给C找B。但是B不在,C说等B在的时候让B给A回电话。这样B在的时候拿着A的电话回拨给A 回调地狱 回调,用另外一种形式,把信息传出去。 接收一个函数f 阅读全文
posted @ 2019-11-11 20:55 高山-景行 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-11-11 12:41 高山-景行 阅读(183) 评论(0) 推荐(0) 编辑
摘要:解答提问 两边都没有构造函数的情况 父类没有构造函数,子类有构造函数的情况 下面用到的了this.body这个属性,所以super()必须要放在这行代码的上面。 在调用this之前必须调用super() 公有属性如果是一个数字,用原型可以,class不行 在原型上加人类的属性 在原型上加上了。 通过 阅读全文
posted @ 2019-11-11 12:37 高山-景行 阅读(134) 评论(0) 推荐(0) 编辑
摘要:回顾 当你声明一个空的对象obj的时候,会生成一块内存这个内存里面什么都没有,自由__proto__存在401的地址。 也就是Object的protototype在内存中的地址 类 通过函数创建类。这就是构造函数的由来。 用函数来创建某一类的对象,这个函数就叫做构造函数。 公有属性和私有属性 cla 阅读全文
posted @ 2019-11-10 23:05 高山-景行 阅读(126) 评论(0) 推荐(0) 编辑
摘要:声明对象原型,公有属性。 obj对象,它用一个属性__proto__记录了自己的原型 改掉它的原型为公有属性。那么obj这个对象及有了hi的方法。因为obj自己没有hi。那么就去自己的原型上去找了。 obj.hi等价于公有属性.hi.call(obj). obj作为参数传递了过去。 obj把自己传给 阅读全文
posted @ 2019-11-10 22:22 高山-景行 阅读(136) 评论(0) 推荐(0) 编辑
摘要:ES6新出的关键class BE受雇与网景开发了JS 当我们在写一个对象的时候,我们实际上内存的形式表示。 obj等于一个空对象,可以直接toString。它为什么可以有toString window是一个全局的对象。 window下有个object的属性。 通过window.Object.prot 阅读全文
posted @ 2019-11-10 21:48 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:https://babeljs.io/ 复制到命令行执行 提示一个警告。缺少package.json这个文件 npm init -t ls 然后看到了生成了package.json这个文件。 然后再去安装babel 安装完成后,多了一个node_module的目录。babel就装在了node_mod 阅读全文
posted @ 2019-11-10 19:13 高山-景行 阅读(223) 评论(0) 推荐(0) 编辑
摘要:把模块先默认认为是豆腐块 为什么前端需要模块? 没有模块的方式 预览这个html页面 一共200行js代码 前100行在做一件事 ,另外100行在做另一件事,这样就是两个模块 main.js来控制模块1和模块2 把代码放在函数里面。 怎么让task1可以让第三个模块访问到呢???把task1交给wi 阅读全文
posted @ 2019-11-09 23:05 高山-景行 阅读(390) 评论(0) 推荐(0) 编辑
摘要:对象语法增强 已经有了个对象的新增语法 还需要一个api来做呢?、 因为有的时候,你需要在旧的对象上添加get、set。 读的时候就走get 写的时候就走set 假设很早之前在项目里写了一个old对象,它的属性都是写好的,现在想给oldObject加get、set。没有办法再去重新定义它 这个api 阅读全文
posted @ 2019-11-09 18:46 高山-景行 阅读(412) 评论(0) 推荐(0) 编辑
摘要:对象属性的加强: 可以通过new Object(), Object.create()方法,或者使用字面量标记(初始化标记)初始化对象。 一个对象初始化器,由花括号/大括号 ({}) 包含的一个由零个或多个对象属性名和其关联值组成的一个逗号分隔的列表构成。 上面那句话说的是如何产生一个新的对象。 下面 阅读全文
posted @ 2019-11-09 11:48 高山-景行 阅读(381) 评论(0) 推荐(0) 编辑
摘要:为什么要学用不到的东西 科班是把你未来一二十年用的东西都给你入个门 做前端 三年后一定要再学一门语言。 买一本图解算法 培训讲究的是技能,只能满足3到5年,而不是术,学术学的是你未来10年甚至20年用到的东西。 结束 阅读全文
posted @ 2019-11-07 22:46 高山-景行 阅读(142) 评论(0) 推荐(0) 编辑
摘要:yield的值就是外面调用next得到的值 ES6给的新的语法,如果你给任何一个对象添加一个Symbol.interator的key,同时它的值是一个生成器。 下面选中的就是生成器。生成返回的东西是迭代。那么这个对象就可以迭代,就叫做可迭代对象。 现在JS有三种for语法。 1:叫做for循环 2: 阅读全文
posted @ 2019-11-07 22:33 高山-景行 阅读(164) 评论(0) 推荐(0) 编辑
摘要:迭代器平时用的很少。但是如果你是写框架的,你会经常用到迭代器。 生成器是专门用来做迭代器的东西 发布器是要产生一个叫做next的对象,如果你要产生这种对象。就可以使用ES6新出的语法。 ES6的新语法 星号放在哪里都可以,甚至打空格可以了。 这样写也行 这样写也行 while(true)是一个死循环 阅读全文
posted @ 2019-11-07 22:25 高山-景行 阅读(175) 评论(0) 推荐(0) 编辑
摘要:symbol https://zhuanlan.zhihu.com/p/22652486 Es5中的数据类型,所有的复杂类型都是对象类型。 ES6里面增加了symbol类型,用处不多。 https://zhuanlan.zhihu.com/p/22652486 这段代码实际上不优化也完全没有问题 也 阅读全文
posted @ 2019-11-07 20:18 高山-景行 阅读(246) 评论(0) 推荐(0) 编辑
摘要:先来写一些用户的基础数据的管理的api。就是用户的基本的增删改查。用spring boot可以很容易的写出这种api 首先新建maven的项目 依赖关系 引入依赖。用最新的spring boot https://spring.io/projects https://docs.spring.io/sp 阅读全文
posted @ 2019-11-06 22:46 高山-景行 阅读(1371) 评论(2) 推荐(2) 编辑
摘要:不考虑微服务这种复杂的环境下,只是写一个简单的api的时候,如何来保证api的安全。 什么是API 阅读全文
posted @ 2019-11-06 21:26 高山-景行 阅读(959) 评论(0) 推荐(0) 编辑
摘要:下面这些。后续随着讲课逐步再去安装。 2019年1月开始 jdk是收费的 找jdk最后一个免费版本 8u192这是jdk1.8最后的一个免费版本 STS spring提供的ide可以方便的开发spring的项目 搜索结果的第一个 下载的地址: https://spring.io/tools3/sts 阅读全文
posted @ 2019-11-05 22:20 高山-景行 阅读(643) 评论(0) 推荐(0) 编辑
摘要:源码 链接: https://pan.【自己换成拼音的百度】.com/s/1Oa78tu-aiKWdBOjlTlv04g 提取码: ujmx 介绍 Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor 章 阅读全文
posted @ 2019-11-05 21:56 高山-景行 阅读(3334) 评论(9) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-11-05 21:55 高山-景行 阅读(735) 评论(0) 推荐(0) 编辑
摘要:今天的内容 字面量literal 写出来就是它的值 例如字符串hello。这就是自变量。 一个空对象,也是自变量 写出来就是代表它写出来的那个意思就是自变量。 与其相反的就是构造出来的。例如下面的new Object()就不是自变量。 非自变量就是构造出来的量 二进制 以前的二进制是怎么写的呢 以前 阅读全文
posted @ 2019-11-05 00:00 高山-景行 阅读(170) 评论(0) 推荐(0) 编辑
摘要:这是以前的字符串。。双引号,单引号。毫无区别 有时候在字符串里面写一些标签。 排版不好看 我就想回车一下。这样写虽然是好看。但是语法就报错了。es5的字符串不支持换行。我只想是想让它排版的好看一点。 js想的一个法子是在每一行加一些斜线用来转义 那么这样的代码有没有问题呢?再写一个一样的字符串。然后 阅读全文
posted @ 2019-11-04 21:28 高山-景行 阅读(246) 评论(0) 推荐(0) 编辑
摘要:主要讲的内容 时间充裕的话就讲,模板字面量 默认参数值 首先讲es6之前,我们是怎么做的。例如我们要写一个求和的函数, 请两个参数的和,但是如果有的人就是穿一个参数呢? 那么b没有传值,b的值是多少呢?打印出来就是undefined。NaN就是a+b的值 所以我们要处理b这个参数。b等于b或者是0, 阅读全文
posted @ 2019-11-04 13:03 高山-景行 阅读(748) 评论(0) 推荐(0) 编辑
摘要:在父组件内引用子组件的 引用多个的情况。QueryList是一个泛型 实战 选取图片。图片是ngFor循环 会有多个 使用@ViewChildren 在组件初始化里面输出看一下 在ngOnInit里面第一个打印出来,第二个没有打印出来。 这就是angular的生命周期了。 ngOnInit的时候视图 阅读全文
posted @ 2019-11-04 11:15 高山-景行 阅读(216) 评论(0) 推荐(0) 编辑
摘要:引用的名字是不能重复的。 声明成员变量,指定成员的类型是ElementRef。我们在前面加了个@ViewChild这么个装饰器. html可以理解为不是符合angular标准的组件库。 实战理解模板引用 想做轮播图的组件。 新建一个组件,理解模板引用的概念。 组件分为图片、图片下面的遮罩层、右下角的 阅读全文
posted @ 2019-11-01 16:27 高山-景行 阅读(208) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示