<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chengyu1769的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chengyu1769</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chengyu1769]]></copyright><item><title><![CDATA[TP5 生成数据表字段缓存和路由缓存]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708427</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708427</guid><author>chengyu1769</author><pubDate>Tue, 03 Sep 2019 09:31:00 +0800</pubDate><description><![CDATA[版本要求V5.0.1以上 
 
 数据表字段缓存 
 通过生成数据表字段信息缓存，提升数据库查询的性能，避免多余的查询。 多余的查询语句可以通过TP5自带的日志找到，多余的语句为： 
 每次有查询语句时，TP5框架都会执行show columns语句，动态查询数据库字段，这时候就需要生成...]]></description><category></category></item><item><title><![CDATA[PHP获取请求header以及body里的值]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708426</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708426</guid><author>chengyu1769</author><pubDate>Mon, 19 Aug 2019 16:18:00 +0800</pubDate><description><![CDATA[//获取body里的参数
$bodyData = @file_get_contents('php://input');
//将获取到的值转化为数组格式
$bodyData = json_decode($bodyData,true);
 

   
 
//获取head...]]></description><category></category></item><item><title><![CDATA[HTTPS URL 传参安全吗？]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708425</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708425</guid><author>chengyu1769</author><pubDate>Fri, 16 Aug 2019 09:52:00 +0800</pubDate><description><![CDATA[HTTPS URL 传参安全吗？ 

   
 
 
 请求参数能通过URL安全传递吗？ 当客户看到 HttpWatch 中的 HTTPS请求后经常会问这个问题，同时客户也想知道还有谁能看到这些数据。 
 举个例子，假设我们使用以下URL在请求查询参数中传递密码。 
 https://ww...]]></description><category></category></item><item><title><![CDATA[TP5重定向]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708424</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708424</guid><author>chengyu1769</author><pubDate>Mon, 12 Aug 2019 14:00:00 +0800</pubDate><description><![CDATA[学习目标 
   
  
 
 一、页面跳转 
 如果要使用页面跳转必须要继承基类Controller类，因为基类Controller引入了trait类库，trait类库又实现了succe...]]></description><category></category></item><item><title><![CDATA[mysql查询优化]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708422</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708422</guid><author>chengyu1769</author><pubDate>Thu, 01 Aug 2019 16:51:00 +0800</pubDate><description><![CDATA[关于索引： 
当表的索引被查询，会使用最好的索引，除非优化器使用全表扫描更有效。优化器优化成全表扫描取决与使用最好索引查出来的数据是否超过表的30%的数据。 优化器更加复杂，其估计基于其他因素，列入表的大小，行数和I/O块的大小。 
引文：https://www.cnblogs.com/...]]></description><category></category></item><item><title><![CDATA[从技术平台到aPaaS平台]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708418</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708418</guid><author>chengyu1769</author><pubDate>Tue, 30 Jul 2019 08:30:00 +0800</pubDate><description><![CDATA[从技术平台到aPaaS平台 
 
互联网行业喜欢搞一些单词的缩写，最近一个朋友换工作，说是去搞aPaaS平台了，那么aPaaS平台是什么呢？ 

了解下云计算 
aPaas是衍生在云平台之上的，如果开发一款应用，需要涉及大量基础技术或者基础设置。 
如果从技术层次上划分来说，分为以下...]]></description><category></category></item><item><title><![CDATA[Termux 入门教程：架设手机 Server 下载文件]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708416</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708416</guid><author>chengyu1769</author><pubDate>Fri, 26 Jul 2019 08:54:00 +0800</pubDate><description><![CDATA[手机文件，比如照片和视频，如何下载到桌面电脑？ 
 普通用户可以使用手机线，将手机和电脑连起来。作为开发者，其实有更方便的方法，就是在手机架设一个 HTTP 服务，然后从桌面浏览器访问手机。 
 本文讲解如何使用 Termux 架设手机的 HTTP 服务器。 
  
 
 一、Termu...]]></description><category></category></item><item><title><![CDATA[TP5控制器大小写访问]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708415</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708415</guid><author>chengyu1769</author><pubDate>Thu, 04 Jul 2019 14:06:00 +0800</pubDate><description><![CDATA[URL大小写 
 默认情况下，URL是不区分大小写的，也就是说URL里面的模块/控制器/操作名会自动转换为小写，控制器在最后调用的时候会转换为驼峰法处理。 
 例如： 
 http://localhost/index.php/Index/Blog/read//和下面的访问是等效的htt...]]></description><category></category></item><item><title><![CDATA[远程调试 Android 设备浏览器网页]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708414</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708414</guid><author>chengyu1769</author><pubDate>Wed, 03 Jul 2019 09:26:00 +0800</pubDate><description><![CDATA[网页在手机浏览器打开时，怎么调试？ 
 安卓设备的 Chrome 浏览器支持远程调试，可以使用桌面浏览器的开发者工具。本文介绍如何进行远程调试。 
  
 
 Step 1：启用开发者模式 
 远程调试需要打开”开发者模式”。如果你的手机已经打开，可以跳过这一步。 
 开发者模式的打开方...]]></description><category></category></item><item><title><![CDATA[API 接口设计中Token设计讨论]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708413</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708413</guid><author>chengyu1769</author><pubDate>Wed, 03 Jul 2019 09:02:00 +0800</pubDate><description><![CDATA[在实际的网站设计中我们经常会遇到用户数据的验证和加密的问题，如果实现单点，如果保证数据准确，如何放着重放，如何防止CSRF等等。 
其中，在所有的服务设计中，都不可避免的涉及到Token的设计。 
目前，基于Token的生成方，我们把Token生成分为两种类型。 
1、基于用户/网站，可见的加...]]></description><category></category></item><item><title><![CDATA[基于AccessToken方式实现API设计]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708411</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708411</guid><author>chengyu1769</author><pubDate>Wed, 03 Jul 2019 08:54:00 +0800</pubDate><description><![CDATA[基于AccessToken方式实现API设计 
  
  说明：这实际类似于Oauth2.0的简化模式 
  
  
   
   一、举例说明: 
   需求： 
   　　A、B机构需要调用X服务器的接口，那么X服务器就需要提供开放的外网访问接口。 
   分析： 
   　　1...]]></description><category></category></item><item><title><![CDATA[ThinkPHP5 API 多版本控制开发]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708409</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708409</guid><author>chengyu1769</author><pubDate>Tue, 02 Jul 2019 15:08:00 +0800</pubDate><description><![CDATA[ThinkPHP5 API 多版本控制开发 
 
  
  开发准备 
  对于接口开发，建议采用单独的项目部署，与后台项目分离开来，原因如下： 
  1. 接口多用于查询数据，对于数据提交的较少 
  2. 接口的权限多采用token模式，后台多采用RBAC控制访问 
  3. 对于需要高...]]></description><category></category></item><item><title><![CDATA[API版本控制的几种方式]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708408</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708408</guid><author>chengyu1769</author><pubDate>Tue, 02 Jul 2019 14:33:00 +0800</pubDate><description><![CDATA[2018 年 11 月 3 日 发布 
我们假设API接口的域名名为api.tp5.com，并且以两个版本v1和v2为例（注意，版本号仅为主版本，小版本应该是直接升级，不应该存在共存情况，所以v1.1或者v2.0这种版本号不应该设计在URL里面），来说明下API版本的不同控制方式，以...]]></description><category></category></item><item><title><![CDATA[ThinkPHP5常用功能和语法]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708407</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708407</guid><author>chengyu1769</author><pubDate>Mon, 17 Jun 2019 16:00:00 +0800</pubDate><description><![CDATA[获取预编译sql 
fetchSql用于直接返回SQL而不是执行查询，适用于任何的CURD操作方法。 例如： 
$result = Db::table('think_user')-&gt;fetchSql(true)-&gt;find(1); 输出result结果为： SELECT * ...]]></description><category></category></item><item><title><![CDATA[掌握Composer]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708406</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708406</guid><author>chengyu1769</author><pubDate>Mon, 17 Jun 2019 10:57:00 +0800</pubDate><description><![CDATA[这一次，真正掌握composer 
 

composer是现代PHP的基石 
现代高级编程语言，依赖管理工具是必不可少的。Java有Maven，Python有pip，Nodejs有npm, 而在composer出现之前，PHP只有被广为诟病的Pear, 由于Pear实在太难用，很少PHP开...]]></description><category></category></item><item><title><![CDATA[Chrome浏览器如何强制刷新页面(不使用缓存)？]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708405</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708405</guid><author>chengyu1769</author><pubDate>Sat, 15 Jun 2019 09:39:00 +0800</pubDate><description><![CDATA[1
    
    
    Chrome官方推荐使用如下快捷键，就可以不使用页面缓存进行刷新 
    Windows和Linux操作系统:Shift+F5或Ctrl+Shift+R 
    Mac OS: Cmd+Shft+R 
     
  ...]]></description><category></category></item><item><title><![CDATA[Redis简介，以及与memcache比较]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708403</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708403</guid><author>chengyu1769</author><pubDate>Wed, 12 Jun 2019 15:50:00 +0800</pubDate><description><![CDATA[转载于:https://my.oschina.net/u/3477605/blog/3061167]]></description><category></category></item><item><title><![CDATA[CI框架url模式及获得参数]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708402</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708402</guid><author>chengyu1769</author><pubDate>Wed, 12 Jun 2019 08:22:00 +0800</pubDate><description><![CDATA[CI框架获取post和get参数_CodeIgniter心得 
 
    
  
  
   
   请参考：CI文档的输入类部分： 
   $this-&gt;input-&gt;post() $this-&gt;input-&gt;get() 
   ------------...]]></description><category></category></item><item><title><![CDATA[nginx详解之语法规则]]></title><link>https://blog.youkuaiyun.com/chengyu1769/article/details/100708400</link><guid>https://blog.youkuaiyun.com/chengyu1769/article/details/100708400</guid><author>chengyu1769</author><pubDate>Tue, 11 Jun 2019 14:45:00 +0800</pubDate><description><![CDATA[1、location [=|~|~*|^~] /uri/ { … } 
 location=/{
#精确匹配/，主机名后面不能带任何字符串
[configurationA]
}
location/{
#因为所有的地址都以/开头，...]]></description><category></category></item></channel></rss>