1.刷

Posted on 2022-01-29 20:04  AcTourist  阅读(49)  评论(0)    收藏  举报

一、局域网内两台设备交换ip过程

  解决方法:

      A:192.168.1.100

      B:192.168.1.200

      先把A的ip改为192.168.1.101

      接着把B改为:192.168.1.100

      再把A改为:192.168.1.200

  补充:局域网特点:

     1.有限的地理范围

     2.通常多个站共享一个传输介质

     3.具有较高的数据传播速率

     4.具有较低的时延

     5.具有较低的误码率

     6.有限的站数

二、进程线程区别 进程通讯方式

  解决方法:

     1.进程线程区别

      (1)定义不一样,进程时执行中的一段程序,而一个进程中执行中的每个任务即为一个线程

      (2)一个线程只可以属于一个进程,但一个进程能包括多个线程

      (3)线程无地址空间,它包括在进程的地址空间

      (4)线程的开销或代价比进程的小

     2.进程通讯方式

      (1)管道pipe,命名管道FIFO,消息队列messagequeue,共享存储,信号量,套接字,信号;

  补充:1.管道:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

     2.命名管道:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

     3.消息队列:消息队列是由信息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

     4.共享存储:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但由多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。

     5.信号量:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。

     6.套接字:套接口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及期间的进程通信。

     7.信号:信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

三、https四次握手

  1.http与htteps有什么区别

    http协议传输的数据都是未加密的,也就是明文,因此使用http协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了ssl协议用于对http协议传输的数据进行加密,从而产生了https。

    简单来说:https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

    ssl四次握手过程

    (1)客户端请求建立ssl链接,并向服务端发送一个随机数-Client random和客户端支持的加密方法,比如RSA公钥加密,此时是明文传输。

    (2)服务端回复一种客户端支持的加密方法、一个随机数-Server random、授信的服务器证书和非对称加密的公钥。

    (3)客户端收到服务端的回复利用服务端的公钥,加上新的随机数-Premaster secret 通过服务端下发的公钥及加密方法进行加密,发送给服务器

    (4)服务端收到客户端的回复,利用已知的加解密方式进行解密,同时利用Client random Server random和Premaster secret通过一定的算法生成http链接数据传输的对称加密key-session key。

    此后的http链接数据传输及通过对称加密方式进行加密传输。

四、http1 和http2区别

  1.什么是http2.0

    是http协议的第二个主要版本,使用的是万维网。http2.0是http协议自1999年http1.1发布后首个更新,主要基于spdy协议(是谷歌开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)

  2.与http1.1.相比,主要区别包括

    (1)http2采用二进制而非文本格式

    (2)http2是完全多路复用,而非有序并阻塞的--只需一个链接即可实现并行

    (3)使用报头压缩,http2降低了开销

    (4)http2让服务器可以将响应主动“推送”到客户端缓冲中

五、react通讯方式 redux

  1.redux概念:

  是一个独立专用于做状态管理的js库,不是react插件库

  他可以用在react,angular,vue等项目中,但基本与react配合使用

  作用:集中式管理react应用中多个组件共享的状态

  2.store\action\reducer

    store:是redux提供的唯一数据源,它存储了整个应用的state,并且提供了获取state的方法,即store.getState(),store是只读的。

    action是一个用于描述已发送事件的普通对象,但是单单讲了你干的事情,我们并不知道你干的这件事产生了什么牛逼效果,于是有了一个专门负责描述某个行动对应产生某种效果的机构,叫reducer。

    reducer是一个接收state和action,并返回新的state的函数(必须是纯函数,redux规定)

  3.使用方法

    首先必须先定义好我们即将做的事情,也就是定一个action,跟着,我们需要相对应地补充我们做的这件事要怎么影响数据源,于是我们根据这个action补充了一个reducer,最后我们触发这个action:store.dispatch(action),数据源就会根据reducer定义好的规则来更新自己。

  4.什么情况需要redux

    (1)某个组件的状态,需要共享

    (2)某个状态需要在任何地方都可以拿到

    (3)一个组件需要改变全局状态

    (4)一个组件需要改变另一个组件的状态

相关博客:https://www.pianshen.com/article/646071298/

六、webpack一些loader

  1.概念

    1.webpack是属于模块化方案,他能让任意类型的文件都能运行在浏览器中

    2.loader用于对模块化的源代码进行转换。loader可以使你在import 或“加载”模块时预处理文件。

  2.常用的loader

    (1)style-loader 将css添加到DOM的内联样式标签style里

    (2)css-loader 允许将css文件通过require的方式引入,并返回css代码

    (3)less- loader 处理less

    (4)sass-loader 处理sass

    (5)postcss-loader 用postcss来处理css

    (6)autoprefixer-loader 处理css3属性前缀,已被弃用,建议直接使用postcss

    (7)file- loader 分发文件到output目录并返回相对路径

    (8)url-loader 和 file-loader 类似,但是当文件小于设定的limit时可以返回一个data url

    (9)html-minify-loader 压缩html

    (10)babel-loader 用babel来转换ES6文件到ES5 

  3.loader特性

    (1)从右到左地取值(evaluate)/执行(execute)

    (2)支持链式传递,链中的每个loader会将转换应用在已处理过的资源上

    (3)也可以内联显示指定

    (4)可以是同步,也可以是异步的

    (5)运行在node.js中,并且能够执行任何node.js能做到的操作

    (6)可以通过options对象配置

    (7)除了常见的的通过package.json的main来将一个npm模块导出loader,还可以在module.rules中使用loader字段直接引用一个模块

    (8)能够产生额外的任意文件

https://www.jianshu.com/p/d38df51f9c1e