## 二、OAuth2 重点名词介绍 在 OAuth2 标准中定义了以下四种角色: * 资源拥有者 (**Resource Owner**): 代表授权客户端访问本身资源信息的用户(User); * 客户端 [20191028-OAuth2-02.png](http://images.pingan8787.com/blog/20191028-OAuth2-02.png) (配图来自公众号**前端修仙之路** ### 2. 案例:微信登录 另外,微信登录的实现流程也类似: ! [20191028-OAuth2-07.png](http://images.pingan8787.com/blog/20191028-OAuth2-07.png) 1. 部门内部培训资料 2. [《OAuth 2 深入介绍》](https://www.cnblogs.com/Wddpct/p/8976480.html) 3.
二、OAuth2 重点名词介绍 在 OAuth2 标准中定义了以下四种角色: 资源拥有者 (Resource Owner): 代表授权客户端访问本身资源信息的用户(User); 客户端 (Client) 理解完上面整个流程以后,我们再看看下面这张图,能更加清晰理解 OAuth2 的整个运行流程: ? 2. 案例:微信登录 另外,微信登录的实现流程也类似: ? 缺点: 学习和理解的成本比较大,并且 OAuth2 不是一个严格的标准协议,在实施过程中更容易出错。 六、更新令牌 当令牌有效期到了,OAuth2 允许用户自动更新令牌,而不用让用户重新授权获取新令牌。
面向对象的思想,是用程序语言勾勒现实世界框架的方式之一,它的出现不是用来为难开发者的,而是为了让开发者能以更贴近日常生活的认知方式来提升对程序语言的理解能力。 这里只看一下API用法,了解一下其对于this指向的影响: func.call(this, arg1, arg2...) func.apply(this, [arg1, arg2...]) func.bind (this [, arg1[, arg2[, ...]]]) 但是想要填别人的坑或者读懂大师级代码中简洁优雅的用法,还需要更多的修炼和反思。实际应用中许多复杂的使用场景是很难一下子搞明白this的指向以及为什么要指定this的指向的。 笔者将在《javascript基础修炼(3)——What's this(下)》中详细讲述开发中千奇百怪的this。欲知后事如何,先点个赞先吧!
import tensorflow as tf w1 = tf.Variable(tf.random_normal((2, 5), mean=1, stddev=0.2), name="w1") w2 = tf.Variable(tf.random_normal((2, 5), mean=1, stddev=0.2), name="w1") print("w1.name: %s, w2.name: % s" % (w1.name, w2.name)) w1.name: w1:0, w2.name: w1_1:0 可以看出,当已经存在一个相同结点的名称后,tf.Variable 会自动添加“_1”等后缀来做区分 with tf.variable_scope("scope", reuse=True): b2 = tf.get_variable(name="b", shape=[2, 5]) print (b2) print(b1 is b2) <tf.Variable 'scope/b:0' shape=(2, 5) dtype=float32_ref> True 可以看到,b1 和 b2 是同一个变量
这些技能对于有技术背景的人们来说往往是最有挑战性的技能,也是成为优秀的软件架构师必须修炼的技能。 ? 架构师必备技能 ? 你的工作能力及与别人交流的能力,将你手里的所有扑克牌都放在桌上,面朝上。 第7章:激情。你要全心全意地投入到你做的事情上。 第8章:语境切换。你迅速转移注意力到新的语境,并专注其中的能力。 如果你丧失了做此工作的激情,你干好工作的能力就会下降。 7.2.4重新点燃激情 倘若你感觉疲惫不堪,或者陷于泥沼不能自拔,就该休息一下,重新部署自己的思路,考虑一下有什么主意能激发你的能量。 软件架构师的12项修炼——思维导图 软件架构师的12项修炼——关系技能修炼(1)——文雅、沟通、协商 软件架构师的12项修炼——关系技能修炼(2)——领导力、政治 软件架构师的12项修炼[3]—— 个人技能修炼(1)——透明化 ---- 未完待续
Linux常见指令(中) 01. rmdir指令&&rm指令(重要): 1. rmdir指令 2. rm指令 02. man指令 03. cp指令(重要) 04. mv指令(重要) 1. 移动文件和目录 2. 对文件或目录进行重命名 05. cat指令 06 more命令 07. less指令 08. head&&tail指令 09. 2. rm指令 rm命令可以同时删除文件或目录,rm默认删除普通文件。 此外,rm也可以删除目录,我们可以用-r直接将文件以及内部的内容全部删除。 解释一下,面手册分为8章 1 是普通的命令 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 3 是库函数,如printf,fread4 ~]$ mv cp_file mv_test [cfy@VM-8-3-centos ~]$ tree . . |-- file2.txt |-- file3.txt |-- file.txt `--
学习一门新的编程语言 当熟练了Java之后,再去学习新的编程语言,比如Python,这个时候不仅能够很快的学习好Python,Java语言能力也在迅速提高 因为语言是相通的,当学习Python的时候, Stack Overflow Reddit Github 深入学习技术 疯狂追求技术上的细节 追求更深处的实现细节,理解语言的思想以及应用场景下的解决方案,并养成对方案问为什么的准备 注重培养自己的技术能力 ,阅读并参与到一些开源项目中,进入自己喜欢的技术细节领域 编码时先思考再写: 每个需求的思考占据70% 编码的时间只要20% - 30% 追求问题的完美解决方案,着重培养自己的工程能力,短时间之内理解新技术并投入使用 理解语言只是解决问题的工具,思考编程语言对场景的适用性,学习和接纳新的编程语言并投入使用 遇到问题,学会分析问题源头并寻找最合适的解决方法,学会阶段性的自我总结 注重工程能力的培养,开始注重利用技术开发高稳定可用的完整产品
PMP|优秀项目经理重点修炼的8个能力 项目经理作为一个项目的不管是保姆也好,家长也好,不只是一种能力能够支撑起这部分工作的,是一种综合能力的复合型人才。 摄图网_302552482_业务规划项目管理时间表现代图形界面显示管理整个时间表的项目经理监测计划中每项任务期限的明细表(非企业商用).jpg 现在职场上对项目经理的综合能力与素质要求越来越高,那么就需要项目经理不断提升自身能力 下面来给大家分享一下优秀项目经理重点修炼的8个能力,希望对正在做项目经理或者准备做项目经理的你有所帮助! 2、遇事莫慌 工程项目的风险总是存在的,各种问题也总是存在的,天大的事情只要冷静,一定会想出解决方法。 要成为优秀的项目经理,修炼的路很长,要时刻保持学习的心态,积累更多的知识与经验。
好书推荐《程序员修炼之道》,豆瓣评分9.1分,虽然这不是一本纯编程语言技术的书籍,但里面的软件思想读完后挺受益的。 媒体评价 如果想让自己的软件既领先于时代又易于维护,就在手边摆放一本《程序员修炼之道:通向务实的*境界(第2版)》。本书充满实用建议,有技术方面的,也有专业方面的,无不能让你和你的项目受益多年。 —— Andrea Goulet Corgibytes 公司 CEO ; LegacyCode.Rocks 创始人 旧版的《程序员修炼之道》一直驻留在我的书架上。 —— Sandy Mamoli 敏捷教练 How Self-Selection Lets People Excel 作者 二十年前,《程序员修炼之道》的*版彻底颠覆了我的技术生涯。 石头做的汤 一切环境资源都近在,却又遥不可取,士兵们充分发挥组织、协作能力 够好即可的软件 为了追求更好,我们毁损了原已够好的。
上一篇:Numpy 修炼之道(1) —— 什么是 Numpy 推荐阅读时间:5min~6min 文章内容:Numpy中的N维数组 ndarray Numpy 中最重要的一个对象就是 ndarray。 2, 3]) >>> b = np.array([[0, 1, 2], [3, 4, 5]]) # 2-D, 2 row x 3 col >>> b array([[0, 1, 2], [3, 4, 2) # 生成开始为 1,结束为 5(6-1),步长为 2 数组 >>> b array([1, 3, 5]) 常用的数组 >>> a = np.ones((3, 3)) # reminder: (3 , 3) is a tuple >>> a array([[ 1., 1., 1.], [ 1., 1., 1.], [ 1., 1., 1.]]) >>> b = np.zeros((2, 2)) : True WRITEABLE : True ALIGNED : True UPDATEIFCOPY : False >>> a.shape(2L, 3L) >>> a.ndim 2 >
这些技能对于有技术背景的人们来说往往是最有挑战性的技能,也是成为优秀的软件架构师必须修炼的技能。 第2章:沟通。讲述与他人有效交互的能力。 第3章:协商。讨论将事情办成的能力。 第4章:领导力。论述如何施加影响来将事情办成。 第5章:政治。讲述在政治场合与别人交互的能力。 2)倾听各方的说法。 3)找出问题的根源所在。 4)用你自己的话来阐述你的理解一尽可能简洁。 5)用清楚的语言说明这个问题, 表示你已经了解了情况。 6)寻求合乎人意的解决方法。 当我考虑政治是一种将事办成的艺术时, 结合本书的前四章, 我想出了下列等式: 政治上的成功=文雅的举止+沟通能力+协商能力+领导能力 通过运用之前提到的原则, 你能够在政治上获得有效的坚实基础。 建议那些对自己技术很有信心,但是对于沟通协作不是很有心得的架构师可以花时间阅读一下《软件架构师的12项修炼》。 软件架构师的12项修炼——思维导图 软件架构师的12项修炼——关系技能修炼(1)
物理学有个熵增定律,它描述的是一个不可逆的过程。既一个封闭系统,迟早会从有序走到无序。我们研发的系统也遵循同样的规律,随着功能的增加,系统会变得越来越复杂。哪怕你有最好的软件工程师也会如此。
面向过程和面向对象初步认识 2. 类的引入 3. 类的定义 4. 类的访问限定符及封装 4.1 访问限定符 限定域与类的区别 4.2 封装 5. 类的作用域 6. 类的实例化 7. 2. 类的引入 C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。 代码只保存一份,在对象中保存存放代码的地址 只保存成员变量,成员函数存放在公共的代码段 抛开上面的运行结果不说,方式2和方式3哪一个更好呢? 对于2和3可以有一个这样的方式去解释: 假设在一个小区,一个小区有一个健身房,对于2来讲,就是将每户分配了一个地图,当我们想要去健身房的时候,就可以根据地图规划的路线到达位置,对于3来讲,由于一个小区的路线对于小区的人来说非常熟悉 d1.Init(2022, 1, 11); d2.Init(2022, 1, 12); d1.Print(); d2.Print(); return 0; } 对于上述类,有这样的一个问题
CORS-CSRF.png ## 《全栈修炼》系列 1. [《【全栈修炼】OAuth2修炼宝典》](https://juejin.im/post/5db90c0ae51d452a17370626) CORS 和 CSRF 太容易混淆了,看完本文,你就清楚了。 **CORS** : Cross Origin Resourse-Sharing 跨站资源共享 2. > ``` 2. WEB表单生成隐藏输入域的函数: ```php <? —— [维基百科](https://zh.wikipedia.org/wiki/%E8%B7%A8%E7%B6%B2%E7%AB%99%E6%8C%87%E4%BB%A4%E7%A2%BC) XSS
2.资源的表述(Representation) 即资源格式,是 HTML、XML、JSON、纯文本、图片等等,可以用各种各样的格式来表述你获取到的资源。 2. REST 特点 REST 通常基于使用 HTTP , URI ,和 XML 以及 HTML 这些现有的广泛流行的协议和标准,每一种 URI 代表一种资源。 在软件技术演进中的长期的兼容性更好 二、实例介绍 REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义: 1.获取所有 users GET /api/users 2. " : "leo", "password" : "123456", "profession" : "teacher", "id": 1 }, "user2" product=120 2.
Linux环境搭建 购买云服务器 XShell下载 2. 使用 XShell 远程登陆到 Linux 3. 查看 Linux 主机 ip 参考上面的 “购买云服务器” 部分 家庭和校园使用是免费的(个人用户)填了邮箱就可以了,官方会往你的邮箱里面发一个下载软件的链接(直接跟着走就行了) 2.
2. CORS 请求类型 浏览器将 CORS 请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。 2. CSRF 攻击流程 ? 2. XSS 分类 ? XSS 分类 3. 3.2 方法2:转义 即将常用特殊字符进行转义,避免攻击者使用构造特殊字符来注入脚本。需要在客户端和服务端,都对用户输入的数据进行转义。 常见需要转义的特殊字符如 <,>,&,",'。
在你不说明的情况下,其他同事能看懂,间接说明你的代码风格很清晰 2、做好单元测试,单元测试帮助你很自然地把代码分层,分成很多可管理的小块,这样就会得到设计更好、更清晰的代码。 问题六、我能力不行,开会时不应该提出自己的见解 团队存在的意义就是承认一个人干不过来,需要团队一起去干。每个人都会犯错。
2. REST 特点 REST 通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准,每一种 URI 代表一种资源。 REST 通常使用JSON数据格式。 " : "leo", "password" : "123456", "profession" : "teacher", "id": 1 }, "user2" "name" : "pingan8787", "password" : "654321", "profession" : "librarian", "id": 2 "password" : "888888", "profession" : "clerk", "id": 3 } } 我们将实现以下 RESTful API : 2. product=120 2.
如何修炼靠谱的工作基本功(1):沟通技巧 思考方式 思考顺利达到目标的“方法”、“思考方式”、“步骤”。 工作前思考工作顺序: 1. 思考用什么思路才能得到结果。 2. 要想让逻辑树有意义,真正做到无疏漏,无重复的分解课题,需要正确的指导; 2. 事实:天空出现乌云; 2. 分析,因为有乌云,可能会下雨; 3. 建立假设,提前得出结论; 2. 出现问题(事实状况); 3. 按照符合现状的假设做应对; 有主见地汲取信息 提高商务能力要有自己的想法: 1. 单纯收集信息并不等于思考; 2. 只有探求出问题的“本质”; 3. 信息才有价值; 挖掘本质要靠更高一层的视角而非信息量。 1. 提升思考能力; 2.