-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
249 lines (169 loc) · 6.93 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
课程安排:
第1个下午:搭建环境 express
第2个下午:写后端代码
第3个下午:前后端代码整合
目标:学生管理CMS
添加学生
删除学生
修改学生
查询学生
感受一下后端是怎么是写的。
---------------------------------
前后端:
前端:
有界面的一端:网页 Android iOS 小程序 游戏
web前端 web就是网页
html5前端 网页 app 小程序 ....
Android out
iOS out
游戏 难
后端:
给前端提供数据的,需要数据库的配合。
java
php out
python out
后端(没有明显优势)
运维(工资低)
爬虫(python的一个亮点)
人工智能(本科搞不了)
c++ 非常难 工资非常高 指针
go 非常火 公司中都是java php转到go
.net out
node 后端 通过js代码写代码
....
---------------------------------
js现在非常厉害:
1)html5前端 核心就是js
2)app js写的代码打包成android 和 ios
3)开发小程序
4)开发游戏 网页游戏 小程序里面的游戏
5)写后端 node 把js代码跑在node环境 就提供web服务
...
---------------------------------
数据库:
mysql 入门难一点
oracle 大型公司才用
mongodb 简单 js 选这个
---------------------------------
我们是写后端:
技术选型:node+express+mongodb+ejs
---------------------------------
node:
就是JS的运行环境,我们的JS代码可以跑在node里面。
之前的JS的代码是运行在浏览器中的。浏览器是JS的运行环境,NODE也是。
怎么安装这个node环境:
1)下载node安装包
2)傻瓜式安装
证明安装是否OK:
1)win + r 输入cmd 打开一个cmd窗口
2)输入node -v 如果弹出一个版本号 表示node安装成功了
安装完node,电脑上自带了一个工具,叫npm。
---------------------------------
安装mongodb数据:
1)下载地址:https://www.mongodb.com/download-center/community
大家按笔记安装就OK了
---------------------------------
客户端与服务器交互模型: http
客户端:就是给服务器要数据的
1)浏览器可以充当客户端
2)手机上的app
3)写的代码
...
服务器:服务器就是给客户端提供数据
web服务器 提供网页服务器
数据服务器 一台电脑上安装了mongodb 这个电脑就可以充当数据库服务器
...
上网的本质:就是数据在客户端和服务器之间进行流动。
---------------------------------
get/post:
客户端是请求服务器的,最常用的请求方式有get和post。
get更倾向于给服务器要数据。
post更倾向于把数据扔给服务器。
---------------------------------
本地服务器都有一个特殊的IP地址:127.0.0.1
这个特殊的IP地址对应的一个特殊的域名:localhost
---------------------------------
express:
由于时间的关系,直接上框架,不讲Node基础。
不习express就是手代码创建一个服务器,提供web服务。
使用express写项目的步骤:
1) npm init -y 初始化一个配置文件
初始结果:会在项目下创建一个package.json
2) 安装express模块
npm i express 需要网络比较好 此时就把这框架安装到项目中了
3) 开始写代码
在项目的根目录下面,创建app.js文件
let express = require("express")
let app = express(); // 创建一台服务器
// 处理客户端的请求 /
app.get("/",(req,res)=>{
// res.send表示响应内容
res.send("<h1>Hello 客户端~</h1>")
})
// 监听一个端口
app.listen(3000,()=>{
console.log("服务器启动了~")
})
4)运行代码 进入到项目中 通过node app.js
这样运行,每一次修改代码都需要重启服务器
可以安装全局安装一个模块,叫nodemon
npm i nodemon -g
再运行代码时,通过nodemon app.js 好处:修改代码不需要重启
---------------------------------
换源:
通过npm i express 默认是去国外下载的 速度非常慢 需要把下载源换成国内
换源步骤:
1)全局安装nrm模块 npm i nrm -g
2)通过nrm ls 查看都有哪些源
3)换源 nrm use taobao 换成国内源 速度快一点
换源之后,再去安装,速度就快一点~
---------------------------------
工具有很多:npm cnpm yarn 无所谓
---------------------------------
遇到的问题:
1)网络不给力 npm i nrm -g ctrl+cc 重新来一次
2)编码问题 保证你的编辑器使用的编码是utf-8 大陆程序员使用的编码基本上都是utf-8
---------------------------------
什么是静态资源:
html css js img 都是静态资源
使用express托管静态资源:
app.use(express.static("public")) 需要把静态资源放到public下面
---------------------------------
MVC:
M Model 是和数据打交道
V View 视图 html文件(充当静态资源,也可以充当视图)
C Controller 控制器
---------------------------------
分层:
不要把所有的代码都写在app.js中。
---------------------------------
什么是模拟引擎:
就是在html中放js代码,输入真实的数据
Models:是和数据库打交道
mongodb:
是提供数据库服务的,如果一个电脑装了mongodb,就可以提供数据为服务了。
使用步骤:
1)安装 按笔记
2)开启mongodb服务 进入bin目录 mongod --dbpath=D:/mongo/data
3)使用客户端连接数据库服务器
--------------------------------------
什么可以充当客户端:
1)cmd窗口
2)可视化工具
3)代码
--------------------------------------
使用可视化工具充当客户端:
已OK 记住 一定要开启数据库服务器
--------------------------------------
mongodb数据库中的几个概念:
1)数据库 一个项目可以有一个数据库 也可以有多个数据库 students
2)集合 成绩集合 基本信息集合 ... 一个数据库中可以包含多个集合
2)文档 一个集合中可以包含N个文档 一个文档就是一个个的数据
如:students
info
{name:"wangcai",age:10},
{name:"xiaoqiang",age:11},
{name:"yuanhua",age:12},
score
...
--------------------------------------