编程炸鸡-知识点
1. 微服务
微服务的实施是有一定的先决条件:基础的运维能力(如监控、快速配置、快速部署)需提前构建,否则就会陷入如我们般被动的局面。
单个微服务代码量小,易修改和维护。但是,系统复杂度的总量是不变的,每个服务代码少了,但服务的个数肯定就多了。就跟拼图游戏一样,切的越碎,越难拼出整幅图。一个系统被拆分成零碎的微服务,最后要集成为一个完整的系统,其复杂度肯定比大块的功能集成要高很多
| 优点 | 缺点 |
| 微服务都很小,这样能聚焦一个指定的业务功能或业务需求。 |
微服务架构可能带来过多的操作 |
| 是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。 | 分布式系统可能复杂难以管理 |
| .能使用不同的语言开发 | 因为分布部署跟踪问题难 |
| 允许你利用融合最新技术 | 当服务数量增加,管理复杂性增加 |
| 能够即时被要求扩 | |
| 易于和第三方集成 | |
| 每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库 |
2.高并发
高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。
高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等
如何提升系统的并发能力
1. 垂直扩展(Scale Up) 提升单机处理能力
2. 水平扩展(Scale Out)。 反向代理层的水平扩展,是通过“DNS轮询”实现的
3.数据库优化有那些方面
|
选取最适用的字段属性 |
| 事务的另一个重要作用是当多个用户同时使用相同的数据源时,它可以利用锁定数据库的方法来为用户提供一种安全的访问方式,这样可以保证用户的操作不被其它的用户所干扰 |
| 锁定表的方法可以维护数据的完整性,但是它却不能保证数据的关联性。这个时候我们就可以使用外键。 |
| 使用索引 |
|
优化的查询语句 1. 对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引 2.应尽量避免在 where 子句中对字段进行 null 值判断 3.应尽量避免在 where 子句中使用 != 或 <> 操作符 4. 查询的时候select后面不要用*,手动把字段名字加 |
4.编程规范
目的: 1、保证代码的可读性 2、保证代码的维护性
|
代码简洁,避免冗余,要使代码统一,易于阅读,就要做到遵循严格的规范 1. 每个源程序文件都应有文件头说明 2. 每个函数都有函数头说明 3.主要变量(结构、联合、类或对象)在定义或引用时,应添加能反映其含义的注释 4.常量定义时应有相应的说明 5.变量、常量和函数的命名都应一目了然 6.处理过程的每个阶段应有相应的注释说明 7. 在典型算法前都有注释,一目了然的语句不加注释 8. 保持注释与代码完全对应 9. 利用缩进来显示程序的逻辑结构(缩进后的代码在后期维护时会结构清晰且易于维护) |
| 方法尽可能简短做到独立共用 |
| 永远不要将同一个变量用于不同的目的 |
|
编程习惯 1.方法名以小写字母开头,后面紧跟的是大写字母开头的单词,比如veryLongVariableName。 2.类名一般都是大写字母开头的单词组合。 3.常量的命名都是大写字母的单词,之间用下划线隔开,比如MY_CONSTANT。 4.左大括号应该跟if在同一行。 命名规则 1.匈牙利命名法:广泛应用于Microsoft Windows这类环境中 标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。 例如:bEnable, nLength, hWnd 2.驼峰命名法:近年来越来越流行。 指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。 3.帕斯卡(Pascal)命名法:与驼峰命名法类似 人称之为“大驼峰命名法” 只不过驼峰命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写 UserName 4.下划线命名法。 |
5. .NET framework 个版本特性
6.RESTful api 设计原则
RESTful 是一种架构风格
1.一个好的RESTful API会在URL中包含版本信息。另一种比较常见的方案是在请求头里面保持版本信息。但是跟很多不同的第三方开发者一起工作后,我可以很明确的告诉你,在请求头里面包含版本信息远没有放在URL里面来的容易。
2.API的根地址很重要 比如 https://example.org/api/v1/*
3.过滤器 Filtering
尽可能减少那些会影响到第三方开发者的无谓限制
7.web标准 http协议
8.MVC Filter 可以做那些事情
IActionFilter(Action拦截器接口)、IExceptionFilter(异常拦截器接口)、IResultFilter(Result拦截器接口)、IAuthorizationFilter(授权拦截器接口)
| ActionFilterAttribute | |
| [Authorize] | AuthorizeAttribute |
https://www.cnblogs.com/imhaiyang/p/5050185.html
9.合格程序员七大基本素质与五大必备能力 https://www.cnblogs.com/chunguang/p/5756236.html
| 素质 |
| 团队精神和协作能力 |
| 文档习惯 |
| 规范化,标准化的代码编写习惯 |
| 需求理解能力 |
| 复用性,模块化思维能力 |
| 测试习惯 |
| 学习和总结的能力 |
| 能力 |
| 需求分析能力 |
| 项目设计方法和流程处理能力 |
| 复用设计和模块化分解能力 |
| 整体项目评估能力 |
| 团队组织管理能力 |
10.托管与非托管
https://www.cnblogs.com/cjm123/p/8390984.html

浙公网安备 33010602011771号