自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端进阶 - 组件化与React

在技术选型方面,往往不存在绝对的对错,需要综合考虑多个因素。作为一个面试者,拥有自己的独立见解十分重要。即使与面试官的观点存在差异,只要能够清晰地表达并支持自己的观点,都是具有价值的。React是一个用于构建用户界面的JavaScript库,由Facebook开发和维护。它旨在为构建复杂交互式前端界面提供高效、灵活且易于维护的方式。React采用了组件化的开发模式,将界面拆分为独立的组件,每个组件都有自己的状态和生命周期。

2023-08-07 22:20:10 174

原创 前端进阶 -MVVM与 Vue

MVVM是一种优秀的前端架构模式,通过分离数据、视图和业务逻辑,提高了应用程序的可维护性和可扩展性。Vue作为一个典型的MVVM框架,通过响应式、模板引擎和渲染过程,实现了数据驱动视图的机制,简化了前端开发的复杂性,提升了开发效率。

2023-08-06 23:04:57 286

原创 前段进阶 - Virtual DOM

Virtual DOM(虚拟 DOM)是用 JavaScript 模拟 DOM 结构。它在 JavaScript 层面进行 DOM 变化的对比,利用图灵完备的语言特性,如判断、循环、递归等。目的是提高重绘性能,因为 DOM 操作通常较慢。Snabbdom 是一个流行的 Virtual DOM 库,用于实现高效的 DOM 更新。使用 Virtual DOM 首先需要了解其核心概念和原理,然后选择一个适合的 Virtual DOM 库,如 Snabbdom。

2023-08-05 18:02:00 190

原创 前端进阶 - 异步

单线程是指在JavaScript中,只有一个主线程执行代码,意味着同时只能做一件事情。如果有耗时的任务,例如循环运算或者执行alert弹窗,会导致JS执行和DOM渲染暂时卡顿,影响用户体验。// 循环运行期间, JS 执行和 DOM 渲染暂时卡顿 var i , sum = 0;for(i = 0;// alert 不处理, JS 执行 和 DOM 渲染暂时卡顿 console . log(1);事件轮询是JavaScript实现异步的具体解决方案。

2023-08-01 11:53:10 98

原创 前端进阶 - 异步编程

单线程是指在执行过程中,只有一个线程负责处理任务,每次只能执行一件事情。在JavaScript中,由于浏览器的限制,JavaScript执行环境是单线程的。异步是一种在执行过程中可以先不等待其结果而继续执行后续任务的方式。它与单线程的关系在于解决了单线程执行任务时可能出现的阻塞问题,确保页面的流畅和响应性。// 单线程示例 var i , sum = 0;for(i = 0;// 异步示例 console . log(1);} , 1000);/*

2023-07-27 22:12:15 36

原创 前端进阶 - 原型

原型在 JavaScript 中是一个非常重要的概念,它为对象和继承提供了基础。在实际应用中,我们可以看到 jQuery 和 Zepto 这样的库广泛使用原型,通过在原型上添加方法和属性,提供了强大的功能和拓展性。在面试中,除了原型的概念,面试官可能会进一步深入询问原型链和继承的相关知识。理解这些概念和应用,可以帮助我们更好地掌握 JavaScript 编程。作的库。它提供了一个入口函数$(),用于选取 DOM 元素,并返回一个 jQuery 对象,该对象包含了选中的 DOM 元素以及一系列实用的方法。

2023-07-27 17:45:52 67

原创 前端进阶 - ES6常用功能及开发环境使用

ES6模块化为前端开发带来了更好的代码组织方式,但由于浏览器的支持情况不一,使用Babel进行代码转换和Webpack或Rollup进行打包是开发中常用的方式。Promise是解决异步编程问题的一种重要机制,通过链式调用.then()方法,使得代码更加简洁和易读,同时避免了回调地狱(Callback Hell)。

2023-07-26 23:38:32 287

原创 前端基础 - 深入浅出css预处理器

CSS预处理器是一种基于CSS的另一种语言,通过预处理器编写的代码会被编译成普通的CSS文件。预处理器在CSS的基础上添加了许多新特性和功能,有助于提升CSS文件的组织结构和代码可维护性。

2023-07-22 20:53:24 1810

原创 前端基础 -- css动画深化

CSS动画是一种通过在样式表中定义动画效果的技术,可以使元素在页面上产生平滑的视觉变化,从而增强用户体验和交互效果。动画可以使用不同的技术和属性来控制元素的变化,从简单的过渡效果到复杂的关键帧动画都可以实现。

2023-07-22 17:06:19 72

原创 前端基础 -- css效果深化

【代码】前端基础 -- css效果深化。

2023-07-22 16:54:57 125

原创 css基础 - 常见面试题

使用自定义字体可以增加页面的独特性和吸引力,用于突出品牌或特定文案。自定义字体可以将图标制作成字体图标,优势是可以调整图标大小和颜色,减少图标文件的数量,提高性能和可维护性。

2023-07-20 22:06:58 52

原创 前端基础 - css布局回顾

CSS布局是前端开发中至关重要的知识体系。它涉及到页面中元素的排列和定位,直接影响到用户界面的呈现和用户体验。随着Web技术的不断发展,布局方法也在不断演进。本文将对CSS布局的历史演进、常用布局方法、盒模型与元素定位、CSS布局技巧、响应式设计和主流网站的布局实践进行探讨。

2023-07-20 21:49:55 52

原创 前端基础之-HTML基础-HTML 常见元素和理解(常见面试题)

HTML和DOM之间的关系是:当浏览器加载HTML文档时,它会解析HTML代码并构建DOM树,将HTML元素转化为DOM节点。语义化是指在编写Web页面时,使用合适、恰当的HTML标签来描述页面的结构和内容,使代码更具有可读性和语义含义。是元素的属性(attribute),它们是初始化时的值。HTML5的引入带来了更好的语义化、更丰富的功能和更灵活的标记,有助于开发更优秀的Web应用和提升用户体验。声明位于HTML文档的开头,用于告诉浏览器文档使用的HTML版本以及采用的文档类型定义。

2023-07-20 16:54:33 178

原创 【算法训练】 -- 插入排序

插入排序是一种简单的排序算法,它的基本思想是将待排序的序列分成已排序和未排序两部分,每次将未排序的第一个元素插入到已排序的合适位置,直到所有元素都被插入完毕。插入排序的时间复杂度为O(n^2),虽然它不如快速排序、归并排序等高效,但是对于小规模的数据排序来说,它的效率很高。插入排序有两种基本的实现方法:直接插入排序和希尔排序。直接插入排序的思路简单,但是对于大规模数据的排序来说,效率较慢。

2023-07-03 23:28:20 53

原创 【算法训练】 -- 冒泡排序

冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换。冒泡排序(Bubble Sort)是一种基础的排序算法,它的思想比较简单:每次比较相邻的两个数,如果顺序不对则交换,这样一轮下来,最大(或最小)的数就会被交换到最后面。接下来再从头开始重复上述操作,直到全部排序完成。冒泡排序的时间复杂度为 O(n^2),效率较低,但对于小规模的数据排序还是比较适用的。

2023-07-02 23:00:21 96 1

原创 【算法训练】 --- 选择排序

选择排序:一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。选择排序是一种简单直观的排序算法。它通过重复从未排序的部分中选择最小的元素,并将其放到已经排序的部分的末尾,直到所有元素都排序完成。选择排序的时间复杂度为O(n^2),并且其稳定性较低,即相同元素的相对位置可能被打乱。由于其简单易懂的特点,选择排序通常用于小规模数据的排序任务,或作为其他排序算法的子过程。

2023-07-01 22:46:18 43

原创 前端进阶 - 认识和使用Ajax

异步 JavaScript 和 XML,或 Ajax 本身不是一种技术,而是一种将一些现有技术结合起来使用的方法,包括:HTML 或 XHTML、CSS、JavaScript、DOM、XML、XSLT、以及最重要的 XMLHttpRequest 对象。尽管ajax中x代表的是xml,但是由于json优越的综合性能,更多的时候我们经常用的是jsonXMLHttpRequest 对象的 responseType 属性可以被设置来改变服务器的预期响应类型。

2023-05-09 21:44:14 891 6

原创 git基础入门

Git是一款免费、开源的,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2023-05-06 20:05:30 146 3

原创 浅谈网络安全 - sql注入

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息web应用程序三层架构:视图层 + 业务逻辑层 + 数据访问层数据库就是一个存储数据的仓库,数据库是以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余,与应用程序彼此独立的数据集合。

2023-05-01 00:48:15 143

原创 拒绝服务与分布式拒绝服务-DOS/DDOS

DoS拒绝服务攻击概念介绍利用程序漏洞或一对一资源耗尽的方法对服务端发起的攻击。DDoS分布式拒绝服务攻击概念介绍一对一的攻击方式完全拼各自的资源,攻击效果比较差;多对一的攻击汇聚资源能力,重点在于量大,属于资源耗尽型。

2023-04-30 19:48:21 479

原创 jQuery框架(二)

概述:它是jQuery函数库给我们提供节点关系方法。它主要的作用是可以获取到某一个匹配节点的姊妹节点。概述:它是jQuery函数库中提供一个方法,它主要的作用是可以获取到某一个匹配节点【父节点】。概述:它也是jQuery函数库提供一个方法。主要的作用是可以获取到某一个匹配节点的全部子节点。概述:它也是jQuery函数库给我们提供方法。-stop也是jQuery函数库提供:它主要的作用是可以终止当前元素全部积累动画。概述:函数上下文【this】,如果在函数中出现(只能在函数体中使用)。说白了,就是同级元素。

2023-04-28 21:56:29 42

原创 JavaScript--jQuery框架

概述:jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;

2023-04-28 21:51:09 1282

原创 Linux shell命令

​ Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。​ Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。​ Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。shell 脚本​ 是一种为 shell 编写的脚本程序。

2023-04-27 09:45:00 635

原创 Linux vim编辑器

​ 在Linux下,绝大部分的配置文件都是以ASCII码的纯文本形式存在的,可以利用一些简单的编辑软件修改配置。​ 在Linux命令行界面下的文本编辑器有很多,比如nano,Emacs,vim等。但是所有的UNIX Like系统都会内置vi文本编辑器,而其他的文本编辑器则不一定存在。很多软件的编辑接口都会主动调用vi,而且它的编辑速度相当快。因为有太多的Linux命令都默认使用vi座位数据编辑的接口,所以我们必须学会vi,否则很多的命令无法操作。

2023-04-26 21:16:18 52

原创 Linux基本命令(二)

​ (3)给 file 的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限。​ **语法:**whereis [-bfmsu][-B …​ **作用:**用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。​ **作用:**用于备份文件(tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件)

2023-04-26 21:10:21 65

原创 Linux基本命令(一)

​ **作用:**类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h。​ **语法:**touch [-acfm] [-d] [-r] [-t] [–help] [–version] [文件或目录…若文件不存在,系统会建立一个新的文件。

2023-04-26 21:06:27 82

原创 Linux的文件与路径

​ Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录 下,具体在/var/log 目录下,另外mail的预设放置也是在这里。​ 值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

2023-04-26 21:01:38 771

原创 Linux概述

​ 因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范);它支持32位和64位硬件。

2023-04-26 20:53:53 98

原创 数据结构之二叉树的构建与遍历

按照已知二叉树,从键盘读入节点字符,建立二叉树(例如:ABD#G###CE##FH###);分别采用先序、中序、后序、按层遍历该二叉树,分别输出遍历结果。提示:以下是本篇文章正文内容,下面案例可供参考采用递归的复杂度分析:时间复杂度为O(n),其中n为二叉树的节点数。空间复杂度为O(h),其中h为二叉树的高度,因为该算法使用了递归,每次递归会消耗一定的系统栈空间。未采用递归的复杂度分析:使用了栈来模拟递归过程,时间复杂度为O(n),其中n为二叉树的节点数。

2023-04-26 19:51:17 603

原创 Es6之promise

首先,js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。如果一个任务耗时过长,那么后面的任务就必须一直等待下去,会拖延整个程序,常见浏览器无反应,可能就是一段代码死循环,造成程序卡住在这个位置,无法继续。因此,js为了解决这个问题就出现了同步和异步概念。简单来说,"同步模式"就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的;

2023-04-24 21:34:06 151

原创 正则表达式的相关概念及使用方法

元字符功能\d匹配一个数字\D匹配一个非数字字符\w匹配一个单字字符(字母、数字、下划线)\W匹配一个非单字字符\s匹配一个空白字符,包括空格,制表符和换行符匹配一个任意字符匹配开头匹配结尾。

2023-04-22 17:16:43 56 2

原创 Markdown初识

Markdown是一种轻量级标记语言,具有纯文本格式语法。它可以转化为多钟输出格式,常见的有Html、pdf、word等,Markdown通常用于格式化自述文件,例如github上常见的README.md文件等。

2023-04-19 21:39:36 199 1

原创 【数据结构】顺序表及其实现

顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。简言之,顺序表可以看做一个一维数组。数组是由一块连续的内存组成的数据结构。这个概念中有一个关键词“连续”,它反映了数组的一大特点,就是它必须是由一个连续的内存组成的。数组的“连续”特征决定了它的访问速度很快。

2023-04-08 17:15:35 285 1

原创 【数据结构】输入1-n的值按某种顺序入栈,给出某个出栈顺序,判断栈的出栈顺序是否正确

栈内数据不能重复(若重复则可能会判断出错)。如果是有效的栈操作序列,则经过所有的入栈和出栈操作之后,每个元素各入栈和出栈一次,栈为空。

2023-04-07 21:55:14 413 1

空空如也

空空如也

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

TA关注的人

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