Node+React实战-记账本—后端
本博客基于掘金小册子《Node + React 实战:从 0 到 1 实现记账本》的内容进行整合与编写,旨在构建一个系统的知识网络。
本项目使用的Node框架是Egg
本项目github链接xxMudCloudxx/TallyBook: React+Eggjs+MySql
Eggjs项目结构12345678910111213141516171819202122232425262728293031323334353637egg-project├── package.json├── app.js(可选)├── agent.js(可选)├── app| ├── router.js│ ├── controller│ │ └── home.js│ ├── service(可选)│ │ └── user.js│ ├── middleware(可选)│ │ └── response_time.js│ ├── schedule(可选)│ │ └── my_task.js│ ├── public(可选)│ │ └── reset. ...
3-中科大计网-第二章-应用层
本章分为三个部分:
原理
传输层的服务模型
客户-服务器模式
对等模式(peer-to-peer)
内容方法网络
实例
HTTP
FTP
SMTP/POP3/IMAP
DNS
编程
Socket API
应用层协议原理客户-服务器模式(C/S:client/server)
主要在于扩展性差,且客户端多于阈值,服务器的性能会断崖式地下降
可靠性也差
对等模式(P2P)
混合体:CS和P2P体系结构
进程通信进程:在主机上运行的应用程序
客户端进程:发起通讯的进程
服务器进程:等待连接的进程
在同一个主机内,使用进程间通信机制通信(操作系统定义)
不同主机,交换报文(Message)来通信
使用OS提供的通讯服务
按照应用协议交换报文
借助传输层提供的服务
注意:P2P架构的应用也有客户端进程和服务器进程之分
分布式进程通讯需要解决的问题
问题1:进程标示和寻址问题**(服务用户)**
问题2:传输层-应用层提供服务是如何**(服务)**
位置:层间界面的SAP(TCP/IP:socket)
形式: ...
中科大计网(二)-第一章-互联网及结构
什么是Internet三大角度
构成角度
网络角度
分布式应用角度
网络、计算机网络和互联网网络由节点和边构成的拓扑结构
计算机网络联网的由节点和边构成的计算机系统
互联网由tcp协议和ip协议为主支撑工作的网络叫互联网
若不与别人相连,自己用,叫internet,企业网,不叫Internet
Internet构成角度联网的计算机系统由节点和边构成的这样的系统叫计算机网络
节点:host/end system
主机及其上运行的应用程序
节点的目标或源(方形表示)
路由器、交换机等网络交换设备
做数据转发,不是源和目标(圆形表示)
路由器在网络层
交换机在链路层
边:通信链路(把节点连接在一起)
接入网链路(access):主机连接到互联网的链路
主干链路(backbone):路由器间的链路
协议
对等层的实体在通讯过程中应该遵守的规则的集合,包括了语法、语义和时序
网络角度一堆的网络,通过网络互联设备(路由器)将他们连接在一起,这叫互联网
分布式应用角度互联网是分布式的应用进程以及为分布式应用进程提供服务的基础设施所构成的
面向连 ...
中科大计网(一)-序言
往后课程主要内容
应用层
传输层
网络层
数据平面
控制平面
数据链路层和局域网
协议
协议是保证各设备间可以互操作的统一标准
应用层协议:直接提供给应用进程使用的协议,DNS、HTTP
传输层协议:进程到进程之间使用,TCP(面向可靠连接),UDP(面向不可靠连接)
网络层协议:主机到主机(E2E),分为传统协议(IP和路由协议,路由器将IP报文分组,然后查路由表转发)和SDN(数据定义网络,分为数据平面(交换机)和控制平面(网络操作系统))
数据链路层协议:点到点(P2P)
物理层协议:数字信号转化为物理信号
第0层,介质
传输层协议
TCP协议
UDP协议
可靠性:TCP协议
不出错
不乱序
不重复
不丢失
实时性:UDP协议
多媒体点播
事务性
网络层传统
IP:提供逻辑地址,支持分组交换。
路由:决定分组的传输路径
路由器通过查路由表来确定分组的转发方向。
路由器写死的,来了分组查路由表找表象然后转发。
基本功能
路由
路由协议(如 RIP、OSPF):交换路由信息
路由信息:我到哪个子网,我有多少延迟
路由算法(如 Dij ...
前端端栈之灵光乍现-DrumHero
前序在写JavaScript30的第一个项目[JS Drum Kit](https://soyaine.github.io/JavaScript30/01 - JavaScript Drum Kit/index-SOYAINE.html)的时候突然灵光乍现,如果把一个歌曲解析成鼓点,然后套用这个项目的音乐打击。
难点
如何把歌曲解析成鼓点
如何根据鼓点实现自动敲打
如何实现用户自定义上传
19-前端栈学习-MIT_Web终篇-Game实战
您提供的代码是一个多人游戏,玩家可以在画布上移动并实时与游戏世界交互。由于客户端和服务器端之间高度解耦,流程可能会较为复杂。我将从 客户端(输入、Socket、Canvas) 和 服务器端(游戏逻辑、Socket、API) 两个角度进行分解说明。
客户端流程
用户输入(input.js):
handleInput(e) 监听按键事件(方向键)并调用 client-socket.js 中的 move() 函数,发送移动方向(如 "up"、"down"、"left"、"right")。
发送输入(client-socket.js):
当玩家移动时,**move()** 函数通过 WebSocket 连接发送 move 事件(socket.emit("move", dir))。
socket.emit() 将移动方向传递到服务器。
游戏组件(Game.js):
此组件负责显示画布和游戏状态。
Socket.on("update", update) 监听服务器发送 ...
18-前端栈学习-Serverless_with_Next.js
什么是serverless
“无服务器计算”(Serverless computing)
“无服务器函数”(Serverless functions)
“无服务器架构”(Serverless architecture)
通常在服务器上运行的代码被写成函数 → 这些函数会被打包,并由特定的动作“触发”。
传统上需要运行在服务器上的代码,通过无服务器架构被简化成一个个独立的函数。这些函数被部署到无服务器平台(如 AWS Lambda、Vercel 等),并且不需要开发者手动管理服务器。这些函数在特定的事件或操作(如 API 请求、文件上传、数据库更改)发生时自动触发并执行。
简单来说:
写成函数:将服务器上的任务抽象成小的函数。
打包和触发:这些函数被托管在云端,在需要时按需运行,而不是一直运行,节省资源和管理成本。
例如,当有人访问你的网站时,可以触发一个无服务器函数来生成页面内容并返回给用户。
什么是Next.jsNext.js 是一个基于 React 的现代前端框架,旨在简化 React 应用的开发,特别是针对服务端渲染(SSR)、静态生成(SSG)和 API 路由等功能的实现 ...
17-前端栈学习-React的状态管理
为了让这篇博客更加详细和通俗易懂,我将为每一部分提供更多的解释和一些实际应用的场景,并对代码中的一些重要概念进行详细说明。这里是修改后的版本:
状态管理方法1. useStateuseState 是 React 中最基本的状态管理工具。它用于管理组件内部的状态,适合处理简单的状态需求。
示例:123456789101112131415import React, { useState } from 'react';function Counter() { const [count, setCount] = useState(0); // 初始化状态为 0 return ( <div> <p>当前计数:{count}</p> <button onClick={() => setCount(count + 1)}>增加</button> <button onClick={() =&g ...