摘要: 2.1项目管理基础 2.1.1项目的概念 定义 项目是为提供一种独特的产品、服务或成果所做的临时努力。 2.1.2项目的特点 临时性 临时性是每一个项目都有确定的开始时间和结束时间 临时性一般不适用项目所产生的产品、服务或成果。大多数项目是为了得到持久的结果。例如:人民英雄纪念碑建设项目的产品“人民 阅读全文
posted @ 2022-08-30 11:32 CRUDEngineer 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 信息的特征 客观性 信息是客观事务在人脑中的反映,而反映的对象则有主观和客观的区别,因此,信息可分为主观信息(例如 决策、指令和计划等)和客观信息(例如 国际形势、经济发展和一年四季等)。主观信息必然转化为客观信息,例如,决策和计划等主观信息要转化为实际行动。 普遍性 物质具有普遍性,信息属于物质。 阅读全文
posted @ 2022-08-29 11:31 CRUDEngineer 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 什么是分库分表? 简单说就是将原来单一的数据库(或数据库集群)按照某个维度分为多个库(表)。 为什么要分库分表? 因为业务复杂度高,访问数据库次数已经优化到一定水平仍然数据库的性能成为了系统性能的瓶颈的时候,就智能用数据库分库分表的手段了。 怎么理解分库分表? 我对分库分表的理解是,在库(或者表)的 阅读全文
posted @ 2022-08-16 10:47 CRUDEngineer 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 1.Hello world 简单模式 一个生产者对应一个消费者。 2.Work Queues 工作队列 一个生产者,对应多个消费者,消费者之间是竞争去同一队列取消息,并不会取到相同一条消息,类似于Redis中的队列,只能被取走一次。 应用场景:对于任务过重或任务较多的情况,使用工作队列可以提高任务处 阅读全文
posted @ 2022-08-12 10:20 CRUDEngineer 阅读(12) 评论(0) 推荐(0) 编辑
摘要: MQ的优势 应用解耦 系统的耦合性越高,容错性就越低,可维护性就越低。使用MQ使得应用间解耦,提升容错性和可维护性。 异步提速 如1中图示,在订单系统处理完逻辑之后,就可以给用户反馈下单成功,后边的操作放在后台异步执行,这样减少了同步调用时的等待时间。同时,也增加了系统的吞吐量。 削峰填谷 提高系统 阅读全文
posted @ 2022-08-11 22:55 CRUDEngineer 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 首先说一下.Net Core 自带的注入。 新建一个NetCore 控制台程序,我这里用的是.NetCore3.1 ,创建好项目之后,添加Nugget引用如下: 然后修改Program.cs文件 private static IConfiguration Configuration { get; s 阅读全文
posted @ 2022-08-10 10:01 CRUDEngineer 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 同样的执行代码,放在单线程中执行,和放在多线程中执行,结果不一样,这就是多线程安全问题。 线程安全问题是怎么来的? 一个语法糖: public static void TestMonitor() { string LOCK= "lock"; List<int> list = new List<int 阅读全文
posted @ 2022-08-08 18:43 CRUDEngineer 阅读(981) 评论(0) 推荐(0) 编辑
摘要: 多线程到底是什么? 进程Processer: 进程不是一个物理存在的,是一个计算机的概念(虚拟的),把一个程序运行时占用的全部计算资源(CPU,内存,磁盘,网络等资源)的一个合集。 线程Thread: 也是计算机概念(虚拟的),是进程的最小执行流(任何一个操作的响应都需要执行流),线程也有自己的计算 阅读全文
posted @ 2022-07-28 18:34 CRUDEngineer 阅读(2816) 评论(0) 推荐(0) 编辑
摘要: 从其它线程发起后,在一个新的单独线程上运行的操作。发起异步操作的线程不必等待异步操作完成。 简单来说,正常程序执行是从上到下逐语句执行,这就叫同步。 比如当你写同步程序的时候,你的代码中需要先后执行两个非常耗时间的操作,暂且把这两个操作取名了A 和 B,按照同步的方式,那就必须先执行A 等A执行完( 阅读全文
posted @ 2022-07-26 16:02 CRUDEngineer 阅读(1698) 评论(0) 推荐(1) 编辑
摘要: 1.冒泡排序 /// <summary> /// 冒泡排序 (每次循环都将最值,一步一步交换到最后位置,与选择排序的差别是交换的次数和是否记录每次最值的游标位置) /// </summary> /// <param name="list"></param> /// <returns></return 阅读全文
posted @ 2022-07-26 10:43 CRUDEngineer 阅读(44) 评论(0) 推荐(0) 编辑