项目背景及需求说明

这是一个数据管理"工具类"的系统,计划有三个核心功能:

1、通过界面配置相关连接字符串,查询数据库的表数据。

2、配置相关模板,生成数据库表。

可以界面填报或通过Excel导入导出填报表数据。

3、通过界面配置导出数据库表结构(数据字典)。

 

通过以上功能,在数据分析、可视化项目中,更方便的进行数据管理。

 

课程计划

项目需要用到的基础知识之前已有文章做介绍,如下:

(共20篇,其中1~10是基础知识介绍,11~20是专题知识介绍)

 

 

项目实战部分实际是系列文章的续集,考虑到编号太长了,我们重新开始编号。

 

之前的文章,由于种种原因(工作是项目制的, 经常需要管理多个项目进度,工作太忙没时间写),周期拉的太长,耽误了大家学习,现在经常还有园友加QQ群问问题和查看源码(也很少有时间回答,大部分问题都是园友们互助),实在抱歉。

 

考虑到这些问题,实战部分的教程,准备每晚固定投入两小时,暑假期间完成初版,整个周期压缩在一个半月到两个月之间。 以开发速度为第一优先级, 围绕三个功能边设计边开发,快速迭代完成第一版本。

 

文章更新时间为每周的周二和周五(如遇节假日顺延)。

 

课程学习方法建议

加拿大畅销书作家麦尔坎·葛拉威尔在《异数》一书中指出:"人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。只要经过1万小时的锤炼,任何人都能从平凡变成超凡。"他将此称为"一万小时定律"。

 

这里我要强调的并非是练习时间,而是练习方法。按每天三小时算,一万小时大概需要10年不间断的练习。如何缩短一万小时?答案是 "刻意练习"(deliberate practice)。

 

首次提出"刻意练习"这个概念的是佛罗里达大学心理学家 K. Anders Ericsson。

这套练习方法的核心假设是,专家级水平是逐渐地练出来的,而有效进步的关键在于找到一系列的小任务让受训者按顺序完成。

这些小任务必须是受训者正好不会做,但是又正好可以学习掌握的。

完成这种练习要求受训者思想高度集中。

 

"刻意练习"的理论目前已经被广泛接受,我们总结一下它的特点。

 

1、只在"学习区"练习 

练习的精髓是要持续地做自己做不好的事。 

心理学家把人的知识和技能分为嵌套的三个圆形区域:

最内一层是"舒适区",是我们已经熟练掌握的各种技能;

最外一层是"恐慌区",是我们暂时无法学会的技能;

二者中间则是"学习区"。

只有在学习区里面练习,一个人才可能进步。

有效的练习任务必须精确的在受训者的"学习区"内进行,具有高度的针对性。

因此我们首先必须发现自己的学习区,找到我们最需要改进的地方。 只在学习区练习,是一个非常强的要求。一旦已经学会了某个东西,就不应该继续在上面花时间,应该立即转入下一个难度。

 

2、大量重复训练

从不会到会,秘诀是重复。

比如MBA课程的一个典型特点就是把不常见的高难度事件(商业决策)重复化。在商学院里一个学生每周可能要面对20个真实发生过的商业案例,学生们首先自己研究怎么决策,提出解决方案,最后老师给出实际的结果并作点评。

学习商业决策的最好办法不是观察老板每个月做两次决策,而是自己每周做20次模拟的决策。疫情放假期间,我上了一些音乐学习的网课,在音乐训练中,比较强调"分块"练习。首先你要把整个动作或者整首曲子过一遍,看专家是怎么做的。然后把它分解为很多小块,一块一块地学习掌握。

 

3、持续获得有效的反馈 

要学会自己给自己当教练。

优秀的学习者都有很强的自学能力,对他们而言,老师最重要的作用是提供即时的反馈。 优秀的学习者会以一个旁观者的角度观察自己,每天都有非常具体的小目标,对自己的错误极其敏感,并不断寻求改进。 

 

4、精神高度集中 

请高效率的学习,不要磨洋工。刻意练习没有"寓教于乐"这个概念,完全投入的状态是很累的。曾经有个著名小提琴家说过,如果你是练习手指,你可以练一整天;可是如果你是练习脑子,你每天能练两个小时就不错了。

总结

1、这是一个非常实用的数据管理工具类软件,初版完成后你可以方便的去使用和扩展功能。

2、计划每周更新两次(周二和周五,节假日顺延),初版大约两个月完成。

3、人生苦短。不断迭代你的学习方法,刻意练习。

 

祝大家学习进步 :)

MVC+EFCore 项目实战-数仓管理系统1的更多相关文章

  1. MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore

    本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...

  2. MVC + EFCore 项目实战 - 数仓管理系统8 - 数据源管理下--数据源预览

    上篇我们完成了数据源保存功能,并顺便看了保存后的数据源列表展示功能. 本篇我们开始开发预览功能,用户预览主要步骤: 1.点击数据源卡片预览按钮 2.查看数据源包含的表 3.点击表名,预览表中数据   ...

  3. MVC + EFCore 项目实战 - 数仓管理系统9 - 数据源管理完结篇

    我们完成数据源管理的剩余部分:点击表名,预览表中数据. 我们需要完成的是下图的方框部分. 考虑到这块以后可能复用,我们将她独立出来,做成 view component. 新建 view compone ...

  4. MVC + EFCore 项目实战 - 数仓管理系统3 - 完成整体样式风格配置

    上次课程我们新建了管理员的模板页. 本次我们就完善这个模板页,顺便加入样式和一些基本的组件,配置好整个项目的UI风格.   一.引入 共用的css和js文件 后端库用nuget, 前端库用libman ...

  5. MVC + EFCore 项目实战 - 数仓管理系统4 – 需求分解

    上次课程我们完成了项目基本的UI风格配置. 现在就开始进入我们的需求开发,我们先捋一下需求. 一.总体需求说明 项目背景第一篇文章已有介绍,我们回顾一下. 这是一个数据管理"工具类" ...

  6. MVC + EFCore 项目实战 - 数仓管理系统5 – 菜单配置及里程碑划分

    上次课程我们完成了需求的梳理. 我们根据梳理的需求把菜单配好,另外我们把项目里程碑也配置在系统中,开发和管理都在系统中,形成无文档化管理. 一.菜单配置 根据我们的归纳图,我们先将菜单配置好. 我们遵 ...

  7. MVC + EFCore 项目实战 - 数仓管理系统7 - 数据源管理中--新增数据源

    上篇我们完成了数据源列表展示功能(还未测试). 本篇我们来新增数据源,并查看列表展示功能.   接上篇: 二.数据源管理功能开发 2.新增数据源 我们用模态对话框来完成数据源的新增,效果如下图: 我们 ...

  8. MVC + EFCore 项目实战 - 数仓管理系统6 – 数据源管理上--使用view component完成卡片列表

    上次课程我们完成了菜单的配置和开发里程碑的划定. 按照计划,我们先来开发数据仓库管理中的数据源管理(对应菜单为:数据仓库管理 / 数据源),首批支持的数据源是SQL SERVER数据库. 一.数据源管 ...

  9. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. JavaScript (三) js的基本语法 - - 数组 与函数 、关键字

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.关键字 1.break 关键字使用 break关键字:如果在循环中使用,遇到了break,则立刻跳出 ...

  2. SpringBoot整合Flyway(数据库版本迁移工具)

    简介 在团队开发当中,有可能每个人都是使用自己本地的数据库.当数据库的表或者字段更新时,往往需要告知团队的其他同事进行更新. Flyway数据库版本迁移工具,目的就是解决该问题而诞生的(我自己想的). ...

  3. Java实现 LeetCode 703 数据流中的第K大元素(先序队列)

    703. 数据流中的第K大元素 设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组n ...

  4. Java实现 LeetCode 649 Dota2 参议院(暴力大法)

    649. Dota2 参议院 Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇) Dota2 参议院由来自两派的参议员组成.现在参议院希望对一个 Dota2 游戏里的改变作出决 ...

  5. Java实现 LeetCode 284 顶端迭代器

    284. 顶端迭代器 给定一个迭代器类的接口,接口包含两个方法: next() 和 hasNext().设计并实现一个支持 peek() 操作的顶端迭代器 – 其本质就是把原本应由 next() 方法 ...

  6. Java实现 LeetCode 337 打家劫舍 III(三)

    337. 打家劫舍 III 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为"根". 除了"根"之外,每 ...

  7. java计算时间从什么时候开始 为什么从1970年开始 java的时间为什么是一大串数字

    Date date = new Date(0); System.out.println(date); 打印出来的结果: Thu Jan 01 08:00:00 CST 1970 也是1970 年 1 ...

  8. java实现填写算式

    ** 填写算式** 看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字. 这个算式有多少种可能的正确填写方法? 173 + 286 = 459 295 + 17 ...

  9. Java实现第九届蓝桥杯测试次数

    测试次数 题目描述 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机. 各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后 ...

  10. DDD之4聚合和聚合根

    聚合就是归类的意思,把同类事物统一处理: 聚合根也就是最抽象,最普遍的特性: 背景 领域建模的过程回顾: 那么问题来了? 为什么要在限界上下文和实体之间增加聚合和聚合根的概念,即作用是什么? 如何设计 ...