ICode9

精准搜索请尝试: 精确搜索
  • 从 callback 到 promise2020-11-28 20:34:12

    JavaScript 异步演化史 前几天看了一个Javascript 异步演化史,谈到从 callback 到 Promise 再到 Async/Await 的历程,很有趣。大家有兴趣的话可以去看一下原文,或是直接百度搜翻译。 我这里默认大家都了解了这段历史,只简单介绍一下 JavaScript 异步操作里的一个小知识点--promisif

  • Gin添加基于logrus的日志组件2020-11-26 16:32:00

    概述 在Web应用中,日志是非常重要的一部分数据,通过日志我们可以把控每天的请求情况和应用运行情况,还能够大大方便我们定位和追踪问题,所以非常有必要在开发时为Gin框架加入日志组件 设计 logrus是Go语言一款非常流行的日志库,其中封装了非常多方便易用的方法,所以我们也基于这个

  • Go之panic异常捕获处理2020-11-26 16:30:39

    背景:          在项目开发中我们经常会遇到一个问题那就是,程序处理异常,但是我们捕获到异常又不想 终止整个项目程序,简单点说就是一个业务出现问题,不想影响其他的业务。 下面具体参考相关的代码: 业务代码1连接数据库操作: func PanicTest2() { fmt.Println("测试捕获异常!"

  • 使用Node读取文件2020-11-26 12:56:47

    本文翻译自How to read files using Node and the fs module 如何使用Node和fs模块读取文件 在Node中读取文件的最简单方法是使用fs.readFile()方法,向其传递文件路径和将与文件数据一起调用的回调函数(以及错误): const fs = require('fs') fs.readFile('/Users/flavio/test.tx

  • resp.Body.Close() 引发的内存泄漏goroutine个数2020-11-24 13:01:00

    resp.Body.Close() 引发的内存泄漏goroutine个数。 问题 package main import ( "fmt" "io/ioutil" "net/http" "runtime" ) func main() { num := 6 for index := 0; index < num; index++ { resp, _ := http.Get("https://ww

  • 死磕以太坊源码分析之p2p节点发现2020-11-23 21:34:36

    死磕以太坊源码分析之p2p节点发现 在阅读节点发现源码之前必须要理解kadmilia算法,可以参考:KAD算法详解。 节点发现概述 节点发现,使本地节点得知其他节点的信息,进而加入到p2p网络中。 以太坊的节点发现基于类似的kademlia算法,源码中有两个版本,v4和v5。v4适用于全节点,通过discover

  • `DefaultServeMux` 与 `gorilla/mux`部分源码阅读2020-11-23 15:58:46

    DefaultServeMux 与 gorilla/mux 对比阅读 Table of Contents DefaultServeMux 的实现gorilla/mux 的实现DefaultServeMux 与 gorilla/mux 的比较 DefaultServeMux 的实现 查阅 net.http 的源码,可以得知 DefaultServeMux 的实现如下:DefaultServeMux 是库中 ServeMux 结构体的

  • 浙政钉小程序总结2020-11-23 11:33:47

    浙政钉小程序总结 扫码进入浙政钉小程序指定页面后 前端怎么获取到里面的参数 首先生成二维码的链接: taurus://taurusclient/action/open_app?appId=0201027143446479&type=2&page=pages%2Findex%2Findex%3FqrCodeId%3D168%26appId%3D1%26appName%3D%E6%B5%8B%E8%AF%95;appId:指的

  • axios拦截器的用法2020-11-22 20:50:30

    axios的拦截器可以在请求或者返回被Then或者是catch处理之前对他们进行拦截。拦截器的作用。主要是在发送请求之前做一些操作,比方说可以对对一些数据进行处理。比如给每个请求都给添加token或者给 。或者是在相应之前请求拦截器。可以对返回的数据进行二次加工。例如在发送请求前相

  • Go语言基础学习-12020-11-22 20:03:37

    一、尚硅谷Go语言教程 PDF阅读: http://xwjpics.gumptlu.work/%E5%B0%9A%E7%A1%85%E8%B0%B7_%E9%9F%A9%E9%A1%BA%E5%B9%B3_Go%E8%AF%AD%E8%A8%80%E6%A0%B8%E5%BF%83%E7%BC%96%E7%A8%8B.pdf 二、go基础重点总结 1. 环境变量配置 2. Golang 执行流程分析 如果是对源码编译后,再

  • asios 封装2020-11-22 15:04:09

    import originAxios from ‘axios’ import { getToken } from ‘common/utils’ export function axios(config) { const instance = originAxios.create({ baseURL: process.env.VUE_APP_BASEURL }) instance.interceptors.request.use(config => { // 判断请求是否需要携

  • golang go-simple-mail+fasttemplate+mailhog 发送邮件2020-11-22 11:04:18

    一个很简单的需求,就是基于golang 的模版发送邮件,同时为了提高性能,希望复用smtp的连接,以下是 一个基于开源库实现的学习,同时包含了一些使用中问题的说明 依赖的库 为了简化配置以及提高性能,使用了fasttemplate 进行模版处理,go-simple-mail 进行email发送,yaml进行配置管理 Mailho

  • node端如何处理错误?2020-11-21 22:04:17

    JavaScript的任何throw机制的使用都会引起异常,异常处理必须用try/catch来进行处理,否则nodejs进程会立即退出。   同步的API会使用throw来报告错误。 但是异步的API可能使用多种方法来报告错误---大多数异步API发生错误,采用callback方式来处理异常,其中callback的第一个参数就是err

  • Avoided redundant navigation to current location: "/users"2020-11-21 18:33:17

    问题产生的原因:在Vue导航菜单中,重复点击一个菜单,即重复触发一个相同的路由,会报错,但不影响功能   解决:在router的配置文件中加入如下代码: const originalPush = Router.prototype.pushRouter.prototype.push = function push(location) { return originalPush.call(this, lo

  • 学习笔记12020-11-19 15:33:43

    defer defer func() { err := recover() if err != nil { fmt.Println("err=", err) } }() 拷贝参数值 -> 入栈 -> 方法结束后执行 panic panic("自定义错误") range for _, val := range arr { print(val) } 随机数 rand.Intn(100) 切片(slice) 引

  • golang写日志函数2020-11-19 12:01:02

    package common import ( "bufio" "fmt" "os" "time" ) /*自定义日志文件*/ func DebugLog(args ...interface{}) error { var floderLog = "logs" logName := floderLog + "/debug_log." + time.Now().Format

  • kata tap2020-11-18 14:02:09

          # # Internetworking model # Determines how the VM should be connected to the # the container network interface # Options: # # - macvtap # Used when the Container network interface can be bridged using # macvtap. # # - none # Used wh

  • [Typescript Unit testing] Error Handling with Unknown2020-11-15 23:01:00

    function somethingRisky() {} try { somethingRisky() } catch(err: unknown) { if (err instanceof Error) { console.log(err.stack) } else { console.log(err) } } Force to handle edge cases.   Type assertion: function some

  • npm安装失败(npm ERR! cb() never called! npm ERR! This is an error with npm itself)2020-11-12 20:31:42

    1、清理npm缓存 npm cache clean -f 2、安装最新版本的Node helpe npm install -g n 3、安装npm包管理助手 npm install -g n --force 4、安装npm npm install 注意事项:使用mac的话npm前面加sudo,使用的国内的淘宝镜像的话前面加c。

  • Golang 实现简单的 Web 服务器2020-11-12 02:01:13

    ------------------------------   下面一段代码,实现了最简单的 Web 服务器: 编译环境:   Linux Mint 18 Cinnamon 64-bit   Golang 1.7 ------------------------------ // main.go package main import ( "fmt" "log" "net/http" ) // 处理主页请求 func inde

  • 079孤荷凌寒从零开始学区块链第79天DAPP0342020-11-11 22:00:51

    孤荷凌寒自学第165天 区块链第079天Dapp034 【主要内容】 今天继续学习实战,做一个真正的依托于智能合约的DAPP。今天继续独立完善一个众筹的合约。共耗时35分钟。 (此外整理作笔记花费了约52分钟) 详细学习过程见文末学习过程屏幕录像。     【搜索了相关js代码监听事件的做法】

  • 【Python】如何结束退出 py 脚本2020-11-10 18:32:14

    需求 当你运行脚本,在判断条件满足时,就退出脚本,结束本次执行。 方法 使用 sys.exit(),直接退出程序,但是会引发一个 SystemExit 异常; 该方法包含一个 status 参数 sys.exit(0),0 表示支持退出 sys.exit(1),1 表示异常退出 这个SystemExit异常,是唯一一个不会被认为是错误的异常,

  • nodejs 中fs文件系统模块使用2020-11-08 10:03:46

    前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍nodejs中的文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的。 通过 require('fs') 使用该模块。 所有的方法都有异步和同步的形式。   异步形式始终以完成回调作为它最后一个参数。 传给完成回

  • 利用递归的方式获取restful风格有nextUrl接口返回的数据2020-11-07 17:01:02

    概述   最近做业务获取到的API中的数据格式如下: { "data": [ { "account_id": "xxx", "campaign_id": "xxxxxxx", "id": "x32xx284026xxx9" }, { "account_id": "

  • Nodejs操作MongoDB数据库2020-11-06 09:03:00

    数据库连接 要在node.js中使用MongoDb,首先需要执行命令 npm install mongodb --save 进行安装,然后在页面中进行引入: const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://127.0.0.1:27017'; const dbName = 'mongo'; const client = new MongoClie

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有