这一周我学习了什么(一)
这一周我学习了什么,接下来打算学什么?好,先把标题写好,然后去洗澡,等我回来再接着写!温故而知新,可以为师矣。通过回顾之前学的知识,希望一方面加深记忆,另一方面也能激发我继续学习的热情。
为了应付考试吧,也算了解了点东西。考了四门技能点,类设计、数据库设计、ssh高级,html&css实践基础。
看类设计之前首先看了uml类图,常见的有以下几种关系,按照强弱顺序依次为 ——
泛化=实现>组合>聚合>关联>依赖
其实泛化和继承说的是同一件事儿,但泛化描述的是自下而上的,抽象化,而继承描述的是自上而下,具体化。这里面泛化和实现都是纵向的关系,而组合、聚合、关联、依赖是横向的关系。带三角箭头的实线,箭头指向父类。
实现就是指实现接口,这里顺便补一下接口的知识吧,先来点基础知识,源自百度:接口与类属于同一层次,实际上,接口是一种特殊的抽象类。一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。类必须实现接口中的方法,否则其为一抽象类。java语言为了弥补只能单继承的缺陷,就通过实现多个接口来实现多继承。我想问为什么要搞这么复杂??好吧我们从无所不知的度娘那里寻找答案。基本上的说法都是如果C同时继承A和B类的话,如果A和B中有同名的方法,容易产生冲突,使用起来比较复杂。而接口就不存在这个问题,因为接口中的方法都是要实现的,同名方法只需要实现一次即可,不存在冲突问题。恩恩,大概明白了~画法是带三角箭头的虚线,箭头指向接口。
然后是组合,聚合,这个就比较好理解,组合中个体是不能离开整体单独存在的,聚合中个体可以离开整体单独存在的,用那个经典的例子,组合是翅膀与大雁的关系,聚合是大雁与雁群的关系。聚合和组合都是菱形和带箭头的实线,菱形指向整体,箭头指向个体,区别是组合是实心菱形,聚合是空心菱形。
关联,可以是单向的或者双向的,双向的两个箭头或没有箭头,单向的一个箭头,实线,指向被拥有者。关联是一种拥有关系,使一个类知道另一个类的属性和方法,是一种强依赖关系。
依赖,是一种使用关系,即一个类的 实现需要另一个类的协助,所以尽量不要使用双向的互相依赖。带箭头的虚线,指向被使用者。
说了一大堆uml的东西,其实类设计方面,没看什么书,了解的也特别少,只知道几个基本的原则,像单一职责原则、接口隔离原则、开放封闭原则、依赖倒置、Liskov替换原则。说白了我也就是个刚写了一年代码的菜鸟,还没上升到需要做设计的地步吧,所以就先了解一下,具体怎么用等时机成熟再详细学习吧。数据库设计……呃呃呃,了解了一点索引方面的东西,E-R图也忘得差不多了。哪些字段需要建索引,一般来说就是表的主键和外键,经常用来查询的字段,参考了下百度的答案,具体如下:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
然后就是html&css实践基础,一共四道题,我从20:00点看到半夜2点,也是醉了,只能说基础太差了,所谓实践,还差得远远的呢。这个大概是要重点攻克一下的知识,毕竟每天都在用的东西,四道题分别是文字排版、布局、图片展现、看代码写布局草图。样式这种东西真能让人吐血……
比如html前面要声明的文档类型
<!DOCTYPE html>
比如中文乱码,要用 <meta> 标签声明字符集
<meta http-equiv="Content-type" content="text/html"; charset="utf-8">
比如段落间距、行高,line-height:20px;比如同一行居右,float:right;
比如关于超链接,默认和访问过的状态,没有下划线,鼠标划过加下划线,
a:link,a:visited{text-decoration:none;color: #006cfe;}
a:hover{text-decoration:underline;color: #ff8400;
}
比如插入背景图片,图片定位在右下角,没有图片的位置用#f5f5f5填充
.bg {width: 560px;background-color: #f5f5f5;position:relative;background: #f5f5f5 url(logo.jpg) no-repeat; background-position: right bottom; }
还有图片的绝对定位,相对于灰色区域bg定位,就先把bg设置成相对的,再把图片设置成绝对的,这个还需要详细了解,也是晕晕乎乎的
.img3 {position:absolute;top: 10px;right: 10px;width: 30px;}
还有把图片和文字显示到同一行,并且居中对齐,无论怎么样就是实现不了,之后再研究研究
.img1_div *{vertical-align:middle;}
还有一个,都不知道干啥的。。。
clear:both;
虽然应付了考试,也不知道给不给过,但是自己会不会只有自己最清楚,革命尚未成功,同志仍需努力啊!
写了这么大一长篇,接下来就先把html&css实践这块给研究一下吧,看的东西那么多,就是记不住,那可不行啊。所以一方面理论要结合实现,另外也要反复加强记忆,还是多记录,多总结。
这一周我学习了什么(一)相关推荐
- 三周Java学习总结
三周Java学习总结 计应三班 彭卉 三周的java学习,个人较为熟悉的掌握到了基础部分至if语句的使用 个人笔记: **以及下面是一些未在笔记本上补充的基础笔记知识总结: 1. 基础知识点 类或方法 ...
- 1 Robotics: Aerial Robotics 第3+4周 课程学习记录及课后习题解答
Robotics: Aerial Robotics 第3+4周 WEEK - 3 Quiz Programming Assignment: 2-D Quadrotor Control WEEK - 4 ...
- 接触软件工程第一周的学习笔记
接触软件工程第一周的学习笔记 本博客包含内容 此篇博客包含github,注册,登录,学会初步使用.下载git进行使用.创建本地仓库,建立目录,上传更新到github,3个软件工程工具软件Microso ...
- 集训der二周目学习(练习题+感悟)
永动WA题机der二周目学习摘录 (一)有趣的题目 A - 看病要排队 HDU - 1873 Input Output Sample Input Sample Output 对题目的理解 代码 B - ...
- 20165223《Java程序设计》第八周Java学习总结
教材学习内容总结 第12章-JAVA多线程机制 要点 Java中的线程 Thread类与线程的创建 线程的常用方法 线程同步 协调同步的线程 线程联合 GUI线程 计时器线程 教材学习中的问题和解决过 ...
- java周志第二周_第二周JAVA学习日志
从这周老师讲的东西中,我了解了许多以前不懂得东西.这周老师布置的作业,对我来说真的有点困难.通过上课的学习和下来翻书,勉强完成了一个登录界面的制作.这周学习的事件处理和swing组建以及swing组建 ...
- 第12周Python学习周记
&关于计划: 一.Numpy库的学习(学习完毕): 二.Matplotlib的学习(进行中,预计13周之内完成): 三.Markdown的学习(进行中): (本文内容参考于简书教程) & ...
- 第十周Java学习总结
一.知识点摘要 1.进程与线程 进程:程序的一次动态执行过程中,从代码加载.执行至执行完毕的一个完整过程. 线程:一个进程在执行中,可以产生多个执行线索,每条线索也有产生.存在和消亡的过程. 2.Ja ...
- 2019秋季学期第2周Java学习总结
本周在第一周接触认识Java后对该编程语言有了进一步了解,明白了Java的类型:包括Application程序,Applet程序.知道了一个Java程序的关键字(public class).主方法(p ...
- 第一周C++学习总结
这学期学习专业课c++,此篇博客主要总结一下这周学习的内容. 一.C++中对于如何输出保留小数点的数字. 以老师发的实验题为例,求两点之间的坐标.一开始我是以printf来进行输出的,如下: #inc ...
最新文章
- java——慎用可变参数列表
- Azure PowerShell (6) 设置单个Virtual Machine Endpoint
- 【JLOI2013】地形生成
- 无线打印 airprint 服务器,如何让 Windows 的共享打印机支持 AirPrint
- 利用 Python 写一个颜值测试小工具
- idea一直在copying resources或者一直在发布 问题解决
- java 基础 泛型
- 数组赋偶数值并求出平均值
- 测试:如何选择合适的正交表
- php电子书mobi,EPUB / PDF / MOBI 電子書下載
- 计算机 绘图 教案,工程制图基础
- SLAM专题(8)卡尔曼滤波和扩展卡尔曼滤波 原理与应用
- 做生意的“四大方向”让你看清财富的本质
- win10 dnf服务器未响应怎么办,手把手研习win10系统DNF游戏死机的具体教程
- strtoupper() 把字符串转换为大写字母
- 浅谈对网络安全的认识(非原创)
- Macbook Pro上装Linux的牢骚
- 配置文件格式详解之终极无惑
- CCF 201809-2 买菜 python
- 区块链知识(一) | 实例化合约Contract
热门文章
- 何登骥获“两优一先”荣誉 谋定·国稻种芯: 湖南农业科学院表彰
- VISTA、Win7激活administrator用户
- 个人博客如何申请ICP备案
- 【网站点击流数据分析】01-项目业务背景
- 虫洞和诸多未解之谜有关联吗?
- 动名词做主语时的谓语动词问题
- Python网络爬虫开发实战,ADSL 拨号代理
- VR头显设备相关接口详解
- Windows与ipad共享文件
- 微信 android应用签名生成工具,GitHub - feinoah/WeChatSignature: 改进版本的微信应用签名生成工具,再也不用输入包名了!...