0%

Selenium

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 五层网络架构

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层
  5. 物理层

Java

  1. MVC 是什么
    软件框架模式, Model, viewer, controller.
    Model 处理数据逻辑部分, viewer 是用户会看到的画面, controller是沟通model 和viewer的桥梁, 从视图收取用户数据,发送给模型。也可以从模型读取数据,再显示在视图上。

Advantage

  1. 高内聚: 模块内部元素,关联性越强,内聚越高。模块单一性越强越好。
  2. 低耦合: 模块之间存在依赖性,独立性越差,耦合度越高。反之若是改动一个模块不会影响另一个, 就是低耦合度。

IPC (InterProcess Communication)

进程有各自不同的用户地址空间, 任何一个进程的全局变量在另一个进程中都看不到,所以交换数据通过内核,内核提供的这种机制是进程间通信。

进程间通信的七种方式

第一类
1. 管道/匿名管道 pipe:
- 实质是内核缓冲区
- 数据只能一个方向流动
- 亲缘关系
- 独立文件系统
- FIFO
- 没有名字
- 无格式字节流,要求事先约定好数据的格式
- 阻塞问题: 无需显示打开,创建时直接返回文件描述符,在读写的时候需要确定对方存在,否则退出。 写入数据超过最大值,写会被阻塞, 如果管道中没有数据,读操作会被阻塞。另一端断开将会自动退出。
2. 有名管道
- 以文件形式存在在文件系统中,没有亲缘关系也可以。只要访问到了路径,就可以互相通讯。
- 名字存在于文件系统中,内存存放在内存中。
- 组赛问题: 打开时需要确认对方存在,否则将阻塞。读之前一定有管道先写。
3. Signal
- Linux 系统中用于进程间互相通信或者操作的一种机制,信号可以在任何时候发给某一个进程,而无需知道该进程的状态。
- 异步通信方式
4. 消息(Message)队列

  1. 共享内存(shared memory)
  • 是最快的可用IPC形式
  • 需要依靠某种同步机制, e.g. 信号量。来达到进程间的同步与互斥。
  1. 信号量(semaphore)
  2. 套接字(socket)
  • 客户/服务器的系统开发工作既可以在本地单机上进行,也可以跨网络进行。
  • 套接字是支持TCP/IP的网络通信的基本操作单元