摘要:由来 环境:PHP7、Swoole、linux 对聊天室有点感兴趣,对于网络协议有一点一知半解,所以决定借助swoole实现个简单的聊天室,来简单剖析下原理,知道原理以后就可以考虑用其他语言或者自己造轮子写个,当然这是后话。 源码我放置github( https://github.com/Walki 阅读全文
posted @ 2019-02-10 21:02 walkingSun 阅读 (80) 评论 (0) 编辑
摘要:场景 web服务器有多台,每台服务器都会存贮自己的session,session无法在多台服务器共享。所以就需要更换session的存贮空间,存贮在一个共用的空间。通常为了读写速度,我们会选择存贮在内存服务上,如redis、mysql的memory存贮引擎等,本文以reddis存贮贯串上下文。 se 阅读全文
posted @ 2018-09-12 11:29 walkingSun 阅读 (345) 评论 (0) 编辑
摘要:服务器安装LNMP(centos6.6+nginx1.7.12+mysql5.6.24+php5.6.7) 本次安装 centos6.6+nginx1.7.12+mysql5.6.24+php5.6.31(虚拟机方式安装,跳过第一步) libmcrypt https://nchc.dl.source 阅读全文
posted @ 2017-08-28 13:54 walkingSun 阅读 (248) 评论 (0) 编辑
摘要:微信授权登录(PHP) 微信授权 OAuth2.0授权 微信网页授权 主要是在项目中遇到网页授权登录这个需求,就对此做些总结记录。 OAuth2.0授权 OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站、移动或桌面应用上存储的个人信息,而无需将用户名和密码提供给第 阅读全文
posted @ 2017-06-15 19:37 walkingSun 阅读 (628) 评论 (0) 编辑
摘要:SFTP应用(二) SFTP Server SSH2 sftp操作 FTP进行文件传输需要通过端口进行。一般所需端口为: 控制链路—TCP端口21。控制器端。用于发送指令给服务器以及等待服务器响应。 数据链路 TCP端口20。数据传输端口。用来建立数据传输通道的。主要用来从客户向服务器发送一个文件、 阅读全文
posted @ 2017-06-06 22:35 walkingSun 阅读 (327) 评论 (0) 编辑
摘要:PHP导出Excel php phpExcel 导出excel 这些天在使用PHPExcel导出数据时,5000条数据竟然挂了。后来跟同事聊聊,有些明悟,PHPExcel做了很多处理,我在这里理解为渲染,就会暂用过多的空间,‘膨胀’的空间导致内存暂用过大,就挂了。其实只要我们只是简单的导出操作,没有 阅读全文
posted @ 2016-12-07 22:57 walkingSun 阅读 (31905) 评论 (8) 编辑
摘要:[TOC] 做下记录,温故而知新。# 构造函数和析构函数__construct 构造函数 类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。__deconstruct析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。```phpname = "MyDestructableClass"; } function __destruct() { ... 阅读全文
posted @ 2019-11-09 21:35 walkingSun 阅读 (4) 评论 (0) 编辑
摘要:[TOC] # 实现一个function foo($num) 完成如下功能```// foo(1) = [[1]];// foo(2) = [ [1,2]// [4,3] ];// foo(3) = [ [7,8,9]// [6,1,2]// [5,4,3] ];// foo(4) = [ [7,8,9,10]// ... 阅读全文
posted @ 2019-10-22 22:05 walkingSun 阅读 (14) 评论 (0) 编辑
摘要:[TOC] ## 环境系统 ubuntu 16.04php 7.1## 下载扩展:sudo apt-get -y install gcc make autoconf libc-dev pkg-configsudo apt-get -y install libssl-devsudo apt-get -y install librabbitmq-dev## 安装amqp:sudo pecl insta... 阅读全文
posted @ 2019-10-21 23:35 walkingSun 阅读 (15) 评论 (0) 编辑
摘要:[TOC] # 定位慢查询和分析SQL执行效率## 定位慢查询### 慢查询日志慢查询日志配置```msyqlslow_query_log = 1 # 开启慢查询日志long_query_time = 10 # 阀值时间,默认10秒slow_query_log_file = /data/mysql/mysql-slow.log # 慢查询日志存贮位置log-queries-not-u... 阅读全文
posted @ 2019-10-09 16:02 walkingSun 阅读 (26) 评论 (0) 编辑
摘要:[TOC] 查阅书籍及文章,做下记录吧,方便熟悉,以免忘了。# 索引- 索引是什么?能帮助我们解决什么问题?索引是对数据库的一列或多列的值进行排序定位的存储结构,索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针解决大数据下的快速查询。就像是书的目录一样,通过索引查找到正文的页数。## 1. 索引结构方法### B-Tree按顺序存贮... 阅读全文
posted @ 2019-09-01 10:35 walkingSun 阅读 (112) 评论 (0) 编辑
摘要:[TOC] 持续更新,记录一些值得关注的问题。# 下列PHP配置项中,哪一个和安全最不相关:() ```A. open_basedirB. register_globalsC. disable_functionsD. file_uploads```open_basedir 可将用户访问文件的活动范围限制在指定的区域 ,通常是其家目录的路径,也 可用符号 "." 来代表当前目录。注意用 open... 阅读全文
posted @ 2019-08-24 11:25 walkingSun 阅读 (51) 评论 (0) 编辑
摘要:[TOC] # 映射映射,或者射影,在数学及相关的领域经常等同于函数。基于此,部分映射就相当于部分函数,而完全映射相当于完全函数。映射(Map)是用于存取键值对的数据结构(key,value),一个键只能对应一个值且键不能重复。# 实现映射的实现方式可以使用链表或二叉树实现。![image](https://raw.githubusercontent.com/WalkingSun/WindBlog... 阅读全文
posted @ 2019-08-21 15:15 walkingSun 阅读 (153) 评论 (0) 编辑
摘要:[TOC] # [两个数组的交集](https://leetcode-cn.com/problems/intersection-of-two-arrays/)给定两个数组,编写一个函数来计算它们的交集。```示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:... 阅读全文
posted @ 2019-08-20 18:15 walkingSun 阅读 (80) 评论 (0) 编辑
摘要:[TOC] # 输入一个字符串,打印出该字符串的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串 abc,acb,bac,bca,cab,cba。# 题解了解下排列的数学知识:排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的... 阅读全文
posted @ 2019-08-20 17:55 walkingSun 阅读 (176) 评论 (0) 编辑
摘要:[TOC] # [唯一摩尔斯密码词](https://leetcode-cn.com/problems/unique-morse-code-words)国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-"... 阅读全文
posted @ 2019-08-13 10:25 walkingSun 阅读 (31) 评论 (0) 编辑
摘要:[TOC] # [总持续时间可被 60 整除的歌曲](https://leetcode-cn.com/problems/pairs-of-songs-with-total-durations-divisible-by-60)在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字i < j 且有(t... 阅读全文
posted @ 2019-08-08 11:15 walkingSun 阅读 (41) 评论 (0) 编辑
摘要:[TOC] # 日志文件日志文件记录mysql数据库的各种类型活动。常用日志有:错误日志、查询日志、慢查询日志、二进制日志。## 错误日志错误日志文件对mysql的启动、运行、关闭过程进行了记录。定位错误日志文件位置:```mysqlmysql> show variables like 'log_error';+---------------+--------+| Variable_name | ... 阅读全文
posted @ 2019-08-02 14:15 walkingSun 阅读 (24) 评论 (0) 编辑
摘要:[TOC] # [验证栈序列](https://leetcode-cn.com/problems/validate-stack-sequences/)给定pushed和popped两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false。```示例 1:输入:pushed = [1,2,3,4,5], popp... 阅读全文
posted @ 2019-07-31 15:45 walkingSun 阅读 (34) 评论 (0) 编辑
摘要:[TOC] # 背景应对突发流量或者是大流量涌入,为了保护系统不至于崩溃,需要做限流的处理。本文对限流处理做些分析,模拟语言PHP,数据库redis。# 计数器方案对限制时间内的连接做限制,通过时间点计数递增的形式,判断超过最大连接数,拒绝服务。缺点也很明显,根据时钟时间点去计数,并不是连续的时间。假设对1秒内的连接做限制,最大连接数M,连接发生在第1s的后0.5s过来M个请求,第二秒的前0.5秒... 阅读全文
posted @ 2019-07-25 15:55 walkingSun 阅读 (93) 评论 (0) 编辑
摘要:[TOC] # 集合集合,是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合;## 实现实现方式主要分为两种:二分搜索树、链表;二分搜索树实现代码参考:[二分搜索树操作类](https://github.com/WalkingSun/Jump/blob/master/models/TreeBinarySearch.php)[集合实现类](https://github.com/... 阅读全文
posted @ 2019-07-24 16:45 walkingSun 阅读 (32) 评论 (0) 编辑
摘要:[TOC] # 树树结构是天然的组织结构,如计算机中的文件夹,mysql的存贮结构。使用树结构存储后,出奇高效分布:- 二分搜索树- 平衡二叉树:AVL;红黑树- 堆;并查集- 线段树;Tire(字典树,前缀树)## 二叉树![image](https://raw.githubusercontent.com/WalkingSun/WindBlog/gh-pages/images/blog/WX20... 阅读全文
posted @ 2019-07-24 10:25 walkingSun 阅读 (24) 评论 (0) 编辑
摘要:[TOC] # [链表的中间节点](https://leetcode-cn.com/problems/middle-of-the-linked-list/solution/)给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 ... 阅读全文
posted @ 2019-07-13 22:01 walkingSun 阅读 (186) 评论 (0) 编辑
摘要:[TOC] # 链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。形式:单链表、双链表、跳表(redis 集合数据结构就是跳表实现,时间复杂度O(log N))跳表了解:https://lotabout.me/2018/skip-list/# php实现对链表的增删改... 阅读全文
posted @ 2019-07-10 10:00 walkingSun 阅读 (643) 评论 (0) 编辑
摘要:[TOC] # 扩展安装以php安装swoole扩展为例。## php源码编译安装下载源码包并编译安装```$ wget http://cn2.php.net/distributions/php7-1.0.tar.gz$ tar -zxvf php7-1.0.tar.gz$ cd php7-1.0$ ./configure --prefix=$HOME/php7/book/php7-1.0/out... 阅读全文
posted @ 2019-07-05 10:55 walkingSun 阅读 (401) 评论 (0) 编辑
摘要:[TOC] # 工作流你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。![image](https://raw.githubusercontent.com/WalkingSun/WindBlog/gh-pages/images/blog/git201... 阅读全文
posted @ 2019-06-12 18:15 walkingSun 阅读 (29) 评论 (0) 编辑
**/