PostgreSQL 开发最佳实践
2016Postgres中国用户大会 目录 • 规约的重要性 • 命名规约 • 设计规约 • 管理规约 • 稳定性与性能建议 • 云数据库使用建议 2016Postgres中国用户大会 规约的重要性 2016Postgres中国用户大会 目录 • 规约的重要性 • 命名规约 • 设计规约 • 管理规约 • 稳定性与性能建议 • 云数据库使用建议 2016Postgres中国用户大会 2016Postgres中国用户大会 命名规约 • quote_nullable • quote_ident • format (%L , %I) select c1 as 你好, c2 as 中国, .... from xxx where xxx; create table "班级" ("学号" int, "姓名" name, ...); create table xyz 使用有意义的对象名; 使用小写字母,下划线,数字; 2016Postgres中国用户大会 目录 • 规约的重要性 • 命名规约 • 设计规约 • 管理规约 • 稳定性与性能建议 • 云数据库使用建议 2016Postgres中国用户大会 设计规约 • 返回多行 • select * from tbl where xxx=? order by yyy desc0 码力 | 16 页 | 381.36 KB | 1 年前3JavaScript Promise迷你书(中文版)
js等则规定在JavaScript的回调函数的第一个参数为 Error 对象,这也是它的一个 惯例。 像上面这样基于回调函数的异步处理如果统一参数使用规则的话,写法也会很明了。 但是,这也仅是编码规约而已,即使采用不同的写法也不会出错。 而Promise则是把类似的异步处理对象和处理规则进行规范化, 并按照采用统一的接口 来编写,而采取规定方法之外的写法都会出错。 下面是使用了Promise进行异步处理的一个例子 then(function onFulfilled(value){ JavaScript Promise 迷你书(中文版) 13 console.log(value); }); 为了方便理解我们把函数命名为 onFulfilled getURL函数 中的 resolve(req.responseText); 会将promise对象变为resolve(Fulfilled)状 态, 同时使用其值调用 log(value); }).catch(function onRejected(error){ console.error(error); }); 服务端返回的状态码为500 为了方便理解函数被命名为 onRejected 在 getURL 的处理中发生任何异常,或者被明确reject的情况下, 该异常原因(Error对 象)会作为 .catch 方法的参数被调用。 其实 .catch0 码力 | 112 页 | 1010.02 KB | 1 年前3OpenShift Container Platform 4.14 Operator
OPERATOR 目录 2.7. 多租户集群中的 OPERATOR 2.8. CRD 第 第 3 章 章 用 用户 户任 任务 务 3.1. 从已安装的 OPERATOR 创建应用程序 3.2. 在命名空间中安装 OPERATOR 第 第 4 章 章 管理 管理员 员任 任务 务 4.1. 在集群中添加 OPERATOR 4.2. 更新安装的 OPERATOR 4.3. 从集群中删除 OPERATOR Java-based Operators, 和 Helm-based Operators。 使用 Operator SDK 来构建、测试并部署 Operator。 安装 Operator 并订阅命名空间。 通过 Web 控制台 从已安装的 Operator 创建应用程序。 其他 其他资源 源 Operator 开发人员的机器删除生命周期 hook 示例 1.2. 对于管理员 作为集群管理员,您可以执行以下 是为一组部署的工作负载(通常由命名空间或项目表示)共享共 同访问权限和特权的用户或组。您可以使用租户在不同的组或团队之间提供一定程度的隔离。 当集群由多个用户或组共享时,它被视为 多租户 集群。 2.3.1.11. operator 组 Operator 组将部署在同一命名空间中的所有 Operator 配置为 OperatorGroup 对象,以便在一系列命名 空间或集群范围内监视其 CR。0 码力 | 423 页 | 4.26 MB | 1 年前3华为企业级PaaS 微服务应用
github.com/apache?q=servicecomb S省财政厅,打通财政系统数据孤岛, 使能业务创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 财政云 ISV-A ISV-B ISV-C 供应商 交付 指导 规约 总账引擎 电子印章 报表 电子凭证 工作流 标准存储 数据交换 …… 财政微应用 预算 编制 指标 管理 …… 财务微应用0 码力 | 17 页 | 3.42 MB | 1 年前3Apache ServiceComb 开源微服务社区
分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布 面对用户痛点持续创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 财政云 ISV-A ISV-B ISV-C 供应商 交付 指导 规约 总账引擎 电子印章 报表 电子凭证 工作流 标准存储 数据交换 …… 财政微应用 预算 编制 指标 管理 …… 财务微应用0 码力 | 15 页 | 2.86 MB | 1 年前35.cgo 原理解析及优化实践
cgo 工作机制 第二部分 Foreign Function Interface 函数调用 数据交互 抽象模型 1 2 3 对 PC 寄存器的修改 编译器完成地址指引 函数调用规约 Go 1.17 数据结构/类型 内存对象生命周期 GMP cgo 编译的两个阶段 cgo 预编译 常规编译 1 2 生成 wrapper 代码 屏蔽 GMP0 码力 | 45 页 | 5.74 MB | 1 年前3Egg & Node.js 从⼩⼯坊⾛向企业级开发
// 挂载 `ctx.model.news.list()` app.loader.loadToContext(directory, 'model'); }; 3.x 时代 - ⾃自定义加载规约 (Egg 的核⼼心能⼒力力 - Loader) yadan ��� app � ��� service � ��� extend ��� config � ��� config.default0 码力 | 70 页 | 7.57 MB | 1 年前3TypeScript 4.0 使用手册
ipt 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack.CN 手册 基础类型 变量声明 接口 类 函数 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 目录 README Introduction - 12 - 本文档使用 书栈网 · BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 库结构 举例0 码力 | 683 页 | 6.27 MB | 1 年前3Julia 中文文档
合法的变量名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 命名规范 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5 整数和浮点数 . . . . 175 模块的绝对路径和相对路径 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 命名空间的相关话题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 模块初始化和预编译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 25.11调用规约 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 25.12访问全局变量0 码力 | 1238 页 | 4.59 MB | 1 年前3Idris 语言文档 Version 1.3.1
文件由一个可选的模块声明(此处为 module Prims),一个可选的导入列表, 一组声明及其定义 构成。在本例中并未指定导入。奉 奤 奲 奩 女 可由多个模块构成, 每个模块中的每个定义都有它自己的命名空 间。这点会在 模块与命名空间 夨 姩 妡妵 夲夹天 一节中进一步讨论。在编写 奉 奤 奲 奩 女 程序时,声明的顺序和缩进都 很重要。 函数和数据类型必须先定义再使用,每个定义都必须有类型声明,例如之前列出的 奈奡女 奫 奥 奬 奬 不同的是,类型和函数名的首字母并无大小写限制。 函数名(前面的 plus 和 mult ),数据构造器 (Z、S、Nil 和 ::) 以及类型构造器(Nat 和 List)均属同一命名空间。不过按照约定, 数据类型和 构造器的名字通常以大写字母开头。我们可以在 奉 奤 奲 奩 女 提示符中测试这些函数: Idris> plus (S (S Z)) (S (S Z)) 4 : Nat -> Type where Nil : Vect Z a (::) : a -> Vect k a -> Vect (S k) a 注意我们使用了与 List 相同的构造器名。只要名字声明在不同的命名空间内 (在实践中,通常在不同 的模块内),奉 奤 奲 奩 女 就能接受像这样的特设(奡奤 夭 奨 奯奣 )名重载。 有歧义的构造器名称通常可根据上下文 来解决。 这里声明了一个类型族(奔 她 奰0 码力 | 224 页 | 2.06 MB | 1 年前3
共 680 条
- 1
- 2
- 3
- 4
- 5
- 6
- 68