自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 [LeetCode0304题二维区域和检索 - 矩阵不可变]

前言昨天做了[LeetCode0303题区域和检索 - 数组不可变] | 刷题打卡和[LeetCode1200. 最小绝对差] | 刷题打卡两道题,303题是昨天的每日一题考察的是前缀和,果然今天的每日一题也是,其实大家从每天的每日一题点进相似题目,如果看到官方题解更新了,那这道题大概率就是第二天的每日一题了。题目描述这题是LeetCode0304题二维区域和检索 - 矩阵不可变,也是今天的每日一题。给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下

2021-03-02 13:26:14 213

原创 [LeetCode1200. 最小绝对差] | 刷题打卡

前言对于这次活动我是很乐意参加的,毕竟自己平常刷题都是刷出来然后提交就行了,对于过程和思路没有用文字来记录和复盘,这次活动可以培养自己一个思考、记录、复盘、优化的习惯。我这个活动的内容应该大部分都是easy,可能会有medium。主要是我太菜了,medium的我都要想好久还不一定对,所以就不写出来献丑了,也希望各位大佬多多包涵。今天本来已经写过一篇了[LeetCode刷题行动] | 刷题打卡,按照官方的建议最好是一天一篇,但是我在加班啊,后端出问题了,所以这会儿闲着也是闲着,我不接受官方的建议(手动狗头

2021-03-02 13:25:29 246

原创 [LeetCode0303题区域和检索 - 数组不可变]

题目描述这题是LeetCode0303题区域和检索 - 数组不可变,也是今天的每日一题。给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j&nbs

2021-03-02 13:24:38 176

原创 Docker超详细基础教程

一.Docker介绍Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Ed.

2020-12-03 09:21:27 71248 27

原创 迅速上手Linux操作系统

Linux操作系统一、Linux介绍1.1 引言开发、生产、测试环境的概念 1.开发环境:一般情况下我们都是在Windows/MacOS环境下进行开发。但在开发环境中安装大量的软件,会导致环境的稳定性和安全性降低。 2.生产环境:运行可供用户访问的服务程序的环境。由专业人员去维护,一般人无权操作。 3.测试环境:一般会克隆一份生产环境,将开发环境中的程序部署到测试环境中,这个环境的主要目的是去检测程序进程,发现程序中的各种问题,并交给开发人员进行修改。生产环境中常用的操作系统有Windows

2020-12-02 13:39:23 181

原创 Typora+Vue主题+Gitee图床轻松写文章

Typora+Vue主题+Gitee图床轻松写文章前言我的博客是用Hexo+GitHub搭建的我的博客,写文章都是用的Markdown样式,刚开始还没觉得有什么,后来看别人写的文章怎么都这么好看,样式好看,主题也好看。我就越看自己写的越丑,为了写出跟掘金里面大佬们文章一样好看的样式,我请教了木易杨大佬才知道Typora,这是大佬的掘金主页。这些天研究了Typora,安装了Vue的主题,为了方便写文章的时候插入图片,使用了Gitee图床,决定写篇文章来记录下。环境macOS Catalina 1

2020-12-02 13:38:17 545 1

原创 前端迅速上手Linux基础教程

Linux操作系统一、Linux介绍1.1 引言开发、生产、测试环境的概念 1.开发环境:一般情况下我们都是在Windows/MacOS环境下进行开发。但在开发环境中安装大量的软件,会导致环境的稳定性和安全性降低。 2.生产环境:运行可供用户访问的服务程序的环境。由专业人员去维护,一般人无权操作。 3.测试环境:一般会克隆一份生产环境,将开发环境中的程序部署到测试环境中,这个环境的主要目的是去检测程序进程,发现程序中的各种问题,并交给开发人员进行修改。生产环境中常用的操作系统有Windows

2020-11-26 14:32:57 302

原创 Docker简单上手03

前言在Docker简单上手01中我们一起学习了Docker的容器化。在Docker简单上手02中我们一起学习了不同容器通过Docker网络实现相互之间的通信。 Docker数据管理今天我们一起学习上手Docker数据管理。Docker数据的管理方式主要分为三种:数据卷(Volume),也是最为推荐的一种方式。绑定挂载(Bind Mount),Docker早期常用的数据管理方式。tmpfs挂载。基于内存的数据管理。注意tmpfs挂载只适用于Linux操作系统。数据卷基本命令数据卷(

2020-10-09 14:56:35 162

原创 Docker简单上手02

前言在Docker简单上手01中我们熟悉了常用的docker命令,并成功地容器化了第一个应用。这篇文章我们将实现后端API服务器+数据库的容器化。 熟悉流程下面我们就开始今天的内容学习:项目准备# 如果你看了上一篇教程,仓库已经克隆下来了cd docker-dreamgit fetch origin network-startgit checkout network-start# 如果你打算直接从这篇教程开始git clone -b network-start https://git

2020-10-09 10:55:31 242

原创 Docker简单上手01

前言之前也有听说过docker但是因为没有具体的业务接触所以并没有具体的去了解过,最近手头的工作也暂时没有那么急所以趁着时间来看下。 准备系统:CentOS 7.6 64位查看Linux核心版本,3.10版本及以上才可以安装dockeruname -r更新yum包yum update查看docker是否曾经安装过whereis docker// 如果安装过,则删除之前的版本yum remove docker docker-common docker-selinux docker

2020-10-07 18:01:32 256

原创 Webpack上传腾讯云

介绍我们公司之前的项目一直都是打包之后上传七牛,但是最近一段时间总是出现打包文件找不到的情况,中间过程就省略了,最后决定把项目文件放到腾讯云上。腾讯云准备工作进入腾讯云控制台。打开对象存储。点击存储桶列表-创建存储桶。在存储桶列表里点击刚创建的桶-点击右侧权限管理-存储桶访问权限-公有读私有写。如果有CDN加速需求的话。点击右侧域名与传输管理-自定义CDN加速域名-添加域名(这一步看你是想要采用默认CDN加速域名还是自定义的)。如果是自定义加速域名的话除了域名的HTTPS配置,在腾讯

2020-09-18 17:33:26 399

原创 美团点评2020校招前端方向笔试题

美团点评2020年校招前端方向笔试题第一题class A { String i = "op"; void func(String s) { s = "" + 9; } static void test() { A a = new A(); a.func(a.i); }}问:1,变量i,s,a在堆还是栈中?2,第8行执行完后a.i的值是什么?第二题请按顺序写出打印结果,并说明原因。var name =

2020-07-02 17:39:42 1667

原创 Javascript-15-DOM-3

遍历“DOM2级遍历和范围”模块定义了两个用于辅助完成顺序遍历DOM结构的类型:NodeIterator和TreeWalker。这两个类型能够基于给定的起点对DOM结构执行深度优先(depth-first)的遍历操作。在于DOM兼容的浏览器中都可以访问到这些类型的对象。IE不支持DOM遍历。使用下列代码可以检测浏览器对DOM2级遍历能力的支持情况。var supportsTraversals = document.implementation.hasFeature("Traversal", "2.0"

2020-06-07 22:05:13 138

原创 Javascript-15-DOM-2

样式在HTML中定义样式的方式有3种:通过<link/>元素包含外部样式表文件。使用<style/>元素定义嵌入式样式。使用style特性定义针对特定元素的样式。访问元素的样式任何支持style特性的HTML元素在Javascript中都有一个对应的style属性。这个style对象是CSSStyleDeclaration的实例,包含着通过HTML的style特性指定的所有样式信息,但不包含与外部样式表或嵌入样式表经层叠而来的样式。在style特性中指定的任何CSS

2020-06-02 23:13:24 142

原创 Javascript-15-DOM-1

DOM1级主要定义的是HTML和XML文档的底层结构。DOM2和DOM3级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的XML特性。为此,DOM2和DOM3级分为许多模块(模块之间具有某种关联),分别描述了DOM的某个非常具体的子集。这些模块如下:DOM2级核心:在1级核心基础上构建,为节点添加了更多的方法和属性。DOM2级视图:为文档定义了基于样式信息的不同视图。DOM2级事件:说明了如何使用事件与DOM文档交互。DOM2级样式:定义了如何以编程方式来访问和改变CSS样式信息。DO

2020-06-01 23:18:40 152

原创 Javascript-14-DOM-4

Comment类型注释在DOM中是通过Comment类型来表示的。Comment节点具有下列特征:nodeType的值为8;nodeName的值为“#comment”;nodeValue的值是注释的内容;parentNode可能是Document或Element;不支持(没有)子节点;Comment类型与Text类型继承自相同的基类,因此它拥有除了splitText()之外所有字符串操作方法。与Text类型相似,也可以通过nodeValue或data属性来取得注释的内容。// 注释节点

2020-05-31 22:18:06 229

原创 Javascript-14-DOM-3

Element类型Element类型用于表现XML或HTML元素,提供了对元素标签名、子节点及特性的访问。具有以下特征:nodeType的值为1;nodeName的值为元素的标签名;nodeValue的值为null;parentNode可能是Document或Element;其子节点可能是Element、Text、Comment、ProcessingInstruction、CDATASection或EnttyReference。要访问元素的标签名,可以使用nodeName属性,也可以使用

2020-05-24 23:10:39 168

原创 Javascript-14-DOM-2

Document类型JS通过Document类型表示文档。在浏览器中,document对象是HTMLDocument(继承自Document类型)的一个实例,表示整个HTML页面。其中,document对象是window对象的一个属性,因此可以将其作为全局对象来访问,Document节点具有以下特征:nodeType的值为9;nodeName的值为“#document”;nodeValue的值为null;parentNode的值为null;ownerDocument的值为null;其子节点

2020-05-21 22:45:47 132

原创 Javascript-14-DOM-1

DOM(文档对象模型)是针对HTML和XML文档的一个API。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM脱胎于DHTML(动态HTML),但现在它已经成为表现和操作页面标记的真正的跨平台、语言中立的方式。注意:IE中的所有DOM对象都是以COM对象的形式实现的,这意味折IE中的DOM对象与原生JS对象的行为或活动特点并不一致。节点层次DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构。节点分为几种不同的类型,每种类型分别表示文档中不同的信息及标

2020-05-20 23:31:55 136

原创 Javascript-13-客户端检测

浏览器提供商虽然在实现公共接口方面投入了很多精力,但结果仍然是每一种浏览器都有各自的长处,也都有各自的缺点。即使是那些跨平台的浏览器,虽然从技术上看版本相同,也照样存在不一致性问题。因此客户端检测是一种补救措施,不到万不得已就不要使用客户端检测。能力检测能力检测的目的不是检测浏览器类型,而是检测浏览器是否有该功能。举例来说IE5.0之前的版本不支持document.getElementById()这个DOM方法,但是可以用document.all属性去实现这个功能: function getElem

2020-05-19 23:11:32 146

原创 Javascript-12-BOM-2

location对象location对象是最有用的BOM对象之一,它提供了与当前窗口加载的文档有关的信息,还提供了一些导航功能。location对象既是window对象的属性,也是document对象的属性;换句话说,window.location和document.location引用的是同一个对象。location对象的用处不只表现在它保存着当前文档的信息,还表现在它将URL解析为独立的片段,让我们可以通过不同的属性访问这些片段。下表列出了location对象的所有属性(省略了每个属性前面的locat

2020-05-18 23:49:34 103

原创 Javascript-12-BOM-1

window对象BOM的核心对象是window,他表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过Jacascript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象,因此有权访问parseInt()等方法。全局作用域由于window对象同时扮演者ECMAScript中Global对象的角色,因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法。

2020-05-17 22:54:34 155

原创 Web安全问题和解决方案

目前常见的web安全问题有以下几种:同源策略XSSCSRFSQL注入点击劫持window.opener安全问题文件上传漏洞同源策略如果两个URL的协议、域名、端口都相同,我们称之为同源。同源策略限制了来自不同源的JS脚本对当前DOM对象的读写操作。同源策略限制了来自不同源的站点读取当前站点的Cookie、LocalStorage等操作。同源策略限制了通过XMLHttpRequest等方式将站点的数据发送给不同源的站点。对应的解决方法:跨域资源共享(CORS):服务端设

2020-05-15 16:54:28 507

原创 Javascript-11-函数表达式-2

模仿块级作用域JS中没有块级作用域的概念。这意味着在块语句中定义的变量,实际上是包含函数中而非语句中创建的,例如:function outputNumbers(count) { for(var i = 0; i < count; i++) { alert(i); } alert(i); }JS从来不会告诉你是否多次声明了同一个变量;遇到这种情况,他只会对后续的声明视而不见(不过,他会执行后续声明中的变量初始化)。匿名函数可以用来模仿块级作用域并避免这个

2020-05-14 22:51:07 216

原创 Javascript-11-函数表达式-1

函数表达式是JS中一种既强大又容易令人困惑的特性。定义函数的方式有两种:一种是函数声明,另一种就是函数表达式。函数声明的语法是这样的:function functionName(arg0, arg1, arg2) { // 函数体}函数声明的一个重要特征就是函数声明提升,意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的语句后面。sayHi();function sayHi() { alert('Hi!');}函数表达式有几种不同的语法形式。最常见

2020-05-13 23:14:23 116

原创 Javascript-10-面向对象-3

继承许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。由于函数没有签名,在JS中无法实现接口继承,JS只支持实现继承,而且其实现继承主要是依靠原型链来实现的。原型链每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。假如我们让原型对象等于另一个类型的实例,此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。假如另一个原型又是另一个类型的实例

2020-05-12 23:32:12 81

原创 用nextcloud搭建个人网盘

前言一直以来主要是用百度云网盘和其他的微云什么的搭配使用,什么方便用为什么,个人数据放得自己的找不到,之前也看过搭建个人网盘但是一直没有自己去搞过,这次想着花点时间搞个个人网盘来用,顺便写下自己的搭建过程。框架选择选择nextcloud的原因:各个平台都有对应的客户端,方便。开源,可以自己动手操作。功能比较完善。nextCloud官网服务器自己查了以下发现ucloud最近在做活动,比较便宜。注册连接前往注册领券连接前往领券系统版本我购买的时候都是直接按照默认的来,系统默认

2020-05-12 10:05:27 1987 1

原创 Javascript-10-面向对象-2

创建对象虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。为解决这一问题,人们开始使用工厂模式的一种变体。工厂模式工厂模式抽象了创建具体对象的过程,用函数来封装以特定接口创建对象的细节,例如:function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job

2020-05-11 23:02:45 58

原创 H5对接腾讯移动直播

前言由于疫情的影响,今年的直播带货到处都是。我们公司也决定在自己的平台上加上直播带货功能,APP端做直播端,为了方便没有下APP或者不想下APP的人群,公司决定在H5端做观看端。所用技术项目是用Vue来写的,直播的话引的是第三方腾讯的插件。移动直播SDLK页面构建在index.html引入初始化脚本<script src="//imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.2.js" charset="utf-8">

2020-05-11 18:05:08 2307 3

原创 javascript-10-面向对象-1

面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。ECMA-262对对象的定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数”。严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性和方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把JS的对象想象成散列表:无非就是一组明值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型,也可以是开发人员

2020-05-10 21:46:05 83

原创 Javascript-9-引用类型-5

单体内置对象JS对内置对象的定义是:”由JS提供实现提供的、不依赖宿主环境的对象,这些对象在JS程序执行之前就已经存在了“。Global对象JS中的Global对象在某种意义上是作为一个终极的”兜底儿对象“来定义的。换句话说,不属于任何其他对象的属性和方法,最终都是它的属性和方法。事实上,没有全局变量或全局函数;所有在全局作用域中定义的属性和函数,都是Global对象的属性。URI编码方...

2020-05-07 22:55:59 88

原创 Javascript-9-引用类型-4

基本包装类型为了便于操作基本类型值,JS还提供了3个特殊的引用类型:Boolean、Number、String。实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据。基本类型值不是对象,因而从逻辑上讲它们不应该有方法(尽管如我们所愿,它们确实有方法)。其实,为了让我们实现这种直观的操作,后台已经自动完成了一系列的处理。创...

2020-05-06 23:22:10 90

原创 Javascript-9-引用类型-3

Function类型函数实际上是对象。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数通常是使用函数声明语法定义的,例如:function sum (num1, num2) { return num1 + num2}在使用函数表达式定义函数时,没有必要使用函数名。...

2020-05-05 23:43:11 96

原创 Javascript-9-引用类型-2

Date类型Javascript中的Date类型是在早期java中的java.util.Date类基础上构建的。为此,Date类型使用自UTC(Coordinated Universal Time,国际协调时间)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的100000000年。要创建一...

2020-05-04 23:11:46 93

原创 Javascript-9-引用类型(1)

引用类型的值(对象)是引用类型的一个实例。在Javascript中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管Javascript从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等接本结构。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。对象是某个特定引用类型的实例。新对象是使用new操作符...

2020-05-03 22:28:21 78

原创 Javascript-8-垃圾收集

Javascript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。这种垃圾收集机制的原理其实很简单:找出那些不再继续使用的变量,然后释放其占用的内存。为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间),周期性地执行这一操作。1,标记清除Javascript中最常用的垃圾收集方式是标记清除。当变量进入环境时,就将这个变量标记为“进入环境”。从逻辑上...

2020-04-29 22:54:49 84

原创 HTTP响应状态码说明

响应状态码表示服务器的响应状态,如 200 代表服务器正常响应,404 代表页面未找到,500 代表服务器内部发生错误。在爬虫中,我们可以根据状态码来判断服务器响应状态,如状态码为 200,则证明成功返回数据,再进行进一步的处理,否则直接忽略。下表列出了常见的错误代码及错误原因。状态码说明详情100继续请求者应当继续提出请求。服务器已收到请求的一部分,正在等待其余部分...

2020-04-28 23:29:07 467

原创 javascript-7-执行环境及作用域

执行环境是Javascript中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。全剧执行环境是最外围的一个执行环境。在Web浏览器中,全局执行环境被认为是Window对象,因此所有全局变量和函数都是作为Window对象的属性和方法创建的。每个函数都有自己的执行环境。当执行...

2020-04-28 20:58:17 80

原创 Javascript-6-基本类型和引用类型的值

Javascript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。基本数据类型:undefined,Null,Boolean,Number,String这五种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。引用类型的值是保存在内存中的对象。与其他语言不同,JavaScript 不允许直接访问内存中...

2020-04-28 09:07:27 77

原创 Javascript-5-语句

从本质上看,语句定义了Javascript中的主要语法,语句通常使用一个或多个关键字来完成给定任务。1,if语句if语句是我们最常用的,如下:if (status) methods1 else methods2其中的status可以是任意表达式,而且对这个表达式求值的结果不一定是布尔值。Javascript会自动调用Boolean()函数将结果转换为一个布尔值,推荐的写法是代码块,即使...

2020-04-28 09:06:04 112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除