https://api.vvhan.com/api/avatar/boy

技术博客分享

Django-REST-Framework中的序列化器类和视图类

在基于函数(FBV)的视图模式中,urls.py文件中指向的就是函数,而在基于类的视图(CBV)中,urls.py文件中指向的是类的as_view()函数,注意这里是加了括号的,就是说是要直接执行这个函数的,而这个函数的直接结果,就是里面的子函数vews()。子view()函数会调用View.dispatch()函数,用于通过反射,指向在客户类中定义的get(),post(),put(),delete()等http方法的函数。另外还初始化了三个基础功能:认证、权限、限流。CBV是基于类的,继承View类。

Netty基础NIO的使用简介

一.短连接客户端每次建立一个连接,发送一个请求,获取一个响应,然后就断开连接,就是所谓的短连接。二.长连接客户端每次建立一个连接,可以发送很多个请求,一直持续维持这个TCP连接,不断开连接。客户端持续通过这个连接与服务端进行通信,不停地发送数据和请求。服务端也长期维持这个连接,不停地接受请求返回响应。这个就是所谓的长连接,连接存在的时间很长的。所以只要客户端不停地发送请求不释放连接,那么就是长连接了。优点一:SocketChannel的连接操作是异步的。

NAT-和-IP-直接通信的区别

NAT是一种网络地址转换技术,用于解决 IPv4 地址不足的问题,并提供安全性和灵活性。但它会破坏端到端通信,并引入额外的性能开销。IP 直接通信是一种高效的通信方式,适合内部网络或扁平网络,但需要足够的 IP 地址资源。在实际应用中,NAT 和 IP 直接通信各有优缺点,需要根据具体的场景选择合适的方案。