<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tacks的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Tacks</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tacks]]></copyright><item><title><![CDATA[使用 Eloquent ORM 使用 with 模型关联查询，如何处理select不同模型的字段（字段名可能相同）]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/112788019</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/112788019</guid><author>Tacks</author><pubDate>Mon, 18 Jan 2021 16:32:13 +0800</pubDate><description><![CDATA[遇到一个问题，就是articles和article_comments两个数据模型
现在要查出来某个用户的评论列表（列表包含 评论内容article_comments.content、评论时间article_comments.created_at、评论所属的文章articles.title）。
我首先需要根据article_comments中的user_id查询出来对应的评论列表，然后根据评论列表中的article_id，然后找到对应文章标题。

一. 关联模型（一对多）

articles 文章模型

/.]]></description><category></category></item><item><title><![CDATA[【Swoole】- Centos7中使用Pecl安装PHP7的Swoole扩展]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/105859256</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/105859256</guid><author>Tacks</author><pubDate>Thu, 30 Apr 2020 18:04:59 +0800</pubDate><description><![CDATA[Swoole是一个为PHP用C和C++编写的，基于事件、高性能、异步、协程并行网络通信引擎。Swoole 扩展是按照 PHP Extension标准扩展构建的，安装的方式大体思路就跟安装PHP扩展类似。本节采用PHP官方提供的pecl命令进行安装。






官网
	https://www.swoole.com/
	
	文档
	https://wiki.swoole.com
	
	源码
	h...]]></description><category></category></item><item><title><![CDATA[PHP字符串反转方法]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/103527644</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/103527644</guid><author>Tacks</author><pubDate>Fri, 13 Dec 2019 15:10:49 +0800</pubDate><description><![CDATA[PHP处理字符串反转的常用的几种方法]]></description><category></category></item><item><title><![CDATA[SSH连接云服务器报错The semaphore timeout period has expired]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/103271393</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/103271393</guid><author>Tacks</author><pubDate>Wed, 27 Nov 2019 10:55:25 +0800</pubDate><description><![CDATA[大致经过就是，我买了一个云主机，然后使用ssh进行连接的时候，运行了一个很长时间的编译命令，但是每次没编译结束就停了，搞的我很是烦，通过报错语句可以看到是超时问题timeout。那么需要外面对ssh命令连接的配置进行更改，主要就是在服务器下/etc/ssh/ssh_config文件最后一行加上ClientAliveInterval 3600 然后重启服务器(远程主机重启要谨慎)，然后就...]]></description><category></category></item><item><title><![CDATA[【周分享01】-【对新技术的学习大致流程方法】]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102888114</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102888114</guid><author>Tacks</author><pubDate>Sun, 03 Nov 2019 22:14:13 +0800</pubDate><description><![CDATA[【周分享】2019-10-26 第8周：周六

每周做一些小的分享，加油！！！
作者：阿涛

【对新技术的学习大致流程方法】

去把官网的API手册花时间整体大致看一下【一周】

当然可能官网是英文的，那么可以使用翻译去看一下
结合官网的demo 案例，自己实践


在网上搜索对应的视频结合去学习【一个月】

对应慕课网、掘金、极客、各大视频网站,最好有实践的视频
如果想要比较好的，可以花一点点你...]]></description><category></category></item><item><title><![CDATA[【周分享02】-【编译型语言和解释型语言的执行原理】]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102888079</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102888079</guid><author>Tacks</author><pubDate>Sun, 03 Nov 2019 22:11:27 +0800</pubDate><description><![CDATA[【周分享】2019-11-03 第9周：周日

每周做一些小的分享，加油！！！
作者：阿涛

【编译型语言和解释型语言的执行原理】
[1] 大致区别

编译型：

例子：C 、 C++ 、Go
编译：程序的源代码首先翻译成汇编语言，再用编译器完成编译工作成为目标文件；
通俗：把做好的源程序全部编译成二进制代码的可运行程序，可直接运行这个程序。
执行速度快、效率高；依靠编译器、跨平台性差些。


解...]]></description><category></category></item><item><title><![CDATA[(leetcode)[数组] titleID169  【求众数】]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102844973</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102844973</guid><author>Tacks</author><pubDate>Thu, 31 Oct 2019 20:23:12 +0800</pubDate><description><![CDATA[题目


169.[求众数]

给定一个大小为 n 的数组，找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。
你可以假设数组是非空的，并且给定的数组总是存在众数。

示例1:
  输入: [3,2,3]
  输出: 3
示例2:
  输入: [2,2,1,1,1,2,2]
  输出: 2



来源：力扣（LeetCode）
链接：https://lee...]]></description><category></category></item><item><title><![CDATA[(leetcode) titleID136 【只出现一次的数字】]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102749907</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102749907</guid><author>Tacks</author><pubDate>Fri, 25 Oct 2019 21:02:40 +0800</pubDate><description><![CDATA[题目136：[只出现一次的数字]
给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。

说明：
  你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？

示例 1:
  输入: [2,2,1]
  输出: 1
示例2:
  输入: [4,1,2,1,2]
  输出: 4


思路


- [1]哈希计数法：循...]]></description><category></category></item><item><title><![CDATA[(leetcode) titleID88  【合并两个有序数组】]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102730819</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102730819</guid><author>Tacks</author><pubDate>Thu, 24 Oct 2019 20:07:48 +0800</pubDate><description><![CDATA[来源（https://leetcode-cn.com/problems/merge-sorted-array）

题目：【合并两个有序数组】

给定两个有序整数数组nums1 和 nums2，将 nums2 合并到nums1中，使得num1 成为一个有序数组。

说明:
  初始化nums1 和 nums2 的元素数量分别为m 和 n。
  你可以假设nums1有足够的空...]]></description><category></category></item><item><title><![CDATA[字符串全排列]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102386972</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102386972</guid><author>Tacks</author><pubDate>Tue, 08 Oct 2019 15:11:32 +0800</pubDate><description><![CDATA[输入一个字符串,按字典序打印出该字符串中字符的所有排列。

例如，输入字符串abc，则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。


思路：

先确定第一个位置的字符，然后与后面的每一个字符进行交换，对所有的字符都这样处理，直到长度一样打印。

例子：abc
第一步(for循环)：abc将第一个字符与自己本身还与其他的字符进行交换后得到abc...]]></description><category></category></item><item><title><![CDATA[PHP驼峰式与下划线转化]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/102375076</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/102375076</guid><author>Tacks</author><pubDate>Tue, 08 Oct 2019 12:10:21 +0800</pubDate><description><![CDATA[下划线式转化为驼峰字符串



/**
 * 下划线转驼峰 字符串转化函数 _make_by_id_ =&gt; MakeById
 *
 * @param $str
 *
 * @return string $str string 输出转化后的字符串
 */
function underLineToHump($str){
        $str = trim($str,'_');//去除前后...]]></description><category></category></item><item><title><![CDATA[尽量多的分割字符串]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/101265793</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/101265793</guid><author>Tacks</author><pubDate>Tue, 24 Sep 2019 09:37:15 +0800</pubDate><description><![CDATA[给定一个只包含小写字母的字符串，我们通过如下规则分割它：

1.一个片段中包含的字符不允许出现在其他片段内。

2.分割的片段数应尽可能的多。

 请实现一个函数，输出分割的片段。

 例如：输入aabbbacceddefgkifk 输出为 aabbba cc edde fgkifk


【1】Vector

    向量（Vector）是一个封装了动态大小数组的顺序容器（Seq...]]></description><category></category></item><item><title><![CDATA[Docker入门【四】容器基本使用]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/99637115</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/99637115</guid><author>Tacks</author><pubDate>Thu, 15 Aug 2019 15:27:39 +0800</pubDate><description><![CDATA[容器依据镜像作为基石启动，镜像是静态的定义，容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。容器的实质是进程，但与直接在宿主执行的进程不同，容器进程运行于属于自己的独立的命名空间。容器存储层的生存周期和容器一样，容器消亡时，容器存储层也随之消亡。


启动容器
  -检查本地是否存在指定的镜像，不存在就从公有仓库下载
  -利用镜像创建并启动一个容器
  -分配一个...]]></description><category></category></item><item><title><![CDATA[Docker入门【三】镜像基本使用]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/99178986</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/99178986</guid><author>Tacks</author><pubDate>Sun, 11 Aug 2019 12:18:28 +0800</pubDate><description><![CDATA[Docker 运行容器前需要本地存在对应的镜像，如果本地不存在该镜像，Docker 会从镜像仓库下载该镜像。它是容器的基石，层叠的只读文件系统，应用联合加载(union mount)技术。


【1】先来打个样

   先来让你真真切切的感受一下，我们尝试启动一个docker。首先我们从仓库拉去镜像，然后容器以镜像为基础运行一个容器，然后就退并删除。这一系列操作中就会涉及到一...]]></description><category></category></item><item><title><![CDATA[Docker入门【二】基本概念]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/98466835</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/98466835</guid><author>Tacks</author><pubDate>Sun, 04 Aug 2019 19:43:04 +0800</pubDate><description><![CDATA[Docker 是 PaaS(Platform as a Service平台即服务) 提供商 dotCloud 开源的高级容器引擎，作为软件部署解决方案、可以将任何应用包装在Linux container容器中运行的工具。源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。它作为一种新兴的虚拟化方式，Docker 跟传统的虚拟化方式相比具有众多的优势。主要有...]]></description><category></category></item><item><title><![CDATA[Docker入门【一】windows安装Docker ToolBox]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/98443396</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/98443396</guid><author>Tacks</author><pubDate>Sun, 04 Aug 2019 11:49:45 +0800</pubDate><description><![CDATA[Docker 是一个开源的应用容器引擎，开发者可以打包他们的应用以及依赖包到一个可移植的容器中，然后发布到任何流行的 Linux 机器上，便可以实现虚拟化。与传统的虚拟机方式不同，方便快捷让越来越多人去使用它来简化配置快速部署，从而提高开发效率，而且还可以隔离应用，说了那么多，好像说得那么屌，还是要上手试试才知道是不是那么好用。


【1】安装Docker ToolBox

   可能你对...]]></description><category></category></item><item><title><![CDATA[CI框架部署]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/95163816</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/95163816</guid><author>Tacks</author><pubDate>Tue, 09 Jul 2019 09:01:32 +0800</pubDate><description><![CDATA[1.源码获取

在官网上下载对应版本的源码。当前最新版本是3.1.10版，下载解压后可以看到下面的文件列表。

application就是我们要开发的应用程序的目录；

system是CI框架的系统文件，整个框架的核心源码；

user_guide是用户手册，可以移除到外面，用于离线阅。

index.php是系统的唯一入口文件；

composer.json是依赖管理文件，可以安装组件。

官...]]></description><category></category></item><item><title><![CDATA[杂20190531]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/90722763</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/90722763</guid><author>Tacks</author><pubDate>Fri, 31 May 2019 20:55:52 +0800</pubDate><description><![CDATA[SQL：结构化查询语句
分类：
	DDL (Data Definition Language)数据定义语句 create drop alter
	DML (Data Manipulation Language)数据操作语句 insert delete update select
	DCL (Data Control language)数据控制语句 用户权限 安全级别 grant revoke 
...]]></description><category></category></item><item><title><![CDATA[linux下安装Composer]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/90513962</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/90513962</guid><author>Tacks</author><pubDate>Fri, 24 May 2019 11:58:23 +0800</pubDate><description><![CDATA[Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库，它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的，它涉及 "packages" 和 "libraries"，但它在每个项目的基础上进行管理，在你项目的某个目录中（例如 vendor）进行安装。默认情况下它不会在全局安装任何东西。因此，这仅仅是一个依赖管理。PHP中的包管理器是PEAR...]]></description><category></category></item><item><title><![CDATA[VirutalBox+Vagrant安装Ubuntu系统-快速搭建lnmp环境]]></title><link>https://blog.youkuaiyun.com/Tacks/article/details/90437113</link><guid>https://blog.youkuaiyun.com/Tacks/article/details/90437113</guid><author>Tacks</author><pubDate>Wed, 22 May 2019 09:15:25 +0800</pubDate><description><![CDATA[win10+VirutlBox6.0+Vagrant 2.2.4+Ubuntu 16.04.6+Nginx1.10.3+PHP7.0.33+Mysql5.7.26

本次的安装教程来源：《PHP高性能开发基础、框架与项目实战》

亲测确实挺方便的也可以根据不同需要打造个性化开发环境，另外vagrant确实挺好用，box环境一打包就可以了。


【一】VirtualBox+vagrant搭建Ubu...]]></description><category></category></item></channel></rss>