<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cc_echo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cc_echo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cc_echo]]></copyright><item><title><![CDATA[PHP date()函数格式化【周】]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/113994436</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/113994436</guid><author>cc_echo</author><pubDate>Tue, 23 Feb 2021 16:22:21 +0800</pubDate><description><![CDATA[按周计算，每周有的从周日为开始，有的从星期一开始

若统一每周以星期一开始(ISO 8601标准)

PHP:date(‘o-W’) // 2021-1
SQL:DATE_FORMAT(time,’%x-%v’) // 2021-1


PHP

o - ISO-8601 标准下的年份数字
Y - 年份的四位数表示
y - 年份的两位数表示
N - 星期几的 ISO-8601 数字格式表示（1表示Monday[星期一]，7表示Sunday[星期日]）
w - 星期几的数字表示（0 表示 Sunday[星期.]]></description><category></category></item><item><title><![CDATA[PHP优化 - 解决嵌套问题]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/113696981</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/113696981</guid><author>cc_echo</author><pubDate>Fri, 05 Feb 2021 15:25:35 +0800</pubDate><description><![CDATA[在开发过程中，我们经常遇到一对多的场景，
例如：查询订单列表，并且展示订单详情商品、数量数据

思路0：传统做法

a. 查询订单列表
b. 遍历订单详情

	$orderList = select * from order where xx;
	foreach($orderList as $orderItem) {
		$orderItem-&gt;detailList = select * from order_detail where order_id = $orderItem-&gt;id;
	}.]]></description><category></category></item><item><title><![CDATA[PHP优化循环嵌套问题之array_column和collect集合分组]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/112357747</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/112357747</guid><author>cc_echo</author><pubDate>Fri, 08 Jan 2021 13:46:24 +0800</pubDate><description><![CDATA[PHP优化循环嵌套问题之array_column和collect集合分组


场景：统计推广渠道引入用户数量和带来收益[推广渠道数量少，推广用户数量多]
需求:统计推广人、访客数、购买人数、营业额、转化率


推广日志表：channel_log (推广人/userId)
订单表：order(userId/支付金额)

思路1
a.通过推广日志表，统计推广人带来用户
	select 推广用户, GROUP_CONCAT(distinct userId) AS 全部用户Id,count(distinct us.]]></description><category></category></item><item><title><![CDATA[window搭建swoole-简单聊天室]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/111595814</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/111595814</guid><author>cc_echo</author><pubDate>Wed, 23 Dec 2020 18:18:36 +0800</pubDate><description><![CDATA[Swoole 是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎，为 PHP 提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和客户端模块，可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等，使 PHP 不再局限于传统的 Web 领域。


  window搭建环境：http://blog.y0701.com/2020/05/28/【完整版】在Windows系统上安装Cygwin搭建Swoole测试环境/
  ph.]]></description><category></category></item><item><title><![CDATA[nginx+lua+redis构建高并发应用]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/105124540</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/105124540</guid><author>cc_echo</author><pubDate>Thu, 26 Mar 2020 18:04:33 +0800</pubDate><description><![CDATA[php的高并发一般分为2种：
1、让流量尽量限制在上游的层面，不要一下子涌入后端服务
2、读写分离，对请求做缓存，写请求尽量入队列分批透给数据库。


当请求进入php的生命周期时，io就是它的瓶颈了，因为每个php进程在请求io的时候是同步阻塞的，等待结果返回才退出脚本。但是lua不同，背靠nginx，利用了 epoll 的特性，提高了请求的吞吐量。
Lua是什么？
Lua 是一种轻量小巧的脚...]]></description><category></category></item><item><title><![CDATA[对象赋值后改变成员变量影响赋值对象]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/103182331</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/103182331</guid><author>cc_echo</author><pubDate>Thu, 21 Nov 2019 14:46:32 +0800</pubDate><description><![CDATA[class obj{}
$obj1=new obj();//实例化对象
$obj2 = $obj1;//赋值新对象
$obj1-&gt;name="test";//改变老对象的成员变量属性
var_dump($obj1); // test
var_dump($obj2); // test
$obj2-&gt;name="name";//改变新对象的成员变量属性
var_dump($obj1); /...]]></description><category></category></item><item><title><![CDATA[mysql自定义排序 常用方法]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/102818346</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/102818346</guid><author>cc_echo</author><pubDate>Wed, 30 Oct 2019 14:23:02 +0800</pubDate><description><![CDATA[博客地址：https://www.1024cc.cn

排序【指定字段】

// laravel用法：
$arrayCondition['orderByRaw] = \DB::raw("FIELD(id, ".implode(',', $ids).')'),

// sql语句:
SELECT * FROM 表名 WHERE id IN (1,2,3,4) ORDER BY FIELD(`id`,...]]></description><category></category></item><item><title><![CDATA[rabbitMq认识及应用（php）]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/100066704</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/100066704</guid><author>cc_echo</author><pubDate>Sun, 25 Aug 2019 20:10:16 +0800</pubDate><description><![CDATA[https://www.1024.cn
rabbitMq（消息队列）

一种程序对程序的通信方法
实现了高级消息队列协议（AMQP）的开源消息代理软件（亦称面向消息的中间件）
erlang编写
特性：
①可伸缩性：集群服务
② 消息持久化：从内存持久化消息到硬盘，再从硬盘加载到内存
AMQP：典型的“生产／消费”消息模型


AMQP扩展安装

根据phpinfo()查看版本等

php版本
32...]]></description><category></category></item><item><title><![CDATA[Elasticsearch PHP版]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/95397333</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/95397333</guid><author>cc_echo</author><pubDate>Wed, 10 Jul 2019 23:44:11 +0800</pubDate><description><![CDATA[Elasticsearch PHP版
博客地址：http://www.1024cc.cn

简介：ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎，基于RESTful web接口。简称：ES。用途： 用于分布式全文检索


java环境安装

参考地址：https://www.runoob.com/java/java-environment-...]]></description><category></category></item><item><title><![CDATA[门面模式（外观模式）]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/90454623</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/90454623</guid><author>cc_echo</author><pubDate>Wed, 22 May 2019 23:48:47 +0800</pubDate><description><![CDATA[原文链接：https://www.1024cc.cn
定义

外观模式(Facade Pattern)：外部与一个子系统的通信必须通过一个统一的外观对象进行，为子系统中的一组接口提供一个一致的界面，外观模式定义了一个高层接口，这个接口使得这一子系统更加容易使用。外观模式又称为门面模式，它是一种对象结构型模式。

目的：

1、为一个复杂子系统提供简单的接口
2、减少客户端和子系统的耦合

介绍

...]]></description><category></category></item><item><title><![CDATA[打印电子面单]]></title><link>https://blog.youkuaiyun.com/cc_echo/article/details/90454516</link><guid>https://blog.youkuaiyun.com/cc_echo/article/details/90454516</guid><author>cc_echo</author><pubDate>Wed, 22 May 2019 23:37:22 +0800</pubDate><description><![CDATA[原文地址：https://www.1024cc.cn

打印电子面单，常用两种方案：


通过快递100获取快递单号，结合c-lodop热敏纸打印
通过菜鸟ISV/自研ERP使用菜鸟电子面单

1.快递100 - 结合热敏纸打印(C-Lodop)

介绍：根据客户提交的快递公司编码获取电子面单页面，调用方获取到电子面单页面后可以通过打印机打印出来使用


地址文档

1.快递100： http:/...]]></description><category></category></item></channel></rss>