What is Selenium?
A tool designed for web for automation testing.
Support multiple languages, browsers and can run in multiple platforms.
Types of Testing
- Captibility Testing
- different browser-OS combinations
- Performance Testing
- performance, eg. fast loading
- Integration Testing
- Things are work collaboratly
- System testing
- Black box testing, a single user workflow, whether the website is functional.
- End-to-end Testing
- all touchpoints on the web app are functional.
IP编址
IP地址有四个字节,第一个字节代表IP地址是哪一类的。字节分类有网络地址和主机地址。主机编号的长短决定了这个网络可以容纳多少台电脑。
IP地址分为四类,A,B,C, D 和 E。
A类地址
- 第一个字节是网络地址,后面三个是主机地址
- 第一个字节取值范围是8位数,所以是
00000000-01111111
, 取值范围0-127,但是127 是表示设备自己。
e.g.10.250.128.124
- 自然掩码
255.0.0.0
, 一个A类地址可以容纳2**24-2
台电脑,-2
是因为00000000
是IP所在的网络地址,11111111
是该网段中的广播地址,如果是这个地址0-127.255.255.255
,所有这个网段的电脑都会接收到这个广播数据。注意127.255.255.255
也是广播地址,但是只能被自己接收到,因为127表示设备自己。
B类地址
- 前两个字节是网络地址,后面两个是主机地址
- 第一个字节取值范围 1,2为恒为10,所以
10000000-10111111
,是128-191
- 自然掩码
255.255.0.0
- 网络地址可容纳
2**16-2
的电脑,xxx.xxx.255.255
是该网络地址的广播地址。
C类地址
- 前三个字节是网络地址,后面一个是主机地址
- 第一个字节取值范围 1,2,3为恒为110,所以
11000000-11011111
,是192-223
- 自然掩码
255.255.255.0
, 0是IP自己的地址 - 网络地址可容纳
2**8-2
的电脑,xxx.xxx.xxx.255
是该网络地址的广播地址。
D是组播
E保留
VLSM 可变长子网掩码
** 255.255.255.255 是这个广播地址只有一台主机
Source: https://zhuanlan.zhihu.com/p/129241096
TCP/IP 五层网络架构
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
Java
- MVC 是什么
软件框架模式, Model, viewer, controller.
Model 处理数据逻辑部分, viewer 是用户会看到的画面, controller是沟通model 和viewer的桥梁, 从视图收取用户数据,发送给模型。也可以从模型读取数据,再显示在视图上。
Advantage
- 高内聚: 模块内部元素,关联性越强,内聚越高。模块单一性越强越好。
- 低耦合: 模块之间存在依赖性,独立性越差,耦合度越高。反之若是改动一个模块不会影响另一个, 就是低耦合度。
IPC (InterProcess Communication)
进程有各自不同的用户地址空间, 任何一个进程的全局变量在另一个进程中都看不到,所以交换数据通过内核,内核提供的这种机制是进程间通信。
进程间通信的七种方式
第一类
1. 管道/匿名管道 pipe:
- 实质是内核缓冲区
- 数据只能一个方向流动
- 亲缘关系
- 独立文件系统
- FIFO
- 没有名字
- 无格式字节流,要求事先约定好数据的格式
- 阻塞问题: 无需显示打开,创建时直接返回文件描述符,在读写的时候需要确定对方存在,否则退出。 写入数据超过最大值,写会被阻塞, 如果管道中没有数据,读操作会被阻塞。另一端断开将会自动退出。
2. 有名管道
- 以文件形式存在在文件系统中,没有亲缘关系也可以。只要访问到了路径,就可以互相通讯。
- 名字存在于文件系统中,内存存放在内存中。
- 组赛问题: 打开时需要确认对方存在,否则将阻塞。读之前一定有管道先写。
3. Signal
- Linux 系统中用于进程间互相通信或者操作的一种机制,信号可以在任何时候发给某一个进程,而无需知道该进程的状态。
- 异步通信方式
4. 消息(Message)队列
- 共享内存(shared memory)
- 是最快的可用IPC形式
- 需要依靠某种同步机制, e.g. 信号量。来达到进程间的同步与互斥。
- 信号量(semaphore)
- 套接字(socket)
- 客户/服务器的系统开发工作既可以在本地单机上进行,也可以跨网络进行。
- 套接字是支持TCP/IP的网络通信的基本操作单元