Socket && WebSocket

一般网络编程都叫Socket编程,网络编程通常采用的是经典的客户端-服务器模型(CS 模型)。

网络编程无非简单来看就是 TCP编程 和 UDP编程。

Socket

每一次建立 socket 连接后,都会生成一个 SessionId,便于标识通讯中的客户端和服务端。(SessionId 应保证分布式唯一)

TCP/IP

协议的概念

从应用的角度出发,协议可理解为『规则』,是数据传输和数据解释的规则。

协议如同人与人的对话

OSI 参考模型和 TCP/IP 协议

网络分层架构目的:为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织。每一层都有自己的功能,就想建筑物一样,每一层都靠下一层支持。每一层利用下一层提供的服务来为上一层提供服务,本层服务的实现细节对上层屏蔽。好处:分工明确。

OAuth 与 OpenID

概念

开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

Composer

pear

  • pear: 全称为PHP扩展与应用库(PHP Extension and Application Repository)。为了创建一个类似于Perl CPAN档案的工具
  • phar: php档案包

Composer

  1. 概念:用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。
  2. composer扩展包平台: https://packagist.org/
  3. ~和^的意思很接近,在x.y的情况下是一样的都是代表x.y <= 版本号 < (x+1).0,但是在版本号是x.y.z的情况下有区别,举个例子吧:

    ~1.2.3 代表 1.2.3 <= 版本号 < 1.3.0

SQL Server 基础知识

SQL Server

SQL Server 是由微软公司(Microsoft)开发的关系型数据库(RDBMS)。

SQL Server 主要是和 MySQL 和 Oracle 二者竞争。

系统数据库(System Databases)

SQL Server 有五个系统数据库:

PHP 面向对象编程

  1. PHP开发中常用的代码复用有继承(extend)、多态(interface)、trait(性状)。

    OOP(Object Oriented Programming):面向对象编程,三大特性:封装、继承、多态。

Python 进程、线程和协程

基本概念

什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。

无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使用协程可以实现高效的并发任务。

前端开发

JavaScript vs TypeScript

JavaScript

动态类型:变量类型在运行时确定,无需预先声明

1
2
let count = 1;
count = 'hello'; // 合法,类型可以随时改变

优点:

  • 灵活自由,上手门槛低,适合快速原型开发。
  • 代码量少,书写速度快。

缺点:

Opcache与Opcode

相关文章

啥是Opcache

  • Opcache 的前生是 Optimizer+ ,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组件。 Optimizer+ 将PHP代码预编译生成的脚本文件 Opcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速PHP的执行。

Opcache的生命周期

  1. 正常的php代码的执行过程如下

Python 常用的 package 和 module

简介

Python 是通过 module 组织代码的,一个 py 文件就是一个 module,module 又是通过 package 来组织的,package 是一个包含 init.py 的文件夹,代码,module,package 它们三者的关系就是:module 包含代码,package 至少包含一个为 init.py 的 module。