数据库系统原理
理论
求属性集X关于F的闭包\(X_F^+\)
闭包就是X可以推出来的属性集合,最开始只有X(X也是属性集,不一定是单个属性)
如果F里存在\(X\rightarrow Y\),那么就可以把Y加进来,现在就是\(X \cup Y\),然后如果有\(Y \rightarrow Z\),那么Z也可以加进来了。
不断重复,最后没有新的属性可以加入时结束。
闭包就是X可以推出来的属性集合,最开始只有X(X也是属性集,不一定是单个属性)
如果F里存在\(X\rightarrow Y\),那么就可以把Y加进来,现在就是\(X \cup Y\),然后如果有\(Y \rightarrow Z\),那么Z也可以加进来了。
不断重复,最后没有新的属性可以加入时结束。
平台:Ubuntu 18.04
软件:Hadoop 3.1.3,Spark 2.4.0,Python 3.6.9
首先获取游戏销量数据,然后将数据上传到HDFS,之后使用pyspark进行处理分析,最后使用pyecharts将分析结果可视化。
在Windows下安装Codelite,启动后弹出设置向导,根据向导设置完成之后显示正在保存设置,然后重启。但是软件重启之后依然像开始时那样显示弹出设置向导,提示进行设置。
如果直接关闭向导,会发现无法更改Codelite的主题,源码文件也无法识别。
在编辑Windows环境变量之后弹出提示:“此环境变量太大,此对话框允许将值设置为最长 2047 个字符”。
在不改变代码的情况下给一个对象增加功能,类似于继承中覆写方法,但是可以在运行时进行改变。用装饰器模式可以替代继承。
使用git提交时报错,即使已经配置好了ssh key和其他账户设置,但是还是会失败。最后发现问题出在Tortoise的设置上
设计模式中的观察者模式很容易理解,并且可以轻松实现一对多的对象关系并保持对象之间的松耦合
在许多大型项目里都广泛用到了设计模式,使用设计模式可以使得代码更具有可扩展性。这里通过一个简单的例子来初探设计模式的思想。