{{span1}} {{span2}} 次上传
过去一年提交{{total}}{{oneyearbeforeday}} - {{thisday}}
最近一月提交{{thisweekdatacore}}{{amonthago}} - {{thisday}}
最近一周提交{{weekdatacore}}{{aweekago}} - {{thisday}}
浏览器原理
浏览器原理计算机网络的七层模型
物理层:使用一定的介质(光纤,网线wifi)
数据链路层:MAC地址 封装 byte
网络层:IP协议
传输层:UDP(用户数据包协议)/TCP(传输控制协议) 端口
UDP协议特点:只管发,不管收 eg:DNS,微信电话,流媒体
TCP:重传机制 排序机制—根据数据包的编号对数据进行排序,重组数据包,保证数据包的完整性和准确性
会话层 断电续传
表示层 翻译 解决不同系统之间数据传输问题
应用层: HTTP协议
四层
物理层—物理层,数据链路层
网络层
传输层
应用层—会话层、表示层、应用层
HTTP的请求流程浏览器发送HTTP请求的流程
构造请求行 GET /api/article HTTP/1.1
查看缓存 有缓存就去缓存 没有就发送网络请求
准备IP地址和端口号
等待TCP队列 一个域名最多建立6个TCP连接
建立TCP连接
发送HTTP请求
服务器处理HTTP请求
返回请求内容
断开连接
从进程的角度讨论从输入url到浏览器显示页面,这个过程中发生了什么?
浏览器主进程,网络进程,渲 ...
node后端项目初试
项目初始化1.安装环境,依赖
123456npm install ts-node -gnpm init -y npm i @types/node -Dnpm i express -Snpm i @types/express -Dnpm i axios -S
2.在项目根目录下新建index.ts
编写测试 接口代码
12345678910111213141516171819import express, { Express, Router, Request, Response } from "express";import axios from "axios";const app: Express = express()const router: Router = express.Router()app.use('/api', router)router.get('list', async (req: Request, res: Response) => & ...
js this指向问题
this 指向问题
箭头函数默认指向上下文对象,如果没有上下文对象,则指向window。
箭头函数this指向是静态的,call、apply、bind方法也无法改变其指向。
回顾:bind只改变this指向,不调用;call,apply改变之后再调用,call=>[],apply=>{}
以下是一些例子。
基础引入
1234function a(){ console.log(this) }a()
猜猜这个打印出什么?
答案是window
为什么呢?因为全局的方法会被挂载到window上,相当于window.a()
无箭头函数1234567891011121314const obj = { name:'huahua', func: function() { const obj2 = { name:'lala', func2: ...
pinia使用
安装12npm install pinianpm i pinia-plugin-persist
store在src下面新建store文件夹,在此文件夹下新建index.js
main.js在main.js中将store引进来,并挂载在app上
123456import { createApp } from 'vue'import App from './App.vue'import router from './router'import store from './store'createApp(App).use(store).use(router).mount('#app')
index.js引入pinia
123456import { createPinia } from "pinia";import piniaPluginPersist from 'pinia-plugin-persist'co ...
Sevlet
ServletHTTP协议浏览器将给出的请求解析位满足HTTP协议的格式并发出。
我们发出的请求格式需要按照浏览器规定的格式来书写。
在浏览器中书写格式如下:
HTTP之URLHTTP(超文本传输协议)是一个基于请求与响应模式的、应用层的协议,常基于TCP的连接方式,绝大多数的Web开发,都是构建在HTTP协议之上的 Web 应用。HTTP URL(URL是一种特殊类型的URL,包含了用于查找某个资源的足够的信息)的格式如下
http: //host[:port]/[abc_path]
http://IP(主机名/域名):端口/访问的资源路径
http表示要通过HTTP协议来定位网络资源
host表示合法的 Internet主机域名或者IP地址;
port指定一个端口号,为空则使用缺省端口80;
abs_path 指定请求资源的URL;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以”/‘’的形式给出,通常这个工作浏览器自动帮我们完成。
HTTP请求HTTP请求由三部分组成:请求行,请求头,请求正文。
Get请求,没有请求体 ...
vue3项目收获
setup基本用法首先setup自动执行的
可以把某一功能的数据,函数都放在里面,但是中间一定不要加逗号或者分号,否则就会报错
123456789101112131415161718import { ref } from 'vue'export default { setup() { const isShow1 = ref(true) const isShow2 = ref(false) function btn() { isShow1.value = !isShow1.value isShow2.value = !isShow2.value } return { isShow1, isShow2, btn } }}
ref,toref,torefs
ref的本质上拷贝一份原数据,脱离了与原数据的交互
ref函数将对象中的属性变成响应式数据,修改响应式数据不会影响到原设计,但是会更新 ...
python
基础语法读文件123456789append_text='\nThis is appended file.'my_file=open('my file.txt','a')my_file.write(append_text)my_file.close()file=open('my file.txt','r')content=file.readlines() //一行一行读存到列表里面file.close()print(content)
简易计算器
12345678910111213141516171819202122232425class Calculator: name='Good calculator' price=18 def __init__(self,name,price,hight,width,weight): self.name=name self.price=price self.h=high ...
javascript
arguments的使用arguments展示形式是一个伪数组,因此可以进行遍历。伪数组 具有以下特点:
具有length属性
按索引方式存储数据
不具有数组的push,pop等方法
123456789<script> //只有函数才有arguments对象 而且是每个函数都内置好了argument function fn() { console.log(arguments); //里面存储了所有传递过来的实参 console.log(arguments.length); console.log(arguments[2]) } fn(1, 2, 3); </script>
翻转数组
1234567891011<script> function reverse(arr) { var newArr = []; for (va ...