6.1.1 AOP是什么 考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的支付系统,也可能引入第三方支付平台,面对这样的支付系统该如何解决呢? 传统解决方案: 1)日志部分提前公共类LogUtils,定义“longPayBegin”方法用于记录支付开始日志,“logPayEnd”用于记录支付结果: 2)支付
2.1.1 IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: ●谁控制谁,控制什么:传统Java
Foundation包含用于添加常用功能的JavaScript实用程序。 它非常有用且易于使用。 可以在文件夹Your_folder_name/node_modules/foundation-sites/js找到此JavaScript实用程序库 Box Foundation.Box库由几个方法组成。 js/foundation.util.box.js是脚本文件名,可以在编写代码时包含它。 可以将j
本章介绍与数据结构相关的基本术语。 数据定义 数据定义定义具有以下特征的特定数据。 Atomic - 定义应该定义一个单一的概念。 Traceable - 定义应该能够映射到某些数据元素。 Accurate - 定义应该是明确的。 Clear and Concise - 定义应该是可以理解的。 数据对象 数据对象表示具有数据的对象。 数据类型 数据类型是对诸如整数,字符串等各种类型的数据进行分类的
面向对象是Java最重要的特性。Java是彻底的、纯粹的面向对象语言,在Java中“一切都是对象”。本章将介绍面向对象基础知识。 10.1 面向对象概述 面向对象的编程思想:按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建的软件系统就存在什么样的实体。 例如:在真实世界的学校里,会有学生和老师等实体,学生有学号、姓名、所在班级等属性(数据),学生还有学习、提问、吃饭和走路等
7.1 cache_dir指令 cache_dir指令是squid.conf配置文件里最重要的指令之一。它告诉squid以何种方式存储cache文件到磁盘的什么位置。cache_dir指令取如下参数: cache_dir scheme directory size L1 L2 [options] 7.1.1 参数:Scheme Squid支持许多不同的存储机制。默认的(原始的)是ufs。依赖于操作
做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑。所以,依靠强大的监控系统,收集尽可能多的指标,意义重大。但哪些指标才是有意义的呢,本着从实践中来的思想,各位工程师在长期摸爬滚打中总结出来的经验最有价值。 在各位运维工程师长期的工作实践中,我们总结了在系统运维过程中,经常会参考的一些指标,主要包括以下几个类别: CPU Load 内存 磁盘 IO 网络相关 内核参数 ss 统计输出 端口采
假如你只能阅读一章来学习 Git,本章就是你的不二选择。 本章内容涵盖你在使用 Git 完成各种工作中将要使用的各种基本命令。 在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。 本章也将向你演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览你的项目的历史版
EasySwoole支持自定义tcp长链接。 设置监听 在Event.php的beforeWorkerStart事件监听链接。 $listener = $server->addlistener("0.0.0.0",9502,SWOOLE_TCP); //混合监听tcp时 要重新设置包解析规则 才不会被HTTP覆盖,且端口不能与HTTP SERVER一致 HTTP本身就是T
URL路由规则 基础控制器 REST Request对象 Response对象 PSR-7 Http Message 自定义路由 请求拦截与权限控制
EasySwoole中支持添加用户自定义的swoole process。 抽象父类 任何的自定义进程,都应该继承自EasySwoole\Core\Swoole\Process\AbstractProcess, AbstractProcess实现代码如下: <?php /** * Created by PhpStorm. * User: yf * Date: 2018/1/17 * Time
Mysql Redis
如何获取$HTTP_RAW_POST_DATA $content = $this->request()->getBody()->__toString(); $raw_array = json_decode($content, true); 如何获取客户端IP 举例,如何在控制器中获取客户端IP //真实地址 $ip = ServerManager::getInstance()->getServer
任何控制器请求,都会执行控制器的onRequest函数,当你的某个控制器需要对权限进行验证的时候,那幺请在子类中重写该函数。 protected function onRequest($action): ?bool { if(auth_fail){ $this->response()->write('auth fail'); return false;
HTTP控制器 控制器决定了一个请求进来,应该如何被处理,控制器即是应用程序的心脏,一个控制器就是一个类文件,当请求进来,定位到控制器方法,就会执行其中的代码 控制器的命名和文件路径 控制器文件以及类的命名遵循大驼峰法(CamelCase),统一存放于 App\HttpController 目录下,让我们举一个例子,来感受一下控制器文件、类、与访问的URL之间互相的联系,假设有一个后台添加用户的操