高性能WEB开发
July 13, 2018

MySQL数据库查询优化

起言在 MySQL 中,查询占据了整个DB的90%工作,可以说基本上对外提供服务的数据来源就是查询出来的,因此 高性能的 数据库 查询是重中之重,这个也是很多面试官喜欢提问的问题的来源。这里使用的数据库是 MySQL 5.7 版本,表的数据量是 一亿, 表的结构如下:CREATE TABLE `v_record` ( `id` int(11) NOT NULL AUTO_INCREMEN...
July 12, 2018

PHP注解扩展

一个另辟蹊径的 PHP 扩展:长远目标是完全特性化的一个 "扩展" ! 自动加载$loader = new Xan\Loader() $loader->setMap('@app', __DIR__); $loader->start();然后用户就可以在 脚本中 进行自动加载的使用了:$tools = new app\Tools();自动加载功能能够 100% 兼容 compo...
July 11, 2018

商城开发

一般的商城开发中,涉及到很多的模块:用户中心、聊天IM、搜索等,这里扼要的简述一下商城系统的整体导图:重点的几个模块:1、用户中心用户中心是一个商城的很重要的一个部分,用户可以在中心看到关于用户的每一笔交易的所有的详细信息以及用户的个人信息等,这个模块非常重要,用户中心的数据是与其他的模块或者系统进行数据互联的关键,如果由商城衍生一系列的产品:车联|家政 -> 厂家|公司 -> ...
July 8, 2018

Android启动页开发

先上图,看效果:使用的组件:ViewPager、PagerAdapter、Shape1、添加ViewPager到主布局中<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/...
June 19, 2018

高性能WEB之——缓存的利用

WEB网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验。网站缓存按照存放的地点不同,可以分为客户端缓存、服务端缓存、内存缓存。客户端缓存客户端缓存又可分为:浏览器缓存、网关或代理服务器缓存网关或代理服务器缓存是将网页缓存中网关服务器上,多用户访问同一个页面时,将直接从网关服务器把页面传送给用户...
June 19, 2018

PHP扩展开发——简单的扩展示例

上一节我们讲解了PHP扩展开发的项目创建步骤,这节我们将讲解开发一个简单的PHP扩展:HelloWorld,调用全局函数或者类的方法来实现一个HelloWorld的输出根据上一节我们这一节的内容,我们这节创建一个world扩展,用来输出一个“HelloWorld”字符串,首先我们不引入类的概念,使用函数的方式完成。函数方式,定义一个无参的 get_hello_world 函数,输出“Hell...
June 19, 2018

PHP扩展开发—项目创建

在遇到需要进行频繁的计算的情况下或者说是CPU密集型的场景时,这个时候使用扩展来代替原生的PHP开发性能能够提升几十倍甚至于上百倍,这个性能提升的原因关键在于:减少了PHP代码的解析、运算下面来说下PHP扩展开发的具体的步骤:1. 创建项目进入php源代码的ext目录,可以看到ext_skel和ext_skel_win32.php两个文件,这两个文件分别是Unix/Linux项目创建脚本与W...
June 19, 2018

套接字socket

在Unix/Linux中关于网络编程均涉及socket编程,在socket中主要是如下几个方法的调用:socket() 创建套接字bind() 绑定创建的套接字到指定的socketfd上如果是服务端,则需要执行监听操作: listen() 使套接字变成监听套接字,然后使用 accept() 系统调用获取用户的套接字请求读写socket套接字可以按照普通的Unix/Linux 文件函数方法来获...
June 4, 2018

CSpeed的基础分布式数据库模块

CSpeed采用Bison&Flex进行SQL的词法、语法分析而开发的分布式数据库模块使用示例如下:// 初始化分布式数据库模型 $adapter = new DbAdapter(); // 加载配置文件 // 分表、分库配置 $adapter->loadConfig([ /** 分表数据表名称 */ 'tables' => [ 'supjos'...
May 8, 2018

CSpeed简单API示例

在业务场景中,可能存在这样一个简单化的使用接口的情况,根据不同的接口分类不同的位置然后在入口处引入。在CSpeed中使用此方案很简单,具体的使用如下示例如下:$app = new Cs\App('../app/config.core.ini'); $app->get('/', function(){ // 以斜杠开头的路由表示截取所有的路由请求,因此会拦截掉所有的后续请求 ...