Apache Shiro 1.2.x Reference Manual 中文翻译本指南将专注于最常见的用例:确保 web 应用 程序安全运行在一个 servlet 容器,例如 Tomcat 或 Jetty。 Prerequisites 先决条件 以下工具将被安装在本地开发机器为了跟随本教程。 Git(测试版 w/1.7) Java SDK 7 Maven 3 你最喜欢的IDE,比如 IntelliJ IDEA 或 Eclipse ,甚至一个简单的文本编辑器用于查看文件和 更改。 Tutorial Beginner's Webapp Tutorial 初学者web应用教程 这是一个循序渐进的教程。 本教程,和它的所有步骤,存在Git存储库。 当你复制 git 存储库, master 分支是你的起点。 在教程的每一步都是一个独立的分支。 你可以跟随只需查看 git 分 支反映本教程一步你审查 The Application 应用程序 我们将构建的 web 应用程序是一个超级网络应用,可以作为一个起点为您自己的应用程序。 我们已为你这样做好了一个 git 存储库。 1. Fork the tutorial project 先fork本教程项目 在 github,浏览 tutorial project 项目,点击 Fork 按钮 2. Clone your tutorial repository 复制教程存储库 现在您已经将项目 fork 在你的 GitHub 帐户,克隆它在本地机器上: $ git clone git@github0 码力 | 196 页 | 2.34 MB | 1 年前3
Hello 算法 1.0.0b4 Java版运行代码示例 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 0. 前言 hello‑algo.com preOrder(root.right); // 回退 path.remove(path.size() - 1); } 剪枝是一个非常形象的名词。在搜索过程中,我们“剪掉”了不满足约束条件的搜索分支,避免许多无意义 的尝试,从而实现搜索效率的提高。 Figure 13‑3. 根据约束条件剪枝 13.1.3. 框架代码 接下来,我们尝试将回溯的“尝试、回退、剪枝”的主体框架提炼出来,提升代码的通用性。 ‧ 遍历选择列表 choices 时,跳过所有已被选择过的节点,即剪枝。 如下图所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分支, 在第三轮剪掉元素 1, 3 的分支。 13. 回溯 hello‑algo.com 254 Figure 13‑6. 全排列剪枝示例 观察上图发现,该剪枝操作将搜索空间大小从 ?(??) 降低至 ?(?!) 。0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.1.0 Java版第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 res = fib(n - 1) + fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 com 212 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 第 0 章 res = fib(n - 1) + fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一个层数为 ? 的「递归树 recursion tree」。 图 2‑6 斐波那契数列的递归树 本质上看,递归体现“将问题分解为更小子问 ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 第 10 章 搜索 hello‑algo.com 212 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 // ===0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0 Java版第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 res = fib(n - 1) + fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的「递归树 recursion tree」。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小 com 213 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 res = fib(n - 1) + fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 com 212 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Java 版第一步:安裝本地程式設計環境。請參照附錄所示的教程進行安裝,如果已安裝,則可跳過此步驟。 第二步:克隆或下載程式碼倉庫。前往 GitHub 倉庫。如果已經安裝 Git ,可以透過以下命令克隆本倉庫: git clone https://github.com/krahets/hello-algo.git 當然,你也可以在圖 0‑4 所示的位置,點選“Download ZIP”按鈕直接下載程式碼壓縮包,然後在本地解壓 即可。 res = fib(n - 1) + fib(n - 2); // 返回結果 f(n) return res; } 觀察以上程式碼,我們在函式內遞迴呼叫了兩個函式,這意味著從一個呼叫產生了兩個呼叫分支。如圖 2‑6 所示,這樣不斷遞迴呼叫下去,最終將產生一棵層數為 ? 的遞迴樹(recursion tree)。 圖 2‑6 費波那契數列的遞迴樹 從本質上看,遞迴體現了“將問題分解為更小子問題”的思維範式,這種分治策略至關重要。 com 212 迴圈完成後,? 指向最左邊的 target ,? 指向首個小於 target 的元素,因此索引 ? 就是插入點。 圖 10‑6 二分搜尋重複元素的插入點的步驟 觀察以下程式碼,判斷分支 nums[m] > target 和 nums[m] == target 的操作相同,因此兩者可以合併。 即便如此,我們仍然可以將判斷條件保持展開,因為其邏輯更加清晰、可讀性更好。 第 10 章0 码力 | 379 页 | 18.79 MB | 10 月前3
Java 应用与开发 - Java 语言基础与流程控制常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 Java 应用与开发 Java 语言基础与流程控制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 August 28, 2018 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 参考书目 1. 陈国君等编著, Java 程序设计基础(第 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 学习目标 ▶ Java 语言基础 1. 数据类型 2. 常量和变量 3. 关键字与标识符 4. 运算符与表达式 5. 从键盘输入数据 ▶ 流程控制 1. 语句和复合语句 2. 分支结构(选择结构) 3. 循环结构 4. 跳转语句 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 ���� 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 数据类型 O0 码力 | 37 页 | 685.82 KB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . . 16 2.2.1 语句与复合语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.2 分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.3 循环结构 . . . . . . . . 14 2.2 if 分支结构 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 if 分支结构 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4 switch 分支结构 . . . Thinking in Java (3rd) 教学目标 1. Java 语言基础包括:数据类型、常量和变量、关键字与标识符、运算符与表达式、 从键盘输入数据。 2. Java 流程控制包括:语句和复合语句、分支结构(选择结构)、循环结构、跳转 语句。 授课方式 理论课: 多媒体教学、程序演示 实验课: 上机编程 9 2.1. JAVA 语言基础 � 2 � 教学内容 2.1 Java 语言基础0 码力 | 330 页 | 6.54 MB | 1 年前3
Java 应用与开发 - MVC 和框架初步例如用户登录页面 login.jsp。没有这个页面,一切 的请求、验证和错误展示也无从谈起。在页面上,我们需要 利用 HTML,把我们需要展现的数据都呈现出来。同时我们 也需要完成一定的页面逻辑,例如,错误展示,分支判断等。 3. 处理具体业务的场所 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 那么我们需要什么? 在回顾写代码的历史之后,回头来看看,我们到底需要什么?0 码力 | 51 页 | 837.26 KB | 1 年前3
共 276 条
- 1
- 2
- 3
- 4
- 5
- 6
- 28













