node 基础
命令式编程 和 声明式编程
声明式编程的本质 - "web"是一个状态机,因为内置了很多东西,不需要关心如何实现的,比如document navagation
vue
<template>
</template>
命令式编程 - 以过程为主,用代码描述一个需求的实现流程,这符合我们的逻辑直觉
声明式编程 - 以结果为主,封装了过程,比如vue的模板语法,可以动态修改innerHTML
node 是什么?
js的服务端 运行环境,基于V8,在JS语言规范的基础上,封装了一些服务端的runtime,让我们能够简单的实现非常多的业务功能
- 最早,高性能的服务器
- 后来演变成语言
- commonjs是一个规范,nodejs是cjs的实现
node的历史
2014年 - MongoDB + express + angular + node.js
node 可以做什么?
pnm run start 的时候,运行了node
- 跨平台开发:PC web H5 RN Weex
- 后端开发:API RPC
- 前端开发:前端的工具链
- 工具开发:脚本、脚手架、命令行
node 分类举例
压缩 UglifyJs Jsmin 依赖 npm bower 模块 commonjs css postcss 构建 gulp grunt webpack 模板 jade handlebars 跨端 electron tuari
node 的问题
- 单线程很脆弱,可以通过cluster / pm2
- node 对 MongoDB Mysql redis/neo4j trigerGraph arangoDB
- 安全问题
node 与 浏览器的区别
- node环境中没有
dom
,bom
;而浏览器没有fs
,path
这些模块 - 事件循环
cjs
和esm
- Node.js 支持
cjs
规范,但是browser不支持
- Node.js 支持
Node 的应用与 npm
node 的安装
- nvm
- 当我需要多个版本的时候我可以通过nvm切换
- nrm
- 对于node的镜像源进行设置
- npm
- 包管理功能
npm的目标
给你的团队带来最好的开源库和依赖
gem - ruby pip - python maven - java 全局包管理
npm 项目创建
npm 缓存
npm 和yarn
npm 还没到v5的时候,
- lock 文件
- 扁平化的安装模式
- 网络:强求排队的概念
- 缓存机制 使用 synp -- yarn.lock z转成 package-lock.json
npm 包依赖关系
npm dedupe
:帮我们去整理包的依赖关系。
dependencies
项目依赖 npm i -s lodash debounce / throttle
开发依赖 webpack rollup jest
peerDependencies 开发依赖
vue 组件库 我们不喜欢核心库被重复下载 库的安装前提是核心库必须先安装
budleedDependencies 捆绑依赖
optionalDependencies 可选依赖
CommonJS 的模块化
最早的模块化方案
js
function foo(){
var bar = 1;
var ba = 2;
}
js
var obj = { a: {}};
function resolve(obj){
obj.bar = 1;
obj.ba = 2;
}
resolve(obj.a)
js
var module = {
exports:{}
};
function foo(module,exports){
var bar = 1;
var ba = 2;
module.exports = {
bar,ba
}
}
foo(module,module.exports)
如何学习
AI主要的流派
- 连接主义 -- DeepLearning
- 符号主义 -- KnowLedgeGraph
学习的两个方法论
五年工作经历,一年工作经验
- 更倾向于,你是连接主义的思路,但是人的时间成本是非常昂贵的
- 没有足够的时间用海量的样本训练
善用符号主义
首先必须强调一点事符号主义也需要样本,但是 样本越少,建立知识图谱的难度越高
什么是神经网络
人脑中的记忆,来源于突触、电信号
如何快速学习
1.增强已有知识在大脑中的电信号
强化什么样的知识?
九阴真经。
高度的抽象,越重要的知识,很多时候是越抽象的。
《系统工程学》 《乌合之众》
《产品方法论》:产品是企业和用户交换价值的媒介;用户迁移 = 新的价值 - 旧的价值 - 迁移成本
- 背诵下来
- 解释给别人听,你的理解[费曼技巧]
- 多场景下,去反复思考。(地铁,厕所)[记忆法则,多场景碰触]
核心目标:强化这句话在你脑中的突触,电信号。
深刻记忆到形成潜意识的程度。
2.建立连接,构建知识体系
费曼技巧
- 用一个东西去解释另一个东西
- 讲给别人听
- 把你熟悉的领域写纸上
- 即兴演讲
- 不设边界
难点
- 总结,找关系,找异同,找区别
- 刻意练习
- 多巴胺对抗
- 克服边际效应