ThinkPHP5.1完全开发手册-10261224执行相关的行为。但在某些特殊的情况下,你可以设置某个钩子只能执行一次 行为,又或者你可以在一个钩子的某个行为中返回 false 来强制终止后续 的行为执行;一个行为可以同时注册到多个不同的钩子上,完全看应用的需求 来设计。 钩子的位置必须是事先设计好的,无论是框架还是应用的,要设置一个钩子, 只需要在相关的位置添加一行代码(事先需要引入 think\facade\Hook 类): Hook::listen('钩子名称' redirect('index/think'); } return $next($request); } } 前置/后置中间件 中间件是在请求具体的操作之前还是之后执行,完全取决于中间件的定义本 身。 下面是一个前置行为的中间件 完全可以更改文件名,或者添加多个路由定义文件 (你可以进行模块定义区分,但最终都会一起加载)。 ├─route 路由定义目录 │ ├─route.php1 魔豆 | 1127 页 | 6.26 MB | 3 年前3
ThinkPHP5.1完全开发手册-10261224行相关的行为。但在某些特殊的 情况下,你可以设置某个钩子只能执行一次行为,又或者你可以在一个钩子的某个行为中返回 false 来强制 终止后续的行为执行;一个行为可以同时注册到多个不同的钩子上,完全看应用的需求来设计。 钩子的位置必须是事先设计好的,无论是框架还是应用的,要设置一个钩子,只需要在相关的位置添加一行代码 (事先需要引入 think\facade\Hook 类): Hook::listen('钩子名称' redirect('index/think'); } return $next($request); } } 前置/后置中间件 中间件是在请求具体的操作之前还是之后执行,完全取决于中间件的定义本身。 下面是一个前置行为的中间件 完全可以更 改文件名,或者添加多个路由定义文件(你可以进行模块定义区分,但最终都会一起加载)。 ├─route 路由定义目录 │ ├─route.php1 魔豆 | 619 页 | 4.55 MB | 3 年前5
ThinkPHP5.1完全开发手册-10261224执行相关的行为。但在某些特殊的情况下,你可以设置某个钩子只能执行一次 行为,又或者你可以在一个钩子的某个行为中返回 false 来强制终止后续 的行为执行;一个行为可以同时注册到多个不同的钩子上,完全看应用的需求 来设计。 钩子的位置必须是事先设计好的,无论是框架还是应用的,要设置一个钩子, 只需要在相关的位置添加一行代码(事先需要引入 think\facade\Hook 类): Hook::listen('钩子名称' redirect('index/think'); } return $next($request); } } 前置/后置中间件 中间件是在请求具体的操作之前还是之后执行,完全取决于中间件的定义本 身。 下面是一个前置行为的中间件 完全可以更改文件名,或者添加多个路由定义文件 (你可以进行模块定义区分,但最终都会一起加载)。 ├─route 路由定义目录 │ ├─route.php1 魔豆 | 1127 页 | 6.26 MB | 3 年前3
ThinkPHP5.1完全开发手册-10261224行相关的行为。但在某些特殊的 情况下,你可以设置某个钩子只能执行一次行为,又或者你可以在一个钩子的某个行为中返回 false 来强制 终止后续的行为执行;一个行为可以同时注册到多个不同的钩子上,完全看应用的需求来设计。 钩子的位置必须是事先设计好的,无论是框架还是应用的,要设置一个钩子,只需要在相关的位置添加一行代码 (事先需要引入 think\facade\Hook 类): Hook::listen('钩子名称' redirect('index/think'); } return $next($request); } } 前置/后置中间件 中间件是在请求具体的操作之前还是之后执行,完全取决于中间件的定义本身。 下面是一个前置行为的中间件 完全可以更 改文件名,或者添加多个路由定义文件(你可以进行模块定义区分,但最终都会一起加载)。 ├─route 路由定义目录 │ ├─route.php1 魔豆 | 619 页 | 4.55 MB | 3 年前3
阿里巴巴Java开发手册-终极版单数形式,但是类名如果有复数含义,类名可以使用复数形式。 正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils(此规则参考 spring 的框架结构) 10. 【强制】杜绝完全不规范的缩写,避免望文不知义。 反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随 意缩写严重降低了代码的可阅读性。 11 入具 体值,在更新其它字段时又附带更新了此字段,导致创建时间被修改成当前时间。 10. 【强制】序列化类新增属性时,请不要修改 serialVersionUID 字段,避免反序列失败;如 果完全不兼容升级,避免反序列化混乱,那么请修改 serialVersionUID 值。 说明:注意 serialVersionUID 不一致会抛出序列化运行时异常。 11. 【强制】构造方法里面禁 、 删除均会产生 ConcurrentModificationException 异常。 4. 【强制】使用集合转数组的方法,必须使用集合的 toArray(T[] array),传入的是类型完全 一样的数组,大小就是 list.size()。 说明:使用 toArray 带参方法,入参分配的数组空间不够大时,toArray 方法内部将重新分配 内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[1 魔豆 | 39 页 | 1.01 MB | 3 年前3
阿里巴巴Java开发手册-终极版单数形式,但是类名如果有复数含义,类名可以使用复数形式。 正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils(此规则参考 spring 的框架结构) 10. 【强制】杜绝完全不规范的缩写,避免望文不知义。 反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随 意缩写严重降低了代码的可阅读性。 11 入具 体值,在更新其它字段时又附带更新了此字段,导致创建时间被修改成当前时间。 10. 【强制】序列化类新增属性时,请不要修改 serialVersionUID 字段,避免反序列失败;如 果完全不兼容升级,避免反序列化混乱,那么请修改 serialVersionUID 值。 说明:注意 serialVersionUID 不一致会抛出序列化运行时异常。 11. 【强制】构造方法里面禁 、 删除均会产生 ConcurrentModificationException 异常。 4. 【强制】使用集合转数组的方法,必须使用集合的 toArray(T[] array),传入的是类型完全 一样的数组,大小就是 list.size()。 说明:使用 toArray 带参方法,入参分配的数组空间不够大时,toArray 方法内部将重新分配 内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[1 魔豆 | 39 页 | 1.01 MB | 3 年前3
Idris 语言文档 Version 1.3.1then Yes else No 通常,where 从句中定义的函数和其它顶层函数一样,都需要类型声明。 然而,函数 f 的类型声明可 在以下情况中省略: • f 出现在顶层定义的右边 • f 的类型完全可以通过其首次应用来确定 因此,举例来说,以下定义是合法的: even : Nat -> Bool even Z = True even (S k) = odd k where odd Z = xs) 注:声明顺序与 mutual 互用块 通常,函数与数据类型必须在使用前定义,因为依赖类型允许函数作为类型的一部分出现, 而类型检 查会依赖于特定的函数如何定义(尽管这只对全函数成立,见 完全性检查 夨 姩 妡妵 头头天 )。 然而,此限制 可通过使用 mutual 互用块来放宽,它允许数据类型和函数同时定义: mutual even : Nat -> Bool ( ä ÿ Ń é 我们可以将一个数和一个特定长度的 Vect 构造成一个序 对: vec : (n : Nat ** Vect n Int) vec = (2 ** [3, 4]) 如果你喜欢,也可以把它写成较长的形式,二者完全等价: vec : DPair Nat (\n => Vect n Int) vec = MkDPair 2 [3, 4] 当然,类型检查器可以根据向量的的长度推断出第一个元素的值。 我们可以在希望类型检查器填写值1 魔豆 | 224 页 | 2.06 MB | 2 年前3
Docker —— 从入门到实践-12202257RUN 的行为,就和刚才我们 手工建立镜像的过程一样:新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新 的镜像。 而上面的这种写法,创建了 7 层镜像。这是完全没有意义的,而且很多运行时不需要的东西,都被装进了镜像 里,比如编译环境、更新的软件包等等。结果就是产生非常臃肿、非常多层的镜像,不仅仅增加了构建部署的时 使用 Dockerfile 定制镜像 命令的执行环境根本不同,是两个完全 不同的容器。这就是对 Dockerfile 构建分层存储的概念不了解所导致的错误。 之前说过每一个 RUN 都是启动一个容器、执行命令、然后提交存储层文件变更。第一层 RUN cd /app 的执行仅仅是当前进程的工作目录变更,一个内存上的变化而已,其结果不会造成任何文件变更。而到第二层的 时候,启动的是一个全新的容器,跟第一层的容器更完全没关系,自然不可能继承前一层构建过程中的内存变 是不可能放入基础镜像的,因为涉及到了 当前项目的 ./package.json ,难道又要一个个修改么?所以说,这样制作基础镜像,只解决了原来的 Dockerfile 的前4条指令的变化问题,而后面三条指令的变化则完全没办法处理。 ONBUILD 可以解决这个问题。让我们用 ONBUILD 重新写一下基础镜像的 Dockerfile : FROM node:slim RUN mkdir /app WORKDIR1 魔豆 | 395 页 | 7.32 MB | 3 年前3
Docker —— 从入门到实践-12202257RUN 的行为,就和刚才我们 手工建立镜像的过程一样:新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新 的镜像。 而上面的这种写法,创建了 7 层镜像。这是完全没有意义的,而且很多运行时不需要的东西,都被装进了镜像 里,比如编译环境、更新的软件包等等。结果就是产生非常臃肿、非常多层的镜像,不仅仅增加了构建部署的时 使用 Dockerfile 定制镜像 命令的执行环境根本不同,是两个完全 不同的容器。这就是对 Dockerfile 构建分层存储的概念不了解所导致的错误。 之前说过每一个 RUN 都是启动一个容器、执行命令、然后提交存储层文件变更。第一层 RUN cd /app 的执行仅仅是当前进程的工作目录变更,一个内存上的变化而已,其结果不会造成任何文件变更。而到第二层的 时候,启动的是一个全新的容器,跟第一层的容器更完全没关系,自然不可能继承前一层构建过程中的内存变 是不可能放入基础镜像的,因为涉及到了 当前项目的 ./package.json ,难道又要一个个修改么?所以说,这样制作基础镜像,只解决了原来的 Dockerfile 的前4条指令的变化问题,而后面三条指令的变化则完全没办法处理。 ONBUILD 可以解决这个问题。让我们用 ONBUILD 重新写一下基础镜像的 Dockerfile : FROM node:slim RUN mkdir /app WORKDIR1 魔豆 | 395 页 | 7.32 MB | 3 年前3
语文考试大纲B.荔枝也有淡红色的,如广东产的“三月红”和“挂绿”等。(比喻) C.“飞焰欲横天”,“红云几万里”(夸张) D.壳如红缯,膜如紫绡。(比喻) 36.下面各句表述简明的一项是( ) A. 校长完全采纳两个同学的合理化建议。 B. 为了避免今后再发生类似错误,我们应该努力改进落后的工作方法。 C.他背着总经理和副总经理偷偷地把这笔钱分别存入几家银行。 D.小王看到我们非常高兴,就把我们拉到他的办公室聊天。 A.(1)( 4)( 3)( 2) B.(3)( 1)( 4)(2) C.(1)( 4)( 2)( 3) D.(3) (1)(2)( 4) 53.下列词语中,加点的字读音完全相同的一组是( ) A.捎带 眉梢 稍微 艄公 B.点缀 辍学 拾掇 赘述 C.蹁跹 翩然 偏爱 篇章 D.缥缈 剽窃 十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓 无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非 蛇鳝之穴无可寄托者,用心躁也。 171.下列句子中加点词的意义和用法,完全相同的一项是( ) A.青,取之于蓝,而青于蓝 月出于东山之上 B.君子博学而日参省乎己 秦王与群臣相视而嘻 C.君子生非义也,善假于物也 师道之不传也久矣 D. 蚓无爪牙之利,筋骨之强 邻之厚,君之薄也1 魔豆 | 25 页 | 168.50 KB | 3 年前3
共 15 条
- 1
- 2










