摘要: 程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题。因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署。 Docker 的主要用途,目前有三大类: 1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。 1. 提供弹 阅读全文
posted @ 2019-06-30 18:11 pigfly 阅读(2647) 评论(0) 推荐(0) 编辑
摘要: 为什么加锁 你正在读着你喜欢的女孩递给你的信,看到一半的时候,她的好闺蜜过来瞄了一眼(假设她会隐身术,你看不到她),她想把“我很喜欢你”改成“我不喜欢你”,刚把“很”字擦掉,“不”字还没写完,只写了一横一撇,这时候你正读到这个字,她怕你察觉到也就没继续往下写了,这时候你读到的这句话就是“我丆喜欢你” 阅读全文
posted @ 2019-04-25 14:09 pigfly 阅读(1658) 评论(0) 推荐(0) 编辑
摘要: 缓存在web环境各个环节都有实现,有CPU缓存、文件缓存、程序的Opcode缓存(APC,eAccelerator)、内存缓存(Memcached,Redis)、代理服务器(Nginx,Squid)、数据库的查询缓存、基于HTTP的客户端缓存。其中HTTP缓存是离用户最近的缓存,访问最快,合理使用可 阅读全文
posted @ 2019-04-19 18:03 pigfly 阅读(1794) 评论(0) 推荐(0) 编辑
摘要: 起因 安装Phalcon可以参考github上面的 "README.md" 下面是我在阿里云ECS服务器上面执行命令的过程: 然后发现报错如下: bing搜索一下,发现有人遇到过类似问题,原因是阿里云ECS内存不足并且默认关闭了swap引起的。 于是copy and execute,问题解决: 后续 阅读全文
posted @ 2018-05-23 11:47 pigfly 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 什么是作用域? 作用域规定变量在什么地方可用。 函数级作用域 1.函数外声明的变量为全局变量,函数内可以直接访问全局变量: 2.JavaScript变量的作用域是 函数级 的,只有函数可以产生新的作用域,而非块级: 变量x虽然在块语句(if)中声明并赋值,但它的作用域是函数a,所以在函数a的任何位置 阅读全文
posted @ 2018-03-15 16:00 pigfly 阅读(520) 评论(1) 推荐(1) 编辑
摘要: 认识闭包之前需要先了解作用域,如果你对作用域还没有足够了解,请移步 "JavaScript一看就懂(1)作用域" 什么是闭包? 我们可以先简单认为: 一个函数a定义在另一个函数b里面,这个函数a就是闭包 : 另外,函数a能够直接读取函数b的变量x : 这其实不是什么新鲜事,这是由作用域决定的。 上面 阅读全文
posted @ 2018-03-09 16:20 pigfly 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 定义数组 相关操作 关联数组 多维数组 php数组转js数组 阅读全文
posted @ 2018-03-07 11:30 pigfly 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 运算符 按位与 只有两个数都为1时,等于1 按位或 两个数其中一个是1,等于1 按位异或 两个数不相等则等于1,相等则等于0 取反 用途 使用上面介绍的运算符可以很轻松地实现权限管理 阅读全文
posted @ 2017-12-31 11:29 pigfly 阅读(824) 评论(0) 推荐(0) 编辑
摘要: 介绍 MongoDB是一个基于分布式、面向文档存储的非关系型数据库。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。由 C++ 语言编写。旨在为 WEB 应用处理大量数据并提供可扩展的高性能数据存储解决方案 特点 无表结构 可以像关系型数据库那样完成复 阅读全文
posted @ 2017-12-18 14:07 pigfly 阅读(301) 评论(0) 推荐(0) 编辑
摘要: sprintf用来格式化字符串 说明 参数 可能的格式值: %% - 返回一个百分号 % %b - 二进制数 %c - ASCII 值对应的字符 %d - 包含正负号的十进制数(负数、0、正数) %e - 使用小写的科学计数法(例如 1.2e+2) %E - 使用大写的科学计数法(例如 1.2E+2 阅读全文
posted @ 2017-12-13 12:43 pigfly 阅读(1272) 评论(0) 推荐(1) 编辑
摘要: revert(还原) 在对文件做了修改但是还没提交之前,revert可以还原到修改之前的状态 diff(比较差异) 左边是修改前的代码,右边是修改后的代码 Next difference:跳转到下一个差异 Use left block:使鼠标当前定位的差异代码块恢复到修改前的版本(使用左边的代码块) 阅读全文
posted @ 2017-12-13 08:51 pigfly 阅读(2150) 评论(0) 推荐(1) 编辑
摘要: 搜索 Ctrl + P打开面板,搜索方式有下面几种: 1.搜索文件,直接输入文件名 2.搜索函数/方法,文件名@方法 3.跳转到指定行 4.在当前文件查找关键字 Ctrl + F 5.Ctrl + R,调出当前文件方法列表,输入关键词可以快速跳转到指定的方法 6.Ctrl + Shift + R,在 阅读全文
posted @ 2017-12-12 11:33 pigfly 阅读(10949) 评论(0) 推荐(0) 编辑
摘要: 入口文件index.php: 引导文件start.php: 基础文件base.php: think\App::run: routeCheck拿到$_SERVER['PATH_INFO']获取控制器和操作名,返回格式: exec()调用module()通过反射来实例化控制器和执行操作: 最终run() 阅读全文
posted @ 2017-12-11 11:25 pigfly 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 前言 tp5的数据库操作全部通过Db类完成,比较符合国人的习惯,比如简单的Db::query()、Db::execute(),还有复杂的链式操作Db::table('user')->where('id=1')->select(),下面就通过源码来了解其工作流程 看代码之前,先看看涉及到的类都有哪些, 阅读全文
posted @ 2017-12-08 12:11 pigfly 阅读(2149) 评论(2) 推荐(0) 编辑
摘要: 介绍 印象中只有java代码才会用到一大堆的import,当初看到后一脸懵逼并对php心生自豪:还是我大php牛逼够简洁,殊不知php也有命名空间这一说,这些年用的越来越多。那么,为什么要搞那么麻烦呢?得写一大堆的use(神烦。。。一脸无奈),php手册给出了标准答案: 在PHP中,命名空间用来解决 阅读全文
posted @ 2017-12-01 18:44 pigfly 阅读(1219) 评论(0) 推荐(0) 编辑
摘要: 前言 开发过程中经常要在虚拟机centos和主机win10之间传送文件,写代码一般在主机用zend studio,写完了用ftp传到虚拟机运行测试,所以搭建一个ftp就很有必要啦。开发环境如下: 虚拟机:vitualbox 虚拟机装了个centos7 本机:win10 搭建ftp 这里我们使用vsf 阅读全文
posted @ 2017-11-22 15:19 pigfly 阅读(4088) 评论(1) 推荐(0) 编辑
摘要: 主从复制使用slaveof将Redis实例作为另一个Redis服务器的副本。 1) Redis复制是异步的,master可以配置成如果它连接的slave没有达到给定的数量,就停止接受写入。2) 如果断线较少的时间,slave可以执行部分增量复制。需要配置合理的复制积压缓冲区大小来尽可能使用增量复制。 阅读全文
posted @ 2017-11-13 09:43 pigfly 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 1.前言 说到分布式高可用,必然少不了复制,一来是为了做个冗余备份防止数据丢失,二来还可以达到分流来提高性能的目的。基本架构: 下面用M表示Master(主服务器),S表示Slave(从服务器),话不多说,先敲代码 2.配置 slaveof 192.168.1.1 6379 在S端配置slaveof 阅读全文
posted @ 2017-11-08 16:03 pigfly 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 介绍 redis相比memcache能够支持更多的数据类型:string(字符串)、list(链表)、set(集合)、zset(有序集合)、hash(散列表) 提供原子性的操作,保证数据的一致性 数据快照,通过定期写入rdb文件来保证数据不丢失 虚拟内存 字符串结构体 redis把所有数据都通过SD 阅读全文
posted @ 2017-11-07 13:46 pigfly 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1.前言 由于memcached把数据都放到内存里,因此性能是极高的,正因为如此,不可避免会造成数据丢失,repcached就派上用场了,它可以实现memcached的主从复制 2.安装repcached 下面采用memcached和repcached一起安装的方式 $ cd usr/local/s 阅读全文
posted @ 2017-11-03 15:08 pigfly 阅读(666) 评论(0) 推荐(0) 编辑
摘要: memcached分布式算法 memcached的分布式是依靠客户端的算法来实现,假设键名为$key,服务器数量为N,常规的实现方式有两种: 取模哈希 crc32($key)%N,通过这个算法将键名映射到某一台服务器,比如需要存取一个键名为myname的缓存,服务器数量为3,那么通过算法计算:crc 阅读全文
posted @ 2017-10-31 13:24 pigfly 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 1.安装前准备 确保apache已经安装 确保mysql已经安装 安装libxml2 libxml2是解析xml会用到的,安装php的时候会去查找它的路径,如果不需要,编译php时加上--disable-libxml的参数 $ yum install libxml2-devel 2.准备安装 $ c 阅读全文
posted @ 2017-10-29 23:25 pigfly 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 本次安装方式采用yum repo,请前往官网下载对应的版本,由于我的虚拟机安装的是centos7,所以选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package,详细的安装步骤请参考mys 阅读全文
posted @ 2017-10-26 11:32 pigfly 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1.安装依赖软件 pcre gcc expat apr(Apache portable Run-time libraries,Apache可移植运行库) apr-util $ yum install gcc $ yum install pcre-devel $ yum install expat-d 阅读全文
posted @ 2017-10-25 12:09 pigfly 阅读(220) 评论(0) 推荐(0) 编辑
摘要: putty默认的配色方案看着很费神,对眼睛不好,于是修改如下: 1.修改字体 Appearance->Font guality=ClearType Appearance->Font settings->change=Consolas 2.修改颜色 修改前景色为深灰色:default foregrou 阅读全文
posted @ 2017-10-24 14:13 pigfly 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: 1.网络连接方式 NAT 桥接 Host-Only NAT: 网络地址转换,virtualbox默认采用这种连接方式,特点: 1.虚拟机配置稍作修改就能连上外网 2.虚拟机可以ping通主机,主机不能ping通虚拟机 桥接:虚拟机就像一台真实的机器,有独立ip,特点: 1.静态ip 2.主机和虚拟机 阅读全文
posted @ 2017-10-23 18:45 pigfly 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 简介 memcached是免费和开放源代码的高性能分布式内存对象缓存系统,旨在通过减轻数据库负载来加速动态Web应用程序。其有以下特点: 基于简单的文本行协议 全部数据按照k/v形式存放在内存中,无持久化,重启服务数据会丢失 基于libevent异步I/O模型的事件通知机制。libevent是个程序 阅读全文
posted @ 2017-10-23 17:53 pigfly 阅读(4161) 评论(1) 推荐(0) 编辑
摘要: 服务器速度测试 每一个被发送出的IP信息包都有一个TTL域,该域被设置为一个较高的数值(在本例中ping信息包的TTL值为255)。当信息包在网络中被传输时,TTL的域值通过一个路由器时递减1;当TTL 递减到0时,信息包被路由器抛弃。TTL通常表示包在被丢弃前最多能经过的路由器个数。 这个是看看测 阅读全文
posted @ 2017-04-11 20:22 pigfly 阅读(312) 评论(0) 推荐(0) 编辑
摘要: [root@localhost ~]# sync #数据写入磁盘 [root@localhost ~]# shutdown -h 10 #通知用户再过10分钟就关机 [root@localhost ~]# shutdown -r 10 #通知用户再过10分钟就重启 阅读全文
posted @ 2017-04-11 20:19 pigfly 阅读(304) 评论(0) 推荐(0) 编辑
摘要: user用户 group用户组 others其他人用户信息保存在/etc/passwd [root@iZ25het8xn8Z ~]# ls -altotal 56dr-xr-x . 3 root root 4096 Jan 20 21:36 .dr-xr-xr-x. 23 root root 409 阅读全文
posted @ 2017-04-11 20:14 pigfly 阅读(190) 评论(0) 推荐(0) 编辑