MySQL30条规范解读】的更多相关文章

转载自:https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959906&idx=1&sn=2cbdc66cfb5b53cf4327a1e0d18d9b4a&chksm=bd2d07be8a5a8ea86dc3c04eced3f411ee5ec207f73d317245e1fefea1628feb037ad71531bc&mpshare=1&scene=1&srcid=0813cj7qS…
一.基础规范 (1)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省空间(由于移动设备原因最好使用utf8mb4) (2)禁止使用存储过程.视图.触发器.Event 解读:高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”.数据库擅长存储与索引,CPU计算还是上移吧 (3)禁止存储大文件或者大照片 解读:为何要让数据库做它不擅长的事情?大…
军规适用场景:并发量大.数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表.数据字段必须加入中文注释 解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的 (4)禁止使用存储过程.视图.触发器.Event 解读:高并发大数据的互联网业务,架构设计思路是“解放…
mPOS是近年出现并得到迅速发展的一种新型受理产品,不少机构和生产企业进行了各种形式的试点. 因为mPOS引入了手机.平板电脑等通用智能移动设备.并通过互联网进行信息传输.因此其安全特点与传统银行卡受理终端存在不同;同一时候,市场对mPOS含义认识不一,安全水平參差不齐.因而也对安全管理提出了更大的挑战. 本文基于银联终端工作组研究成果.结合最新公布的<中国银联mPOS通用技术安全要求>(下面简称<要求>).对mPOS技术概念.安全目标和技术要求进行解读,并提出系统应用部署的安全方…
56.  为所有已公开的API元素编写文档注释 要正确地记录API,必须在每个导出的类.接口.构造方法.方法和属性声明之前加上文档注释.如果一个类是可序列化的,还需要记录它的序列化形式. 文档注释在源代码和生成的代码中都应该是可读的通用原则. 类或接口中的两个成员方法或构造方法不应具有相同的概要描述. 总结起来就是一句话,文档注释要规范. 阿里规约如下: [强制]类.类属性.类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用 // xxx 方式.[强制]所有的抽象方法(…
45.  明智谨慎地使用Stream 46.  优先考虑流中无副作用的函数 47.  优先使用Collection而不是Stream作为方法的返回类型 48.  谨慎使用流并行 49.  检查参数有效性 大多数方法和构造方法对可以将哪些值传到其对应参数有一些限制.例如:索引必须是非负数.对象引用必须是非null.你应该清楚地在文档中记载所有这些限制,并在方法主体的开头用检查来强制执行. 每次编写方法或构造方法时,都应该考虑对其参数存在哪些限制.应该记住这些限制,并在方法体的开头使用显示检查来强制…
表设计规范1.建议能使用小字节数类型,就不要用大字节数类型2.建议能用varchar(N).text就不用char(N):3.建议使用default NULL,而不用default '':4.建议使用NUMERIC(precision,scale)来存储货币金额和其它要求精确计算的数值,而不使用real,double precision5.如果有国际货业务的话,建议使用timestamp with time zone(timestamptz),而不用timestamp without time…
前提 最近发现各个频道推荐了很多ULID相关文章,这里对ULID的规范文件进行解读,并且基于Java语言自行实现ULID,通过此实现过程展示ULID的底层原理. ULID出现的背景 ULID全称是Universally Unique Lexicographically Sortable Identifier,直译过来就是通用唯一按字典排序的标识符,它的原始仓库是https://github.com/ulid/javascript,该项目由前端开发者alizain发起,基于JavaScript语言…
js的强转是我们很容易遇到坑的一个地方 比如 == 会产生很有意思的事情(使用===还是最佳实践的)  或者+new Date()一个当前的数字时间戳  这里面都涉及到强转  下面分享下学习强转的过程 简单理解强转   强转是指强制将一种类型的对象或者实体转换成另一种的行为(也就是这种转换的行为不是你主动控制的 区别类型的显示转换) 在发生强转的时候,js总是将一个复杂的对象转化为一个基础的类型值 var num = 1111; var b = "" + num; typeof b;…
一. 官方登录时序图 二. 简单理解 这里仅按照官方推荐的规范来 0. 前置条件 一共有三端: - 微信小程序客户端 - 第三方服务器端(自己搭建) - 微信服务器端 1. 客户端获得code,并将code传给第三方服务端 微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端 2. 第三方服务端用code换session_key和openid 小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和ope…
总结一些interface声明时的规范,相关宏的介绍,定义方法时有用的修饰符,编写注释的规范,最终写出一个合格的头文件. 1.读写权限 1.1实例变量的@public,@protected,@private关键字 1.2属性的readonly,readwrite关键字 2.前向声明 3.只暴露必要的接口和实现 3.1不要暴露任何只在类内部使用的私有方法 3.2不要在头文件里声明类内部遵循的protocol 4.nullability说明 5.定义枚举 5.1 NS_ENUM 5.2 NS_OPT…
总结一些interface声明时的规范,相关宏的介绍,定义方法时有用的修饰符,编写注释的规范,最终写出一个合格的头文件. 1.读写权限 1.1实例变量的@public,@protected,@private关键字 1.2属性的readonly,readwrite关键字 2.前向声明 3.只暴露必要的接口和实现 3.1不要暴露任何只在类内部使用的私有方法 3.2不要在头文件里声明类内部遵循的protocol 4.nullability说明 5.定义枚举 5.1 NS_ENUM 5.2 NS_OPT…
Spring Boot是最流行的用于开发微服务的Java框架.在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章. 在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目).以下依次列出了最佳实践,排名不分先后. 1.使用自定义BOM来维护第三方依赖 这条实践是我根据实际项目中的经历总结出的. Spring Boot项目本身使用和集成了大量的开…
置顶:华为云618大促火热进行中,全场1折起,免费抽主机,消费满额送P30 Pro,点此抢购. Spring Boot是最流行的用于开发微服务的Java框架.在本文中,将与大家分享自2016年以来笔者在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于笔者个人经验和一些熟知的Spring Boot专家的文章. 在本文中,将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目).以下依次列出了最佳实践,排名不分先后. 1.使用自定义BOM来维护第三方依赖…
Spring Boot是最流行的用于开发微服务的Java框架.在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章.在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目).以下依次列出了最佳实践,排名不分先后. 1.使用自定义BOM来维护第三方依赖 这条实践是我根据实际项目中的经历总结出的. Spring Boot项目本身使用和集成了大量的开源…
在<JavaScript深入之执行上下文栈>中讲到,当JavaScript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context). 对于每个执行上下文,都有三个重要属性 变量对象(Variable object,VO) 作用域链(Scope chain) this 今天重点讲讲 this,然而不好讲. …… 因为我们要从 ECMASciript5 规范开始讲起. 先奉上 ECMAScript 5.1 规范地址: 英文版:http…
编程是一种与计算机系统通信的语言.交流就是与某人分享思想.二进制语言是计算机的最核心的语言.但是在前端,我们有很多种语言.这些语言使用解释器将前端代码转换为二进制代码.基本上,系统对一行代码执行大量内部操作.为了与系统通信,我们需要给出清晰易读的命令.这对系统和代码查看器都很有帮助.一些程序员最初编写的代码行很高,这会影响程序的执行时间和编译时间.作为一个程序员必须知道一种特定编程语言的所有快捷方法和内置函数.使用快捷方式和内置函数来减少代码行和减少执行时间. 程序员编写的程序必须是可读的.对新…
任何好用的工具如果使用不当都会带来不好的后果,gflags也是一样.我遇到过一些gflags的“坑”,还从领导和同事那里获得一些好的想法,整理成7条gflags使用规范.有意识的遵循这些规范,对项目的开发维护和自身的技术成长都将有很大的益处. 规范1:bool类型的gflags默认值设置成false,防止误启用新功能. 新的功能上线一定要经过代码审查.测试和验证流程,默认为true的gflags风险太大. 规范2:应定时清理旧的gflags. 随着时间的流逝,代码里的gflags会越来越多,当你…
最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是具有通用性,所以也借鉴了像去哪儿和赶集的规范,但实际在撰写本文的过程中,每一条规范的背后无不是在工作中有参照的反面例子的.如果时间可以的话,会抽出一部分或分析其原理,或用案例证明. 1. 命名规范 库名.表名.字段名必须使用小写字母,并采用下划线分割 MySQL有配置参数lower_case_tab…
面向对象 现在,主流的编程范式或者是编程风格有三种,它们分别是面向过程.面向对象和函数式编程.面向对象这种编程风格又是这其中最主流的.现在比较流行的编程语言大部分都是面向对象编程语言.大部分项目也都是基于面向对象编程风格开发的.面向对象编程因为其具有丰富的特性(封装.抽象.继承.多态),可以实现很多复杂的设计思路,是很多设计原则.设计模式编码实现的基础. 所以,在专栏的最开始,我们会详细地讲解面向对象编程的相关的知识,为学习后面的内容做铺垫.对于这部分内容,你需要掌握下面这 7 个大的知识点.…
适用场景:并发量大.数据量大的互联网业务;可以先阅读必须掌握的MySQL优化指南 一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 UTF-8MB4 解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表.数据字段必须加入中文注释 解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的 (4)禁止使用存储过程.视图.触发器.Event 解读:高并发大数据的互联网业务,架构设计思路是"…
1. 常量是程序运行期间不能被改变的量; 变量代表一个存储区域,存储区域内存储的内容就是变量的值, 变量的值可以在程序运行期间改变  (变量就像一个杯子, 用来存放水, 杯子里的水即变量的值是可以改变的) 2.基本数据类型:int: 整型类型, 在内存中占4个字节, 在计算机中每个字节都由8个二进位制数表示; short: 短整型类型, 在内存中占2个字节 long: 长整型类型, 在内存中占4或8个字节, 和操作系统有关, 在32位的操作系统中占4个字节, 在64位的操作系统中占8个字节 fl…
上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来完成代码管理. 本文主要内容有: Roslyn简介 开发基于Roslyn的代码分析器 常用的基于Roslyn的代码分析器 在.Net Framework项目中使用代码分析器 安装StyleCop Analyser 设置规则 将自定义的规则使用到整个解决方案 修复代码 使用StyleCop.Json 在.Net Core/.Net Standard项目中使用代码分析器 跨IDE的代码规范解决方案 在VS2017中使用Edito…
1 CBV的源码分析 -Class Base View(基于类的视图) -Function Base View(基于函数的视图) -def as_view 类方法 -def view:类方法内部,闭包函数定义:内层函数包含对外部作用域的引用 -python中一切皆对象:函数也是对象 -hasattr(self, 'get')--判断self类中是不是有该(get)方法 -反射 setattr(self,get,get_all):相当于把get函数,变成了get_all -getattr(self…
1.简介 什么是resful resful是一个规范,说白了就是面向资源编程,把网络中所有的东西,想象成资源 2.规范 10条规范 1)API与用户的通信协议,总是用HTTPS协议:HTTPS比http安全 2)域名 https://api.example.com 尽量将API部署在专用域名(会存在跨域问题)https://example.org/api/ API很简单例如写一个查询所有图书的api接口:https://api.example.com/books https://127.0.0.…
Qt的编程风格与规范 来源: http://blog.csdn.net/qq_35488967/article/details/70055490 参考资料: https://wiki.qt.io/Qt_Contribution_Guidelines https://wiki.qt.io/Qt_Coding_Style https://wiki.qt.io/Coding_Conventions https://community.kde.org/Policies/Library_Code_Poli…
http://blog.csdn.net/richnaly/article/details/6280294 第2章       命名规范 2.1.   大小写约定 2.1.1.    标识符的大小写规则     ü 用PascalCasing命名多个单词构成的命名空间.类型以及成员的名字. 例如:使用TextColor而不使用Textcolor,单个单词(Button)的首字母大写,当一个单词为复合词(endpoint)作为一个单词,只有第一字母大写. ü 用camelCasing命名参数的名字…
[翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 Google为了那些还不熟悉代码规范的人发布了一个JS代码规范.其中列出了编写简洁易懂的代码所应该做的最佳实践. 代码规范并不是一种编写正确JavaScript代码的规则,而是为了保持源代码编写模式一致的一种选择.对于JavaScript语言尤其如此,因为它灵活并且约束较少,允许开发者使用许多不同的…
Net中的代码规范工具及使用 https://www.cnblogs.com/selimsong/p/9209254.html 上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来完成代码管理. 本文主要内容有: Roslyn简介 开发基于Roslyn的代码分析器 常用的基于Roslyn的代码分析器 在.Net Framework项目中使用代码分析器 安装StyleCop Analyser 设置规则 将自定义的规则使用到整个解决方案 修复代码 使用StyleCop.Json…
restfu1规范 它是一个规范,面向资源架构 10条规范: 1.api与用户的通信协议,总是使用https协议 api网上提供的接口 2.域名: 尽量将api部署在专用域名(会存在跨域问题) API很简单 3.版本 可以放在路径或请求头中 4.路径,视网络上任何东西都是资源,均使用名词表示 5.method:通过请求方式来表示进行的操作 GET 获取所有图书 POST 表示新增一本书 delete 删除 put/patch 表示修改一本书 6.过滤,通过再url上传参的形式进行传递搜索条件 7…