c语言之Linux网络开发

一、网络编程预备知识 socket IP地址 端口号 字节序 (一)socket 是一个编程接口 是一种特殊的文件描述符 (everything in Unix is a file) 并不仅限于TCP/IP协议 面向连接 (Transmission Control Protocol - TCP/IP) 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX) (二)socket类型 1、流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 2、数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。 3、原始套接字(SOCK_RAW) 可以对较低层次协议如IP、ICMP直接访问。 (三)socket的位置 (四)IP地址 IP地址是Internet中主机的标识: Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPv4)或者128位(IPv6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数 (五)端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理 众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX系统占用) 注册端口:1024~49150 动态或私有端口:49151~65535 (六)字节序 不同类型CPU的主机中,内存存储多字节整数序列有两种方法,称为主机字节序(HBO): 小端序(little-endian) - 低序字节存储在低地址 将低字节存储在起始地址,称为“Little-Endi...

基于FastAPI框架全栈项目之项目简介

 一、项目简介

FastAPI是基于Python语言开发的的异步框架,其特点就是:

  • 高性能
  • 易于学习
  • 快速编码
  • 可用于生产
         如果你一直使用的是Django、Flask等框架,不妨学习一下这个框架,带给你不一样的感受,作者也是学习很长时间了,所以准备通过一个项目来进行巩固,那么这个项目后端就是使用的FastAPI框架,前端使用的是Vue框架,前后端分离的图书管理系统项目。
所以涉及到前、后端同时开发,当然涉及的知识点就会比较多。

二、后端知识点
  • FastAPI
本身项目后端就是使用该框架进行开发的,所以FastAPI的基本使用是需要掌握的,可以通过 官网进行学习。
  • MySQL
MySQL作为流行度比较高的关系型数据库,该项目就是使用它来作为数据存储的,所以需要掌握数据库安装、基本的增上改查的操作。
  • SQLAlchemy
SQLAlchemy是用来做什么的呢?在 官网中是这样说的SQLAlchemy 是 Python SQL 工具包和对象关系映射器,它为应用程序开发人员提供了 SQL 的全部功能和灵活性。所以使用它我们可以避免直接接触底层的SQL语句,从而更容易的对数据库进行操作,类似于Django中的ORM。
  • Pydantic
这个又是做什么的呢?如果前台给你发送一个请求体,你会怎么校验数据的有效性呢?使用if这个条件语句去判断吗?Pydantic就是对数据校验的一个工具,它使用Python的声明进行数据的校验以及配置管理,详情查看 官网

后台开发基本就是涉及上述的知识点,在开发中不断的去学习以及掌握更多skills吧。

三、前端知识点

  • Vue.js
既然前端使用的是Vue框架开发,那么必定需要掌握Vue框架的一些知识点,Vue框架较前端其它框架比,还是比较容易上手的,详情可查看 官网
  • Easy-Mock
Easy Mock 是一个可视化,并且能快速生成后台的模拟数据的服务,参考 文档,当然你也可以选择其它的模拟后台数据的工具。比如YApi等。

这就是前端应该需要掌握和了解的内容。

更多文章合集前往: 往期精彩文章

此博客中的热门博文

玩转虚拟机系列之如何搭建虚拟机

玩转虚拟机系列之远程工具

玩转虚拟机系列之如何高效创建虚拟机