MVC+EFCore 项目实战-数仓管理系统1
项目背景及需求说明
这是一个数据管理"工具类"的系统,计划有三个核心功能:
1、通过界面配置相关连接字符串,查询数据库的表数据。
2、配置相关模板,生成数据库表。
可以界面填报或通过Excel导入导出填报表数据。
3、通过界面配置导出数据库表结构(数据字典)。
通过以上功能,在数据分析、可视化项目中,更方便的进行数据管理。
课程计划
项目需要用到的基础知识之前已有文章做介绍,如下:
(共20篇,其中1~10是基础知识介绍,11~20是专题知识介绍)
- MVC5+EF6 完整教程17--升级到EFCore2.0 @20170821
- MVC5+EF6 完整教程16--控制器详解 @20170503
- MVC5+EF6 完整教程15--使用DI进行解耦 @20170406
- MVC5+EF6 入门完整教程14--动态生成面包屑 @20160811
- MVC5+EF6 入门完整教程13--动态生成多级菜单 @20160530
- MVC5+EF6 入门完整教程12--灵活控制Action权限 @20160504
- 浅入浅出Lambda表达式 @20151201
- MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 @20150914
- MVC5+EF6 入门完整教程10:多对多关联表更新&使用原生SQL@20150521
- MVC5+EF6 入门完整教程9:多表数据加载@20150212
- MVC5+EF6 入门完整教程8 :不丢失数据进行数据库结构升级 @20141215
- MVC5+EF6 入门完整教程7 :排序过滤分页 @20141201
- MVC5+EF6 入门完整教程6 :分部视图(Partial View) @20141117
- MVC5+EF6 入门完整教程5 :UI的一些改造 @20141113
- MVC5+EF6 入门完整教程4 :EF基本的CRUD @20141104
- MVC5+EF6 入门完整教程3 :EF完整开发流程 @20141027
- MVC5+EF6 入门完整教程2 :从前端UI开始 @20141021
项目实战部分实际是系列文章的续集,考虑到编号太长了,我们重新开始编号。
之前的文章,由于种种原因(工作是项目制的, 经常需要管理多个项目进度,工作太忙没时间写),周期拉的太长,耽误了大家学习,现在经常还有园友加QQ群问问题和查看源码(也很少有时间回答,大部分问题都是园友们互助),实在抱歉。
考虑到这些问题,实战部分的教程,准备每晚固定投入两小时,暑假期间完成初版,整个周期压缩在一个半月到两个月之间。 以开发速度为第一优先级, 围绕三个功能边设计边开发,快速迭代完成第一版本。
文章更新时间为每周的周二和周五(如遇节假日顺延)。
课程学习方法建议
加拿大畅销书作家麦尔坎·葛拉威尔在《异数》一书中指出:"人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。只要经过1万小时的锤炼,任何人都能从平凡变成超凡。"他将此称为"一万小时定律"。
这里我要强调的并非是练习时间,而是练习方法。按每天三小时算,一万小时大概需要10年不间断的练习。如何缩短一万小时?答案是 "刻意练习"(deliberate practice)。
首次提出"刻意练习"这个概念的是佛罗里达大学心理学家 K. Anders Ericsson。
这套练习方法的核心假设是,专家级水平是逐渐地练出来的,而有效进步的关键在于找到一系列的小任务让受训者按顺序完成。
这些小任务必须是受训者正好不会做,但是又正好可以学习掌握的。
完成这种练习要求受训者思想高度集中。
"刻意练习"的理论目前已经被广泛接受,我们总结一下它的特点。
1、只在"学习区"练习
练习的精髓是要持续地做自己做不好的事。
心理学家把人的知识和技能分为嵌套的三个圆形区域:
最内一层是"舒适区",是我们已经熟练掌握的各种技能;
最外一层是"恐慌区",是我们暂时无法学会的技能;
二者中间则是"学习区"。
只有在学习区里面练习,一个人才可能进步。
有效的练习任务必须精确的在受训者的"学习区"内进行,具有高度的针对性。
因此我们首先必须发现自己的学习区,找到我们最需要改进的地方。 只在学习区练习,是一个非常强的要求。一旦已经学会了某个东西,就不应该继续在上面花时间,应该立即转入下一个难度。
2、大量重复训练
从不会到会,秘诀是重复。
比如MBA课程的一个典型特点就是把不常见的高难度事件(商业决策)重复化。在商学院里一个学生每周可能要面对20个真实发生过的商业案例,学生们首先自己研究怎么决策,提出解决方案,最后老师给出实际的结果并作点评。
学习商业决策的最好办法不是观察老板每个月做两次决策,而是自己每周做20次模拟的决策。疫情放假期间,我上了一些音乐学习的网课,在音乐训练中,比较强调"分块"练习。首先你要把整个动作或者整首曲子过一遍,看专家是怎么做的。然后把它分解为很多小块,一块一块地学习掌握。
3、持续获得有效的反馈
要学会自己给自己当教练。
优秀的学习者都有很强的自学能力,对他们而言,老师最重要的作用是提供即时的反馈。 优秀的学习者会以一个旁观者的角度观察自己,每天都有非常具体的小目标,对自己的错误极其敏感,并不断寻求改进。
4、精神高度集中
请高效率的学习,不要磨洋工。刻意练习没有"寓教于乐"这个概念,完全投入的状态是很累的。曾经有个著名小提琴家说过,如果你是练习手指,你可以练一整天;可是如果你是练习脑子,你每天能练两个小时就不错了。
总结
1、这是一个非常实用的数据管理工具类软件,初版完成后你可以方便的去使用和扩展功能。
2、计划每周更新两次(周二和周五,节假日顺延),初版大约两个月完成。
3、人生苦短。不断迭代你的学习方法,刻意练习。
祝大家学习进步 :)
MVC+EFCore 项目实战-数仓管理系统1的更多相关文章
- MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore
本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...
- MVC + EFCore 项目实战 - 数仓管理系统8 - 数据源管理下--数据源预览
上篇我们完成了数据源保存功能,并顺便看了保存后的数据源列表展示功能. 本篇我们开始开发预览功能,用户预览主要步骤: 1.点击数据源卡片预览按钮 2.查看数据源包含的表 3.点击表名,预览表中数据 ...
- MVC + EFCore 项目实战 - 数仓管理系统9 - 数据源管理完结篇
我们完成数据源管理的剩余部分:点击表名,预览表中数据. 我们需要完成的是下图的方框部分. 考虑到这块以后可能复用,我们将她独立出来,做成 view component. 新建 view compone ...
- MVC + EFCore 项目实战 - 数仓管理系统3 - 完成整体样式风格配置
上次课程我们新建了管理员的模板页. 本次我们就完善这个模板页,顺便加入样式和一些基本的组件,配置好整个项目的UI风格. 一.引入 共用的css和js文件 后端库用nuget, 前端库用libman ...
- MVC + EFCore 项目实战 - 数仓管理系统4 – 需求分解
上次课程我们完成了项目基本的UI风格配置. 现在就开始进入我们的需求开发,我们先捋一下需求. 一.总体需求说明 项目背景第一篇文章已有介绍,我们回顾一下. 这是一个数据管理"工具类" ...
- MVC + EFCore 项目实战 - 数仓管理系统5 – 菜单配置及里程碑划分
上次课程我们完成了需求的梳理. 我们根据梳理的需求把菜单配好,另外我们把项目里程碑也配置在系统中,开发和管理都在系统中,形成无文档化管理. 一.菜单配置 根据我们的归纳图,我们先将菜单配置好. 我们遵 ...
- MVC + EFCore 项目实战 - 数仓管理系统7 - 数据源管理中--新增数据源
上篇我们完成了数据源列表展示功能(还未测试). 本篇我们来新增数据源,并查看列表展示功能. 接上篇: 二.数据源管理功能开发 2.新增数据源 我们用模态对话框来完成数据源的新增,效果如下图: 我们 ...
- MVC + EFCore 项目实战 - 数仓管理系统6 – 数据源管理上--使用view component完成卡片列表
上次课程我们完成了菜单的配置和开发里程碑的划定. 按照计划,我们先来开发数据仓库管理中的数据源管理(对应菜单为:数据仓库管理 / 数据源),首批支持的数据源是SQL SERVER数据库. 一.数据源管 ...
- Asp.Net Core 项目实战之权限管理系统(6) 功能管理
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
随机推荐
- Java实现 LeetCode 630 课程表 III(大小堆)
630. 课程表 III 这里有 n 门不同的在线课程,他们按从 1 到 n 编号.每一门课程有一定的持续上课时间(课程时间)t 以及关闭时间第 d 天.一门课要持续学习 t 天直到第 d 天时要完成 ...
- Java实现 LeetCode 275 H指数 II
275. H指数 II 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高 ...
- java实现购物券消费方案
公司发了某商店的购物券1000元,限定只能购买店中的m种商品.每种商品的价格分别为m1,m2,-,要求程序列出所有的正好能消费完该购物券的不同购物方法. 程序输入: 第一行是一个整数m,代表可购买的商 ...
- java实现数字的值返回
以下的静态方法实现了:把串 s 中第一个出现的数字的值返回. 如果找不到数字,返回-1 例如: s = "abc24us43" 则返回 2 s = "82445adb5& ...
- java实现串逐位和(C++)
给定一个由数字组成的字符串,我们希望得到它的各个数位的和. 比如:"368" 的诸位和是:17 这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案: int f(c ...
- Linux脚本安装包
脚本安装包 并不是独立的软件安装包类型,常见安装的是源码包,是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简答的参数,就可以实现安装,非常类似于Windows下软件的安装方式. 安装过程(安 ...
- 深入理解Java的动态编译
前提 笔者很久之前就有个想法:参考现有的主流ORM框架的设计,造一个ORM轮子,在基本不改变使用体验的前提下把框架依赖的大量的反射设计去掉,这些反射API构筑的组件使用动态编译加载的实例去替代,从而可 ...
- 第一章03-Activity的启动模式
Activity的LaunchMode Android中提供了四中Activity的启动模式 1. standard 2. singleTop 3. singleTask 4. signleInsta ...
- 开发者大赛 | aelf轻型DApp开发训练大赛结果公布!
6月9日,由aelf基金会发起的轻型DApp开发训练大赛圆满收官.本次训练赛基于aelf公开测试网展开,主要针对轻型DApp,旨在激励更多的开发者参与到aelf生态中来. 活动于4月21日上线后,ae ...
- 【PHP】如何将SESSION数据存放到Redis中
在php中,SESSION的数据默认是存放到文件中,这样性能不仅不高,而且不利于扩展.在搭建集群后,默认存放到文件中就不适用了.所以,我们一般将SESSION自定义,让SESSION中的数据存放到 数 ...