- 博客(83)
- 资源 (7)
- 收藏
- 关注

原创 JavaScript谜之输入输出
持续更新中o( ̄▽ ̄)ブ作用域 console.log(f1); function f1() { } console.log(f2); var f2 = function () { } var a = 10 function fn() { console.log(a); } function bar(f) { var a .
2021-10-12 21:28:54
658
3
原创 Python基础
s1 = s[:n]print(‘测试成功!’)else:print(‘测试失败!’)返回函数返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。如果一定要引用循环变量怎么办?方法是再创建一个函数,用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已绑定到函数参数的值不变:def f(j):def g():return j*jreturn gfs = []
2025-02-18 00:14:58
745
原创 对数正态分布
正态分布令Φ(y)\Phi \left( y \right)Φ(y),φ(y)\varphi \left( y \right)φ(y)分别表示正态分布N(μ,σ2)N\left( \mu ,{{\sigma }^{2}} \right)N(μ,σ2)的CDF和PDF,其中φ(y)=12πσe−(y−μ)22σ2,−∞<y<+∞\varphi \left( y \right)=\frac{1}{\sqrt{2\pi }\sigma }{{e}^{-\frac{{{\left( y-\mu
2021-10-31 19:14:11
4258
转载 跨域资源共享
MDN官网说到,跨源资源共享 (CORS) (或通俗地译为跨域资源共享)是一种基于HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其它origin(域,协议和端口),这样浏览器可以访问加载这些资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的"预检"请求。在预检中,浏览器发送的头中标示有HTTP方法和真实请求中会用到的头。跨源HTTP请求的一个例子:运行在 http://domain-a.com 的JavaScript代码使
2021-10-12 19:47:01
1072
原创 前端官方文档收集
HTMLHTML 有很多分支,其中 HTML5 由 W3C 标准化,可以在这里查阅:http://www.w3.org/TR/html5/CSSCSS的标准可以在这里查阅:https://www.w3.org/TR/CSS/JavaScriptJavaScript 是由 Ecma 标准化的,标准叫 ECMAScript, 目前最新的是第 5.1 版,可以在这里查阅:https://www.ecma-international.org/publications-and-standards/s
2021-10-12 12:38:46
185
原创 跨站脚本攻击和跨站请求伪造
XSS, 即为(Cross Site Scripting), 中文名为跨站脚本, 是发生在目标用户的浏览器层面上的,当渲染 DOM 树的过程成发生了不在预期内执行的 JS 代码时, 这个不在预期的JS代码是攻击者将恶意代码植入到提供给其它用户使用的页面中 ,就发生了 XSS 攻击。跨站脚本攻击有可能造成以下影响。利用虚假输入表单骗取用户个人信息。利用脚本窃取用户的 Cookie 值,被害者在不知情的情况下,帮助攻击者发送恶意请求。显示伪造的文章或图片。反射性XSS反射型XSS只是简单的把.
2021-10-11 12:12:44
3038
3
翻译 TSL四次握手
TLS 的作用是在可靠的 TCP 协议上构建安全的传输通道,其本身是不提供可靠性保障的,我们还是需要下层可靠的传输层协议。在通信双方建立可靠的 TCP 连接之后,我们就需要通过 TLS 握手交换双方的密钥了,在这里我们将介绍 TLS 1.2 的连接建立过程9。客户端向服务端发送 Client Hello 消息,其中携带客户端支持的协议版本、加密算法、压缩算法以及客户端生成的随机数(用于之后的密钥生成);服务端收到客户端支持的协议版本、加密算法等信息后;向客户端发送 Server Hello 消息
2021-10-07 16:43:01
497
1
原创 关于二分查找的注意点
二分查找涉及的很多的边界条件,逻辑比较简单,但就是写不好。例如到底是 while(left < right) 还是 while(left <= right),到底是right = mid呢,还是要right = mid-1呢?要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是循环不变量规则。写二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。二分查找-IINC105. 请
2021-10-07 16:41:34
144
原创 Vue-Router的两种路由模式
H5 History模式官网描述vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。const router = new VueRouter({ mode: 'history', routes: [...]})当你使用 hi
2021-09-29 09:49:19
4944
原创 前端常见面试手写代码总结
new操作符function myNew(Func, ...args) { // 1. 创建一个新对象 const obj = {} // 2. 新对象原型指向构造函数原型对象 obj.__proto__ = Func.prototype // 3. 将构造函数的 this 指向新对象 let result = Func.apply(obj, args) // 4. 根据返回值判断 // 如果该函数没有返回对象,则返回this return result instanc
2021-09-19 21:54:48
324
转载 CSRF攻击原理和防范措施
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。攻击原理CSRF是如何发生的呢,我们以网银转账为例进行说明。首选用户通过浏览器访问网银系统 用户在网银登录后.
2021-08-31 18:23:41
2690
翻译 NC93 设计LRU缓存结构
描述设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值提示:某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的,然后都会刷新缓存。当缓存的大小超过K时,移除最不经常使用的记录。输入一个二维数组与K,二维数组每一维有2个或者3个数字,第1个数字为opt,第2,3个数字为key,value若opt=1,接下来两
2021-08-29 10:36:08
133
翻译 HTTP(hypertext transport protocol)协议
转自:微信公众号 “我是程序员小贱”目录1989年,蒂姆·伯纳斯 - 李(Tim Berners-Lee)在论文中提出可以在互联网上构建超链接文档,并提出了三点。URI:统一资源标识符。互联网的唯一IDHTML:超文本文档HTTP:传输超文本的文本传输协议1、HTTP应用在哪儿学习一门知识,采用五分钟时间看看这个知识是干啥的可能会更加有目的性。HTTP可谓无处不在,这里例举出几个。HTTP应用场景2、HTTP是什么HTTP(hypertext transp.
2021-08-21 10:33:48
397
1
翻译 VUEX基础 笔记壹日
1. Vuex 概述1.1 组件之间共享数据的方式父向子传值:v-bind 属性绑定子向父传值:v-on 事件绑定兄弟组件之间共享数据: EventBus$on 接收数据的那个组件$emit 发送数据的那个组件1.2 Vuex 是什么Vuex 是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享。1.3 使用 Vuex 统一管理状态的好处能够在 vuex 中集中管理共享的数据,易于开发和后期维护。能够高效地实现组件之间的数据共享,提高开发效率。
2021-03-31 20:17:22
145
翻译 VUE进阶 笔记壹章 前端路由
1.路由的基本概念与原理1.1 路由路由是一个比较广义和抽象的概念,路由的本质就是对应关系。在开发中,路由分为:后端路由 和 前端路由。1.1.1 后端路由概念:根据不同的用户 URL 请求,返回不同的内容。本质:URL 请求地址与服务器资源之间的对应关系。1.1.2 SPA(Single Page Application)后端渲染(存在性能问题)。Ajax前端渲染(前端渲染提高性能,但是不支持浏览器的前进后退操作)。SPA(Single Page Application)单页面应用程序
2021-03-25 12:02:03
209
原创 VUE管理系统 笔记贰日
到目前为止,我们初始化了一个VUE前端项目。前端项目要想正常开发,必须要依赖一个后台接口项目才行。接下来介绍如何配置后台项目,从而支持前端项目开发。安装MySQL数据库安装Node.js环境:后台API项目依赖于node.js才可以正常运行配置项目相关信息:安装后台API项目的相关依赖包启动项目使用Postman测试后台项目接口是否正常安装MySQL初次运行MySQL API 服务器进入vue_api_server目录,打开PowerShell,运行npm install下载node第三
2021-03-02 11:30:37
89
1
原创 前端零碎知识点
图片底部默认会有空白缝隙。行内元素浮动之后,就不需要转换为行内块元素,然后直接给宽高。行内元素加了定位之后,就不需要转换为行内块元素,然后直接给宽高。flex布局里面不会出现外边距合并的问题...
2021-01-08 21:57:01
120
原创 【DOM BOM】笔记2日 事件基础 操作元素
操作元素JavaScript 的DOM操作可以改变网页内容、结构和样式。我们可以利用DOM操作元素来改变元素里面的内容、属性等。注意以下都是属性。改变元素内容innerText从起始位置到终止位置的内容,但它去除html标签,同时空格和换行也会去掉。 element.innerText<body> <button>显示当前系统时间</button> <div>某个时间</div> <p>123456<
2021-01-07 15:00:40
156
原创 VUE管理系统 笔记壹日
安装NODE安装VUE脚手架通过VUE脚手架创建项目配置Element-UI组件库配置 axios 远程仓库初始化git远程仓库
2021-01-06 15:06:18
120
1
翻译 VUE进阶 笔记叁章 前端工程化
4.VUE脚手架4.1 VUE脚手架的基本用法Vue 脚手架就是一个命令行工具,用于快速生成 Vue 项目基础架构,从而可以简化Vue项目的创建过程。其官网地址为:https://cli.vuejs.org/zh/4.1.1 使用步骤安装 3.x 版本 的 Vue 脚手架:npm install -g @vue/cli4.1.2 基于3.x版本的脚手架创建vue项目基于 交互式命令行 的方式,创建 新版 vue 项目;vue create my-project这里选择手动选择某些
2020-12-30 17:45:30
142
1
翻译 VUE进阶 笔记贰章 前端工程化
1. 模块化相关规范1.1 模块化概述传统开发模式的主要问题命名冲突:多个JS文件之间如果存在重名变量,则会发生变量覆盖问题。文件依赖:JS文件之间无法实现相互的引用。通过模块化解决上述问题模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成员,也可以依赖别的模块。模块化开发的好处:方便代码的重用,从而提升开发效率,并且方便后期的维护。1.2 浏览器端模块化规范1.2.1 AMDRequire.js(http://www.requ
2020-12-28 16:48:49
208
1
翻译 VUE基础 笔记肆章 前后端交互
1. 前后端交互模式1.1 接口调用方式原生 Ajax基于 jQuery 的 Ajaxfetchaxios1.2 URL地址格式1.2.1 传统形式的URL1. 格式:schema://host:port/path?query#fragmentschema:协议。例如http、https、ftp等。host:域名或者IP地址。port:端口,http默认端口80,可以省略。path:路径,例如/abc/a/b/c。query:查询参数,例如 uname=lisi&age
2020-12-25 17:30:18
467
2
原创 【DOM BOM】笔记 4 日 事件高级
1. 注册事件/绑定事件给元素添加事件,称为注册事件或者绑定事件。注册事件有两种方式:传统方式和方法监听注册方式。1.1 传统注册方式利用on开头的事件onclick。例如:<button onclick= "alert('hi')"></button>、btn.onclick = function() {}。特点:注册事件的唯一性。同一个元素同一个事件只能设置一个处理函数,最后注册的处理函数将会覆盖前面注册的处理函数。1.2 方法监听注册方式W3C标准推
2020-12-23 21:50:13
209
1
原创 【DOM BOM】笔记 6 日 PC网页特效
1. 元素偏移量 offset 系列1.1 offset 概述我们使用offset系列相关属性可以动态地得到该元素的位置(偏移)、大小等。获得元素距离带有定位父元素的位置。获得元素自身的大小(宽度高度)。注意:返回的数值都不带单位。offset系列属性作用element.offsetParent返回作为该元素带有定位的父级元素,如果父级都没有定位则返回bodyelement.offsetTop返回元素相对带有定位父元素上方的偏移element.offset
2020-12-23 21:49:48
129
原创 【DOM BOM】笔记 7 日 移动端网页特效
1. 触屏事件1.1 触屏事件概述移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心地使用原生 JS 书写效果,但是移动端也有自己独特的地方。比如触屏事件 touch(也称触摸事件),Android 和 IOS 都有。touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。触屏事件可响应用户手指(或触控笔)对屏幕或者触控板操作。常见地触屏事件如下:触屏touch事件说明touchstart手指触摸到一个 DOM 元素时触发touc
2020-12-23 21:49:11
165
原创 【DOM BOM】笔记 3日 节点操作
节点操作获取元素通常使用两种方式:利用DOM提供的方法获取元素 和 利用节点层级关系获取元素。利用DOM提供的方法获取元素该方法逻辑性不强、繁琐。利用节点层级关系获取元素利用父子兄节点关系获取元素。逻辑性强,但是兼容性稍差。节点概述网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM中,节点使用 node 来表示。HTML DOM树中的所有节点均可通过 JavaScript 进行访问,所有 HTML元素(节点)均可被修改,也可以创建或删除。一般地,节点至少拥有
2020-12-23 21:46:22
2900
原创 【DOM BOM】笔记 5 日 BOM浏览器对象模型
1. BOM概述1.1 什么是BOMBOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。1.2 BOM的构成BOM比DOM更大,它包含DOM。window 对象是浏览器的顶级对象,它具有双重角色
2020-12-23 21:45:44
237
原创 【DOM BOM】笔记初日 DOM 获取元素 事件基础
**API(Application Programming Interface,应用程序编程接口)**是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。Web API是浏览器提供的一套操作浏览器功能和页面元素的API(BOM 和 DOM)。DOM文档对象模型(Document Object Model,DOM),是W3C组织推荐的处理可扩展标记语言(HTML 或者 XML)的标准编程接口。W3C已经定义了一系..
2020-12-23 21:45:15
172
原创 【jQuery】笔记壹日
1. jQuery 概述1.1 JavaScript 库仓库:可以把很多东西放到这个仓库里面。找东西只需要到仓库里面查找到就可以了。JavaScript库:即 library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate、hide、show,比如获取元素等。简单理解:就是一个JS文件,里面对我们原生JS代码进行了封装,存放到里面。这个我们可以快速高效的使用这些封装好的功能了。比如jQuery,就是为了
2020-12-23 21:43:03
148
原创 【JS面向对象】笔记伍陆章
第五章 ES6简介1. 什么是ES6ES 的全称是 ECMAScript,它是由 ECMA 国家标准化组织制定的一项脚本语言的标准化规范。2. ES6 的新增语法let 关键字ES6 中新增的用于声明变量的关键字。使用let关键字声明的变量具有块级作用域。使用var关键字声明的变量不具有块级作用域特性。 /* --------使用let关键字声明的变量具有块级作用域-------- */ if (true) { let b = 20; console.log(b)
2020-12-23 21:41:02
280
原创 【JS面向对象】笔记壹贰章
1. 面向对象编程介绍1.1 两大编程思想面向过程、面向对象。1.2 面向过程编程面向过程编程POP(Process-oriented programming)就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候再一个一个的依次调用就可以了。面向过程,就是按照我们分析好了的步骤,按照步骤解决问题。例如将大象装进冰箱的面向对象做法:1.3 面向对象编程面向对象编程OOP(Object Oriented Programing)是把事务分解成为一个个对象,然后由对象之间分工与
2020-12-23 21:40:34
319
原创 【JS面向对象】笔记叁肆章
第三章 函数进阶1. 函数的定义和调用1.1 函数的定义方式自定义函数(命名函数)函数表达式 (匿名函数)利用 var fn = new Function('参数1','参数2', '函数体');所有函数都是 Function 的实例(对象)。 <script> // 函数的定义方式 // 1. 自定义函数(命名函数) function fn() {} // 2. 函数表达式 (匿名函数) var
2020-12-23 21:40:06
178
翻译 VUE基础 笔记叁章 组件化开发
VUE基础之组件化开发1. 组件化开发思想1.1 现实中的组件化思想体现标准、分治、重用、组合。1.2 编程中的组件化思想体现1.3 组件化规范:Web Components我们希望尽可能多的重用代码。自定义组件的方式不太容易(html、css和js)。多次使用组件可能导致冲突。Web Components通过创建封装好功能的定制元素解决上述问题。VUE部分实现了Web Components规范。https://developer.mozilla.org/zh-CN/docs/Web/
2020-12-23 20:56:14
170
1
原创 VUE调试工具
3. VUE调试工具3.1 调试工具安装到GitHub下载工具安装压缩包,解压到响应的文件夹。到解压的vue-devtools文件目录下安装依赖包。修改manifest.json文件,该文件在vue-devtools文件的 \packages\shell-chrome 下。把 "persistent": false 改为 "persistent": true 。 "background": { "scripts": [ "build/background.js"
2020-12-22 20:40:48
3291
2
原创 GIT 丨 GITHUB 基础笔记
1. Git基础1.1 版本管理1.1.1 什么是版本管理版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。1.1.2 人为维护文档版本的问题文档数量多且命名不清晰导致文档版本混乱每次编辑文档需要复制,不方便多人同时编辑同一个文档,容易产生覆盖1.2 Git 是什么Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。1.3 Git 安装下载地址在安装的过程中,所有选项使用默认值即
2020-12-22 11:41:43
249
翻译 VUE基础 笔记贰章 常用特性
5. VUE常用特性5.1 常用特性概述表单操作、自定义指令、计算属性、过滤器、侦听器、生命周期。5.2 表单操作5.2.1 基于VUE的表单操作input单行文本、textarea多行文本、select下拉多选、radio单选框、checkbox多选框。<!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="UTF-8" /> <title>Documen
2020-12-19 18:27:11
203
原创 VUE基础 笔记壹日
前提准备VScode 的VUE代码格式化插件及配置1. VUE概述VUE:渐进式JavaScript框架声明式渲染 > 组件系统 > 客户端路由 > 集中式状态管理 > 项目构建易用:熟悉HTML、CSS、JavaScript知识后,可快速上手VUE。灵活:在一个库和一套完整框架之间伸缩自如。高效:20KB运行大小,超快虚拟DOM。2. VUE基本使用2.1 传统开发模式对比2.2 VUE开发模式<!DOCTYPE html><htm
2020-12-17 16:11:02
238
IEEE Standard for Local and metropolitan area networks Part 15.6: WBANs
2020-10-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人