自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 资源 (14)
  • 问答 (3)
  • 收藏
  • 关注

原创 C++栈&手动实现栈结构

(检查栈是否为空)。

2024-03-21 20:30:15 132

原创 C++ 链表题

给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,要求你将两个数相加,并以相同形式返回一个表示和的链表。合并两个已排序的链表并将其作为一个新的排序链表返回。新链表是通过拼接给定的两个链表的所有节点组成的。给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。将两个升序链表合并为一个新的升序链表并返回。实现一个算法来判断一个链表是否有环。找到给定链表中倒数第k个节点的值。实现一个函数,反转一个单链表。

2024-03-08 20:42:08 811 1

原创 抽象类和存虚函数

定义: 抽象类至少包含一个纯虚函数的类。它通常用于定义一个接口,为派生类提供一个基类。作用: 它定义了派生类应该实现的接口和方法的原型,但不提供方法的具体实现。创建对象: 不能直接实例化抽象类来创建对象。

2024-03-08 20:32:18 142

原创 C++多态

多态性使得我们可以编写更通用和可扩展的代码。静态多态是在编译时解析的,而动态多态是在运行时解析的。理解多态性和它在C++中的实现是面向对象编程的一个重要方面。

2024-03-08 20:23:26 164

原创 react渲染对比传统dom操作

当组件的状态发生变化时,React 会首先在虚拟 DOM 上进行变更,然后通过一个叫做“协调”(Reconciliation)的过程计算出与上次渲染相比实际 DOM 需要变更的最小差异,最后把这些差异应用到真实的 DOM 上。在只改变单个 DOM 节点内容的情况下,直接使用 JavaScript 来操作 DOM 很可能会比 React 的虚拟 DOM 更快,因为这里涉及到的操作非常简单,直接操作避免了虚拟 DOM 的比较和更新过程。这样的操作不会引起复杂的 DOM 重绘或重排,因此开销很小。

2024-02-05 19:42:00 393

原创 html怪异模式

怪异模式(Quirks Mode)是浏览器的一种兼容性模式,它允许浏览器模拟老旧的、非标准的行为来兼容那些为古老浏览器设计的网页。在早期的互联网发展时期,许多网站是为了当时的主流浏览器(如早期的Internet Explorer和Netscape)特定的非标准行为而设计的。随着web标准的发展,这些行为被认为是错误的,新的浏览器版本开始支持标准的web技术。

2024-02-05 19:35:57 292

原创 Web Workers

Web Workers允许开发人员运行脚本操作在网页的背景线程中,而不会影响用户界面的响应性。由于JavaScript通常在单个线程上运行,耗时的任务可能会导致用户界面的延迟。通过使用Web Workers,开发人员可以在不同的线程上执行复杂计算,提高应用程序的性能和用户体验。

2024-02-05 18:56:32 275

原创 http常见问题

自从1991年HTTP/0.9首次提出以来,HTTP已经经历了几个重要的版本更新,以适应互联网技术的发展和性能需求的提高。虽然HTTP/1.1取得了显著的进步,但它仍然存在一些性能问题,如队头阻塞(Head-of-Line Blocking,HOL blocking)。:HTTP自身不保存之前的交互状态,每次请求都是独立的。方法通常不是幂等的,因为它用来提交数据,每提交一次都可能在服务器上创建新的资源或触发新的动作。在HTTP协议中,“安全” 和 “幂等” 的概念是根据请求方法的预期效果来定义的。

2024-02-05 10:14:55 566

原创 httpGET POST区别

定义和用途:数据传输:限制和安全性:幂等性和缓存:定义和用途:数据传输:限制和安全性:幂等性和缓存:头信息:安全性:副作用和使用场景:服务器端处理:可用性:GET`请求的数据是附加在URL并不能证明post请求能安全 明文传输都会被抓包窃取数据暴露:数据大小限制:服务器日志和浏览器历史:缓存和书签:语义清晰性:对抗网络嗅探:然而,重要的是要注意请求并不是绝对安全的。不论是还是,如果没有使用HTTPS,请求数据都是以明文形式通过网络传输的,这意味着在客户端和服务器之间的任何点,数据都可能被拦截。因此,对于敏感

2024-02-04 11:51:14 882

原创 WebAssembly 教程一 WebAssembly简介

概念WebAssembly(简称Wasm)是一种为堆栈机设计的二进制指令格式。它是一个可移植的编译目标,可用于高级语言如C/C++和Rust,让这些语言编写的代码能够在Web浏览器中运行。代码示例Wasm通常不直接编写,而是将高级语言转换成Wasm。比如,一个简单的Rust函数编译成WebAssembly看起来是这样的:Rust源代码(add.rsa + b编译为WebAssembly(add.wasm(modulei32.add))预计输出效果当在支持WebAssembly的浏览器中运行时,

2024-01-30 11:04:19 340

原创 从0开始学前端 第七十六课:Node.js 用户身份验证

通过完成这些练习,你将学会如何在 Node.js 应用程序中实现安全的用户身份验证系统。这为构建需要用户账户管理的任何类型的 Web 应用程序提供了坚实的基础。执行上述代码后,你应该能在控制台看到一个长字符串,这是 JWT 令牌,包含了用户的信息和签名。

2024-01-27 09:08:56 419

原创 从0开始学前端 第七十五课:Node.js 缓存策略

通过这个练习,你将学习如何在实际应用程序中处理缓存逻辑,并理解缓存如何帮助提高应用程序性能。记得在每个步骤中检查你的工作,并确保缓存正确实现。在实践中应用这些概念将加深你对缓存策略的理解。,这表明数据已经从 Redis 缓存中成功检索。执行上述代码后,你应该能看到控制台打印出。

2024-01-26 17:23:32 405

原创 从0开始学前端 第七十四课:Node.js Express — 关系型数据库集成

/ 属性},}, {// 选项});

2024-01-26 17:18:20 956

原创 从0开始学前端 第七十三课:Node.js Express — 中间件使用和开发

开发自定义中间件可以让你执行特定的逻辑,比如检查用户权限、记录日志等。代码示例// 自定义中间件next();');});// 应用监听端口预计输出效果每次收到请求时,都会在控制台输出请求的HTTP方法类型。

2024-01-26 16:40:04 292

原创 从0开始学前端 第七十二课 Node.js - 使用Express构建RESTful API

REST(Representational State Transfer)是一种设计风格,用于网络应用程序的API设计。它使用标准的HTTP方法,如GET、POST、PUT、DELETE等,并遵循无状态、可缓存、分层系统等六个核心原则。完成后,你将能够设计并实现一个简单的RESTful API,使用Express中间件进行请求预处理,并返回适当的HTTP状态码。在Express中处理请求意味着定义路由以及与这些路由关联的回调函数(中间件)。发送响应时,常见的做法是返回JSON格式的数据。

2024-01-26 16:27:52 898

原创 从0开始学前端 第七十一课:Node.js Express框架基础

1. Express的安装和基本使用Express是一个灵活的Node.js Web应用框架,提供了一系列强大的功能,帮助你创建各种Web应用和API。安装Express:基本使用:创建一个简单的Express服务器:预计输出效果:当你访问时,你会在浏览器中看到"Hello World!"。2. 路由路由是指定义应用端点(URI)和如何响应客户端请求的方法。在Express中,路由使用方法如, , , 等来匹配HTTP请求的类型。定义路由:预计输出效果:当你访问时,看到"Users List"。访问时

2024-01-26 16:17:57 378

原创 从0开始学前端 第七十课:Node.js 错误处理和调试

不涉及特定代码,但在VS Code中运行调试时,你会看到断点处代码的行被高亮显示,可以观察变量值,单步执行代码等。记得在调试过程中,要不断尝试和实验,因为调试技能的提高很大程度上是基于实践和经验的累积。,然后使用上述命令来调试你的程序。

2024-01-26 15:52:12 333

原创 从0开始学前度 第六十九课:Node.js 使用 http-proxy

请分别为端口3000和9000创建简单的HTTP服务器,然后配置代理服务器如上所述,并测试代理功能,确保HTTP请求和WebSocket连接都可以成功转发。对于错误处理,尝试关闭目标服务器以模拟代理错误,并观察错误处理机制是否能正确工作。代理服务器是客户端与服务器之间的中介,用于转发客户端的请求到其他服务器。模块是一个强大的库,用于快速创建代理服务器以处理HTTP和WebSocket请求。

2024-01-26 15:38:19 322

原创 从0开始学前端 第六十八课:Node.js 网络操作(HTTP)

(HTTP Secure)是HTTP的安全版本。它使用SSL或TLS协议提供加密处理数据、验证对方身份以及数据完整性的保护。这对防止中间人攻击尤其重要。服务器要处理HTTP请求,需要监听请求事件,并根据请求类型(GET、POST等)进行相应处理。是用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网数据通信的基础。最后,服务器需要监听某个端口来等待客户端的连接。解析查询字符串和参数,可以使用核心模块。在处理完请求后,服务器需要发送响应。读取POST请求的体数据。方法创建一个服务器实例。

2024-01-26 15:30:37 203

原创 从0开始学前端 第六十七课:Node.js 文件系统(fs)

本课旨在彻底理解和掌握 Node.js 中fs。

2024-01-26 14:47:29 353

原创 从0开始学前端 第六十六课: Node.js 基本语法与进阶异步编程

通过这些练习,你将能够理解和使用 Node.js 中的异步编程技巧,这些技巧对于编写高性能和响应性强的应用程序至关重要。

2024-01-26 11:09:31 529

原创 从0开始学前端 第六十五课:事件循环机制详解

在本课,你会了解到Node.js中的事件循环机制,这是Node.js异步编程的核心。

2024-01-26 10:36:24 804

原创 从0开始学前端 第六十四课:了解Node.js的核心概念

首先输出"程序开始执行",然后是"程序执行结束",最后才是文件读取完成的信息,即使读取文件的操作是在最先发起的。CommonJS是Node.js中使用的模块规范。在这个系统中,每个文件都被视为一个模块,可以导入其他文件(模块)或导出自身以供其他文件(模块)使用。非阻塞I/O指的是系统在执行I/O操作时不会暂停程序的执行,而是将操作放在后台进行,程序可以立即继续执行后面的代码。:创建一个模块,导出至少两个方法,然后在另一个文件中导入这个模块,并调用这些方法。读取相同的文件,并记录两者的执行时间差异。

2024-01-26 10:22:09 341

原创 从0开始学前端 第六十三课:使用nvm管理Node.js版本

通过这些练习,你将熟悉如何使用nvm来管理不同的Node.js版本,确保你的开发环境与项目要求保持一致。

2024-01-26 10:10:02 728

原创 从0开始学前端 第六十二课:Node.js简介

理解Node.js的概念和特点。能够说明Node.js的适用场景。安装Node.js和配置基本的开发环境。执行并理解第一个Node.js程序。

2024-01-26 10:06:17 293

原创 从0开始学前端 第六十课:JavaScript设计模式

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。:使用一个创建对象的接口,但由子类决定实例化的类是哪一个。每种交通工具都应该接受不同的参数,比如自行车的。通过完成这些练习,你将能够加深对不同设计模式的理解,并学会如何在JavaScript中实现它们。实现一个简单的事件管理器,允许你订阅事件、取消订阅事件以及触发事件。:确保一个类只有一个实例,并提供一个全局访问点。:创建私有变量和函数,同时暴露出一个公开的接口。的实例,它都只会给你一个实例。

2024-01-25 23:11:13 679

原创 从0开始学前端 第四十一课:Webpack介绍与使用

Webpack是一个现代JavaScript应用的静态模块打包工具,它将应用程序处理为一个或多个bundle,并能管理所有的资源文件如JavaScript、JSON文件、CSS以及本地的图片等。通过这些练习,你将能够理解Webpack的基本工作原理,并学会如何使用Webpack进行基本的前端项目打包和性能优化。Webpack可以理解模块之间的依赖关系,并生成依赖图,从而打包成一个或多个bundle。Webpack提供了多种性能优化的方法,包括代码分割、压缩等。,位于项目的根目录。

2024-01-25 22:58:32 980

原创 从0开始学前端 第六十一课:前端性能优化

前端性能优化对于改善用户体验、提高网站访问速度、提升转化率等方面起着至关重要的作用。一个响应迅速的网站可以保持用户的兴趣,减少跳出率。资源压缩包括减小HTML、CSS和JavaScript文件的大小。这可以通过移除空白字符、注释、缩短变量名等方式实现。借助工具,如Google的Lighthouse或WebPageTest,可以评估网站的性能并提供优化建议。浏览器缓存是指浏览器保存资源副本以避免重复下载。缓存策略包括强缓存和协商缓存。懒加载是一种优化网页或应用的加载时间的技术,只加载用户需要的资源。

2024-01-25 17:33:30 596

原创 从 0开始学前端 第五十九课:ES6及更高版本的JavaScript新特性

通过上述练习,学生应该能够理解并应用JavaScript的高级特性,以及如何处理异步操作。

2024-01-25 17:25:16 935

原创 从0开始学前端 第五十八课:Ant Design的使用

Ant Design是一套由阿里巴巴团队维护的企业级UI设计语言和React组件库。它提供了一系列高质量的React组件,非常适合开发和服务于企业级后台产品。UI设计语言:一套设计标准和原则,帮助开发者和设计师创建一致的用户界面。

2024-01-25 17:21:15 815

原创 从0开始学前端 第五十七课:静态类型检查

这些练习将帮助你熟悉TypeScript在React中的基本用法,并逐渐过渡到更复杂的应用场景,如使用泛型和其他高级类型。通过实际编写代码,你将能够更好地理解如何在实际的React项目中应用TypeScript,从而提高代码的健壮性和可维护性。TypeScript是JavaScript的一个超集,它添加了静态类型检查的能力。这意味着你可以在代码编写阶段发现潜在的问题,而不是在运行时。使用TypeScript编写React组件可以提供更好的开发体验,帮助你更好地管理组件的props、state和事件处理。

2024-01-25 17:16:56 823

原创 从0开始学前端 第五十六课:React 与服务器通信

它是window对象的一个方法,返回一个Promise,因此非常适合在React组件中使用。使用Fetch API或Axios与之交互是实现数据获取的基础。完成以上练习后,你将能够有效地在React应用中与服务器进行通信,处理异步事件,并且与RESTful API进行交互。控制台将显示从’https://api.example.com/data’获取到的数据,或者在出错时打印错误信息。控制台将显示从’https://api.example.com/data’获取到的数据,或者在出错时打印错误信息。

2024-01-25 17:13:39 952

原创 从0开始学前端 第五十五课:react性能优化

在本课程中,你将学习如何使用React的性能优化工具和技术来提升你的应用性能。

2024-01-25 17:09:20 941

原创 从0开始学前端 第五十四课:React Hooks

概念: 自定义Hooks是一个JavaScript函数,其名称以“use”开头,函数内部可以调用其他Hooks。代码示例return (预计输出: 页面会显示一个计数器,有增加、减少和重置按钮可以操作计数值。

2024-01-25 17:02:17 695

原创 从0开始学前端 第五十三课:状态管理

状态提升是React中的一种模式,用于在多个子组件之间共享状态。它通过将状态移动到需要这些数据的组件的最近共同父组件中,然后通过props将数据传递给子组件。: Redux是一个用于JavaScript应用的状态容器,提供可预测化的状态管理。通过这些练习,你将更深入地理解和实践状态管理在React应用中的运用,包括状态提升、Context API和Redux的基础及其与中间件的结合使用。: Context提供了一种在组件树中传递数据的方法,无需在每个层级手动传递props。

2024-01-25 16:58:26 767

原创 从0开始学前端 第五十二课:React Router的使用

通过这些练习,你将能够实践如何在React中使用Router来构建单页面应用程序(SPA),处理路由参数,创建嵌套路由,以及执行编程式导航。: React Router是一个基于React的库,它允许你在应用中设置动态路由。它使得组件能够根据URL的变化而相应地呈现不同的视图。: 路由参数是React Router中的动态片段,用于捕获URL中的值。嵌套路由允许你在一个路由内部渲染多个路由,构建复杂的用户界面。: 编程式导航是指使用代码来控制用户的路由跳转,而非链接(Link)。

2024-01-25 16:54:51 896

原创 从0开始学前端 第五十一课:React组件复用与组合

高阶组件是React中用于复用组件逻辑的一种高级技术。HOC本身不是React API的一部分,它是一种基于React组合特性而形成的设计模式。HOC接收一个组件并返回一个新组件。: Render Props是一个用于告诉组件需要渲染什么内容的函数prop。这是一种在React组件之间共享代码的技巧。通过这些练习,你将能够加深理解HOC和Render Props的使用方法和它们如何促进组件逻辑的复用。

2024-01-25 16:54:24 689

原创 从0开始学前端 第五十课:React表单与用户输入

在进行课后练习时,你将实践使用React来处理用户输入和表单提交,同时理解受控与非受控组件的使用场景和原理。

2024-01-25 16:48:21 574

原创 从0开始学前端 第四十九课:React事件处理

作为props,并在点击增加按钮时调用它。这是组件间通信的一个简单例子,展示了如何将子组件的数据传递给父组件。请注意,这个例子假设了。

2024-01-25 16:45:23 648

原创 从0开始学前端 第四十八课:组件的内部状态(State)与生命周期

State表示组件的内部状态,它是组件的私有属性,可以在组件生命周期内部进行更新。当组件的State改变时,组件会进行重新渲染。这些练习将帮助你理解如何在实际应用中使用State和生命周期方法,以及它们在前端开发中的实际意义。

2024-01-25 16:42:26 925

jdk-14.0.1_osx-x64_bin.7z

macos java jdk-14.0.1_osx-x64_bin.7z 可供学习开发使用 java jdk 可供学习开发使用

2020-05-29

jdk-14.0.1_linux-x64_bin.7z

linux java jdk-14.0.1_linux-x64_bin.7 java 可供学习开发使用

2020-05-29

jdk-14.0.1_windows-x64_bin.7z

java jdk-14.0.1_windows-x64_bin.7z 可供学习开发使用 java jdk

2020-05-29

node-v12.17.0-x64.7z

windows node-v12.17.0-x64.7z 可供开发学习使用

2020-05-29

node-v12.17.0.7z

macos node-v12.17.0.7z 可供开发学习使用

2020-05-29

mysql-8.0.20-winx64-debug-test.7z

MySQL Community Server 8.0.20 Windows (x86, 64-bit), ZIP Archive Debug Binaries & Test Suite 可供开发学习使用

2020-05-29

mysql-test-8.0.20-macos10.15-x86_64.tar.7z

MySQL Community Server 8.0.20 macOS 10.15 (x86, 64-bit), Compressed TAR Archive Test Suite 可供开发和学习使用

2020-05-29

mysql-workbench-community-8.0.20-macos-x86_64.7z

MySQL Workbench 8.0.20 macOS (x86, 64-bit), DMG Archive 可供开发学习使用

2020-05-29

mysql-workbench-community-8.0.20-winx64.7z

MySQL Workbench 8.0.20 Windows (x86, 64-bit), MSI Installer

2020-05-29

mysql80-community-release-el8-1.noarch.7z

Red Hat Enterprise Linux 8 / Oracle Linux 8 可供开发学习使用

2020-05-29

mysql80-community-release-fc32-1.noarch.7z

Fedora 32 (Architecture Independent), RPM Package 可供开发学习使用

2020-05-29

mysql-shell-8.0.20-macos10.15-x86-64bit.tar.7z

MySQL Shell 8.0.20 mysql-shell-8.0.20-macos10.15-x86-64bit.tar.7z 供开发学习使用

2020-05-29

mysql-shell-8.0.20-windows-x86-64bit.7z

window mysql shell mysql-shell-8.0.20-windows-x86-64bit.7z 可供开发学习使用

2020-05-29

mysql-installer-web-community-8.0.20.0.7z

Windows (x86, 32-bit), MSI Installe mysql-installer-web-community-8.0.20.0.7zr 供开发学习使用

2020-05-29

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

TA关注的人

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