- Albin Wong /
- PHP
苹果第三方登录Sign in with Apple服务端验证
苹果官方接口文档:Sign in with Apple REST API 开发者后台配置 在“Certificates, Identifiers & Profiles (英文)”(证书、标识符和描述文件) 中,从侧边栏中选择“Identifiers”(标识符), 在证书配置管理中心,配置Sign In with Apple功能 创建“通过 Apple 登录”私钥,选择“Sign in...
苹果官方接口文档:Sign in with Apple REST API 开发者后台配置 在“Certificates, Identifiers & Profiles (英文)”(证书、标识符和描述文件) 中,从侧边栏中选择“Identifiers”(标识符), 在证书配置管理中心,配置Sign In with Apple功能 创建“通过 Apple 登录”私钥,选择“Sign in...
在PHP中当数字长度超过20位时,系统会输出一个浮点数的科学计数法表示,在不同操作系统结果会有所差异。 e.g.$num = 12345678901234567890; echo $num; // 1.2345678901235E+19 原有20位的整数输出时被转换为一个14 位精度浮点数,且精度已丢失。想要保持数据原样输出,可以使用number_format number_forma...
升级Nginx, 添加ipv6模块 下载最新版nginx源码并解压编译 wget http://nginx.org/download/nginx-1.17.6.tar.gz tar -zxvf nginx-1.17.6.tar.gz cd nginx-1.17.6 编译nginx,添加ipv6模块应用,编译命令: ./configure --prefix=/usr/local/ng...
有的论坛、邮箱、博客,在注册时需要一种特殊的通行证——即邀请码(全称:邀请注册码),邀请码相当于你用一个软件要输入注册码一样,它和现实生活中的请柬是一个作用,只有收到邀请码,才能注册帐号。当论坛开启邀请注册后,邀请码成为注册论坛的必要条件,要想注册一个ID,就必须获得一个有效的邀请码,这时普通注册功能一般暂停。 目前很多APP都会为每一个用户生成一个邀请码,用以激励用户邀请其他人下载注册。例如U...
在PHP中使用array_merge()和array1+array2的方式进行数组合并操作时,但两者效果并不相同 当两个数组都为索引数组时 使用array_merge()函数进行数组合并时,其键名从 0 开始进行重新索引使用array1+array2进行数组合并时,出现相同键名的值,后面键名相同的会被抛弃 $array1 = array(1 => 2, 2 => 4); ...
规范化 Normalization一个低一级范式的关系模式通过模式分解(Schema Decomposition)可以转换为若干个高一级范式的关系模式的集合的过程。关系数据库中的关系需要满足一定的要求,不同程度的要求称为不同的范式。满足最低要求的称为第一范式,简称1NF,这是最基本的范式;在第一范式的基础上进一步满足一些新的要求称为第二范式(2NF);以此类推,再进一步的范式是第三范式(3NF)及...
0、算法概述0.1 算法分类十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度 排序方法 时间复杂度(平均) 时间复杂...
FastCGI原理FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache、Nginx和lighttpd等。同时,FastCGI也被许多脚本语言支持,其中就有PHP。FastCGI接口方式采用C/S结构,可以将HttP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当H...
什么是高并发?高并发是互联网分布式系统架构的性能指标之一,它通常是指单位时间内系统能够同时处理的请求数,简单点说,就是QPS(Queries per second)。那么我们在谈论高并发的时候,究竟在谈些什么东西呢? 高并发究竟是什么?这里先给出结论:高并发的基本表现为单位时间内系统能够同时处理的请求数,高并发的核心是对CPU资源的有效压榨。 举个例子,如果我们开发了一个叫做MD5穷举的应用,...
定义定义了一对多的依赖关系;多个观察者对象对主题对象的依赖,主题对象一旦改变,就会自动更新观察者的数据 实例比如一个求职者(观察者)和一个猎头(主题)求职者告诉猎头要找工作,猎头就添加一个求职者在求职名单中,当有求职信息的时候就会通知名单中的每一个求职者。求职者也可以告诉猎头说我不要信息了,猎头就将数据名单中的数据删除,求职者也可以作为一个猎头。因为每一次猎头发送的求职信息给每一个求职者,这个求...