首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这个可以动态更新课程用数据透视

一直想要做一个可以动态更新课程。 点击左边班级,就显示出这个班级一周课,而且还统计出班级学科和教师信息。...点击左边教师,就显示出这位教师一周课,而且教师教学科和班级信息也统计出来了。 前几天看了大海老师《月历型报表》,一下子有了灵感,决定上手试一下。...- 分析 - 左边切片器,控制中间和右边表格,数据动态更新。 右边表格,就是普通数据透视,这一步很好解决。...这是一张规范一维课程总表 第一步:添加“课教”列和“课班”列 在班级课表中,需要将课程列和教师列分行显示在一个单元格内。...在教师课表中,需要将课程列和班级列分行显示在一个单元格内。

3.7K20

也许你需要这个数据类生成 DeepCopy 方法

用反射再配合 Kotlin 最优秀特性之一扩展方法,我们就可以为所有的类无缝提供一个 deepCopy 扩展方法,当然,我们目标是数据类服务,所以其他类调用这个方法我们一概直接返回(~ ̄▽ ̄)...正好秀一波反射肌肉( ̄▽ ̄)~* 其实反射还真挺简单,不会反射小伙伴们也不要害怕,现在大家都觉得反射有性能问题而不敢用,不会就不会吧(╯°□°)╯︵┻━┻ 这个已经扔到 jcenter,因此你可以通过添加依赖来使用它...:0.0.4" 读取方法就不细说啦,后面我会提供源码,大家有兴趣可以花两分钟详细阅读下ヽ(;´Д`)ノ 需要提一句是,我们通过注解处理器生成 deepCopy 可以添加默认参数,这里有不少细节需要处理...其实如果不添加默认值,这个注解处理器非常容易写,因为它不需要处理泛型,不需要处理与 Java 类型映射,也不需要处理别名,一气呵成,就像这样: fun Owner.deepCopy(): Owner...项目详情 这个项目在 11月17日 JetBrains 大会上已经提到过了,项目在 Github 上,地址:https://github.com/enbandari/KotlinDeepCopy,知道公众号没法点地址

74420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    五子棋人机对战完整代码大全_一个完整html代码

    大家好,又见面了,是你们朋友全栈君。...本来是帮一个朋友写作业,结果自从博客发表之后,发现每隔一段时间,这篇博客就有挺多人看。 其中还有几个人加了QQ或微信,一问,全都是要交作业大学生。 唉,当代大学生啊。...对于不满足这个条件地方,AI是不下,直接减掉。 (PS:这个限制会导致AI水平下降,但是计算速度大大提升。...当然,如果被对方知道了这个限制,也很容易基于此完胜AI) 基于这个剪枝策略,调整打分机制:落子位置8个邻居中,只要是有落子位置,无论是黑是白,都计1分。...8,棋谱和禁手调试 代码有棋谱功能,棋谱存在manu数组中,下棋过程中可以随时输出棋谱,只要把棋谱复制下来,下次运行直接全部粘贴即可,这样就很方便调试,因为AI不带随机行为,所以每次相同情况下给出结果也都是固定

    2K20

    代码还是好用持有这个观念

    代码平台对于开发可能就像linux操作系统终端和图形化界面一样,人们对于图形化拖拖拽拽还是有天生才能,但终端命令有一定学习门槛,所以对于大多数工作的人员,编程是困难,但低代码或零代码是触手可得...二、低代码发展方向 当前低代码领域主要发展 2 个方向 一、低代码开发平台 面向大中小型企业,写少了代码,提供一系列低代码引擎,表单设计器、流程设计器、大屏设计器,支持通过可视化组件 + 少量代码实现常规业务管理系统...适合对象:软件团队,适合复杂业务系统,二次开发使用 二、零代码平台 面向中小微企业,零代码,完全基于在线可视化引擎和拖拉拽操作实现一个系统,不需要编写任何代码。...2、pig4cloud https://www.pig4cloud.com/ 国内关注度最高微服务开发平台,企业服务化中台整合、数字化转型提供强力支撑!...四、你认为低代码会替代传统编程吗? 会 五:如何入门低代码? 其实这个也是有门槛,就是要学习,你看低代码平台动辄几十几百个小时视频教程,就知道这个是否有门槛了

    22710

    设计任务状态转换,不需要任务暂停这个状态

    2013-05-22 16:56:50 UML菜鸟(122*****922) 这是设计任务状态转换,不需要任务暂停这个状态 2013-05-22 16:59:12 UML菜鸟(122*****922...,但是线上,看到处都是这样 2013-05-22 17:46:34 UML菜鸟(122*****922) ?...花点时间看看书把基本道理了解一下,再画 2013-05-22 17:48:48 潘加宇(3504847) 这个也不合格,不过比你那个好,也和你那个不一样,你仔细看看我回答 2013-05-22 17:...这个很多书上都这么画 2013-05-22 17:52:08 潘加宇(3504847) 这是*** in Action里面的图吧 2013-05-22 17:52:43 潘加宇(3504847) 很多书也得看是什么书.../book/softmeth_ref.html 2013-05-22 18:02:21 潘加宇(3504847) 《UML面向对象设计基础》,Meilir Page-Jones著,包晓露 等 译,人民邮电出版社

    56320

    数据结构之顺序实现(详解!附完整代码

    , SLDateType x); 首先为了方便顺序灵活运用,我们用typedef来在头文件中定义intSLDateType,如果下次是字符型数据,我们只需要在这里将int改为char,后续代码就不用更改...//数组内存放有效数据元素 int capacity;//数组能够存储数据容量 }SL;//将顺序有typedef简化为SL,方便后面的代码撰写 初始化顺序 我们在顺序中创建一个后,首先要做就是初始化这个数据结构...,在今后学习中我们更是要养成一个初始化习惯,不然很容易出现bug,有些编译器甚至会警告 我们在这里将初始化函数取名为SeqListInit,所需参数结构体地址 我们首先断言这个顺序,防止空...= 0; ps->capacity = 0; } 顺序打印 我们增删查改后需要打印这个顺序 打印函数和数组一样,不做过多讲解 void SeqListPrint(SL* ps) { assert...&& pos size); ps->a[pos] = x; } 到这里,顺序实习就完成了,完整代码如下: 头文件: #include #include<assert.h

    70810

    这个角度,终于理解为什么需要Kafka这样东西了!

    这种"通知"事情,一种办法是用轮询实现, 程序B不断地查数据库,看看有没有新数据到来, 但是这种方法效率很低。...可是传统MQ也有问题,通常情况下,一个消息确认被读取以后,就会被删除。如果来了一个新程序C,也想读之前消息,或者说之前一段时间消息,传统MQ表示无能无力。...只要记录下每个程序都读到了哪个编号, 这个程序可以断开和Kafka连接,这个程序可以崩溃,下一次就可以接着读。 新消费者程序可以随意加入读取,不影响其他消费者程序, 是不是很爽?...例如:程序B读到了编号为3消息, 程序C读到了编号为5消息, 这时候来了一个新程序D,可以从头开始读。...当然,Kafka做远不止于此,它还充分利用硬盘顺序化读取速度快特性,再加上分区,备份等高可用特性, 一个高吞吐量分布式发布订阅消息系统就诞生了。

    1.6K40

    为什么实现 .NET ICollection 集合时需要实现 SyncRoot 属性?如何正确实现这个属性?

    不过这个设计让线程安全访问有集合实现方转嫁到了调用方,导致要么很难实现,要么很难调用。...虽然泛型版本 ICollection 已经改进了设计,不再引入 SyncRoot 这样属性到接口中,但如果我们在某些场景下需要实现 ICollection 非泛型集合时,如何正确实现 SyncRoot...---- 先上结论: —— 不可能正确实现 SyncRoot 模式 在多线程程序设计中,为了在保证线程安全同时避免死锁,不应该公开同步锁。...结合 .NET Core 源代码一些常用写法,给出一个推荐 SyncRoot 模式写法: // Is this List synchronized (thread-safe)?...然而这个属性都是 public 了,不管返回什么,与 this 还有什么区别…… 关于为什么同步时不应该返回 this 或者返回公开对象,原因可以看我另一篇博客: 为什么不应该公开用来同步加锁对象

    82430

    在微信群讨论代码,你可能需要这个语法高亮小程序 【代码协作】

    某天,在微信群里发了一段代码,突然就有了一个想法——应该做一个这样小程序:它可以很方便在微信群里分享代码。 于是,就有了这个小程序。...对于我来说,使用 Serverless 已经相当顺手,差不多花了一个星期天 + 一个晚上,就完成了小程序 + web + 服务端功能。 对,功能就是这么简单。...页面上复制 ID,主要是用于发公众号文章。当然,支持各种奇怪语言了。...Loading 问题(由于服务器在国内,AWS 服务器上,所以网络有可能是不能访问。) 正在开发中功能: 1. 拍照识别代码 2. 从网站创建代码 心痛 300 块钱认证费。。...依旧开源在 GitHub 上:https://github.com/phodal/code

    54210

    使用了这个神器,让代码bug少了一半

    最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能使用,惹得领导不高兴了,让想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们视线当中...JDK安装比较简单,在这里就不过多介绍了,网上有很多教程。...PostgreSQL它自己号称自己是世界上最先进开源数据库,具有许多功能,旨在帮助开发人员构建应用程序,管理员来保护数据完整性和构建容错环境,并帮助您管理数据,无论数据集大小。...第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中jian'bi ? 初始化成功后运行页面: ? 同时会生成20多张: ?...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要功能。

    2K40

    使用了这个神器,让代码bug少了一半

    最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能使用,惹得领导不高兴了,让想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们视线当中...JDK安装比较简单,在这里就不过多介绍了,网上有很多教程。...PostgreSQL它自己号称自己是世界上最先进开源数据库,具有许多功能,旨在帮助开发人员构建应用程序,管理员来保护数据完整性和构建容错环境,并帮助您管理数据,无论数据集大小。...第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中建 初始化成功后运行页面: 同时会生成20多张: 2.3 安装插件 根据个人需要,可以安装汉化插件...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要功能。

    1.2K10

    为什么建议需要定期重建数据量大但是性能关键

    如果大家发现网上有抄袭本文章,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~ 本文是“为什么建议”系列第三篇,本系列中会针对一些在高并发场景下,对于组内后台开发一些开发建议以及开发规范要求进行说明和分析解读...往期回顾: 为什么建议在复杂但是性能关键上所有查询都加上 force index 为什么建议线上高并发量日志输出时候不能带有代码位置 一般现在对于业务要查询数据量以及要保持并发量高于一定配置单实例...BY id DESC LIMIT 20 这个分片键就是 user_id 一方面,正如我在“为什么建议在复杂但是性能关键上所有查询都加上 force index”中说,数据量可能有些超出我们预期...这种情况下需要我们,在适当调高 STATS_SAMPLE_PAGES 前提下,对于一些用户触发关键查询 SQL,使用 force index 引导它走正确索引。...,在原上加好触发器同步更新到新建,并且同时复制数据到新建中,完成后,获取全局锁修改新建名字原来名字,之后删除原始

    84730

    第一个 Python 小项目,开放完整代码

    你好,是zhenguo 这是4月29日,发布第一个Python小项目,文本句子基于关键词KWIC显示,没看到粉丝朋友可以看看下面介绍,知道,直接跳到文章求解分析和代码部分。...把所学知识应用于实际问题,才能真正加深对它认识和理解,这就是实践出真知。从此最基本点出发,设计了一个小项目,蛮有意思,也有一定实际应用价值。...此项目的完整代码和分析已发布在创建 Python中文网 http://zglg.work 中,欢迎点击文章最下阅读原文,直达网页。...以下代码都经过测试,完整可运行。...,鉴于代码长度,放在这里文章显示太长了,所以完整代码全部归档到这里: http://www.zglg.work/Python-20-topics/python-project1-kwic/ 测试代码

    60520

    在别人写代码上做修改是这样保证正确

    就算有,不搞清楚以前逻辑和背景,就直接抛掉这些历史包袱是不对。在修改别人写代码时候,我们需要信奉黑格尔名言:“存在即合理”。一定要弄清楚之前这样编写代码是出于什么样考虑。...详细方案设计在别人写代码上做修改,做详细设计时,第一步要做是充分评估改动影响;第二步是画流程图梳理改动前后调用链和数据流,列出修改点;第三步是定好测试关键案例,确保结果正确性。...逻辑是没有问题。但是他觉得代码上层不加,语义上不连贯。觉得逻辑应该内聚,自己做好事情不应该让上层来做。这种问题,统归风格问题。每个人写文章思路是不同,写代码思路也是不同。...所以我遇到这种问题时候都是不愿意纠结Review Code别人代码时候也从不去纠结别人这种问题,只说自己考虑,别人是否接受都不会因为这个把别人代码打回去。...其实本质上同事意思就是:“和你一起保证修改正确性”。用心是非常好。 最终提7条每条我们都争论了,那是因为每一条我们两个都真正思考过。这种氛围觉得是非常好

    1.1K20

    是这样理解--SVM,不需要繁杂公式那种!(附代码)

    所以,为了使得分类的确信度尽量高,需要让所选择超平面能够最大化这个“间隔”值。这个间隔就是下图中Gap一半。...如果第二名是85分,那就会感觉安全多了,第二名需要花费很大力气才能赶上自己。拿这个例子套到上面这幅图也是一样。 上面这幅图delta左边红点是一个安全警戒线,什么意思呢?...也就是说预测错误得分超过这个安全警戒线就会得到一个惩罚权重,让这个预测错误值退回到安全警戒线以外,这样才能够保证预测正确结果具有唯一性。...而SVM理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。...代码实现 新闻分类 GitHub:点击进入 6.

    1K11
    领券