这是基于c写底层的yaf框架集成PDO+predis+读写分离+composer+全局异常处理+多模块开发+Log日志记录简单容易上手的框架 注意:window版没有swoole和Smarty主要用作纯Api使用,linux版是有swoole+Smarty 码云地址: https://gitee.com/github-13041436/high_performance_api 1.本yaf基于window环境开发的,elasticsearch5环境是在本地安装并运行(同理在linux也是先安装e…
一.安装yaf扩展(windows安装) 1.查看你电脑安装的开发环境(phpinfo()的信息),查找 "Zend Extension Build"和"PHP Extension Build",yaf版本要与操作系统位数,php版本相对应,否则yaf安装不成功,如图: 其中TS表示线程安全的意思,至于线程安全和非线程安全就不解释了,可以网上搜寻一下: 2.下载对应的yaf扩展,下载网址:http://pecl.php.net/package-stats.php(这…
App 组件化/模块化之路——如何封装网络请求框架 在 App 开发中网络请求是每个开发者必备的开发库,也出现了许多优秀开源的网络请求库.例如 okhttp retrofit android-async-http 这些网络请求库很大程度上提高程序猿的编码效率.但是随着业务的发展,App 变得越来越大,我们将这些网络请求库加入到项目中直接使用,对我们业务类的入侵是非常强的.如果要进行业务分离时,这些网络请求代码将是一个阻止我们进一步工作的绊脚石.对开发者来说是非常痛苦的. 因此我们构建的网络请求框…
前提条件:linux安装了jmeter.ant.jenkins 安装方法参考汇总目录中对应的博文 截图看不清的,可以调大浏览器倍数看 jenkins驱动ant执行,ant驱动jmeter执行 ant调用jmeter脚本(通过ant命令) linux服务器上 创建好目录 uncleyong --jmeter_script --result --html --jtl build.xml build.xml是ant的核心文件,(点击这里获取),build.xml文件的配置,见里面说明 html放htm…
参考书 <TensorFlow:实战Google深度学习框架>(第2版) 这本书我老老实实从头到尾看了一遍(实际上是看到第9章,刚看完,后面的实在看不下去了,但还是会坚持看的),所有的代码都是手敲了一遍.这本书对于想TensorFlow入门的小伙伴来说,可以看到第8章了解一下循环神经网络的原理,第8章最后的例子举的真的是很烂,用循环神经网络去预测sin函数曲线,我是真的佩服这种例子都能想得出来.循环神经网络,不应该找一个经典的,与时间有关的具有时间累积效应的例子之类的吗,比如说钢材随时间的损坏…
1.Yaf的library和model的文件命名规则和调用 1.1在项目中,往往需要封装一些,如redis,不同的产品需要用不同的库等等等,这就涉及到封装 1.在 Yaf 中,我们可以写一个单例模式的 redis 来提供一个入口,进行各个库(0-15)之间的实例的创建,然后在 Model 下面建立一个 BaseModel 来对接单例 Redis  的实例接口,然后各个模块的 Model 类在继承这个 BaseModel 即可实现. 2.那么,我们一般的习惯是根据 命名空间\文件路径 来实例化类或…
编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 由于bundle是静态的,所以可以将“iOS开发之静态库(三)—— 图片.界面xib等资源文件封装到.a静态库”中生成的“MyToolsWithAssetsA.bundle”文件直接拿过来使用. 二.创建静态框架 创建过程参考“iOS开发之静态库(四)—— 静态框架framework制作”,里面介绍非常详细. 静态库代码借用“iOS开…
最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口: 1.public Connection getConnection()   获得数据库的连接 2.public boolean updateByPreparedStatement(String sql, List<Object>params)throws SQLException  更新数据库…
1.网络请求 第一种实现方式: 功能:GET POST 请求 缓存逻辑: 1.是否要刷新本地缓存,不需要就直接发起无缓存的网络请求,否则直接读取本地数据 2.需要刷新本地缓存,先读取本地数据,有就返回,没有就发起缓存的网络请求 3.无网络时直接读取本地缓存 #import "AFHTTPSessionManager.h" /** *该类默认只要导入头文件就会自动检测网络状态,且会在没有网络和未知网络的时候,自动从本地数据库中读取缓存. *数据库网络缓存是基于猿题库公司对FMDB进行封装…
小生资历浅薄,不讨论该主题的重要性与未来的意义,只是个人兴趣爱好平日对这个问题思考了很多,总觉得要写点东西记录下来.框架还没有定型,只是记录自己设计的过程. 系统要跨平台,首先得将平台相关的实现与平台无关的实现分离.鄙文就对资源管理的平台先关与平台无关的分离做一些浅薄的论述.Texture和Buffer的管理将在随后两篇文章中讨论. 通常引擎会这样封装一个资源,来达到跨平台的目的 struct ITexture; // abstruct interface class D3DTexture :…