Giter Site home page Giter Site logo

node_practice's Introduction

node_practice

talk

Linux 的创始人 Linus Torvalds 在 2000-08-25 给linux-kernel 邮件列表的一封邮件提到的:

能说算不上什么,有本事就把你的代码给我看看。

码农翻译 : 别哔哔 , 撸一个

如何开始做题

# 首先clone代码 或 fork代码后再开始
# 切换答题分支
git checkout -b answer

# 全局安装jest
npm i jest -g

# 启动测试程序开始做题
# 例如: 做第一题

# 启动单元测试
jest ex01 --watchAll

# 直到完成测试案例

如何获取答案

  • 答案为加密状态保存 需要秘钥
  • 首先添加根目录下.env文件
KEY=XXXX(秘钥请联系作者)
  • 执行
npm run encrypt

具体题目

01 自动生成代码模板

编写一个自动生成路由配置的方法 要求:

  • 不可以使用模板库
  • 可以使用fs函数的readdirSync
  • 可以使用ES6的模板字符串组装
  • 使用模板字符串的迭代方法可以大幅较少代码行数

02 洋葱圈中间件实现原理

编写一个compose函数实现洋葱圈功能

03 文件流接收转化JSON

为了更好的理解bodyparser原理,编写一个解析JSON文件流的函数

  • 提供一个异步函数
  • 使用fs异步函数
  • 需要Promise封装

04 sequelize + sqllite3 实现一个一对多关系

  • 本例中使用内存数据库模拟不需要安装数据库
  • 根据测试用例内容建立用户和商品数据模型
  • 并设置合理的数据关系
  • 使数据模型生效

05 Eventemitter实现异步流程控制

练习使用订阅发布方式实现异步流程控制

  • 可以使用Eventemitter函数不必自己实现

06 jwt原理解析 反篡改 过期检测

  • 提取JWT Token中的有效期
  • 参考阮一峰jwt原理解析
  • 利用Buffer进行Base64解码
  • 验证JWT 中的Hash值(选做)

07 loader实现原理 自动加载模块

08 企业级实现 统一异常处理

09 使用装饰器模式完成对日志方法输出样式的装饰

10 Cluster 思维脑图

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.