<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_21154829的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_21154829</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_21154829]]></copyright><item><title><![CDATA[dynamodb]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122496016</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122496016</guid><author>qq_21154829</author><pubDate>Fri, 14 Jan 2022 15:44:21 +0800</pubDate><description><![CDATA[在DynamoDB之中，同一个用户可以在不同地区创建多张同名表。只要在一个地区中保持表名唯一即可。在DynamoDB执行createTable是一个异步操作，当接收到CreateTable请求时，DynamoDB实时返回一个处理响应，同时将其标记为CREATING状态。只有当表真正建完之后，DynamoDB才会将表状态更改为ACTIVE状态。用户只能在ACTIVE状态的表中进行读写操作。
用户可以在创建表时，同时在表中创建二级索引。如果用户想在多张表中都创建二级索引，那么目前来说只能顺序创建，DynamoD]]></description><category></category></item><item><title><![CDATA[docker的cmd命令与entrypoint命令详解]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122421600</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122421600</guid><author>qq_21154829</author><pubDate>Mon, 10 Jan 2022 23:22:57 +0800</pubDate><description><![CDATA[cmd：
cmd给出的是一个容器的默认的可执行体。也就是容器启动以后，默认的执行的命令。重点就是这个“默认”。意味着，如果docker run没有指定任何的执行命令或者dockerfile里面也没有entrypoint，那么，就会使用cmd指定的默认的执行命令执行。同时也从侧面说明了entrypoint的含义，它才是真正的容器启动以后要执行命令。
总共有三种用法：
The CMD instruction has three forms:
 
CMD ["executable","param1","param]]></description><category></category></item><item><title><![CDATA[Docker笔记]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122397096</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122397096</guid><author>qq_21154829</author><pubDate>Sun, 09 Jan 2022 19:52:06 +0800</pubDate><description><![CDATA[1、Docker介绍


Docker是基于Go语言开发的！开源项目
官网
官方文档Docker文档是超详细的
仓库地址

2、虚拟化技术和容器化技术对比
2.1 虚拟化技术的缺点

资源占用十分多
冗余步骤多
启动很慢


2.2容器化技术



比较Docker和虚拟化技术的不同


传统虚拟机， 虚拟出一条硬件，运行一个完整的操作系统，然后在这个系统上安装和运行软件


容器内的应用直接运行在宿主机的内部，容器是没有自己的内核的，也没有虚拟硬件，所以轻便


每个容器间是相互隔离的，每个容器内都有一个]]></description><category></category></item><item><title><![CDATA[ubuntu安装docker]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122384488</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122384488</guid><author>qq_21154829</author><pubDate>Sat, 08 Jan 2022 18:58:31 +0800</pubDate><description><![CDATA[使用 apt-get 进行安装
step 1: 安装必要的一些系统工具
sudo apt-get update 
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 

step 2:安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 

St]]></description><category></category></item><item><title><![CDATA[Fastdfs与nginx]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122380847</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122380847</guid><author>qq_21154829</author><pubDate>Sat, 08 Jan 2022 15:29:59 +0800</pubDate><description><![CDATA[介绍
一、FastDFS简要介绍
1.是什么
FastDFS就是一种轻量级的、常用的分布式文件系统，通常用作图片服务器。
2.两个部分都是干什么的
FastDFS分为两个部分，Tracker和Storage。
Tracker作为协调者，用户上传和下载文件都要通过tracker。
Storage是存储节点，主要用来存储文件。storage可以分成多个组，每个组有若干个节点，这些节点放的文件都是一样的。各个组存放的文件都是不一样的。所以，如果想扩充FastDFS的容量，非常方便，直接添加组就行了。
3.用户上传]]></description><category></category></item><item><title><![CDATA[fastdfs安装配置方法]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122378479</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122378479</guid><author>qq_21154829</author><pubDate>Sat, 08 Jan 2022 15:17:39 +0800</pubDate><description><![CDATA[FastDFS安装
安装FastDFS依赖包

解压缩libfastcommon-master.zip
进入到libfastcommon-master的目录中
执行./make.sh
sudo apt-get install make
执行sudo ./make.sh install

安装FastDFS

解压缩fastdfs-master.zip
进入到 fastdfs-master目录中
执行 ./make.sh
执行 sudo ./make.sh install

配置跟踪服务器tracker
1、]]></description><category></category></item><item><title><![CDATA[windows内置ubuntu访问windows文件]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122378365</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122378365</guid><author>qq_21154829</author><pubDate>Sat, 08 Jan 2022 12:04:41 +0800</pubDate><description><![CDATA[Ubuntu访问Windows文件
Ubuntu本身挂载了Windows的磁盘，所以可以通过访问Ubuntu下的/mnt文件夹访问Windows文件；


]]></description><category></category></item><item><title><![CDATA[ubuntu安装yum]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122377873</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122377873</guid><author>qq_21154829</author><pubDate>Sat, 08 Jan 2022 11:41:27 +0800</pubDate><description><![CDATA[1、查询版本号lsb_release -a
2、查询对应的清华镜像源
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
修改镜像源配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo vim /etc/apt/sources.list
将查询到的镜像源复制到sources.list中
并在第一行插入
deb http://archive.ubuntu.com/ubuntu/ ]]></description><category></category></item><item><title><![CDATA[修改ubuntu的安装源]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122376769</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122376769</guid><author>qq_21154829</author><pubDate>Sat, 08 Jan 2022 10:20:29 +0800</pubDate><description><![CDATA[备份默认源
 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改成阿里云
sudo vim /etc/apt/sources.list
:%s/archive.ubuntu.com/mirrors.aliyun.com/g

改前
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubu]]></description><category></category></item><item><title><![CDATA[行转列与列转行]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122367633</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122367633</guid><author>qq_21154829</author><pubDate>Fri, 07 Jan 2022 16:42:02 +0800</pubDate><description><![CDATA[行转列的需求如下，可以发现，行转列时其实是先group by，然后将每个组中的行转为列，使用case-when + 聚合函数，
每个由行转为列的列，都要使用case-when或when-case语句。case-when是怎么作用的呢？组中的每行都经过case-when，
如果组中有N行，那通过case-when就产生N个值，再使用聚合函数，变为一个单一值，即新列的值。
行转列
例如：把图1转换成图2结果展示
图1

图2

CREATE TABLE TEST_TB_GRADE (
ID int(10) NO]]></description><category></category></item><item><title><![CDATA[进程，线程，协程总结]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122150283</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122150283</guid><author>qq_21154829</author><pubDate>Wed, 05 Jan 2022 15:38:18 +0800</pubDate><description><![CDATA[现在多进程多线程已经是老生常谈了，协程也在最近几年流行起来。python中有协程库gevent，py web框架tornado中也用了gevent封装好的协程。本文主要介绍进程、线程和协程三者之间的区别。
一、概念
1、进程
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间，不同进程通过进程间通信来通信。由于进程比较重量，占据独立的内存，所以上下文进程间的切换开销（栈、寄存器、虚拟内存、文件句柄等）比较大，但相对比较稳定]]></description><category></category></item><item><title><![CDATA[redis集群搭建方法]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122182900</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122182900</guid><author>qq_21154829</author><pubDate>Wed, 05 Jan 2022 15:36:39 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/xch_yang/article/details/104019552

]]></description><category></category></item><item><title><![CDATA[mysql外键]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122319233</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122319233</guid><author>qq_21154829</author><pubDate>Wed, 05 Jan 2022 11:16:02 +0800</pubDate><description><![CDATA[外键
外键:foreign key，外面的键(键不在自己表中),如果一张表中有一个字段(非主键)指向另外一张表中的主键，那么该字段称之为外键.
增加外键
1.外键可以在创建表的时候或者创建表之后增加(但是要考虑数据的问题) 一张表可以有多个外键
2.创建表的时候增加外键：在所有的表字段之后，使用foreign key(外键字段)references 外部表(主键字段)


外键要求字段本身必须是一个索引(普通索引)，如果字段本身没有索引，外键会先创建一个索引，然后才会创建外键本身
在新增表之后增加外键：修改]]></description><category></category></item><item><title><![CDATA[SQL执行顺序]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122318843</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122318843</guid><author>qq_21154829</author><pubDate>Wed, 05 Jan 2022 11:00:14 +0800</pubDate><description><![CDATA[一、sql执行顺序
from
on
join
where
group by(开始使用select中的别名，后面的语句中都可以使用)
avg,sum…
having
select
distinct
order by
limit
从这个顺序中我们不难发现，所有的 查询语句都是从from开始执行的，在执行过程中，每个步骤都会为下一个步骤生成一个虚拟表，这个虚拟表将作为下一个执行步骤的输入。
第一步：首先对from子句中的前两个表执行一个笛卡尔乘积，此时生成虚拟表 vt1（选择相对小的表做基础表）。
第二步：接下来]]></description><category></category></item><item><title><![CDATA[curl命令解析]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122310039</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122310039</guid><author>qq_21154829</author><pubDate>Tue, 04 Jan 2022 20:12:23 +0800</pubDate><description><![CDATA[-X/–request  参数
  指定什么命令，如 GET、POST。
例：
curl -X GET http://localhost:8080/search?data=123  # -X GET是可选的
curl -X POST -d "data=123&amp;key=456" http://localhost:8080/search

# JSON数据以 请求体（body） 方请求
curl -H "Content-Type:application/json" -X POST --data '{"m]]></description><category></category></item><item><title><![CDATA[微服务gomicro搭建]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122246175</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122246175</guid><author>qq_21154829</author><pubDate>Thu, 30 Dec 2021 23:16:28 +0800</pubDate><description><![CDATA[1 安装go（已安装的略过）
1、从https://gomirrors.org/ 下载安装包（也可翻墙从官网下载）；
下载Golang
2、Windows下直接安装；
3、设置系统环境变量：
GOROOT=[安装目录]
GOPATH=[程序目录]
——安装程序已自动在用户环境变量中添加了GOPATH=C:UsersAdministratorgo 可以改成自己的；
——安装程序已自动在系统环境变量Path中添加了[安装目录]bin 可以不理会。
4、在%GOPATH%目录（上一步的程序目录）下创建三个目录：
]]></description><category></category></item><item><title><![CDATA[go build与go install]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122218014</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122218014</guid><author>qq_21154829</author><pubDate>Wed, 29 Dec 2021 16:11:10 +0800</pubDate><description><![CDATA[1.作用
go build：用于测试编译包，在项目目录下生成可执行文件（有main包）。
go install：主要用来生成库和工具。一是编译包文件（无main包），将编译后的包文件放到 pkg 目录下（$GOPATH/pkg）。二是编译生成可执行文件（有main包），将可执行文件放到 bin 目录（$GOPATH/bin）。
2. 相同点
都能生成可执行文件
3. 不同点
go build 不能生成包文件, go install 可以生成包文件
go build 生成可执行文件在当前目录下， go ins]]></description><category></category></item><item><title><![CDATA[linux的复杂命令]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122167650</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122167650</guid><author>qq_21154829</author><pubDate>Mon, 27 Dec 2021 11:24:25 +0800</pubDate><description><![CDATA[awk命令
awk工作流程是这样的：先执行BEGING，然后读取文件，读入有/n换行符分割的一条记录，然后将记录按指定的域分隔符划分域，填充域，$0则表示所有域,1表示第一个域,1表示第一个域,1表示第一个域,n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完，最后执行END操作。
F指定分隔符
awk -F ‘:’ ‘BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i ]]></description><category></category></item><item><title><![CDATA[linux查看磁盘io命令]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122167195</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122167195</guid><author>qq_21154829</author><pubDate>Mon, 27 Dec 2021 11:00:57 +0800</pubDate><description><![CDATA[五种方法
top命令、vmstat命令、iostat命令、iotop命令、pt-ioprofile命令
一、 top命令
top - 11:41:22 up 51 min, 2 users, load average: 0.01, 0.04, 0.01
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.2%id, 0.4%wa, 0.0%hi, 0.0%si, 0]]></description><category></category></item><item><title><![CDATA[mysql优化explain详解]]></title><link>https://blog.youkuaiyun.com/qq_21154829/article/details/122144867</link><guid>https://blog.youkuaiyun.com/qq_21154829/article/details/122144867</guid><author>qq_21154829</author><pubDate>Sun, 26 Dec 2021 23:12:55 +0800</pubDate><description><![CDATA[EXPLAIN简述:
explain为mysql提供语句的执行计划信息。可以应用在select、delete、insert、update和place语句上。explain的执行计划，只是作为语句执行过程的一个参考，实际执行的过程不一定和计划完全一致，但是执行计划中透露出的讯息却可以帮助选择更好的索引和写出更优化的查询语句。

EXPLAIN输出项（来源于mysql5.7文档）
备注:当使用FORMAT=JSON， 返回的数据为json结构时，JSON Name为null的不显示。
Column	JSON N]]></description><category></category></item></channel></rss>