1.HTML
[TOC]
Html1. 什么是Web
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本(超越文本限制,超级链接文本)和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
什么是网页?
网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。
什么网站?
网站就是一个一个的网页和其它文件的组成
什么是web前端?什么是后端?
什么是html?
超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字 ...
1.Vue入门
[toc]
Vue入门1. 使用Vue的三种方案1.1 下载安装
下载地址:https://github.com/vuejs/vue
可以下载2.5.16版本https://github.com/vuejs/vue/archive/v2.5.16.zip
下载解压,得到vue.js文件,引入下载的vue.js就可以使用Vue了
1.2 使用CDN
或者也可以直接使用公共的CDN服务
12345<!-- 开发环境版本,包含了用帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><!-- 生产环境版本,优化了尺寸和速度 --><script src="https://cdn.jsdelivr.net/npm/vue"></script>
1.3 推荐npm安装
npm是什么?
npm(Node Package Manager)意思是 node ...
1.设计模式基础之UML类图
渐写到别来,此情深处,红笺为无色。
——晏几道《思远人》
设计模式基础之UML–类图了解UML图
UML——Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。
UML 本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等。
画 UML 图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理,UML 图分类
用例图(use case)
静态结构图: 类图、对象图、包图、组件图、部署图
动态行为图:交互图(时序图与协作图)、状态图、活动图
类图是描述类与类之间的关系的,是 UML 图中最核心的,在学习设计模式时,我们必然会接触到UML图中的类图,所以下面我们详细了解一下UML的类图,如果你对UML图感兴趣,可以看一下这篇文章–
UML学习入门就这一篇文章。
UML 类图
用于描述系统中的 类( 对象) 本身的组成和类( 对象) 之间的各种静态关系。类之间的关 ...
10.IO流之内存操作流
玉骨西风,恨最恨、闲却新凉时节。
——周密《玉京秋》
## IO流之内存操作流
1. 内存操作流概述
如果我们在操作流的时候,不想让流输出到文件中,但是又需要对流进行操作,就可以使用内存流来实现输入与输出。针对于内存流,java.io 包里面提供了两组操作:
字节内存流:ByteArrayInputStream、ByteArrayOutputStream
字符内存流:CharArrayReader、CharArrayWriter
两者在操作上面就类似于 FileInputStream、FileOutputStream 与 FileReader 与 FileWriter。
2. 与基础流OutputStream/InputStream的区别
以文件操作为例:
输出(OutputStream):程序 → OutputStream → 文件;
输入(InputStream):程序 ← InputStream ← 文件;
以内存操作为例:
输出(ByteArrayInputStream):程序 → ByteArrayInputStream→ 内存;
输入(ByteArrayOu ...
10.MySql高级之应用优化
大江东去,浪淘尽,千古风流人物。
——苏轼《念奴娇》
## MySql高级之应用优化
前面我们学习了很多数据库的优化措施。但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力。
1. 连接池
对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立数据库连接池,以提高访问的性能。
2. 减少对MySQL的访问2.1 避免对数据进行重复检索
在编写应用代码时,需要能够理清对数据库的访问逻辑。能够一次连接就获取到结果的,就不用两次连接,这样可以大大减少对数据库无用的重复请求。
比如 ,需要获取书籍的id 和name字段 , 则查询如下:
1select id,name from tb_book;
之后,在业务逻辑中有需要获取到书籍状态信息, 则查询如下:
1select id,status from tb_book;
这样,就需要向数据库提交两次请求,数据库就要做两次查询操作。其实完全可以用一条SQL语句得到想要的结果。
1select id,name,st ...
10.static和final关键字详解
休对故人思故国,且将新火试新茶。诗酒趁年华。
——苏轼《望江南》
## 1. static关键字
static关键字
关于static关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员属于类的,而不是单单是属于某个对象。也就是说,既然属于类,就可以不靠创建对象来调用了。
如果使用static修饰成员方法,那么这个方法就变成了静态方法
静态属性和静态方法(类加载器加载字节码文件的时候 全局委托机制)优先于非静态的属性和方法。
非静态的属性和方法—–知道有哪些静态的属性和方法,所以他能够访问静态的属性和方法
但是因为静态属性和方法加载的时候,这时候还没有对象,没有对象就没有成员变量和成员方法。所以静态的方法中无法调用非静态的属性和方法。
静态方法中,不能使用this关键字。
static修饰的属性和方法是属于类的属性和方法,所以在调用的时候,推荐是用 类名.属性名 类名.方法名();
静态代码块 > 非静态代码块 > 构造器。Static{} {} public 类名(){}
静态代码块只执行一次,非静态代码块,每次进入到当前类的时候都会 ...
10.CSS盒子浮动
[toc]
前端基础–CSS盒子浮动
记忆
能够说出 CSS 的布局的三种机制
理解
能够说出普通流在布局中的特点
能够说出我们为什么用浮动
能够说出我们为什么要清除浮动
应用
能够利用浮动完成导航栏案例
能够清除浮动
能够使用PS切图工具
1. CSS 布局的三种机制
网页布局的核心——就是用 CSS 来摆放盒子。
CSS 提供了 3 种机制来设置盒子的摆放位置,分别是普通流(标准流)、浮动和定位,其中:
普通流(标准流)
块级元素会独占一行,从上向下顺序排列;常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table。
行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行;常用元素:span、a、i、em等。
浮动
让盒子从普通流中浮起来主要作用让多个块级盒子一行显示。
定位
将盒子定在浏览器的某一个位置——CSS 离不开定位,特别是后面的 js 特效。
2. 为什么需要浮动?
我们首先要思考以下2个布局中最常见的问题?
如何让多个盒子(div)水平排列成一行?
如何实现盒子的左右对齐?
虽然 ...
10.数据结构之希尔排序
排序算法之快速排序1. 快速排序基础
快速排序(Quicksort)是对 冒泡排序的一种改进。
基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序, 整个排序过程可以递归进行,以此达到整个数据变成有序序列。
2. 案例实现要求: 对 [-9,78,0,23,-567,70] 进行从小到大的排序,要求使用快速排序法。``【测试 8w 和 800w】
如果取消左右递归,结果是 -9 -567 0 23 78 70
如果取消右递归,结果是 -567 -9 0 23 78 70
如果取消左递归,结果是 -9 -567 0 23 70 78
2.1 代码实现☆☆123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263/** * 快速排序的方法: */public static void quickSort( ...
10.设计模式-装饰者模式
七八个星天外,两三点雨山前。
——辛弃疾《西江月》
## 设计模式-装饰者模式
1. 案例引出装饰者模式
星巴克咖啡订单项目
咖啡种类:Espresso(意大利浓咖啡)、LongBlack(美式咖啡)、Decaf(无因咖啡)
调料:Milk、Chocolate。
要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便
使用 OO 的来计算不同种类咖啡的费用: 客户可以点单品咖啡,也可以单品咖啡+调料组合。
传统实现方式如下:
传统实现方式分析:
Drink 是一个抽象类,表示抽象饮料。
description 就是对咖啡的描述, 比如咖啡的名字、受欢迎程度等
cost() 方法就是计算费用,Drink 类中做成一个抽象方法.
Decaf 就是单品咖啡, 继承 Drink, 并实重写 cost方法。
Espress && Milk 就是单品咖啡+调料, 这个组合很多
问题: 这样设计会有很多类,当我们增加一个单品咖啡 , 或者一个新的调料 , 类的数量就会倍,就会出现类爆炸。
改进传统方案:
前面分析到传统方案 因为咖啡单品+调料组合会造成类的倍 ...
11.MySql高级之查询缓存优化
胡未灭,鬓先秋,泪空流。此生谁料,心在天山,身老沧洲。
——陆游《诉衷情》
## MySql高级之查询缓存优化
开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存。
1. 操作流程
客户端发送一条查询给服务器;
服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;
服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;
MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;
将结果返回给客户端。
2. 查询缓存配置查看当前的MySQL数据库是否支持查询缓存1show variables like 'have_query_cache';
查看当前MySQL是否开启了查询缓存 :1show variables like 'query_cache_type';
查看查询缓存的占用大小 :12show variables like 'query_cac ...