Web开发基础(2):CSS选择器、字体、背景
CSS简介
CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言
CSS语法
CSS主要由两个主要部分组成:选择器与一条或多条声明
1选择器 {属性:值;...}
选择器是需要更改样式的HTML元素
每条声明由一个属性和一个值组成
属性是需要设置的样式属性,属性与值间用冒号隔开
1234p { color:red; text-align:center;}
选择器
如果需要在HTML元素中设置CSS样式,一般来说我们可以在元素中设置id和class标签
12<div id="text1">text1</div><div class="text2">text2</div>
id选择器
id选择器可以为标有特定id的HTML代码指定特定的样式
在CSS中id选择器以#就开头来定义
1234#text1{ color:re ...
SQL Server笔记(1)
该笔记的所观看的视频为Timothy Liu的"SQL速通"
所使用的数据库为微软官方提供的学习用数据库:AdventureWorks sample databases - SQL Server | Microsoft Learn
基础概念
数据库管理系统 Database Management System DBMS
DBMS客户端 Client/Server C/S架构
客户端:与数据库管理系统交互的程序,分为两种图形和命令行,而SQL Server的客户端就是SQL Server Management Studio SSMS
服务器:正在运行的数据库管理系统,一个服务器可以为多个客户端提供服务
数据库:真正存放数据的地方;数据的存储结构针对速度与安全性进行了优化
数据库的类型有多种,如关系型数据库、文档型数据库等,而SQL Server就是一种关系型数据库,关系型数据库是建立在关系模型基础上的数据库,常用在对数据的完整性要求比较高的场景,比如银行系统、销售系统等。文档型数据库是一种非关系型数据库,数据作为单条记录保存在数据库,主要应用在大数据处理、 ...
Web开发基础(1):参考文档或教程、HTML
参考文档or教程
Web 开发技术 | MDN (mozilla.org)
HTML 教程 | 菜鸟教程 (runoob.com)
CSS 教程 | 菜鸟教程 (runoob.com)
HTML简介
HTML是一个标记语言,不是一个编程语言。HTML 使用标记标签来描述网页,HTML 文档包含了HTML标签及文本内容。
HTML标签是HTML所使用的标记,是由尖括号所包围的关键词,如<head>等。HTML标签是成对出现的,第一个标签是开始标签,第二个标签是结束标签。HTML元素就是HTML标签所涵盖的内容。
HTML的网页结构:
一个完整HTML网页:
1234567891011<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h1>first html</h1 ...
网络安全学习(1):概述、信息收集
渗透测试基本流程
确定目标
信息收集
漏洞探寻
漏洞分析
漏洞利用
信息整理
形成报告
计算机网络基础
HTTP
请求行
基本概念:
url: 统一资源定位符,即我们在浏览器上地址栏的一长串
例:https://www.bilibili.com/video/BV1YT411A7fy/
uri: 统一资源标识符,去除传输协议(例:https)、去除域名(例:www.bilibili.com)后留下的部分
例:/video/BV1YT411A7fy/
请求方式
HTTP请求方式有七种,常用get、post
get请求 请求参数在url地址中,url有长度限制
post请求 请求参数在请求体中,无大小限制
请求头
Host:请求主机域名/ip地址
User-Agent:提供浏览器的版本信息,供服务器解决浏览器兼容问题
Accept:传输文件类型(text/html,application/xhtml+xml,application/xml)
Referer:跳转前的地址,可以用于统计用户来源和防止盗链
Accept-Encoding:浏览器申明自己可接收的编码方法
Accept-La ...
Java笔记(11):比较器、集合、Lambda表达式
比较器
当我们需要实现对象的排序问题的时候,就要使用到Java的比较器。
Java实现对象排序的接口有两个:
自然排序:java.lang.Comparable
定制排序:java.util.Comparator
自然排序
String、包装类等都默认实现了Comparable接口,重写了comparaTo(obj)方法,因此都可以直接使用自然排序。
自定义类若想实现自然排序,我们需要去实现Comparable接口,然后重写comparaTo(obj)方法方法,重写comparaTo(obj)方法具有一定的规则:
如果当前对象this大于形参对象obj,则返回正整数;如果当前对象this小于形参对象obj,则返回负整数;如果相等,则返回0。
12345678910111213public int compareTo(Object o) { if(o instanceof Goods){//判断是否为Goods类型 Goods goods = (Goods) o;//将Object类型转换为Goods类型 if(this.price > ...
Java笔记(10):枚举类与注解
枚举类
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等等。
自定义枚举类
方式一:通过一般类
声明对象的属性:private final修饰
私有化类的构造器,并给对象属性初始化
提供当前枚举类的多个对象:public static final修饰
可选:获取枚举类的属性 getXXX() 或 toString()
例:
1234567891011121314151617181920212223class Season{ //3.提供当前枚举类的多个对象 public static final Season SPRING = new Season("Spring"); public static final Season SUMMER = new Season("Summer"); public static final Season AUTUMN = new Season("Autumn"); p ...
Java笔记(9):多线程
多线程
多线程的创建
方式一:继承于Thread类
创建一个继承于Thread类的子类
重写Thread类的run()方法(将线程执行的操作写在里面)
创建Thread类子类的对象
通过此对象调用start()方法(不能通过直接调用run()方法启动线程)
12345678910111213141516171819202122public class Demo { public static void main(String[] args) { TestThread testThread = new TestThread(); testThread.start(); for (int i = 0; i < 100; i++) { if(i % 2 == 0){ System.out.println(Thread.currentThread().getName() + ":" + i); } } }}class TestThread extends Thre ...
Java笔记(8):异常处理
异常处理
概述
异常是程序在执行过程中发生不正常的情况。
Java程序的异常情况分为两类:
**Error:**Java虚拟机无法解决的严重问题。如JVM内部错误、资源耗尽等。一般不编写针对性代码处理。
**Exception:**其他由于编程出错或者偶发性的外在因素导致的一般性错误,则可以通过针对性的代码进行处理。如:空指针访问,试图读取不存在的文件,网络中断,数组越界等等情况。
对于异常,我们拥有两种办法:第一种是不处理,直接终止程序运行。另外一种就是在编写程序的过程中,将异常的处理方法写入代码中。
常见异常
运行时异常
NullPointerException 空指针
12int[] arr = null;System.out.println(arr[3]);
ArrayIndexOutOfBoundsException 数组越界
12int[] arr = new int[2];System.out.println(arr[2]);
ClassCastException 类型转换错误
12Object obj = new Date();String str = ...
Java笔记零碎补充(2):包装类、单例、代码块
包装类
包装类是针对八种基本数据类型定义相应的引用类型。
基本数据类型
包装类
byte
Byte
short
Short
int
Lnteger
long
Long
float
Float
double
Double
boolean
Boolean
char
Character
其中Byte Short Lnteger Long Float Double拥有一个父类Number。
包装类的出现,使得基本数据类型可以封装起来,作为一个类使用,完善了Java面向对象的特性。
包装类、基本数据类型、String相互转换
使用构造器将基本数据类型装箱
12345678Integer i1 = new Integer(1);System.out.println(i1.toString());//out:1Integer i2 = new Integer("1");System.out.println(i2.toString());//out:1Boolean b2 = new Boolean("true12 ...
Git入门笔记(3):分支管理
Git入门笔记(三)
分支管理
分支管理是Git中非常重要的管理,使用分支可以使你在开发主线中分离出来,在不影响开发主线的情况下继续工作,例如开发测试版、测试功能之类的。接下来介绍几个基础操作。
创建分支
现在我们需要创建一个叫test的分支,并切换至分支:
1git checkout -b test
实际上这是两条命令的简写:
12git branch testgit checkout test
第一条命令,代表创建一个test分支;
第二个命令,代表切换到test分支。
查看所有分支
我们使用不带任何参数的git branch命令即可查看所有分支,并且该命令会将当前分支用*号标注出来。
删除分支
1git branch -d test
这样我们就删除了test分支了。如果test分支包含我们未合并到分支的更改,它会报出错误:
12error: The branch 'test' is not fully merged.If you are sure you want to delete it, run 'git branch -D test' ...