自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(78)
  • 收藏
  • 关注

原创 软考全套资料免费自取

高级和中级的都刚过不久,留下了一堆资料,需要的自行领取,希望能帮助学习困难的同学省下一笔费用。个人建议先自学,不急着报班,等有一定的基础了再报班,这样就能少花冤枉钱。大家下载一个 【 夸克网盘 】,然后复制链接直接保存就可以了哈。这里面有视频+历年真题+大纲,自学的话完全够用了。

2024-04-12 08:47:53 388 2

原创 程序员有必要考软考吗?(内含软考资料)

软考是软件行业的职业资格认证考试,它可以帮助证明程序员在软件领域的专业技能和职业素养,从而提高个人的职业竞争力和市场价值。反之,如果觉得自己的实际工作经验和技术能力已经足够,或者软考的内容与自己的职业发展方向不符,那么可以选择不参加。实用性有限:软考所涉及的知识点可能与实际工作中使用的技术不完全匹配,因此对于一些已经在工作中深耕多年的程序员来说,软考的实用性可能有限。:准备软考的过程可以帮助程序员复习和更新相关的专业知识,对于保持技术水平的领先有一定的帮助。最后,推荐一款好用的刷题软件,微信搜索 “

2024-04-09 17:48:48 409

原创 软考资料真题免费获取

软考高分通,或者扫描下方二维码 即可免费刷里面的真题,完全免费。推荐一款不错的软考刷题小程序,微信搜一搜。

2024-04-08 15:58:32 114

原创 浏览器——渲染、回流与重绘

在上面的例子中,当主线程解析HTML和CSS 时,预加载扫描器发现了脚本和图像,并开始下载他们。当我们输入目标的域名的时候,客户端需要找到对应资源的位置。在解析DOM 时,会并行解析CSS,并进行CSSOM 的构建,CSSOM对象模型和DOM是相似的。当DOM发生变化,引起元素几何信息发生改变的时候(如大小和位置),浏览器需要重新计算几何属性,会触发回流,使得最新的元素布局渲染到页面上。即在当前真实DOM 树之外,创建一份新的文本,在内存中创建和修改节点,然后再将他们新增到文档中,这样避免回流和重绘次数。

2024-02-01 14:38:59 1006

原创 前端开发实战基础——模块

浏览器中,我们可以通过在 script 标签中 加入 type=“module” 的属性,告诉浏览器这一块代码应该作为哦模块执行,而不是作为传统的脚本执行。模块可以嵌入网页中,也可以作为外部文件引入。// 模块代码与传统的脚本不同,所有模块都会想加载的 脚本一样按顺序执行。当解析到标签后会立即下载模块文件,但执行会延迟到文档解析完成,因此不会阻塞文档解析。下面演示模块执行顺序。

2024-02-01 14:37:19 842

原创 前端开发实战基础——http、https 基础知识

http ,全称为中文翻译过来就是超文本传输协议。一种客户端——服务端协议,是一个简单的请求—响应协议。他是web上进行数据交换的基础。我们日常上网冲浪浏览的网页,通常是有多个文件组合合成——包括HTML文件、JavaScript文件、CSS文件、图片资源等文件,经过浏览器构建出来的,才会最终以画面的形式展示到屏幕前。这些文件是存储在远程的服务器(另一台电脑),我们浏览器通过发起一个请求,这个请求被封装在一个http 请求内部,服务器也是通过这个http 请求这个协议。

2024-01-27 15:57:02 977

原创 浏览器——HTTP缓存机制与webpack打包优化

强缓存,直接使用缓存文件,不请求服务器。

2024-01-27 15:56:19 1503

原创 前端开发实战基础——网络攻击与防御

当用户打开这个URL时,Web服务器会执行该URL中的请求,并将恶意代码以请求结果返回给用户浏览器,浏览器执行URL中包含的JavaScript代码。下面的地址中,欢迎XXX 是根据URL 的参数name 的值来确定的,是一个动态内容。DOM型攻击,是将恶意脚本注入到被攻击的应用程序的DOM 结构中,而不需要存储到被攻击者服务器,通过修改原DOM 而达到攻击目的。函数,实现攻击目标。例如,这些非预期的请求,可能是通过URL 链接加入恶意参数来达到攻击目标,如下面的图片的src参数。,无疑发起非预期的请求。

2024-01-19 08:52:00 1037

原创 前端开发实战基础——Cookie、Web Storage

HtTTP cookie 也称为cookie,中文翻译过来就是曲奇、小甜饼的意思。最初用于在客户端存储会话信息。cookie 在浏览器中,通常以键值对的形式存储。

2024-01-19 08:47:15 983

原创 JavaScript系列——Proxy(代理)

也就是说,通过创建一个对象的代理(中间人)后,我们需要先和代理沟通,由代理再对原对象进行沟通,这个过程,允许我们自定义一些操作,实现对原对象的增强。通过上面的简单示例,我们发现,在定义handler 的属性中,我们可以通过方法的参数,获取到一些值,下面对一些常用的方法进行详细讲解。通过代理,验证一个对象的age 属性,如果设置成非数字或者大于200都会出错,不能成功被赋值,代码如下所示。并为对象的a 属性赋值了1,给b属性赋值了undefined ,注意,通过代理,我们可以对传入的值进行验证,可以借助。

2024-01-13 15:40:06 1332

原创 JavaScript系列——Generator

在生成器内部,可以通过yield 来返回每一个操作步骤需要返回的内容,然后调用实例的next 方法,返回对应步骤的返回值。,将next 封装到then会调用函数,这个细节可以使得主线程执行完任务,再去任务队列执行next,实现主线程不阻塞。,原因是因为如果直接调用next,那么主线程就会一直阻塞在这个函数内部,直到执行所有的generator步骤。在介绍异步的时候,介绍过使用 async + await的方式处理promise,代码可以更加有可读性,其实。上面的代码可以实现,间隔一秒打印1,2,3。

2024-01-13 09:56:30 1036

原创 JavaScript系列——闭包

闭包,是函数及其关联的周边环境的引用的组合,在闭包里面,内部函数可以访问外部函数的作用域,而外部函数不能范围内部函数的作用域,从而在内部函数形成一个相对封闭的环境。在JavaScript中,闭包随着函数创建而被创建。

2024-01-11 20:07:12 852

原创 JavaScript系列——Promise

但它是用另一个 Promise 解决的,因此在内部 Promise 兑现的 1 秒之后才会被兑现,在此之前,一直处于待定状态。的对象构造是同步进行的。,而是返回一个Promise对象,等待某个合适时机后,通过promise获取对应的结果值。链中每个已兑现的 Promise 的返回值会传递给下一个 .then(),而已拒绝的 Promise 会把失败原因传递给链中下一个拒绝处理函数。解决状态下的Promise不一定会导致Promise变成已兑现或者拒绝状态,最终要看作为参数的Promise 状态。

2024-01-11 20:06:28 999

原创 JavaScript系列——同步与异步

如果此时消息队列,前面还有消息,那么会将点击事件的消息排在后面,等待前面消息处理完成才处理这个消息,并调用相应的回调函数。,等待接口getData 函数执行完resolve语句,代码才会继续往下执行,如果一直没有调用resolve或者reject,那么,就会一直等待,不会执行下面的语句。上面的代码中,getData 函数里面,我们返回一个Promise 的实例对象,其中传入一个回调函数,参数为resolve, reject,当我们接口。因为cb(),也是延迟0秒,因此先被添加到消息队列。

2024-01-05 17:25:23 1528

原创 JavaScript系列——this指向

但是C2 函数中,this虽然指向了对象本身,但构造函数返回了另外一个对象,因此,通过new 创建处理的实例,指向return 的对象,a的值等于38。如果调用函数的形式是obj,f() ,那么this就指向 obj, 如果调用形式是f(),默认情况下,this指向window或全局对象。箭头函数在其周围的作用域创建一个this的闭包,这就意外着,箭头函数的行为就行它们是“自动绑定”的,无论如何调用,上面的代码中,C1 中,在构造函数中使用this 指向对象本身,赋值a=37,使用new 创建一个实例,

2024-01-05 17:24:44 799

原创 JavaScript系列——正则表达式

正则表达式是用于匹配字符串中的字符组合的模式。它是一个对象,这个对象可以被用于 RegExp(正则表达式)的exec/test和字符串的方法。

2023-12-29 16:30:32 1198

原创 JavaScript系列——数组、数组常用方法

数组由方括号构成,其中包含用逗号分隔元素的列表。比如,我们上超市购物,需要一个购物清单,那么用数组来表示,可以用下列的代码代表一个购物清单的数组shopping;像上面的shopping 变量存储都是字符串变量,但数组可以将任何类型变量存储如字符串、数字、对象,甚至是另外一个数组,如下列代码所示Array()构造函数参数 :elementNArray 构造函数会根据给定的元素创建一个 JavaScript 数组,但是当仅有一个参数且为除了数字时外。

2023-12-29 16:24:26 965

原创 JavaScript系列——原型、原型链、继承

原型是JavaScript 对象的一个内置属性,我们称为prototype,它本身就是一个对象。一般地,这个原型对象值指向 其构造函数的prototype。实际上prototype名称不是标准的,所有浏览器都是用__proto__来表示对象原型的名称(普通对象和函数都有),但prototype属性是构造函数专有的,如Date.prototype。

2023-12-24 13:08:45 946

原创 JavaScript系列-函数调用之apply、call、bind

Function 实例的apply() 方法会以指定的this值和参数(数组形式)调用该函数call() 方法会以给定的 this 值和逐个提供的参数调用该函数。bind 和上面的apply 、call 有所区别,bind 方法将创建一个新函数,当调用该新函数时,他会调用原始函数并将this关键字设置为指定的新的this对象,同时还可以传入一系列指定的参数,这些参数会插入到调用新函数时传入的参数前面。

2023-12-23 20:36:14 820

原创 JavaScript系列-函数(function)

提示:函数是 JavaScript 中的基本组件之一,通常是用来完成一件具体的任务最小单元提示:箭头函数表达式相比普通函数表达式,具有较短的语法并且没有自己的this、arguments对象、super和new.target,箭头函数是匿名的除此之外,箭头函数还有以下特征箭头函数不能用作构造函数。使用 new 调用它们会引发 TypeError。它们也无法访问 new.target 关键字。箭头函数不能在其主体中使用 yield,也不能作为生成器函数创建。

2023-12-23 14:46:16 912

原创 JavaScript系列-循环语句

该表达式可以使用 var 或 let 关键字声明新的变量,使用 var 声明的变量不是该循环的局部变量,而是与 for 循环处在同样的作用域中。这个表达式是可选的。of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。for 语句用于创建一个循环,它包含了三个可选的表达式,这三个表达式被包围在圆括号之中,使用分号分隔,后跟一个用于在循环中执行的语句(通常是一个块语句)。

2023-12-21 21:30:52 823

原创 JavaScript系列-数据类型

检测object 原型链是否存在与construtor.prototype 一致的属性。JavaScript编程语言中,变量类型分为。对于类型的检测,有以下三种方案。,两种变量类型的区别在于。

2023-12-10 10:53:45 405

原创 vue2 框架运行原理剖析系列(二)之 组件挂载$mount神秘之旅!!!

vue 的 抽象语法树与渲染函数生成、挂载方式、模板编译

2023-05-11 11:25:37 1025

原创 vue2 框架运行原理剖析系列(一)之 new Vue()实例化过程到底做了什么!!!

new Vue 实例化过程

2023-05-10 16:32:29 944 2

原创 终于把 vue-router 运行原理讲明白了(二)!!!

popstate和hashchange触发机制

2023-04-28 21:58:11 955

原创 终于把 vue-router 运行原理讲明白了(一)!!!

vue-router运行原理

2023-04-28 17:58:48 631

原创 vue-router 在没有用户交互情况下,执行push ,无法返回上一个页面?

vue-router 在没有用户交互情况下,执行push ,无法返回上一个页面?

2023-04-28 15:28:53 699 3

原创 从0到1搭建react 工程化前端项目

带小白从0到1手把手搭建react项目

2023-04-21 10:22:19 861

原创 前端实现刮刮乐效果

canvas实现刮刮乐效果

2022-11-11 15:07:31 1231

原创 vue实现全局消息提醒功能(vue-extend)

Vue.extend 实现 消息提醒功能

2022-11-11 10:39:50 3868

原创 vue3系列--reactive实现细节

vue3reactive实现细节

2022-06-27 10:26:43 658

原创 flutter网络请求http

http网络请求demo请求步骤(1)导入http模块(2)创建一个Future类的,用于接收请求(3)创建一个普通类,用于返回对象解析(4)创建一个有状态组件,使用FutureBuilder渲染future//测试http请求示例import 'dart:convert';import 'package:flutter/material.dart';import 'package:http/http.dart' as http;void main() { runApp(MyAp

2022-02-14 10:47:18 2282

原创 java多线程中的线程通信问题(生产者与消费者模式)

1.线程通信在前面的章节对synchronized的用法做了介绍。它可以解决多线程对公共资源的利用问题。但是不同线程之间,有时候需要协作,以提高工作效率,因此需要相互通信。下面介绍在synchronized中两个方法:wait和notify方法2.wait 和notify1.wait 方法表示线程一直等待,直到其他线程通知。与sleep不同的是,wait会释放资源。2.notify唤醒一个处于等待状态的线程3.notifyAll。唤醒同一个对象上所有调用wait方法的线程。注意:上面的方法均是O

2022-01-23 17:10:28 581

原创 java多线程的中死锁与解锁、显示lock和隐式synchronize同步锁

1.死锁产生死锁,故名思意,就是在多线程使用一些公共资源的时候,由于当前线程等待资源而阻塞,但对方线程已经拥有该资源,并没有释放,同时想获取已经阻塞线程的资源,因此造成互相等待,产生死锁。总结如下:(1)互斥条件:一个资源同时只能被一个线程使用。(2) 请求与保持条件:一个线程因请求资源而阻塞,对方已获得该资源,在没有使用完成前,不 会释放该资源 。(3)不剥夺条件:线程获得了资源,在没有使用完成前,是不能强制剥夺;(4)循环等待条件:若干线程之间形成一种头尾相接的循环等待

2022-01-22 17:58:16 503

原创 java中线程同步(synchronized的用法)

多线程存在的问题1.多线程会造成共享资源数据环混乱。因为,每一个线程都有自己的内存。当一个线程从公共资源读取数据后,保存到了自己线程的内存中,然后才执行。这样如果多个线程同时读取公共资源的数据,而没有手段去控制让这些线程排队,就会出现数据混乱的问题。下面的代码为例子:是一个抢票的例子package Lock;//线程不安全实例1:共用对象public class UnSaveTest1 implements Runnable{ private int ticketNum=10; public

2022-01-16 20:33:58 493

原创 java线程的休眠(sleep)、礼让(yield)、插队(join)

线程休眠sleep的用法步骤(1)实现现场类(2)调用sleep()方法即可使得线程休眠实例代码如下:下面的例子是,用sleep实现一个倒计时,每隔一秒,就会输出倒计时数字;需要注意的是,调用sleep会抛出一个异常,需要捕捉异常处理package opreation;//使用sleep实现倒计时public class TestSleep implements Runnable { public void run() { for (int i = 10; i >0; i-

2022-01-15 15:36:36 323

原创 java中创建线程的三种方法(继承Thread类、继承Runable接口和使用callable接口)

java中多线程的理解1.java的多线程对于单核的Cpu来说,实际也是一条主线程上不停切换线程java中的创建多个线程,实际上,对于单核的计算机来说,一个时间只能做一件事情,只是线程之间切换的时间很短,就感觉同时做了很多事情。多个线程一起跑,实际上执行的顺序,不取决于线程启动的顺序,而是取决于cpu线程调度算法。每一次跑,执行顺序可能都不一样。现在介绍一下,java中,创建多线程的三种方式:第一种:继承Thread类实现步骤1.创建一个类,继承Thread父类2.在这个类中,重写run方法

2022-01-09 16:43:00 1026

原创 一位21届信息管理与信息系统专业(信管)师兄过来人的看法

1.刚入大学,迷惘是大多数高考完,填志愿的时候,重新审视自己,发现自己并没有什么过人之处。各科分数都比较平均,没有玩得特别溜的科目。当时想起来小时候的经历,就是特别喜欢捣鼓家里的各种小电器,总是玩得不亦乐乎,瞬间,我觉得可以报一下电子信息类的专业,但面对现实,我冷静下来了,我的分数压根抱不到好学校好的电子专业,毕竟这些专业对人、对学校的要求比较高,因为专业需要比较扎实的基本学习和物理基础,但我还是有自知之明的,学得也不怎么强,特别是对抽象事物的理解,也比较吃力,因此也就放弃了这个想法。后来,在家人这边了

2022-01-08 11:22:37 5165

原创 2021年毕业半年前端生涯总结

三大遗憾1.实习辞职遇疫情干扰,未能实现毕业旅行实习经历–从2020年9月份开始,在学校巩固了一下前端的基础,便踏上寻找前端实习岗位的旅程。这段时间,投过许许多多的简历,但是由于之前没有相关的工作经验,回复不多,但也收到一些校招笔试的邀请,但因为自己算法方便确实是有些不足,最后错失了许多游戏行业机会,最后迫于学校压力,选择一家软件公司实习。在里面做的工作也就是修修补补。当然,收获还是有的,接触到了自动化部署一套流程和前端微服务框架项目,但没有自己从0到1搞过项目,缺乏对项目整体流程把控的经验。差不多到3

2022-01-02 11:01:31 6384 2

原创 flutter 导航项目demo

项目简介使用fdark开发的flutterdemo,里面包含导航测试案例,提供给大家学习项目gitee地址https://gitee.com/cai-fawen/flutterDemo.git

2021-10-13 16:41:46 157

软考全套资料免费自取,祝大家考试顺利

备战软考学习交流啦 高级和中级的都刚过不久,留下了一堆资料,含真题、电子版教程,微信刷题小程序,需要的自行领取,希望能帮助学习困难的同学省下一笔费用。 个人建议先自学,不急着报班,等有一定的基础了再报班,这样就能少花冤枉钱。 这里面有视频+历年真题+大纲,自学的话完全够用了。 大家下载一个 【 夸克网盘 】,然后复制链接直接保存就可以了哈

2024-04-12

软考真题免费获取 刷题小程序题库

mmexport1712557438791.jpg

2024-04-08

空空如也

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

TA关注的人

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