HTTP — HTTP协议建立在请求和响应的概念上,对应在Node.js中就是有http.ServerRequest和http.ServerResponse这两个构造器构造出来的对象。...今天我们通过一个简单的web服务器来认识一个HTTP: 首先创建一个项目,在根目录下创建一个package.json文件,内容如下: { "name": "http-form", "version...form>' ].join('')); }else if('/url'== req.url && 'POST' == req.method){ //node.js...因为数据是以不同的TCP包到达服务器的 //创建一个空字符串接收数据,当end的时候,数据接收完全 var body =''; req.on('data',function(...之后我们要学习服务端API相对的HTTP客户端API。宝宝们,一起来coding…… 愿我们有能力不向生活缴械投降---Lin
“未知的总是让我们恐惧,打破恐惧的方法只能是走近未知!”...今天下班去吃饭的路上拍的;怀念啊,我们的青春啊~ Node重要API — 命令行工具CLI以及FS API 还是读书笔记,但是这个不是理论知识喽,47-57页带着我们编写了首个node程序; 具体需求:...,等待用户输入 process.cwd() 返回运行当前脚本的工作目录的路径 fs.readdir(process.cwd(),function(err,files){ // files为空,则告诉对象...,__dirname总是执行执行的js文件的绝对路径 fs.stat(__dirname + '/' + filename ,function(err,stat){ stat[i]...number类型来方便检查 var filename = files[Number(data)]; // 检验用户的输入是否匹配数组的下标,如不匹配文字,输出‘Enter you choice
事实上node.js是单线程、异步的。...{ buf += data; }; req.on('end',function(){ console.log("数据接受完成"); }) }) Buffer Buffer是node.js...在 6.0.0 之前的 Node.js 版本中,Buffer 实例是使用 Buffer构造函数创建的;为了使 Buffer 实例的创建更可靠且更不容易出错,各种形式的 new Buffer()构造函数都已被弃用...打印: 68656c6c6f20776f726c64 console.log(buf.toString('base64')); // 打印: aGVsbG8gd29ybGQ= 到这里我们应该清楚了node.js...其实由于这本书出版的比较早而且讲的都是很基础的,所以希望宝宝们还是要多多参考最新的文档哦!下面的链接就是文档地址。电子版的文档是真的好、更新快。
❝最清晰的脚印是留在最泥泞的路上的 ❞ 大家好,我是「柒八九」。 前言 提出一个小小的问题。大家按照自己的开发语言的特性,想想结果是啥? ❝"♂️"这个Emoji的长度是多少?...一切的根源都是Unicode的闹的。 所以,今天我们就来谈谈这是何方神圣。...❞ 由于这套准则是全球都认准的,所以我们采用这套规则,就可以达到「书同文」的情况,来自不同语言环境下的人,可以阅读彼此的文本。 有如下的关系链子。...不同的编程语言给出了不同的结果。...更糟糕的是,我们自己的应用程序的不同版本可能运行在不同的 Unicode 标准上,并报告不同的字符串长度! 7. "Å" !== "Å" !
对 Deno 还不了解的读者,建议先阅读本人 “了不起的 Deno 入门教程” 这篇文章。...了不起的 Deno 入门教程 一、Oak 简介 相信接触过 Node.js 的读者对 Express、Hapi、Koa 这些 Web 应用开发框架都不会陌生,在 Deno 平台中如果你也想做 Web...index.ts ├── middlewares ├── models ├── routing.ts └── services 如你所见,这个目录结构看起来像一个小型 Node.js...其中 Deno.env() 相当于Node.js 平台中的 process.env。...,db.ts 文件用于实现数据的管理,数据持久化方式使用的是本地的 JSON 文件。
话说出去之前我们还是话的主人,话说出去之后我们就成了话的奴隶。 ❞ 大家好,我是「柒八九」。...但是,作为一个合格的程序员,我们应该有一种打破砂锅问到底的求助欲望。 所以,今天我们来讲讲在各种语言中出镜率都高的离谱的Base64算法。...针对这块的内容,可以参考了不起的 Unicode 最初创建了许多不同的编码方式(例如 Baudot 编码),每种方式「使用不同数量的比特来表示一个字符」,直到最终 ASCII 成为一个标准,「每个字符使用...生成的文本仅包含A-Z、a-z、0-9以及符号+和/这些字符。 而在之前我们在了不起的 Unicode中介绍过ASCII的。...乍一看,Base64 编码的好处并不是很明显。 想象一下,如果我们有一张图片或一个「敏感文件」(PDF、文本、视频等),而不是简单的字符串,我们想将它存储为文本。
一、Oak 简介 相信接触过 Node.js 的读者对 Express、Hapi、Koa 这些 Web 应用开发框架都不会陌生,在 Deno 平台中如果你也想做 Web 应用开发,可以考虑直接使用以下现成的框架...从 “洋葱模型” 示例图中我们可以很清晰的看到一个请求从外到里一层一层的经过中间件,响应时从里到外一层一层的经过中间件。...index.ts ├── middlewares ├── models ├── routing.ts └── services 如你所见,这个目录结构看起来像一个小型 Node.js...其中 Deno.env() 相当于Node.js 平台中的 process.env。...,db.ts 文件用于实现数据的管理,数据持久化方式使用的是本地的 JSON 文件。
关于js的回调函数,在各大平台已经被写烂了,我也看了很多别的大神写的帖子,我也在想怎么可以比较明白的将这个东西讲明白,今天我就尝试一下,认真看完,相信是有一些用处的。...js提供的了一种机制来解决这种执行不彻底的问题,这个东西叫做事件循环,eventLoop,这个eventLoop就像巡逻队一样,一遍遍的在当前的执行上下文中进行搜索,(这里的执行上下文,常见的有两种,一种是函数执行上下文...,回调函数是拿到参数之后反过来调用外部函数的一个过程,再说的简单一点,就是一个函数调用另一个函数,另一个函数的参数是他的父函数的形参,如果你觉得有点绕,我们开始写代码 代码演示: setTimeout(...setTimeout是延迟执行的,也就是说我们打印_x的时候,setTimeout还没有执行呢,所以当然_x不会被改变,这是一种潜意识,写的多了的一种想当然的理解,当然这种理解是对的,只是从专业上来说setTimeout...js中回调函数应用是非常广的,也是非常好用的一种写法,还是很值得我们深究一下的,
前言 nodejs的设计思路是:通过将V8内嵌到操作系统的集成层,来让javascript享受到底层操作系统的异步接口,从而实现将其带到服务器端的目的 好处:程序员可以在服务端和客户端使用同样的编程语言...本书目的:带着读者学习如何基于node.js为web应用构建服务端部分,同时带着大家学习如何组织服务端异步代码以及如何与服务器做交互。 node.js使得javascript能在服务端运行。...node.js快速高效的优点得益于一种叫做时间轮询(event loop)的技术,以及其构建于V8之上,V8是google为chrome Web浏览器设计的javascript解释器和虚拟机,它运行javascript...上面的代码展示了如何使Node书写一个完整的HTTP服务,来托管一个简单的HTML文档。...这是一个node.js的经典的例子,因为它证明了Node.js的强大,仅通过几行javascript代码就能创建出一个像Apache的web服务器。
翻译:疯狂的技术宅 原文:https://blog.risingstack.com/pdf-from-html-node-js-puppeteer/ 在本文中,我将展示如何使用 Node.js、Puppeteer...方案1:从 DOM 制作屏幕截图 方案2:仅使用 PDF 库 最终方案3:Node.js、Puppeteer 和 Headless Chrome 样式控制 将文件发送到客户端并保存 在 Docker...但不幸的是,这不是我们想要的,因为我们需要在后端完成对 PDF 的创建工作。 方案2:只使用 PDF 库 NPM上有几个库,如 jsPDF(如上所述)或PDFKit。...最终方案3:基于 Node.js 的 Puppeteer 和 Headless Chrome 什么是 Puppeteer?...它本质上是一个可以从 Node.js 运行的浏览器。如果你读过它的文档,其中首先提到的就是你可以用 Puppeteer 来生成页面的截图和PDF。优秀!这正是我们想要的。
五、DI 的应用 DI 在前端和服务端都有相应的应用,比如在前端领域的代表是 AngularJS 和 Angular,而在服务端领域是 Node.js 生态中比较出名的 NestJS。...之后,当我们需要获取指定服务时,我们就可以通过该服务对应的令牌,从注入器对象中获取令牌对应的依赖对象。上述的流程的具体如下图所示: ? 好的,了解完上述的流程。...NestJS 是构建高效,可扩展的 Node.js Web 应用程序的框架。...近几年,由于 Node.js,JavaScript 已经成为 Web 前端和后端应用程序的「通用语言」,从而产生了像 Angular、React、Vue 等令人耳目一新的项目,这些项目提高了开发人员的生产力...,阿宝哥推荐你使用 InversifyJS,它是一个可用于 JavaScript 和 Node.js 应用,功能强大、轻量的 IoC 容器。
如何配置一个合理的 tsconfig.json 文件?本文将全面带大家一起详细了解 tsconfig.json 的各项配置。...本文将从以下几个方面全面介绍 tsconfig.json 文件: [了不起的 tsconfig.json 指南.png] 水平有限,欢迎各位大佬指点~~ 一...中的同名选项。...按顶层属性分类 在 tsconfig.json 文件中按照顶层属性,分为以下几类: [tsconfig.json 文件结构(顶层属性).png] [了不起的 tsconfig.json 指南.png]...《TypeScript编译器的配置文件的JSON模式》 4.《详解TypeScript项目中的tsconfig.json配置》 5.
behance设计师Vo Dang创作的一组动态图像设计,话不多说看图要紧 [ GIF图预警 —— 只有十张 ]
这是一篇很久以前留下的魔术思考的随笔,藏在我的作品库里好多年了,终于排期到了,现在发出来与君共享。...新时代的魔术世界 这是魔术最好的时代,也是魔术最坏的时代,而且都是基于同一个原因: 信息的爆炸式传播。...抖音上的魔术揭秘视频和小姐姐的跳舞视频这么受欢迎的原因很简单,他们像鸦片一样满足了大脑的短时回路,这是点击和算法收敛的结果,而更深入长期的思考能力,会恐怖地退化,尤其是青少年。...光这一点就已经是了不起的价值了,值得付费。 不过也仅此而已。你没发现上面的课程内容都简单易懂得简直看起来比小说还顺溜吗?...入门的同时,更大的收获恐怕是知道秘密的快感吧,所以希望入门和兴趣涉猎没问题,指望着听课能听成专家,哪有那么好的事呢? 指望着破解或学到几个魔术的秘密就成魔术师?哪有那么好的事呢?
当时,为了实现数千英里长的石油和天然气管道的无人值守监控,采取的设计方案是将管道上的传感器数据通过卫星通信传输到监控中心。...提供不同等级的“服务质量”。协议位置TCP是OSI第四层的传输层协议。 MQTT是基于TCP的七层应用层协议。协议定位TCP设计考虑的是面向连接的、可靠的、基于字节流的传输层通信协议。...传输单位TCP的传输单位是packet,当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元...MQTT解决的问题是,在低带宽高延迟不可靠的网络下和资源有限的硬件环境内,进行相对可靠的数据传输。...服务质量TCP是一个可靠的流传输服务,通过ACK确认和重传机制,能够保证发送的所有字节在接收时是完全一样的,并且字节顺序也是正确的。 MQTT提供三种可选的消息发布的QoS服务等级。
想学习 TypeScript 的小伙伴看过来,本文将带你一步步学习 TypeScript 入门相关的十四个知识点,详细的内容大纲请看下图: ?...它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。...TypeScript 提供最新的和不断发展的 JavaScript 特性,包括那些来自 2015 年的 ECMAScript 和未来的提案中的特性,比如异步功能和 Decorators,以帮助建立健壮的组件...,而且还不是很大 大量的社区支持以及大量文档和解决问题的支持 1.2 获取 TypeScript 命令行的 TypeScript 编译器可以使用 Node.js 包来安装。...'node' (Node.js) or 'classic' (TypeScript pre-1.6) "baseUrl": "./", // 用于解析非相对模块名称的基目录
外部代码没有文件系统、网络、环境的访问权限,除非显式开启。 支持开箱即用的 TypeScript 的环境。 只分发一个独立的可执行文件(deno)。...Deno 是一个跨平台的运行时,即基于 Google V8 引擎的运行时环境,该运行时环境是使用 Rust 语言开发的,并使用 Tokio 库来构建事件循环系统。...Deno 建立在 V8、Rust 和 Tokio 的基础上,它的架构如下: ?...Deno 是一个单独的可执行文件,它没有额外的依赖。...除了 --reload 标志之外,Deno run 命令还支持很多其他的标志,感兴趣的读者可以运行 deno run --help 命令来查看更多的信息。
如何配置一个合理的 tsconfig.json 文件?本文将全面带大家一起详细了解 tsconfig.json 的各项配置。...中的同名选项。..."compilerOptions": { "incremental": true, // TS编译器在第一次编译之后会生成一个存储编译信息的文件,第二次编译会在第一次的基础上进行增量编译,可以提高编译的速度...", "ES2019.Array"], // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,如es8的数组新特性需要引入...在后续文章中,我们将这么多的配置项进行分类学习。最后通过几个常见配置示例,解决我们开发中遇到的几个常见问题。
如今的网络应用都是用TCP/IP协议进行通信的。...TCP的特性: 面向连接的通信和保证顺序的传递:说到TCP,可以将客户端和服务端的通信看作是一个连接或者数据流;IP是基于数据包的传输,这些数据包是独立进行传输的,送达的顺序是无序的。...为了解决这个问题TCP出现了,TCP连接内,发送的数据包包含了标记数据流顺序的信息。 面向字节:TCP对字符以及字符编码是完全无知的。...可靠性:TCP基于确认和超时一系列的机制来达到可靠 流控制:TCP通过流控制的方式确保两点之间传输数据的平衡 拥堵控制:TCP通过控制数据包的传输速率来避免拥堵 基于TCP的聊天程序 — telnet...是早期的网络协议,旨在提供双向的虚拟终端。
万古人间四月天,最近天气很好,你看照片里的云~ node.js安装 自定义模块 要创建自定义模块,在原来的node项目中删除node_moduls目录,并把package.json文件修改为: {...通常还会定义一些依赖,将依赖模块的块名和版本号作为对象的属性名和值在这个文件中定义。此文件内容必须遵循JSON格式,必须确保所有的字符串都要用双引号。...Javascript概述及V8中的Javascript — Javascript概述就不做笔记了,因为这本书中讲的都是基本的,各位宝宝如果不知道这些基础应该也不会来看我的这个笔记,so,next。...V8中的Javascript V8是是全新的Javascript引擎,以极快的运行环境和时刻保持最新并支持最新ECMAScript特性的优势,快速的蹿红。...V8做了一件很酷的事情,它始终坚定不移的实现最新版本的ECMA标准。Node.js的核心团队也是如此,只要你安装的是最新版本的Node,你总能使用最新版本的Node,你总能使用最新版本的V8。
领取专属 10元无门槛券
手把手带您无忧上云