跟我学Shiro - 张开涛
户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用 户对某个资源是否具有某个权限; Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信 息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support:Web 实现,首先看其 API: 因为每个 AuthenticationStrategy 实例都是无状态的,所有每次都通过接口将相应的认证信 息传入下一次流程;通过如上接口可以进行如合并/返回第一个验证成功的认证信息。 自定义实现时一般继承 org.apache.shiro.authc.pam.AbstractAuthenticationStrategy AuthorizingRealm,因 为: AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token):表示获取身份验证信 息; AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals):表示根据用户身份 获取授权信息。 这种方式0 码力 | 219 页 | 4.16 MB | 10 月前3Hello 算法 1.0.0b1 Java版
。当然,堆排序一 般无需弹出元素,仅需每轮将堆顶元素交换至数组尾部并减小堆的长度即可。 ‧ 获取最大的 ? 个元素。这既是一道经典算法题目,也是一种常见应用,例如选取热度前 10 的新闻作为 微博热搜,选取前 10 销量的商品等。 8.2. 建堆操作 * 如果我们想要根据输入列表来生成一个堆,这样的操作被称为「建堆」。 8.2.1. 两种建堆方法 借助入堆方法实现 最直接地,考虑借 Undirected Graph」和「有向图 Directed Graph」。 ‧ 在无向图中,边表示两顶点之间“双向”的连接关系,例如微信或 QQ 中的“好友关系”; ‧ 在有向图中,边是有方向的,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上的 “关注”与“被关注”关系; 9. 图 hello‑algo.com 134 Figure 9‑2. 有向图与无向图0 码力 | 186 页 | 14.71 MB | 1 年前3Nacos架构&原理
展带来的频繁发布问题。 随着互联网的高速发展,各大互联网公司的业务产品日新月异,服务拆分迫在眉睫。开发者⼀边对 原单体业务进行拆分,⼀边解决着拆分之后带来的治理问题,期间涌现出⼀大批开箱即用的面向微 服务架构的开发框架,如 Java 体系下的 Spring Cloud 和 Dubbo,Golang 体系下的 Gin 等等, 这些框架实现了分布式系统通信需要的各种通用的治理功能:如负载均衡、服务发现、熔断、限流、 是阿里巴巴拳头开源 产品,迭代了 2 年多,在不少互联网型和传统型公司都已经落地,我们选择了稳定的 1.2.1 版本, 得出结论是功能稳定,性能上佳,关于功能和性能方面的相关数据,具体参考后续:《掌门教育微 服务体系 Solar | 阿里巴巴 Nacos 企业级落地下篇》。 Nacos 最佳实践 < 184 但是,如何迁移 Eureka 上的业务服务到 Nacos 上?业务服务实例数目众多,迁移工作量巨大, 层负载管理系统推送到名字服务,名字服务再推送到 DNS-F,达 到快速切换的目的。 265 > Nacos 最佳实践 如果域名配置了负载均衡策略,名字服务会从 CMDB 获取机器、机房等信息,打标到域名的实例信 息。然后,DNS-F 查询名字服务时,会携带 ClientIp,名字服务根据 ClientIp 的 CMDB 信息过滤 实例列表,返回同机房的实例给 DNS-F,达到同机房优先的目的。 由此带来的效果是:0 码力 | 326 页 | 12.83 MB | 9 月前3Hello 算法 1.0.0b2 Java版
。当然,堆排序一 般无需弹出元素,仅需每轮将堆顶元素交换至数组尾部并减小堆的长度即可。 ‧ 获取最大的 ? 个元素。这既是一道经典算法题目,也是一种常见应用,例如选取热度前 10 的新闻作为 微博热搜,选取前 10 销量的商品等。 8.2. 建堆操作 * 如果我们想要根据输入列表来生成一个堆,这样的操作被称为「建堆」。 8.2.1. 两种建堆方法 借助入堆方法实现 最直接地,考虑借 Undirected Graph」和「有向图 Directed Graph」。 ‧ 在无向图中,边表示两顶点之间“双向”的连接关系,例如微信或 QQ 中的“好友关系”; ‧ 在有向图中,边是有方向的,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上的 “关注”与“被关注”关系; 9. 图 hello‑algo.com 135 Figure 9‑2. 有向图与无向图0 码力 | 197 页 | 15.72 MB | 1 年前3Hello 算法 1.1.0 Java版
到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见“堆排序”章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 在某些情况下,我们希望使用一个列表的所有元素来构建一个堆,这个过程被称为“建堆操作”。 第 8 章 堆 hello‑algo.com 180 graph)和有向图(directed graph),如图 9‑2 所示。 ‧ 在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。 ‧ 在有向图中,边具有方向性,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。 第 9 章 图 hello‑algo.com 188 图 9‑2 有向图与无向图 根据 ‧ 贪心算法不会考虑过去的决策,而是一路向前地进行贪心选择,不断缩小问题范围,直至问题被解决。 我们先通过例题“零钱兑换”了解贪心算法的工作原理。这道题已经在“完全背包问题”章节中介绍过,相 信你对它并不陌生。 Question 给定 ? 种硬币,第 ? 种硬币的面值为 ?????[? − 1] ,目标金额为 ??? ,每种硬币可以重复选取,问 能够凑出目标金额的最少硬币数量。如果无法凑出目标金额,则返回0 码力 | 378 页 | 18.47 MB | 1 年前3Hello 算法 1.0.0 Java版
到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见“堆排序”章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 在某些情况下,我们希望使用一个列表的所有元素来构建一个堆,这个过程被称为“建堆操作”。 第 8 章 堆 hello‑algo.com 180 graph」和「有向图 directed graph」,如图 9‑2 所示。 ‧ 在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。 ‧ 在有向图中,边具有方向性,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。 第 9 章 图 hello‑algo.com 188 图 9‑2 有向图与无向图 根据所有顶点是否连通,可分为「连通图 ‧ 贪心算法不会考虑过去的决策,而是一路向前地进行贪心选择,不断缩小问题范围,直至问题被解决。 我们先通过例题“零钱兑换”了解贪心算法的工作原理。这道题已经在“完全背包问题”章节中介绍过,相 信你对它并不陌生。 � 给定 ? 种硬币,第 ? 种硬币的面值为 ?????[? − 1] ,目标金额为 ??? ,每种硬币可以重复选 取,问能够凑出目标金额的最少硬币数量。如果无法凑出目标金额,则返回0 码力 | 376 页 | 17.59 MB | 1 年前3Hello 算法 1.2.0 繁体中文 Java 版
有序資料。然而,我們通常會使用一種更優雅的方式實現堆積排序,詳見“堆積排序”章節。 ‧ 獲取最大的 ? 個元素:這是一個經典的演算法問題,同時也是一種典型應用,例如選擇熱度前 10 的新 聞作為微博熱搜,選取銷量前 10 的商品等。 8.2 建堆積操作 在某些情況下,我們希望使用一個串列的所有元素來構建一個堆積,這個過程被稱為“建堆積操作”。 第 8 章 堆積 www.hello‑algo graph)和有向圖(directed graph),如圖 9‑2 所示。 ‧ 在無向圖中,邊表示兩頂點之間的“雙向”連線關係,例如微信或 QQ 中的“好友關係”。 ‧ 在有向圖中,邊具有方向性,即 ? → ? 和 ? ← ? 兩個方向的邊是相互獨立的,例如微博或抖音上 的“關注”與“被關注”關係。 第 9 章 圖 www.hello‑algo.com 188 圖 9‑2 有向圖與無向圖 ‧ 貪婪演算法不會考慮過去的決策,而是一路向前地進行貪婪選擇,不斷縮小問題範圍,直至問題被解決。 我們先透過例題“零錢兌換”瞭解貪婪演算法的工作原理。這道題已經在“完全背包問題”章節中介紹過,相 信你對它並不陌生。 Question 給定 ? 種硬幣,第 ? 種硬幣的面值為 ?????[? − 1] ,目標金額為 ??? ,每種硬幣可以重複選取,問 能夠湊出目標金額的最少硬幣數量。如果無法湊出目標金額,則返回0 码力 | 379 页 | 18.79 MB | 10 月前3Hello 算法 1.2.0 简体中文 Java 版
到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见“堆排序”章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 在某些情况下,我们希望使用一个列表的所有元素来构建一个堆,这个过程被称为“建堆操作”。 第 8 章 堆 www.hello‑algo.com graph)和有向图(directed graph),如图 9‑2 所示。 ‧ 在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。 ‧ 在有向图中,边具有方向性,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。 第 9 章 图 www.hello‑algo.com 188 图 9‑2 有向图与无向图 ‧ 贪心算法不会考虑过去的决策,而是一路向前地进行贪心选择,不断缩小问题范围,直至问题被解决。 我们先通过例题“零钱兑换”了解贪心算法的工作原理。这道题已经在“完全背包问题”章节中介绍过,相 信你对它并不陌生。 Question 给定 ? 种硬币,第 ? 种硬币的面值为 ?????[? − 1] ,目标金额为 ??? ,每种硬币可以重复选取,问 能够凑出目标金额的最少硬币数量。如果无法凑出目标金额,则返回0 码力 | 379 页 | 18.48 MB | 10 月前3Hello 算法 1.0.0b4 Java版
有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见后续的堆排序章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2. 建堆操作 如果我们想要根据输入列表生成一个堆,这个过程被称为「建堆」。 8.2.1. 借助入堆方法实现 最直接的方法是借助“元素入堆操作”实现, Undirected Graph」和「有向图 Directed Graph」。 ‧ 在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。 ‧ 在有向图中,边具有方向性,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。 9. 图 hello‑algo.com 162 Figure 9‑2. 有向图与无向图0 码力 | 342 页 | 27.39 MB | 1 年前3Hello 算法 1.0.0b5 Java版
有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见后续的堆排序章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 在某些情况下,我们希望使用一个列表的所有元素来构建一个堆,这个过程被称为“建堆操作”。 8.2.1 自上而下构建 我们首先创建一个空堆, undirected graph」和「有向图 directed graph」。 ‧ 在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。 ‧ 在有向图中,边具有方向性,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。 第 9 章 图 hello‑algo.com 186 图 9‑2 有向图与无向图 根据所有顶点是否连通,可分为图0 码力 | 376 页 | 30.69 MB | 1 年前3
共 13 条
- 1
- 2