html_标签总结
html标签负责组织网页的内容的结构。
html是李爵士发明的。而且他利用http协议和html
- 搭建了网站服务器
- 制作了第一个网站
- 创建了浏览器
html的常见版本
- HTML 4.01
- XHTML
- HTML 5
- HTML 5.1
在写一个页面之前一定要加上DOCTYPE。指定html的版本,以免浏览器进入怪异模式。新的网页都应该使用当前最新的版本,目前是html 5。
<!DOCTYPE html>可以指定html 5及其之后的版本。
XHTML(xml html)可以看作是HTML 4.01的严格版本。
HTML5 兼容XHTML和HTML 4.01
HTML5和H5(能运行在微信上的网页)没有关系
HTML5.1和HTML 5的区别可以看这个链接。
html 常用标签
以html5版本介绍。
html head body
一个简单的html页面。1
2
3
4
5
6
7
8<!DOCTYPE html>
<html>
<head>
</head>
<body>
编程开始。hello, world
</body>
</html>
head和body是html的子标签。html,head和body标签都可以省略,title不可省略。可以节省html页面的大小。对于google这样访问非常多的网站是很有意义的。
所以一个极简页面可以是1
2
3<!DOCTYPE html>
<title>我的网页</title>
你好
google推荐这样的写法
其他语义标签
a anchor 锚点或者超链接
form 表单
input 用户输入
button 用户点击
h1 一集标题
p paragraph 段落
ul unordered list 无序列表
ol ordered list 有序列表
small 不重要内容
strong 加强内容
div divide 划分
span 横向划分,划分一行,例如标记一个单词
kbd 显示键盘按键
video 视频
audio 音频
svg Scalable Vector Graphics 不规则图形(可缩放矢量图形)
除了div span 都有,其他标签浏览器都有默认样式。
http_简介
http协议
http简介
http是一个应用层协议。全称是HyperText Transfer Protocol. 而html的全称是 HyperText Markdown Language。从名字上看我们就可以直到http本来是设计用来传递html的。实际上http是1990年由Tim Berners-Lee领导团队开发的。
而且他利用http协议和html
- 搭建了网站服务器
- 制作了第一个网站
- 创建了浏览器
由于他卓越的贡献,他已经获得图灵奖!!!
http的作用
浏览器和服务器之前的交流过程
- 浏览器负责发起请求
- 服务器在 80 端口接收请求
- 服务器负责返回内容(响应)
- 浏览器负责下载响应内容
http协议是浏览器和服务器之间沟通的约定
当浏览器按照约定发送请求时,服务器也会按约定回复。
其中请求的格式1
2
3
4
5
6
7
8
91 动词 路径 协议/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据
请求的实例1
2
3
4
5
6
7
8
9POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded
1234567890
可以看到
- 请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)依次请求行,请求头,空行,和其他消息题
- 动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
- 这里的路径包括「查询参数」,但不包括「锚点」
- 如果你没有写路径,那么路径默认为 /
- 第 2 部分中的 Content-Type 标注了第 4 部分的格式
响应的格式1
2
3
4
5
6
71 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
响应实例1
2
3
4
5
6
7
8
9
10
11
12
13
14
15HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: Keep-Alive
Content-Length: 2443
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:14:05 GMT
Etag: "5886041d-98b"
Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<!DOCTYPE html>
<!--STATUS OK--><html> <head> 后面太长,省略了……
关于响应
- 响应由4部分组成,依次是响应行,响应头,空行,其他消息体
- 响应行状态码要记住,是服务器对浏览器说的话
- 响应头中的 Content-Type 标注了第 4 部分的格式
- 响应头中的 Content-Type 遵循 MIME 规范
通过浏览器查看请求和响应
- 打开开发者工具,在浏览器右上角更多工具里,或者mac快捷键 command+option+i
- 选择network标签页
- 打开一个网页,这时浏览器会记录你的请求过程,整个过程是按时间排序的
- 先不管其他的,点击你发送的请求,它排在第一个,就可以看到请求-响应实例。
- 你会发现请求和响应和我之前的描述列有不同,这时浏览器对请求做了”友好的”处理,可以点击request headers右边的view source,就可以看到原原本本的请求了。
- 点击response标签可以看到响应的其他消息体,一般是一个完整的html页面。
通过curl访问服务器
curl是CommandLine Uniform Resource Locator(命令行统一资源定位符)的缩写,通过命令行访问网络上的资源就靠它了。curl支持各种协议1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <fil 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
算法简介 peak_finding
Peak Finding
peak(数学里的极大点,不过数组是离散的)
###1.一维情况
peak定义
对一维数组一般元素而言如果当前元素比左右的元素都不小(>=),它就是极点
而起点和终点只要比它旁边的元素大就是极点了
这样的定义下数组至少有一个极点
解法
1.遍历一遍,找到peak
时间复杂度: O(n)
2.分治法
查看n/2元素是否是极点,不是的话,沿着元素较大的方向继续查找
时间复杂度: O(log(n))
###2.二维情况
peak定义
对二维的数组而言,当前元素比上下左右四个元素都不小
####解法
1.贪心算法
按一定顺序比较和四个方向上元素的大小,朝较大的方向移动,直到找到极点
时间复杂度: O(mn)
2.分治法
对于j=m/2 找到该列最大点,按顺序比较左右元素,沿着较大值的方向递归
如何使用hexo搭建自己的博客
hexo简介
hexo是静态站点生成框架。hexo专注于博客生成,很适合用来搭建自己的博客。它有丰富的主题,并且极易实现。
搭建过程
搭建过程可以概括为hexo根据模版为你生成静态站点,然后部署到github pages。
整个流程熟悉了之后,你所需要做的就是专注写博客(可以使用markdown),而将部署和完成,非常方便。
1.安装hexo命令行工具
1 | npm install -g hexo-cli |
ps: 推荐是用ndenv管理node版本很方便
2.创建hexo项目
1 | hexo init <folder> |
3.在github上创建pages项目
创建名称为
4.修改hexo配置,将静态站点部署到github上
修改_config.yml文件
将底部的deploy属性修改为1
2
3
4deploy:
type: git
repo: git@github.com:name/name.github.io.git
branch: master
ps:确保你的.ssh下的public_key已经添加到了github,部署是会使用该key对应的私钥创建ssh🔗
5.部署
1 | hexo deploy |
哒哒哒,你的博客就搭建好了
你可以访问 name.github.io 看看效果
你可以访问hexo官方库
里面有其他主题,和hexo文档,你可以深入了解hexo框架
linux_commands_简介
吼吼吼用markdown来写第一篇博客
linux命令的缩写是去掉元音字母取前几个字母
ls 命令是list的缩写 表示显示当前文件夹下的文件
cat 是concatenate(有拼接的含义)的缩写 是文件输出命令
cat 可以输出单个文件 cat file
cat 可以从键盘输入创建一个文件 cat > file
cat 可以拼接文件 cat file1 file2 > file3
mv 是move的缩写
mv 经常用来备份文件或者目录。
命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
touch
可以更新文件的修改时间,文件不存在则创建一个新文件
网站 https://explainshell.com/
可以详细的解释命令的含义和参数
git commands 简介
写一点git的学习体会
git是linus大神的创建的分布式代码管理工具。
想象一下团队一起合作编程,在没有其它工具的情况下,如何实时分享自己的代码给别人呢。
如果每天把修改的内容copy给团队的其他成员的话,两个人还好,互相copy一次就解决了。如果团队规模是n就要copy n-1 * n-1 次了
10个人的团队 每天光分享代码就要81次 一天也就别做别的了
因此提神团队效率的代码管理工具就十分有用了。
先简单介绍几个命令
安装完git后
1.git init
可以进入已经创建好的项目,完整的或者啥也没有空文件夹
使用git init将这个文件夹(项目)用git管理起来
被git管理起来的项目就是一个git仓库了
你可以通过多种途径将你的git仓库分享给你和同伴,一起开发。而你们之间的代码管理可以通过正确的使用git很轻松的完成
2.git add
在单人开发模式下
可以新建一个文件例如index.html, 输入git status 查看这个文件的状态
红色表示文件还未被git管理,还处在工作区
输入git add FILE_NAME 即 git add index.html
可以看到文件变成了绿色,进入了缓存区
这是文件已经进入了git管辖的范围,不过还未被提交,你可能还有其他文件也等待想加入缓存区,然后一起提交
3.git commit
文件进入缓存区之后,可以使用
git commit -m “brief about this commit”
将文件提交,把改动固定下来(并不是绝对的,依然可以使用一些命令修改)
在这之后你可以再次提交,所有的这些提交串联起来就是你提交的历史
你可以通过git log查看你的提交历史
你可以通过git reset commit_id 回到历史中的任意时刻
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1 | $ hexo new "My New Post" |
More info: Writing
Run server
1 | $ hexo server |
More info: Server
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment