node学习笔记(一)

Blender学习笔记——制作向量场 #下载Blender - UE4 - FGA Vector Field Editor插件的压缩包,Github上的下载地址如下:https://github.com/isathar/Blender_UE4_VectorFieldEditor #下载并解压后将FGA VectorFields文件夹复制到C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons目录下,此步骤可根据blender安装的位置自行调整,只要放入addon 阅读详情
  • 什么是node.js?

    node.js不是一种新的编程语言,仅仅只是一种后台技术,和Java、PHP、.NET等可以视为平级竞争关系,本质上使用的还是JavaScript。node官网是这样介绍node.js的,node是一个基于Chrome的V8 JavaScript引擎构建的JavaScript运行时。

  • 起步

    官网下载对应的安装包,建议安装长期稳定版本,我自己安装的是V10.13.0 LTS,安装教程比较简单,此处略过,请自行百度详细图文教程,安装成功后再控制台下执行node -v可会显示node版本号。

  • 核心模块

    • fs-文件系统模块(一般用于处理文件)

      创建test.txt文件,并随意添加文件内容

      同级目录下创建fs.js文件,文件内容如下:

      // 引入文件系统模块,此处遵循CommonJs规范
      const fs = require('fs');
      // 同步读取文件
      const data = fs.readFileSync('./test.txt');
      console.log('同步读取'+data);
      // 异步读取文件(推荐写法)
      fs.readFile('./test.txt',function(err,data){
          if (err) throw err;
          console.log('异步读取'+data);
      });
      // 同步读取文件
      console.log('run');
      

      以上代码包括同步和异步两种读取文件的方法,主要区别就是同步操作会阻塞进程,异步读取文件的方法上午执行不会影响后续代码的执行,同步读取文件的方法执行成功后才会执行后续的代码,所以以上代码的输出结果如下:

      同步读取nodejs核心模块
      run
      异步读取nodejs核心模块
      
    • Buffer-缓冲器模块(一般用于处理数据流)

      // Buffer创建不需要引入模块,全局模块Buffer
      // 创建Buffer
      const buf1 = Buffer.alloc(10);
      console.log(buf1);
      
      // 数组创建
      const buf2 = Buffer.from([1,2,3]);
      console.log(buf2);
      
      // 字符串创建
      const buf3  = Buffer.from('hello world中文');
      const buf4  = Buffer.from('hello world中文','ascii');
      console.log(buf3.toString());
      console.log(buf4.toString('ascii'));
      

      输出结果如下:

      <Buffer 00 00 00 00 00 00 00 00 00 00>
      <Buffer 01 02 03>
      hello world中文
      hello world-
      
    • HTTP模块

      新建index.html

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>index</title>
      </head>
      <body>
      <p>index页面</p>
      <!--添加用户-->
      <form action="/api/users" method="post">
          <input type="text" name="name">
          <input type="number" name="age">
          <input type="submit" value="新增用户">
      </form>
      <ul id="userList"></ul>
      <script type="text/javascript">
          let userList =  document.querySelector('#userList');
          fetch('/api/users').then(function(res){
              // console.log(res);
              // 转换为json对象
              return res.json();
          }).then(function (users) {
              // console.log(users);
              // 显示在界面中
              userList.innerHTML = users.map(function(user){
                  return '<li>'+user.name+'</li>'
              }).join('');
      
          }).catch(function (err) {
              alert('请求报错');
          });
      </script>
      </body>
      </html>
      

      同级目录下新建http.js文件,文件内容如下:

      // 导入fs,http模块
      const fs = require('fs');
      const http = require('http');
      const qs = require('querystring');
      let users = [{name: 'test1', age: 20}, {name: 'test2', age: 18}];
      const server = http.createServer((req, res) => {
          // 该回调函数在每次收到请求时调用
          // req 请求对象
          // res 响应对象
          // 使用res.writeHead()设置响应头
          const url = req.url;
          const method = req.method;
          if (url === '/' && method === 'GET') {
              fs.readFile('./index.html', function (err, data) {
                  if (err) {
                      // 错误处理
                      res.writeHead(500, {
                          'Content-Type': 'text/html'
                      });
                      res.end('500, Server Internal error');
                      return;
                  }
                  // 设置响应头
                  // Content-Type常见值:'text/html' 'application/json'
                  res.writeHead(200, {
                      'Content-Type': 'text/html'
                  });
                  // 返回页面数据
                  res.end(data);
              });
          } else if (url === '/api/users' && method === 'GET') {
              // 编写接口,返回json数据
              res.writeHead(500, {
                  'Content-Type': 'application/json'
              });
              // 返回页面数据
              res.end(JSON.stringify(users));
          } else if (url === '/api/users' && method === 'POST') {
              // 接收请求参数
              let body = [];
              req.on('data',(chunk) => {
                  body.push(chunk);
              }).on('end',()=>{
                  body = Buffer.concat(body).toString();
                  const user = qs.parse(body);
                  users.push(user);
                  res.end('success');
              });
          }
      });
      
      // 监听指定端口
      server.listen(3000);
      
      

      执行结果如下:
      在这里插入图片描述
      在这里插入图片描述
      在index界面也可成功新增数据

车辆TBOX科普 第7次 TBOX技术深度解析:硬件架构与核心组件详解 摘要: TBOX(车载远程信息处理单元)是智能网联汽车的核心组件,承担数据采集、通信连接与安全交互等关键功能。其硬件架构以主控单元为核心,采用ARM架构处理器(如NXP i.MX系列)实现高效能低功耗处理,搭配DDR4/LPDDR5内存保障性能,eMMC/UFS存储确保数据可靠性。设计中需平衡车规级可靠性(AEC-Q100)、EMC兼容性及成本控制,同时集成通信、定位与安全模块。未来趋势聚焦异构计算、先进制程及功能安全(ASIL-D)与信息安全融合,推动TBOX向边缘计算节点演进。该技术是汽车智能化转型的重 阅读详情

相关推荐

ESP32+HC-SR04超声波测距:5分钟搞定智能避障小车核心功能(附完整代码)

本文详细介绍了如何使用ESP32开发板和HC-SR04超声波测距模块快速构建智能避障小车的核心功能。通过优化的接线方案、核心代码实现及调试技巧,帮助开发者5分钟内完成硬件连接与软件编程,实现高效的避障功能。附完整代码,适合创客教育和机器人开发。

weixin_29185199的博客 384

node学习笔记一

node学习笔记 console.log()可以像c的printf一样: $(document).ready(function () { console.log("我%d岁", 21);//我21岁 }); node只有一个全局对象(同时也是全局变量,但不是唯一的):global es对全局变量的定义: 在最外层定义的变量 全局对象的属性 隐式定义的变量(未定义直接赋值的变量) ...

早早踏入养生行列 164

一文介绍Linux EAS

EAS只在系统负载不重时,即系统中每个CPU的利用率都低于其算力的80%时才被启用,而且选出的最节能CPU只有比线程当前运行的CPU节约能量大于6%时,线程才会迁移到该CPU运行。因此EAS为线程选择最节约能量的CPU来运行的前提条件是很苛刻的,针对重载场景(比如游戏),EAS的功能应该很少被使用起来,针对重载场景的功耗优化,这里可能是一个值得尝试的点。算力(capacity)是CPU调度中的一个基础概念,它反映的是一个CPU的计算能力,是个规格化的值,可以通过读取Android手机的文件节点。

youzhangjing_的博客 1234

Node.js学习笔记(一)——初识Node.js

Node.js 作为一个 JavaScript 的运行环境,仅仅提供了基础的功能和 API。的用户来说,推荐安装 Current 版本的 Node.js。安装包可以从 Node.js 的官网首页直接下载,进入到 Node.js 的官网首页(的“大宝剑”,有了 Node.js 这个超级 buff 的加持,前端程序员的。后,按下回车键,即可查看已安装的 Node.js 的版本号。),点击绿色的按钮,下载所需的版本后,双击直接安装即可。来说,推荐安装 LTS 版本的 Node.js。

weixin_56370772的博客 860

RAG——从0到1快速搭建RAG应用

本文介绍了基于LangChain框架构建RAG(检索增强生成)应用的技术方案,涵盖核心模块选型与实现流程。技术栈包括:LangChain应用框架、pypdf文档解析、RecursiveCharacterTextSplitter文本分块、bge-small-zh-v1.5向量模型、Faiss向量库和通义千问大模型。文章详细说明了开发环境配置步骤,包括虚拟环境创建、依赖库安装和模型下载。核心代码分为索引、检索、生成三大流程,索引流程完成PDF文档解析、分块和向量化存储;检索流程实现查询向量化和相似度匹配;生成流

小志的博客 590

极简JEPA世界模型实战:低门槛复现LeWorldModel,CPU可跑

这次我们来看一个能让普通开发者真正上手跑起来的“世界模型”项目。如果你对Yann LeCun提出的JEPA(联合嵌入预测架构)框架感兴趣,但又苦于Meta官方实现过于庞大复杂,那么这个GitHub上4k star的项目就是为你准备的。它用极简的PyTorch代码(核心文件仅160-278行)完整复刻了包括LeWorldModel在内的五个JEPA核心变体,最大的亮点是: 门槛极低,普通笔记本甚至CPU就能跑,显存占用友好,非常适合学习和原理验证。 这个项目名为 keon/jepa ,完全开源。它剥离了工业级

weixin_29031161的博客 421

kubectl 获取不到node_Node学习笔记《一》

一个自学node的笔记,小伙伴有看到笔记错误请指示哦。(node小白的第一篇笔记)安装就不写了,太easy了……一、查看版本号> npm -v二、windows升级node> npm install npm@latest -g> sudo npm install npm -g(这个也可以更新,两句有啥区别不知道,菜鸟教程上看到滴) 执行上面命令,能看到下面这个图的样子,应该就是升...

weixin_39619635的博客 199

【技术实践指南】Python解析FactSet Revere供应链数据:构建企业级断裂与重构监测指标

本文提供了一份企业级Python实践指南,详细解析如何利用FactSet Revere供应链数据库,构建供应链断裂与重构监测指标。内容涵盖数据清洗、关系对筛选、时间序列处理及核心指标(断裂、恢复、转移)的工程化实现,旨在帮助数据工程师与分析师搭建自动化、可解释的供应链风险监控系统。

weixin_29051811的博客 927

node学习笔记(一):什么是node?

一个自学node的笔记,小伙伴有看到笔记错误请指示哦。(node小白的第一篇笔记) 安装就不写了,太easy了…… 一、查看版本号 > npm -v 二、windows升级node > npm install npm@latest -g > sudo npm install npm -g(这个也可以更新,两句有啥区别不知道,菜鸟教程上看到滴) 执行上面命令......

黑呆呆 313

TTL转RS422(B)工业级转换模块设计:从原理到实战部署

在工业自动化与嵌入式系统中,串行通信是实现设备间数据交换的基础。其核心原理在于通过特定的电气标准与协议,将数据位序列化后进行传输。RS422作为一种差分平衡传输协议,相比常见的TTL电平,在抗共模干扰与远距离传输能力上具有显著的技术优势,这使其成为工业现场总线、楼宇自动化等对可靠性要求严苛场景的优选方案。要实现TTL设备与RS422网络的稳定互联,关键在于设计一个能够完成单端信号到差分信号高质量转换的硬件模块。这涉及到差分总线收发器芯片的选型、包含终端电阻与TVS二极管的保护电路设计,以及遵循差分走线规则的

weixin_29195615的博客 341

基于Python的Steam游戏评论与销量数据爬取及预测分析

随着数字游戏市场的蓬勃发展,Steam作为全球最大的数字游戏分发平台,积累了海量的游戏数据与玩家行为数据。本文旨在通过Python网络爬虫技术,采集Steam平台的游戏基本信息、玩家评论数据及销量相关信息,为后续的游戏评论情感分析与销量预测模型构建提供数据支持。本文将详细介绍使用requestsselenium等库实现Steam数据爬取的全过程,并提供完整的代码实现与数据处理方法。关键词:Steam;Python爬虫;数据采集;评论分析;销量预测。

2201_76125261的博客 854

Node.js学习笔记(一)

JavaScript 和 Node概述(一) js语法 node的网络编程和HTTP协议 了解和学习MEAN框架全栈开发 MongoDB数据库,Express,Angular框架,Node 推荐了一些书,见飞书群。 什么是JavaScript JavaScript特性 脚本化的语言,依赖宿主,嵌入在应用程序环境,去调用主环境提供的底层API,可以解释执行也可以编译执行。 动态,对象被创建后依然可以自由添加或删除对象属性 弱类型 函数优先,函数的对象化,函数是第一元素,有闭包,也可以进行函数式

lannister_awalys_pay的博客 147

C-08-实战:搭建一个AI客服机器人(接入微信企微)

客服是一人公司最大的时间杀手。本文教你搭建一个AI客服机器人,能自动回答80%的常见问题,只把复杂问题转给人工。含微信公众号和企业微信接入完整代码。

Johnny2004的专栏 87

Node.js学习笔记一

1. 什么是Node.js 1)Node.js是一个基于Chrome V8引擎的JavaScript的后台运行环境 2)浏览器JavaScript的前端运行环境 3)Node.js无法调用DOM,BOM的API,Node.js有自己的内置API 2.Node.js可以做什么 1)基于Express框架,快速构建Web应用 2)基于Electron框架,构建跨平台的桌面应用 3)基于restify框架,快速构建API接口文档 4)读写和操作数据库、船舰使用的命令行工具辅助前端开发 3. 终端

xiaojiango0的博客 919

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《深入浅出Node.js》学习笔记——(一)Node简介

1.1 Node的诞生历程 ①2009年5月,由Ryan Dahl在Github上发布最初版本 ②2011年7月,Node在微软的支持下发布了Windows版本 ③2011年11月,Node超越Ruby onRails,成为Github上关注度最高的项目(随后被Bootstrap项目超越,目前仍居第二)。 ④2012年1月底,Ryan Dahl将掌门人身份转交给Isaac Z.

w_Slide的专栏 934

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Node学习笔记大全(一)

基本知识: 1.简介: 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 2.Node.js 应用组成部分: 引入 required 模块:我们可以使用require指令来载入 Node.js 模块。 创建服..

qq_35876316的博客 562

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

node.js 学习笔记一

2017-05-01 安装node 我没安装,下载即使用。要全局使用的话把node加入到环境变量中即可。 以下命令环境均为 cmd 。 体验 体验一: 在命令行输入 node ,即进入 node 程序。 再输入 console.log(1) ,回车,可以输出 1 。感觉就像浏览器控制台一样。 按两次 ctrl+c 退出node程序。 体验二: 创建文件 t1.js ,内容为 c...

dgce32897的博客 84

DAB调制优化:从SPS到TPS的物理约束解耦实战

双向全桥隔离DC-DC变换器(DAB)是宽电压、高效率、双向能量流动的关键拓扑,其性能瓶颈不在理论模型,而在于磁元件非理想性、寄生参数耦合与控制延时等真实物理约束。理解移相调制(SPS/EPS/DPS/TPS)的本质,是解耦功率传输、环流损耗、ZVS实现与电压应力四大目标的过程。实际工程中,单移相易引发环流过热与ZVS失效,扩展与双重移相通过引入原副边自由度实现多目标协同优化,而三重移相则进一步管控器件级电压应力。本文聚焦DAB调制策略的物理落地逻辑,结合死区补偿、动态ZVS映射、热-电联合控制等关键技术,

weixin_34038293的博客 249

Node学习笔记(一)

看的纸质书是朴灵的《深入浅出Node》和外国作者的《Node.js硬实战》《深入浅出Node》笔记:网络基础:node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载:  var math = require('math');        Node将JavaScri...

wustlucy的博客 250

Node 学习笔记一

Events模块 在Node.js中,很多对象都会发出事件。比如,fs.readStream打开文件时会发出一个事件。所有发出事件的对象都是events.EventEmitter的实例,可以通过require("events");获得event模块。 //event.js 文件var EventEmitter = require('events').EventEmitter;var event...

weixin_30527551的博客 79

node学习笔记(一)

node学习笔记(一)什么是 Node? node是基于v8引擎的js运行环境 特点:用事件驱动、无阻塞的io模型 优点:轻量、高效 node安装nvm 安装和管理 Node.js版本nvm的安装方式,node.js version manager 是一个node的版本管理工具 nvm 用法 查看版本号 nvm list 用哪个版本(已经下载过的版本) nvm use 版本号 下载相对应版本

shirley_shan的博客 299

Node.js学习笔记(一)—— Node基础

Node.js扫盲 名字 Node.js有多种别称,Node,Nodejs,NodeJS。为了表示方便,文中会更频繁使用Node来表示。 为什么命名为Node呢? 一开始,创造者Ryan Dahl是称呼为web.js的,目的是构建一个web服务器。但后来项目发展越来越快,超出了单一的web服务器的想法,变成了构建网络应用的基础框架,在框架之上可以构建更多的东西,例如服务器、客户端、命令行工

熊猫正尽责 1万+
上一篇: react组件间通信
下一篇: 前端实现文件下载的三种方式
codezha
博客等级 码龄10年 28粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值