详解使用Nodejs内置加密模块实现对等加密与解密

加密与解密是保证通讯安全的一种重要手段,现在加密算法已经有很多,并且都有成熟的软件包可以使用,这就大大降低了应用开发程序员的负担,只需要使用这些第三方提供的加密解密库就...

Node.js断点续传的实现

前言
平常业务需求:上传图片、Excel等,毕竟几M的大小可以很快就上传到服务器。
针对于上传视频等大文件几百M或者几G的大小,就需要等待比较长的时间。
这就产生了对应的解决方...

node中使用shell脚本的方法步骤

背景
在开发中我们在特定的场合下可能需要一些脚本来批量处理我们的业务逻辑,在nodejs如何调用shell脚本呢?新建
项目下新建脚本文件touch newFile.sh修改文件权限chmod 777 n...

node.js 全局变量的具体使用

全局对象所有模块都可以调用 global:表示Node所在的全局环境,类似于浏览器中的window对象。 process:指向Node内置的process模块,允许开发者与当前进程互动。 例如你在...

Node.js之http模块的用法

目录前言HTTP协议HTTP服务器文件服务器练习前言Node.js开发的目的就是为了用JavaScript编写Web服务器程序。因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界...

为什么node.js不适合大型项目

目录前言1. 应用的组成2. 应用的种类3. 应用服务的过程4. 应用的瓶颈5. 分布式应用6. 多进程的 Node.js前言首先要明确什么是大型应用,其实这是仁者见仁、智者见智的问题,并且...

浅谈node.js中间件有哪些类型

目录概述1、应用级中间件2、内置中间件3、第三方中间件(1)body-parser,将post请求数据解析为对象(2)mysql模块概述node中间件就是封装在程序中处理http请求的功能。node中间件是...

如何在Nodejs中使用模块fs文件系统

目录概述文件描述符同步、异步与 Promise同步写法异步写法(推荐)Promise 写法目录与目录项文件信息ReadStream 与 WriteStream概述node 的fs文档密密麻麻的 api 非常多,毕竟...

详解nodejs中的异步迭代器

目录前言什么是异步迭代器作为异步迭代器流调用有分页功能的 API前言从 Node.jsv10.0.0 开始,异步迭代器就出现中了,最近它们在社区中的吸引力越来越大。在本文中,我们将讨论异...

如何用nodejs给C#写一个数据表的实体类生成工具

虽然微软提供了T4模板,但是我感觉非常难用。哪儿比得上直接用脚本来写模板来的爽。因为要给一个老项目做周边的工具,需要连接到数据库。我习惯性用EntityFrameworkCore来做,因...

如何写Node.JS版本小游戏

目录概述打造流程相关apireadline基础使用chalkclear步骤补充说明完整代码抛砖引玉概述今天就利用Node.JS为大家带来简单有趣的的剪刀石头布的小游戏。打造流程 引入模块...

express项目文件目录说明以及功能描述详解

app.js:启动文件,或者说入口文件package.json:存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时,运行 npm install,npm 会检查当前目录下的 package.json,并自动...

Nodejs探秘之深入理解单线程实现高并发原理

目录前言架构一览与操作系统交互单线程事件驱动/事件循环Node.js 中的事件循环**的实现:**Event Loop的执行顺序uv__io_poll阶段总结前言从Node.js进入我们的视野时,我们所知...

node.js如何充分利用多核cpu

目录概述node.js充分利用多核cpu的方法Node创建子进程的4种方式概述Nodejs是基于chrome浏览器的V8引擎构建的,也就说明它的模型与浏览器是类似的。我们的JavaScript会运行在...

koa2服务配置SSL的实现方法

一:前言
1:SSL证书
我的域名在腾讯云,每次解析新建一个三级域名(假设是 aaa.jiangw1.com ),都会赠送一年的SSL,申请成功后下载SSL证书,如下:可以看到准备了各种服务器的文件,node服...

Node.js里面的内置模块和自定义模块的实现

一、Commonjs
Commonjs是nodejs中的自定义模块 Commonjs规范的提出,弥补javascript没有标准的缺陷,提供一个类似后端语言的标准库,也就是说commonjs是模块化的标准,nodej...

搞懂什么是Node.js原来这么简单

目录Node.js 的官方介绍Node.js 的核心开发语言网页与 Node.js 中 JavaScript 的区别什么是服务器Node.js 的简单理解Node.js 的官方介绍在 Node.js 的官方网站的首页中,有这...

Golang中的time.Duration类型用法说明

在 Time 包中,定义有一个名为 Duration 的类型和一些辅助的常量:type Duration int64 const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000...

手把手教你vscode配置golang开发环境的步骤

1.下载安装Golang
https://golang.google.cn/dl/一路下一步即可2.下载安装Vscodehttps://visualstudio.microsoft.com/zh-hans/3.检查Golang是否安装成功4.设置Golang 环境...

golang简易令牌桶算法实现代码

基本思路:定义一个chan,chan大小为需要限制的qps大小,go一个协程启动tick,每1000/qps时间在tick中写入数值,启动另一个协程,读取chan中的值,如果读取到chan中有值,则向下层接口发送...

一文搞懂Golang文件操作增删改查功能(基础篇)

前言目前,Golang 可以认为是服务器开发语言发展的趋势之一,特别是在流媒体服务器开发中,已经占有一席之地。很多音视频技术服务提供商也大多使用 Golang 语言去做自己的后台服...

详解Golang实现请求限流的几种办法

简单的并发控制
利用 channel 的缓冲设定,我们就可以来实现并发的限制。我们只要在执行并发的同时,往一个带有缓冲的 channel 里写入点东西(随便写啥,内容不重要)。让并发的 goro...

详解go中panic源码解读

panic源码解读前言本文是在go version go1.13.15 darwin/amd64上进行的panic的作用 panic能够改变程序的控制流,调用panic后会立刻停止执行当前函数的剩余代码,并在当前Gor...

Go语言reflect.TypeOf()和reflect.Type通过反射获取类型信息

在 Go语言中通过调用 reflect.TypeOf 函数,我们可以从一个任何非接口类型的值创建一个 reflect.Type 值。reflect.Type 值表示着此非接口值的类型。通过此值,我们可以得到很多...

golang strings包的Replace的使用说明

函数声明:func Trim(s string, cutset string) string官方描述:返回将 s 前后端所有 cutset 包含的 utf-8 码值都去掉的字符串。示例代码:package mainimport ( "fmt" "strings...

go语言求任意类型切片的长度操作

最近用go写程序时遇到一个问题——求任意类型切片的长度。作为一个初学者,刚刚学了接口和切片,知道了每个类型都实现了一个空接口interface{},那么如果接口类型作为函数的参数,...

golang 切片的三种使用方式及区别的说明

概念切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构。切片并不存储任何元素而只是对现有数组的引用。三种方式及细节案例①定义一个切片,然后让切片去引用一个已...

基于golang中container/list包的用法说明

list是一个双向链表该结构具有链表的所有功能。type Elementtype Element struct { Value interface{} //在元素中存储的值}func (e *Element) Next() *Element /...

解决golang时间字符串转time.Time的坑

字符串转时间一定要通过 time.ParseInLocation不能直接用ParsetodayZero, _ := time.ParseInLocation("2006-01-02", "2019-01-01 15:22:22" time.Local)如果用了Parse,二者...

一文完全掌握 Go math/rand(源码解析)

Go 获取随机数是开发中经常会用到的功能, 不过这个里面还是有一些坑存在的, 本文将完全剖析 Go math/rand, 让你轻松使用 Go Rand.开篇一问: 你觉得 rand 会 panic 吗 ?...

gorm update传入struct对象,零值字段不更新的解决方案

使用gorm的update接口,出现如果字段为零值则不会生成字段的更新语句// Update update attributes with callbacks, refer: https://jinzhu.github.io/gorm/crud.html#update/...

golang-切片slice的创建方式

在创建一个新的切片是都会先创建一个长度为len的数组,并为其开辟一个cap长度为cap的额外空间,所以在cap范围类增加元素,数组的起始地址不会改变,否则会创建一个新的数组,即起始的...

解决golang 反射interface{}做零值判断的一个重大坑

在对float零值判断时往往只需要和0做==即可,所以曾经int和float都用==0来做对比,比如下方: in := 0. var tmp interface{} = float32(in) fmt.Println("float 0==0:"...

golang 阻止主goroutine退出的操作

1:for //使用无线循环 for{ }如果想退出 for { reutrn } 例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutinevar c bool = falsevar nums int =...

Go语言编译程序从后台运行,不出现dos窗口的操作

命令:go build -ldflags "-H windowsgui" 编译文件.go例如:go build -ldflags "-H windowsgui" main.go常用参数:-o "chen.exe" 增加此参数则编译后的输出文件名称改为chen.exe...

go如何删除字符串中的部分字符

go,在删除切片中的元素时,可以使用append(),方式将其中的元素删除。slice :=make([]int , 0)slice = append(slice[:k],slice[k+1:])//此方法就是删除切片中位于k中的元素由于...

golang 删除切片的某个元素及剔除切片内的零值方式

看代码吧~func remove(slice []interface{}, elem interface{}) []interface{}{ if len(slice) == 0 { return slice } for i, v := range slice {...

go语言中的二维切片赋值

先用append填充一维的,然后将一维append到二维代码如下var a [][]intfor i := 0; i < 10; i++ { var tmp []int for j:= 0; j < 10; j++ { tmp = append(tm...

深入Golang中的sync.Pool详解

我们通常用golang来构建高并发场景下的应用,但是由于golang内建的GC机制会影响应用的性能,为了减少GC,golang提供了对象重用的机制,也就是sync.Pool对象池。 sync.Pool是可伸缩...

Golang 实现interface类型转string类型

看代码吧~// Strval 获取变量的字符串值// 浮点型 3.0将会转换成字符串3, "3"// 非数值或字符类型的变量将会被转换成JSON格式字符串func Strval(value interface{}) string...

在golang xorm中使用postgresql的json,array类型的操作

xorm支持各种关系数据库,最近使用postgresql时,总是踩到一些坑,在此记录下解决方式。在使用postgresql的array类型时,查询有点问题,xorm的官方文档给出重写的方式,但是不是很清晰:...

golang json数组拼接的实例

看代码吧~func main() { a := []byte(`{"Parents": [ "aaaaa", "bbbbbbb" ]}`) b := []byte(`{"Parents": [ "Gomez", "Moticia" ]}`) var arr []interface{} j...

golang 生成对应的数据表struct定义操作

在开发过程中,常常需要将数据库表对应到golang的一个struct,特别是使用一些ORM工具,sqlx库等,我是个懒人,即使数据表的字段不多,我也懒得去一个个对应的敲入代码,更别提数据表字段...

go实现反转链表

反转链表首先讨论特殊节点如果节点在首位,则反转之后,首位节点的next值为nil。func reverse(head *ListNode) *ListNode { bnode := head//设置默认遍历的前节点,为head temp :...

golang post请求常用的几种方式小结

post请求常用的几种方式,记录一下func httpPost() { resp, err := http.Post("https://www.abcd123.top/api/v1/login", "application/x-www-form-urlencoded",...

golang http使用踩过的坑与填坑指南

golang对http进行了很好的封装, 使我们在开发基于http服务的时候, 十分的方便, 但是良好的封装, 很容易是的我们忽略掉它们底层的实现细节。如下是我踩过的一些坑, 以及相应的解...

Go语言二维数组的传参方式

用Go语言实现动态规划问题的时候在二维数组的传参改变这个地方有了点疑惑,查了会儿资料,然后达到了目的(其实还是想知道切片的话可不可以二维),所以记录一下看代码吧~package m...

go语言中json数据的读取和写出操作

go自带json库,在使用时需要通过 import "encoding/json"来导入该库。在读取和写入json数据之前需要定义相关的结构体来对应被操作的json数据的格式,并且结构体中需要导出或导...

golang 实现两个结构体复制字段

实际工作中可能会有这样的场景:两个结构体(可能类型一样), 字段名和类型都一样, 想复制一个结构体的全部或者其中某几个字段的值到另一个(即merge操作),自然想到可以用反射实...

golang 如何用反射reflect操作结构体

背景需要遍历结构体的所有field对于exported的field, 动态set这个field的value对于unexported的field, 通过强行取址的方法来获取该值(tricky&#63;)思路下面的代码实现了从一...

返回顶部
顶部