Mysql 范式 事务 锁

  1. 非标准化形式: 主键不能重复;不出现重复记录

  2. 字段原子性,不能再分

反例: 联系方式  =》(电话,邮箱)

  1. 不能存在部分依赖。 随着主键值的变化,其它列名也必须随之而变化,如果主键是几个列名的组合,其它列名(副键)必须同时被这几个列名影响,少一个的话,不行

反例:   组件id,价格,供应商id,供应商名称,供应商地址。 同一个组件有可能由不同的供应商提供,故 组件 id 和 供应商 id 组成主键, 价格 和 主键  完全依赖; 供应商名称和地址 只依赖于 供应商 id, 部分依赖

PHP 和 Nginx 通信

启动 php-fpm,通信模式, TCP socket, Unix scoket。

PHP-FPM 启动两种进程, master:监控端口、分配任务,管理 worker 进程, worker: 就是 php 的cgi 程序,解释和编译执行 php 脚本。

PHP 基础

  1. 当 $a 是以下 值时候 (boolean) $a  为假 false:
  • 未设置的变量
  • var $a;  未初始化 $a 的值
  • $a = null;
  • false
  • 0
  • ''
  • ‘0’
  • []
  1. 以上值 empty() 是均为 true 。
  2. isset() 检测 一个变量设置了,且不为 null ,所以仅仅前 3 条 为 false 。
  3. is_null() 正好与 isset() 相反, 仅仅 前 3 条 为 true 。
  4. gettype() 前3条 ,均返回 null,即 类型 未知。

相同点 都是利用回调函数对数组中每个元素进行操作。

PHP 垃圾回收机制

众所周知,php 是用 c 语言写的,所以其变量存储也依赖于 c 语言。php 的变量的内部是使用一种 zval 的数据结构来保存的。

Vi 命令一览

  • - 光标移动到上一行开头
  • +<return> 光标移动到下一行开头
  • 0 当前行开头
  • $ 当前行末尾
  • ^ 当前行第一个非空字符
  • w 下一个单词的词首 W 忽略标点
  • e 下一个单词的词尾 E …
  • b 上一个单词的词首 B …
  • ( 移动到上一个句子
  • ) 下一个句子
  • { 上一个段落
  • } 下一个段落
  • H 移动到屏幕顶部
  • M 屏幕中间
  • L 最后一行

数字组合

容器常用命令

docker image ls

无仓库名的是悬空镜像,docker image ls -f dangling=true 查看悬空镜像, docker image prune 删除悬空镜像。

该命令默认,仅仅显示顶层镜像,docker image ls -a , 可以显示中间层镜像。

依赖注入

控制反转**(Inversion of Control, IoC)**,是面向对象编程的一种设计原则,目的是降低代码耦合。常见方式有 依赖注入 (Dependence Injection, DI)依赖查找 (Dependency Lookup)  。

Logstash

  • 相等: ==, !=, <, >, <=, >=

  • 正则: =(匹配正则), !(不匹配正则)

  • 包含: in(包含), not in(不包含)

  • 布尔操作: and(与), or(或), nand(非与), xor(非或)