<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Fish Where The Fish Are]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wayne_ren</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wayne_ren]]></copyright><item><title><![CDATA[关于下载视频]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84924329</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84924329</guid><author>wayne_ren</author><pubDate>Fri, 03 Aug 2018 15:44:59 +0800</pubDate><description><![CDATA[视频、电影、音乐这些多媒体可能是人们日常使用最多的。国外的YouTube、Vimeo、Lynda、Dailymotion、Hulu、Netflix、Spotify。国内的优酷、腾讯视频、爱奇艺等等。

虽然目前网速的提升，移动互联网的便利，在线观看视频已经变得很方便。但是偶尔也需要把视频或者音频下载下来。

Flash被淘汰后，现在各大网站基本都使用的是HTML5的来播放视频。而目前来说H...]]></description><category></category></item><item><title><![CDATA[CSS 默认样式、样式重置]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84919390</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84919390</guid><author>wayne_ren</author><pubDate>Fri, 20 Apr 2018 15:09:04 +0800</pubDate><description><![CDATA[浏览器差异问题一直是前端的开发难点。

[b]（1）默认样式[/b]

default style sheet、user agent stylesheet、built-in stylesheet

学习HTML/CSS首先要理解，各浏览器对标签预先都设定了不一样的默认CSS。
比如：
大部分浏览器会把链接显示成蓝色，把点击过的链接显示成紫色。
但不同浏览器不同版本默认显示h1的字...]]></description><category></category></item><item><title><![CDATA[logrotate入门]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84916127</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84916127</guid><author>wayne_ren</author><pubDate>Wed, 07 Feb 2018 08:36:24 +0800</pubDate><description><![CDATA[日志文件对于开发运维是非常有用的，通过日志可以跟踪系统的使用以及排查故障。但为了获取到更多的日志信息，日志文件就变得很大，需要占用更多的磁盘空间。系统运行一段时间后，日志文件就会不可控的增大。抛开磁盘占用，肥大的日志文件本身也会拖慢系统的运行。所以，日志文件要保持在一个可控的范围之内。有效管理日志文件也是运维的一个重要任务。通常做法是需要每天做一次日志的归档。

Log rotation、日志...]]></description><category></category></item><item><title><![CDATA[Bash简要入门]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84915194</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84915194</guid><author>wayne_ren</author><pubDate>Fri, 19 Jan 2018 16:03:04 +0800</pubDate><description><![CDATA[[b]（一）Shell 和 Bash[/b]

Bash（Bourne-Again SHell）Linux系统默认的命令解释器。
[code=&quot;shell&quot;][root@localhost ~]# file -h /bin/sh
/bin/sh: symbolic link to `bash'
[root@localhost ~]# echo $SHELL
/bin/bash[/cod...]]></description><category></category></item><item><title><![CDATA[MQTT入门（10）- MQTT与WebSocket]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914631</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914631</guid><author>wayne_ren</author><pubDate>Mon, 08 Jan 2018 16:23:01 +0800</pubDate><description><![CDATA[基于浏览器的Web应用，一般都是通过JavaScript来和服务器进行交互，这时可以采用基于WebSocket的MQTT。大部分Broker都支持MQTT over WebSocket。这样做的好处在于可以很好的利用浏览器的WebSocket，而服务端无需在开放80/443以外的端口。

MQTT本省和WebSocket没有什么关系，但是Broker可以处理WebSocket里的MQTT包。...]]></description><category></category></item><item><title><![CDATA[MQTT入门（9）- 连接和会话]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914614</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914614</guid><author>wayne_ren</author><pubDate>Mon, 08 Jan 2018 11:29:15 +0800</pubDate><description><![CDATA[[b]（1）Connection[/b]

连接指的是client和broker之间，client和client之间不能直接连接。client和broker之间建立连接，必须先发送一个 CONNECT 消息，并附带上必要的认证信息。broker接收到 CONNECT 之后，会执行认证等处理,应答一个 CONNACK 消息。连接一旦建立，broker会为client保持这个连接，直到客户端发起d...]]></description><category></category></item><item><title><![CDATA[MQTT入门（8）- 保留消息和最后遗嘱]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914523</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914523</guid><author>wayne_ren</author><pubDate>Fri, 05 Jan 2018 14:59:19 +0800</pubDate><description><![CDATA[[b]（1）保留消息Retained Messages[/b]

MQTT中，无论是发布还是订阅都不会有任何触发事件。

1个Topic只有唯一的retain消息，Broker会保存每个Topic的最后一条retain消息。
每个Client订阅Topic后会立即读取到retain消息，不必要等待发送。
订阅Topic时可以使用通配符，就会收到匹配的每个Topic的retain消息。...]]></description><category></category></item><item><title><![CDATA[MQTT入门（7）- 服务质量QoS]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914503</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914503</guid><author>wayne_ren</author><pubDate>Fri, 05 Jan 2018 10:33:18 +0800</pubDate><description><![CDATA[为了确保客户端和服务器端之间消息的送达，MQTT支持三种消息发布服务质量(QoS：Quality of Service)：

[b]（1）QoS 0(At most once)“至多一次”[/b]
消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况，环境传感器数据，丢失一次读记录无所谓，因为不久后还会有第二次发送。

[b]（2）QoS 1(At le...]]></description><category></category></item><item><title><![CDATA[MQTT入门（6）- 主题Topics]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914470</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914470</guid><author>wayne_ren</author><pubDate>Thu, 04 Jan 2018 16:05:01 +0800</pubDate><description><![CDATA[MQTT是基于topic来发布消息的，发布者在发布消息时需要指定该消息发布在哪个topic下。

topic最容易的理解方式是文件夹路径。如果有成千上万的不同类型的文件要保存，为了合理放置这些文件，需要创建一系列有层次性的文件夹来管理它们。发布消息就好比把文件保存到不同的文件夹下。

和文件夹类似，topic有主题级别，各级别之间是以斜杠(/)来分隔的。
比如： rensanning/h...]]></description><category></category></item><item><title><![CDATA[MQTT入门（5）- 服务器Servers/Brokers]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914462</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914462</guid><author>wayne_ren</author><pubDate>Thu, 04 Jan 2018 15:05:49 +0800</pubDate><description><![CDATA[虽然有免费的公开Broker服务可以使用，当初步理解了MQTT协议之后，就有必要自己动手搭建一台Broker了。这样才能更深入的学习MQTT的更多内容。开源的Broker有很多，目前主流的Broker有以下3个：
[list]
[*]Mosquitto：https://mosquitto.org/ 
[*]VerneMQ：https://vernemq.com/ 
[*]EMQTT：htt...]]></description><category></category></item><item><title><![CDATA[MQTT入门（4）- 客户端工具]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914442</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914442</guid><author>wayne_ren</author><pubDate>Thu, 04 Jan 2018 11:03:40 +0800</pubDate><description><![CDATA[[b]（1）开发包Library[/b]

[url=https://www.eclipse.org/paho/]Eclipse Paho[/url] 提供了各种开发语言使用的开发SDK，比如：
Python：https://github.com/eclipse/paho.mqtt.python
JavaScript：https://github.com/eclipse/paho.mqtt...]]></description><category></category></item><item><title><![CDATA[MQTT入门（3）- 分析报文Packet]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914431</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914431</guid><author>wayne_ren</author><pubDate>Thu, 04 Jan 2018 09:13:19 +0800</pubDate><description><![CDATA[既然MQTT是一个通信协议，就有必要看看在通信时的packet报文信息，有助于对协议自身的理解。

MQTT是一个二进制协议，所以报文中的数据都是字节码而不是文字。

而且它采用 command  和 command acknowledgement 成对实现通信。

[b]（1）报文分析[/b]

[b]标准的MQTT报文结构[/b]
主要分为三部分：固定报头（Fixed Hea...]]></description><category></category></item><item><title><![CDATA[MQTT入门（2）- 公开的服务Broker]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914395</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914395</guid><author>wayne_ren</author><pubDate>Wed, 03 Jan 2018 14:21:09 +0800</pubDate><description><![CDATA[使用MQTT，前提是需要一个服务器Server/Broker，除了自己搭建服务，刚开始时可以使用第三方提供的在线公开的免费Broker服务。使用这些免费Broker服务，可以在刚开始时快速理解MQTT协议。

[img]http://dl2.iteye.com/upload/attachment/0128/3608/e523c06b-0ad1-3186-b4bc-3288f944c410.pn...]]></description><category></category></item><item><title><![CDATA[MQTT入门（1）- 简要介绍]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84914393</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84914393</guid><author>wayne_ren</author><pubDate>Wed, 03 Jan 2018 13:45:03 +0800</pubDate><description><![CDATA[MQTT（MQ Telemetry Transport）消息队列遥测传输协议

是TCP / IP协议之上，基于发布Publish/订阅Subscribe模式，机器到机器（M2M）通信，二进制传输的轻量级消息协议。1999年IBM开发，2010年对外免费开放，2014年正式成为OASIS的官方标准。

虽然名称里有MQ，但它不是Message Queue，它并不会保证消息的顺序。

和...]]></description><category></category></item><item><title><![CDATA[基础知识 - 系统设计的幂等性]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84908510</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84908510</guid><author>wayne_ren</author><pubDate>Fri, 08 Sep 2017 09:45:35 +0800</pubDate><description><![CDATA[幂等(idempotence)本来是一个代数中的概念。说的是，x为某集合内的任意数, f为运算子，如果满足f(x)=f(f(x)), 那么称f运算具有幂等性(idempotent)。比如: abs(a)=abs(abs(a))。

在计算机方面用来表示对同一个过程应用相同的参数多次和一次调用产生的效果是一样的，这样的过程被称为满足幂等性。系统接口对外的一种承诺，不用担心重复执行会对系统造成改变...]]></description><category></category></item><item><title><![CDATA[搭建独立图像处理服务（Thumbor）]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84906910</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84906910</guid><author>wayne_ren</author><pubDate>Wed, 16 Aug 2017 10:26:03 +0800</pubDate><description><![CDATA[Thumbor是基于Python的开源的On-Demand图片处理服务，可以实现图片裁剪crop、缩放resize、翻转flip、滤镜filter，甚至是人脸识别。

官网：[url=https://github.com/thumbor/thumbor]https://github.com/thumbor/thumbor[/url]

目前版本： 6.3.2

图像处理是系统开发中的必...]]></description><category></category></item><item><title><![CDATA[初学编程的必做数学题目]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84906568</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84906568</guid><author>wayne_ren</author><pubDate>Fri, 11 Aug 2017 13:06:09 +0800</pubDate><description><![CDATA[初学编程时，这些一定是[color=red][b]必做[/b][/color]的数学题目！

[b]（1） 数字[/b]

[color=red]奇数（Odd）偶数（Even）[/color]
奇数就是不能被2整除的整数。偶数就是能被2整除的整数。

[color=red]闰年（Leap year）[/color]
能被4整除但不能被100整除，或能被400整除的年份即为闰年。
...]]></description><category></category></item><item><title><![CDATA[Web服务中上传文件大小的限制]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84905881</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84905881</guid><author>wayne_ren</author><pubDate>Fri, 04 Aug 2017 16:16:22 +0800</pubDate><description><![CDATA[为了减轻服务器（CPU/内存/网络带宽）负荷，避免DDoS攻击，必须限制客户端的文件上传大小。

常用兆和字节对应表：
[quote]  1 MB  =  1048576 B
  2 MB  =  2097152 B
  5 MB  =  5242880 B
 10 MB  =  10485760 B
 20 MB  =  20971520 B
 50 MB  =  5242880...]]></description><category></category></item><item><title><![CDATA[关于代码风格]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84905625</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84905625</guid><author>wayne_ren</author><pubDate>Wed, 02 Aug 2017 10:28:26 +0800</pubDate><description><![CDATA[良好的代码风格能提高代码可读性及可维护性，程序员都应该遵守基本的代码排版规范、代码命名规范。

首先看看以下三张图，在没有代码的情况下能猜猜各是什么开发语言。
---------------------------------------------------------------
[img]http://dl2.iteye.com/upload/attachment/0126/365...]]></description><category></category></item><item><title><![CDATA[Spring Security OAuth2 Provider 之 整合JWT]]></title><link>https://blog.youkuaiyun.com/wayne_ren/article/details/84905006</link><guid>https://blog.youkuaiyun.com/wayne_ren/article/details/84905006</guid><author>wayne_ren</author><pubDate>Tue, 25 Jul 2017 15:31:00 +0800</pubDate><description><![CDATA[OAuth2 是认证框架、JWT (JSON Web Tokens) 是认证协议。

相关文章：
[url=http://rensanning.iteye.com/blog/2384996]Spring Security OAuth2 Provider 之 最小实现[/url]
[url=http://rensanning.iteye.com/blog/2385162]Spring Sec...]]></description><category></category></item></channel></rss>