原生nodejs编写个web框架

接触nodejs挺久了,之前一直用nodejs的一些web框架做开发,如koa,express等,现在想自己写个简易的nodejs web框架,我使用es6和es2017的async/await实现个类似于Koa的web框架,文章中的代码将会存放到我的github上,欢迎下载学习。 github地址:https://github.com/sundial-dreams/nodeServer 前言 nodejs编写个服务器,只需要几行代码 //test.js const http = requi
分类: 其他 发布时间: 02-27 23:42 阅读次数: 0

javascript函数式编程之curry化

函数式编程是一种编程范式(编程思想,不要以为有啥模板),主要思想是将运算过程尽量写成一系列嵌套的函数。举个例子 //声明式 let d = a + b + c * d; //函数式 let d = add(a,add(b,mul(c,d))) 例子没有啥难度吧,那么函数式编程的函数和数学的函数有什么关系呢,其实函数式编程的函数就是数学里的函数 对应的每一个相同的x总会得到相同的y,即纯函数的定义。 函数式还有一些特性 函数是"第一等公民": 函数可以是变量,在JavaScript中就不用解
分类: 其他 发布时间: 02-27 23:42 阅读次数: 0

JavaScript函数式编程之偏函数(Partial Function)

之前的博客有介绍JavaScript函数式编程的curry化,今天就介绍一个跟curry化有点像的偏函数(partial function) 先介绍一下什么叫偏函数,其实指的是将给定的函数的部分参数固定化,然后返回新的函数举个例子比如 这是数学里的多元函数,我们固定其部分参数,那么就可以得到新的函数,比如这种 仔细想想curry化,其实是一种特殊的偏函数,它固定参数的顺序只能是从左往右,然后返回新函数 了解了概念,我们来动手实现这个偏函数 给出多种实现方式(纯属自己无聊) es5实现 //
分类: 其他 发布时间: 02-27 23:41 阅读次数: 0

浅谈javaScript(ES5)继承

JavaScript是一门基于原型的语言(不同于类),但并不意味着它不能写面向对象的代码,这篇文章将讲述JavaScript面向对象继承的内容 如何使用JavaScript写一个类呢,ES5中没有class关键字,如果要实现一个类,需要使用function来模拟 比如 function Person(name,age,sex) { this.name = name; this.age = age; this.sex = sex; } Person.prototype = {
分类: 其他 发布时间: 02-27 23:41 阅读次数: 0

使用webpack4从零构建React + React-router + Redux + Scss/Css开发环境

前言 最近这几年,前端变化非常大,各种新框架应接不暇,从最开始几个html,css,js文件就搞定了前端,到现在前端的模块化,工程化,旨在构建出易于维护的前端系统。目前为止,前端三大框架Vue/React/Angular(Vue官网:https://cn.vuejs.org/index.html, React官网:https://reactjs.org/,Angular官网:https://angularjs.org/),身为一个前端开发人员,不了解这些框架,感觉都out了。个人比较喜欢Rea
分类: 其他 发布时间: 02-27 23:41 阅读次数: 0

一行代码实现curry化

之前写过curry化的原理和实现,详情请看这里https://blog.csdn.net/daydream13580130043/article/details/83718978 里面提到了用es6一行写curry化 const curry = (fn, n = fn.length, args = []) => n === 0 ? fn(...args) : (...args1) => curry(fn, n - args1.length, [...args, ...args1]); 回去
分类: 其他 发布时间: 02-27 23:41 阅读次数: 0

使用Parcel构建React应用

在之前的一篇博客中,使用了Webpack4来构建一个React+Redux开发环境(详情请看这里:https://blog.csdn.net/daydream13580130043/article/details/83480222),整个构建过程还是挺费劲的,所以在本篇博客中将使用令一种构建工具Parcel来重新构建React开发环境。 Parcel是啥,跟webpack,grunt,gulp一样是一个打包构建工具,不过它是零配置的,不需要配置任何东西,开箱即用,官方文档如下:https://
分类: 其他 发布时间: 02-27 23:40 阅读次数: 0

Golang函数中defer的作用以及细节

defer是什么?    在Go语言中,可以使用关键字defer向函数注册退出调用,即主函数退出时,defer后的函数才被调用。defer语句的作用是不管程序是否出现异常,均在函数退出时自动执行相关代码。 defer的用途 在函数中,程序员经常需要创建资源(比如:数据库连接、文件句柄、锁等) ,为了在函数执行完 毕后,及
分类: 编程语言 发布时间: 02-27 23:40 阅读次数: 0

持续集成之Jenkins及Maven安装配置

之Jenkins及Maven安装
分类: 企业开发 发布时间: 02-27 23:40 阅读次数: 0

第三课 《我的任务与角色》

可能与同学们不一样,我现在还是一个大二学生。所以任务和角色要比大家少得多,现在我的任务主要是大学学生和前端学习者的角色赋予我的。在一个学期的学习生活中,我需要按照课表来上好每一节课,做好笔记,学生的角色给予的任务主要就是期末考试了,期末考试之前的两个星期就要放下一切娱乐活动来积极备考。作为一个前端学习者,我在课后时间甚至还要逃课来保证充足的时间来进行前端的学习,学好每一个知识点和底层原理,为以后找
分类: 其他 发布时间: 02-27 23:40 阅读次数: 0

Ajax的原生js封装

身为一个前端开发者,对ajax这一块需要非常的熟悉,而且现在一直在提的前后端分离,ajax起着非常重要的作用,本文将简单介绍一下ajax,并附上原生js的封装 what is Ajax? Ajax即 Asynchronous JavaScript and XML ,翻译过来就是异步的JavaScript和XML,个人的理解即是一种与后端交互且不需要刷新整个页面的技术,以前前端要发数据给后端需要使用form表单来提交数据,每一次的提交就要刷新整个页面,而使用ajax,则可以在不刷新页面的同时发送
分类: 其他 发布时间: 02-27 23:40 阅读次数: 0

哈理工OJ 1430 神秘植物

好久没写博客了,学的东西太多,想不到写些什么好,所以干脆就把之前刷OJ碰到的比较好的题的解题思路给写下来 神秘植物 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 178(69 users) Total Accepted: 67(52 users) Rating: Special Judge: No Description Leyni有一种神秘的植物,形状是一种“向上”三角形植物,每过一年,每个“向上”三角形植物会变成三个“向上”
分类: 其他 发布时间: 02-27 23:40 阅读次数: 0

POJ 3233 Matrix Power Series (构造矩阵 + 矩阵快速幂)

Matrix Power Series Time Limit: 3000MS Memory Limit: 131072K Total Submissions: 29036 Accepted: 11805 Description Given a n × n matrix A and a positive integer k, find the sum Input The input contains exactly one test case. The first line of input c
分类: 其他 发布时间: 02-27 23:40 阅读次数: 0

遗传算法 与 作业车间调度问题(C++实现)

之前我们算法老师留的一个大作业,即作业车间调度问题,属于NP-hard问题,有很多种解法,这里给出遗传算法的解法。 问题描述 作业车间调度问题(Job Shop Scheduling, JSP)是最经典的几个NP-hard问题之一。其应用领域极其广泛,涉及航母调度,机场飞机调度,港口码头货船调度,汽车加工流水线等。 JSP问题描述:一个加工系统有M台机器,要求加工N个作业,其中,作业i包含工序数为Li。令 ,则L为任务集的总工序数。其中,各工序的加工时间已确定,并且每个作业必须按照工序的先后顺
分类: 其他 发布时间: 02-27 23:39 阅读次数: 0

哲学家进餐问题 C++实现

哲学家进餐问题描述 假设有五位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候,他们就停止思考,思考的时候也停止吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只餐叉。因为用一只餐叉很难吃到意大利面,所以假设哲学家必须用两只餐叉吃东西。他们只能使用自己左右手边的那两只餐叉。哲学家就餐问题有时也用米饭和筷子而不是意大利面和餐叉来描述,因为很明显,吃米饭必须用两根筷子。 三个求解策略 首先肯定是使用线程来模拟哲学家的,一个线程是一个哲学家,然后要求线程在进行资源竞
分类: 其他 发布时间: 02-27 23:39 阅读次数: 0

Silvaco仿真镜头优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ocean1171597779/article/details/87971302 # (c) Silvaco Inc., 2013 go atlas # # Lenslet Optimization # Here we compare several lenslet designs. All lenses for comparison # are spherical but have diffe
分类: 编程语言 发布时间: 02-27 23:38 阅读次数: 0

在函数式接口的限定下,优雅地跨方法栈帧保存日志

在函数式接口的限定下,优雅地跨方法栈帧保存日志 使用背景: 一个函数式接口(如下文提到的重试IO请求的接口),其必定有需要实现的功能方法(如:发起IO请求)。 在这种前提下,如果想要在函数式接口中新增“保存日志”等功能的抽象方法,以便在某个特定的模板方法中使用,这会破坏函数式接口本身。(有且仅有一个抽象方法的接口是函数式接口) 那么,你可能会问,为什么要使用函数式接口?我给出一个函数式接口调用的例子: // 构造函数式接口的具体实现类 RetryIoRe
分类: 编程语言 发布时间: 02-27 23:38 阅读次数: 0

Centos7安装配置jdk1.8

下载jdk wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz 直接使用wget下载jdk不能成功下载,下载下来的j
分类: 编程语言 发布时间: 02-27 23:38 阅读次数: 0

winform DataGridView禁止自动选中第一行

winform查询数据,DataGridView会自动选中第一行,有时并不能被用户所接受,如何禁止它自动选中呢? dataGridView.ClearSelection(); 问题解决。
分类: 编程语言 发布时间: 02-27 23:37 阅读次数: 0

IntelliJ IDEA用gradle创建一个spring-mvc项目

1 创建一个gradle项目(左边点击Gradle,右边把Java、Web选上)如果还没导入过jdk ,那需要在右上方导入jdk位置,其他一直过就行 2现在项目创建完成,我们需要为这个项目配置tomcat 在Application server这里配置tomcat的地址(如果你的电脑没有tomcat,那去官网下一个压缩包,tomcat6后面的版本不用配置环境变量,解压就可以用了,,这里就是配置你解压后的那个地址),然后点击Deloyment 点击+好,选择Artifact,然后选择后缀带exp
分类: 编程语言 发布时间: 02-27 23:37 阅读次数: 0