Node.js |(一)Node.js简介及计算机基础 | 尚硅谷2023版Node.js零基础视频教程

学习视频:尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手

在这里插入图片描述

文章目录

  • 📚关于Node.js
    • 🐇为什么要学Node.js
    • 🐇Node.js是什么
    • 🐇Node.js的作用
    • 🐇Node.js下载安装
    • 🐇命令行工具
    • 🐇Node.js初体验
    • 🐇Node.js注意点
  • 📚Buffer
    • 🐇概念
    • 🐇特点
    • 🐇使用
      • 🥕创建Buffer
      • 🥕Buffer 与字符串的转化
      • 🥕Buffer的读写
  • 📚计算机基础
    • 🐇计算机基本组成
    • 🐇程序运行的基本流程
    • 🐇进程与线程

📚关于Node.js

在这里插入图片描述
在这里插入图片描述

🐇为什么要学Node.js

  • 可以让其他人访问我们编写的网页
  • 后续的框架学习打基础。

🐇Node.js是什么

  • Node.js是一个开源的,跨平台的JavaScript运行环境。
  • 通俗来讲Node.js就是一款应用程序,是一款软件,它可以运行Javascript

🐇Node.js的作用

  • 开发服务器应用
    在这里插入图片描述
  • 开发工具类应用
    在这里插入图片描述
  • 开发桌面端应用
    在这里插入图片描述

🐇Node.js下载安装

官方网站,下载左边LTS版本
在这里插入图片描述


  • 点击next
    在这里插入图片描述

  • 选择安装位置
    在这里插入图片描述

  • 点击next
    在这里插入图片描述

  • 不勾选后按next
    在这里插入图片描述

  • install,等待安装完毕


  • Node.js没有桌面快捷方式,cmd查看是否安装成功
    在这里插入图片描述

🐇命令行工具

  • win+R+cmd打开命令提示符
  • 命令的结构
    在这里插入图片描述
  • 常用的命令:常用的 Linux 操作

🐇Node.js初体验

  • 新建js文件
    在这里插入图片描述

法一

  • cmd命令行切换到文件所在目录
    在这里插入图片描述
  • 输出
    在这里插入图片描述

法二

  • 在vscode集成终端打开
    在这里插入图片描述
  • 在终端运行
    在这里插入图片描述

🐇Node.js注意点

  • Node.js中不能使用BOM和DOM的API
    在这里插入图片描述
    在这里插入图片描述
  • Node.js中的顶级对象为global,也可以用globalThis访问顶级对象。

📚Buffer

🐇概念

在这里插入图片描述

🐇特点

在这里插入图片描述

🐇使用

🥕创建Buffer

  • Buffer.alloc
    //创建了一个长度为 10 字节的 Buffer,相当于申请了 10 字节的内存空间,每个字节的值为 0
    let buf_1 = Buffer.alloc(10); // 结果为 <Buffer 00 00 00 00 00 00 00 00 00 00>
    
  • Buffer.allocUnsafe
    //创建了一个长度为 10 字节的 Buffer
    //buffer 中可能存在旧的数据(内存空间是可以复用的), 可能会影响执行结果,所以叫unsafe
    let buf_2 = Buffer.allocUnsafe(10);
    //用这种方式创建速度比alloc快很多。
    
  • Buffer.from
    //通过字符串创建 Buffer
    let buf_3 = Buffer.from('hello');
    //通过数组创建 Buffer
    let buf_4 = Buffer.from([105, 108, 111, 118, 101, 121, 111, 117]);
    

🥕Buffer 与字符串的转化

  • 我们可以借助 toString 方法将 Buffer 转为字符串。

  • toString 默认是按照 utf-8 编码方式进行转换的。

    let buf_4 = Buffer.from([105, 108, 111, 118, 101, 121, 111, 117]);
    console.log(buf_4.toString())
    

🥕Buffer的读写

  • Buffer 可以直接通过 [] 的方式对数据进行处理。

    //读取
    console.log(buf_3[1]);
    //修改
    buf_3[1] = 97;
    //查看字符串结果
    console.log(buf_3.toString());
    
    1. 如果修改的数值超过 255 ,则超过 8 位数据会被舍弃。
    1. 一个utf-8 的字符一般占 3 个字节。
// []
let buf = Buffer.from('hello');
console.log(buf[0].toString(2));// 01101000
console.log(buf);
buf[0] = 95;
console.log(buf.toString());

//溢出,仅了解
let buf1 = Buffer.from('hello');
buf1[0] = 361;// 舍弃高位的数字  0001 0110 1001  => 0110 1001
console.log(buf1);

//中文
let buf2 = Buffer.from('你好');
console.log(buf2);

在这里插入图片描述

📚计算机基础

🐇计算机基本组成

计算机组成原理笔记捞捞

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

🐇程序运行的基本流程

  • 操作系统:操作系统笔记捞捞
    在这里插入图片描述

  • 启动的基本过程
    在这里插入图片描述

    • 1.将操作系统程序安装到硬盘——电脑可以开机去运行
    • 2.首先将Window相关程序文件载入内存——CPU可以运行
    • 3.执行的时候
      • 视频信号交给显卡,再交给显示器
      • 声音信号交给声卡,再交给播放设备
  • 程序运行的基本过程
    在这里插入图片描述

    • 1.先把相关程序载入内存
    • 2.CPU读取指令,执行指令
    • 3.执行的时候
      • 视频信号交给显卡,再交给显示器
      • 声音信号交给声卡,再交给播放设备

小结

  • 程序一般保存在硬盘中,软件安装的过程就是将程序写入硬盘的过程。
  • 程序在运行时会加载进入内存,然后由CPU读取并执行程序。

🐇进程与线程

  • 详见操作系统笔记

  • 进程是程序的一次执行过程。

  • 线程是一个进程中执行的一个指向流,一个线程是属于某个进程的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/63693.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目优化后续 ,手撸一个精简版VUE项目框架!

之前说过项目之前用的vben框架&#xff0c;在优化完性能后打包效果由原来的纯代码96M变成了56M&#xff0c;后续来啦&#xff0c;通过更换框架&#xff0c;代码压缩到了36M撒花~ 现在就来详细说说是怎么手撸一个框架的&#xff01; 方案&#xff1a; 搭建一套 vite vue3 a…

流量卡线上销户全教程,剩余的话费还有可能给你退回来!

线上就可以注销手机卡你知道吗&#xff1f;目前三大运营商都开通了线上销户业务了&#xff0c;而且用不完的话费还可以退回来&#xff0c;建议大家点赞收藏起来&#xff0c;以免有需要的时候找不到了&#xff0c;大家好&#xff0c;我是流量卡葫芦妹。 ​ OK&#xff0c;不多废…

【Leetcode】二叉树的最近公共祖先,二叉搜索树转换成排好序的双向链表,前序遍历与中序遍历构造二叉树

一.二叉树的最近公共祖先 链接 二叉树的最近公共祖先 题目再现 『Ⅰ』思路一&#xff1a;转换成相交链表问题 观察上图&#xff0c;节点1和节点4的最近公共祖先是3&#xff0c;这是不是很像相交链表的问题&#xff0c;关于相交链表&#xff0c;曾经我在另一篇文章里写到过&a…

十三、ESP32PS2摇杆(ADC)

1. 运行效果 在上下左右操作PS2摇杆的时候,会检测到数据 2. 滑动电阻

初识http协议,简单实现浏览器和服务器通信

文章目录 认识urlhttp协议格式通信代码验证细节Util.hppprotocol.hppServer.hppServer.cc 结果分析 认识url 平时俗称的 “网址” 其实就是说的 URL&#xff0c;例如在百度上搜索一个C 可以看到这段网址前面有个 https 那么这个就代表着使用的是https协议&#xff0c;现在都是…

八、Spring 整合 MyBatis

文章目录 一、Spring 整合 MyBatis 的关键点二、Spring 整合 MyBatis 的步骤2.1 创建 Maven 项目&#xff0c;并导入相关依赖2.2 配置 Mybatis 部分2.3 配置 Spring 部分2.3 配置测试类 一、Spring 整合 MyBatis 的关键点 1、 将 Mybatis 的 DataSource (数据来源)的创建和管理…

单片机外部晶振故障后自动切换内部晶振——以STM32为例

单片机外部晶振故障后自动切换内部晶振——以STM32为例 作者日期版本说明Dog Tao2023.08.02V1.0发布初始版本 文章目录 单片机外部晶振故障后自动切换内部晶振——以STM32为例背景外部晶振与内部振荡器STM32F103时钟系统STM32F407时钟系统 代码实现系统时钟设置流程时钟源检测…

郭盛华:npm 软件包窃取开发人员的敏感数据

网络安全研究人员在 npm 软件包注册表中发现了一系列新的恶意软件包&#xff0c;这些软件包旨在窃取敏感的开发人员信息。 所有模块的一个共同功能是能够启动 JavaScript&#xff08;“index.js”&#xff09;&#xff0c;该 JavaScript 可以将有价值的信息泄露到远程服务器。…

HCIP 三层交换机

一、实现VLAN间通信 在传统的交换机组网中&#xff0c;默认所有网络都处于同一个广播域&#xff0c;带来了许多问题&#xff0c;VLAN技术的提出&#xff0c;满足了二层组网隔离广播域需求&#xff0c;使得属于不同的VLAN间网络无法通信&#xff0c;但不同VLAN之间又存在着互相…

HTML之表单标签

目录 表单标签 Form表单 定义&#xff1a; 基本语法结构&#xff1a; form属性&#xff1a; enctyoe属性 fieldeset标签 fieldeset属性 legend标签 label标签 优势 label属性 input标签 input属性 input标签中的type属性 text text输入框有以下配套属性 searc bu…

MySQL ROUND、FORMAT数值格式化,以及 返回版本、返回数据库等信息

FORMAT VS ROUND ROUND(数值&#xff0c;n) FORMAT(数值&#xff0c;n) 当 n < 0, FORMAT 整数部分&#xff0c;不会变化&#xff0c; ROUND&#xff0c;整数部分&#xff0c; 根据n的位数&#xff0c;把数值替换成0 当 n>0, 两个效果一样

【数据结构OJ题】移除元素

原题链接&#xff1a;https://leetcode.cn/problems/remove-element/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 方法一&#xff1a;暴力删除&#xff0c;挪动数据覆盖。即遍历整个nums[ ]数组&#xff0c;遇到值等于val的元素&#xff0c;就将整…

模块高可用性部署概述

高可用三种模式 Ⅰ. 主从热备Ⅱ. 哨兵模式Ⅲ. 集群模式Ⅳ. 番外 总结了Redis的几种高可用方式&#xff0c;对于做后端模块的同学来说&#xff0c;可以根据/或是借鉴其思路做自己的模块可用性部署。 Ⅰ. 主从热备 主从热备&#xff0c;是高可用性中最基础的解决方案&#xff0…

详解Quest 2积分与奖励规则

7月28日&#xff0c;在万众期待中&#xff0c;Mysten Labs在Quest门户网站上宣布了Quest 2的到来。经过严密的筹划&#xff0c;本着真实、公平以及用户至上的原则&#xff0c;现在向大家介绍Quest 2的积分规则以及奖励规则。 温馨提示&#xff1a;第一轮Bullshark Quest是一次精…

模拟实现消息队列项目(系列2) -- 项目前期的准备

目录 前言 1. 需求分析 1.1 核心概念 1.2 核心API 1.3 交换机类型 1.4 持久化 1.5 网络通信 1.6 消息应答 2. 模块划分 结语 前言 我们在上一个系列对于消息队列有了初步的认识,那我们明白了消息队列的用途之后,我们就开始进行我们的项目了,首先我们的项目是仿照Rabb…

【Spring Boot】(三)深入理解 Spring Boot 日志

文章目录 前言一、日志文件的作用二、Spring Boot 中的日志2.1 查看输出的日志信息2.2 日志格式二、Spring Boot 中的日志2.1 查看输出的日志信息2.2 日志格式 三、自定义日志输出3.1 日志框架3.2 日志对象的获取3.3 使用日志对象打印日志 四、日志级别4.1 日志级别的作用4.2 日…

springboot配置文件的使用

目录 1.application.properties是springboot默认的配置文件&#xff0c;但是比较繁琐&#xff0c;一般用.yml文件 2. 配置文件的作用 3.配置文件的使用 1.application.properties是springboot默认的配置文件&#xff0c;但是比较繁琐&#xff0c;一般用.yml文件 ①、properti…

我在leetcode用动态规划炒股

事情是这样的&#xff0c;突然兴起的我在letcode刷题 121. 买卖股票的最佳时机122. 买卖股票的最佳时机 II123. 买卖股票的最佳时机 III 以上三题。 1. 121. 买卖股票的最佳时机 1.1. 暴力遍历&#xff0c;两次遍历 1.1.1. 算法代码 public class Solution {public int Ma…

webpack基础知识八:说说如何借助webpack来优化前端性能?

一、背景 随着前端的项目逐渐扩大&#xff0c;必然会带来的一个问题就是性能 尤其在大型复杂的项目中&#xff0c;前端业务可能因为一个小小的数据依赖&#xff0c;导致整个页面卡顿甚至奔溃 一般项目在完成后&#xff0c;会通过webpack进行打包&#xff0c;利用webpack对前…

使用事件侦听器和 MATLAB GUI 查看 Simulink 信号研究

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…