这一周我学习了什么,接下来打算学什么?好,先把标题写好,然后去洗澡,等我回来再接着写!温故而知新,可以为师矣。通过回顾之前学的知识,希望一方面加深记忆,另一方面也能激发我继续学习的热情。

为了应付考试吧,也算了解了点东西。考了四门技能点,类设计、数据库设计、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实践这块给研究一下吧,看的东西那么多,就是记不住,那可不行啊。所以一方面理论要结合实现,另外也要反复加强记忆,还是多记录,多总结。

这一周我学习了什么(一)相关推荐

  1. 三周Java学习总结

    三周Java学习总结 计应三班 彭卉 三周的java学习,个人较为熟悉的掌握到了基础部分至if语句的使用 个人笔记: **以及下面是一些未在笔记本上补充的基础笔记知识总结: 1. 基础知识点 类或方法 ...

  2. 1 Robotics: Aerial Robotics 第3+4周 课程学习记录及课后习题解答

    Robotics: Aerial Robotics 第3+4周 WEEK - 3 Quiz Programming Assignment: 2-D Quadrotor Control WEEK - 4 ...

  3. 接触软件工程第一周的学习笔记

    接触软件工程第一周的学习笔记 本博客包含内容 此篇博客包含github,注册,登录,学会初步使用.下载git进行使用.创建本地仓库,建立目录,上传更新到github,3个软件工程工具软件Microso ...

  4. 集训der二周目学习(练习题+感悟)

    永动WA题机der二周目学习摘录 (一)有趣的题目 A - 看病要排队 HDU - 1873 Input Output Sample Input Sample Output 对题目的理解 代码 B - ...

  5. 20165223《Java程序设计》第八周Java学习总结

    教材学习内容总结 第12章-JAVA多线程机制 要点 Java中的线程 Thread类与线程的创建 线程的常用方法 线程同步 协调同步的线程 线程联合 GUI线程 计时器线程 教材学习中的问题和解决过 ...

  6. java周志第二周_第二周JAVA学习日志

    从这周老师讲的东西中,我了解了许多以前不懂得东西.这周老师布置的作业,对我来说真的有点困难.通过上课的学习和下来翻书,勉强完成了一个登录界面的制作.这周学习的事件处理和swing组建以及swing组建 ...

  7. 第12周Python学习周记

    &关于计划: 一.Numpy库的学习(学习完毕): 二.Matplotlib的学习(进行中,预计13周之内完成): 三.Markdown的学习(进行中): (本文内容参考于简书教程) & ...

  8. 第十周Java学习总结

    一.知识点摘要 1.进程与线程 进程:程序的一次动态执行过程中,从代码加载.执行至执行完毕的一个完整过程. 线程:一个进程在执行中,可以产生多个执行线索,每条线索也有产生.存在和消亡的过程. 2.Ja ...

  9. 2019秋季学期第2周Java学习总结

    本周在第一周接触认识Java后对该编程语言有了进一步了解,明白了Java的类型:包括Application程序,Applet程序.知道了一个Java程序的关键字(public class).主方法(p ...

  10. 第一周C++学习总结

    这学期学习专业课c++,此篇博客主要总结一下这周学习的内容. 一.C++中对于如何输出保留小数点的数字. 以老师发的实验题为例,求两点之间的坐标.一开始我是以printf来进行输出的,如下: #inc ...

最新文章

  1. java——慎用可变参数列表
  2. Azure PowerShell (6) 设置单个Virtual Machine Endpoint
  3. 【JLOI2013】地形生成
  4. 无线打印 airprint 服务器,如何让 Windows 的共享打印机支持 AirPrint
  5. 利用 Python 写一个颜值测试小工具
  6. idea一直在copying resources或者一直在发布 问题解决
  7. java 基础 泛型
  8. 数组赋偶数值并求出平均值
  9. 测试:如何选择合适的正交表
  10. php电子书mobi,EPUB / PDF / MOBI 電子書下載
  11. 计算机 绘图 教案,工程制图基础
  12. SLAM专题(8)卡尔曼滤波和扩展卡尔曼滤波 原理与应用
  13. 做生意的“四大方向”让你看清财富的本质
  14. win10 dnf服务器未响应怎么办,手把手研习win10系统DNF游戏死机的具体教程
  15. strtoupper() 把字符串转换为大写字母
  16. 浅谈对网络安全的认识(非原创)
  17. Macbook Pro上装Linux的牢骚
  18. 配置文件格式详解之终极无惑
  19. CCF 201809-2 买菜 python
  20. 区块链知识(一) | 实例化合约Contract

热门文章

  1. 何登骥获“两优一先”荣誉 谋定·国稻种芯: 湖南农业科学院表彰
  2. VISTA、Win7激活administrator用户
  3. 个人博客如何申请ICP备案
  4. 【网站点击流数据分析】01-项目业务背景
  5. 虫洞和诸多未解之谜有关联吗?
  6. 动名词做主语时的谓语动词问题
  7. Python网络爬虫开发实战,ADSL 拨号代理
  8. VR头显设备相关接口详解
  9. Windows与ipad共享文件
  10. 微信 android应用签名生成工具,GitHub - feinoah/WeChatSignature: 改进版本的微信应用签名生成工具,再也不用输入包名了!...