<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[江淮猫]]></title><description><![CDATA[一只快乐的小猫]]></description><link>https://blog.youkuaiyun.com/cblou</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cblou]]></copyright><item><title><![CDATA[社会会把你塑造成你讨厌的模样]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/102588765</link><guid>https://blog.youkuaiyun.com/cblou/article/details/102588765</guid><author>cblou</author><pubDate>Fri, 01 Nov 2019 12:21:29 +0800</pubDate><description><![CDATA[公司要做短信认证，就是输入手机号发个验证码，认证完成后可以上网。

鉴于平台限制的原因，选择一个自认为小公司的短信服务。个人注册个账号，发现最低套餐要3000块。在这时，有个客服打电话问了一下情况，给了我50条短信用于测试。一切看起来还算顺畅。那个客服天天（周末）发信息，意思就是推荐买他们的短信服务产品，我也有说过这边只是做开发产品，买短信服务是最终用户的事情。为了免受骚扰，我把微信加黑名单了，然...]]></description><category></category></item><item><title><![CDATA[手机浏览器之定时器]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/80310203</link><guid>https://blog.youkuaiyun.com/cblou/article/details/80310203</guid><author>cblou</author><pubDate>Mon, 14 May 2018 15:35:09 +0800</pubDate><description><![CDATA[一般地，js中定时器的用法如下：var intervalID = window.setInterval(code, delay);清楚定时器，用法如下：clearInterval(intervalID);在PC浏览器上清除定时器的方式可以符合预期。但是在手机浏览上，会出现诡异的一幕：假设在A页面上使用定时器，页面已经跳转到B页面上了，定时器还在运行，即使在离开页面A时通过clearInterval...]]></description><category></category></item><item><title><![CDATA[openwrt luci流程分析]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/54093761</link><guid>https://blog.youkuaiyun.com/cblou/article/details/54093761</guid><author>cblou</author><pubDate>Thu, 05 Jan 2017 15:39:22 +0800</pubDate><description><![CDATA[参考资料：http://www.cnblogs.com/gnuhpc/archive/2013/08/31/3293643.html

luci使用的是uhttpd web服务器，这是openwrt特有的web服务器，貌似没有发现其开源项目。docroot是/www目录，index-html指向了/cgi-bin/luci，注意这是相对于docroot而言的路径。


openwrt中利]]></description><category></category></item><item><title><![CDATA[JavaScript中setTimeout的用法]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/51509045</link><guid>https://blog.youkuaiyun.com/cblou/article/details/51509045</guid><author>cblou</author><pubDate>Thu, 26 May 2016 17:46:47 +0800</pubDate><description><![CDATA[参考：https://developer.mozilla.org/zh-CN/docs/Web/API/Window/setTimeout
1.window.setTimeout
在指定的延迟时间之后调用一个函数或执行一个代码片段。
语法：var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]);
var ti]]></description><category></category></item><item><title><![CDATA[nodejs中exports和module.exports区别]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/51490037</link><guid>https://blog.youkuaiyun.com/cblou/article/details/51490037</guid><author>cblou</author><pubDate>Tue, 24 May 2016 15:24:54 +0800</pubDate><description><![CDATA[本文英文链接：http://www.hacksparrow.com/node-js-exports-vs-module-exports.html
你肯定熟悉nodejs模块中的exports对象，可以在你的模块中用它创建函数（假设文件名为rocker.js）
exports.name = function() {
    console.log('My name is Lemmy Kilmis]]></description><category></category></item><item><title><![CDATA[A problem occurred configuring project ':app'. > failed to find Build Tools revision 23.0.1]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/51444643</link><guid>https://blog.youkuaiyun.com/cblou/article/details/51444643</guid><author>cblou</author><pubDate>Wed, 18 May 2016 16:05:01 +0800</pubDate><description><![CDATA[在初学react-native时，执行命令react-native run-android会报如下错误：
react-native run-android
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug...


FAILU]]></description><category></category></item><item><title><![CDATA[lua 5.1 的 module]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/51407938</link><guid>https://blog.youkuaiyun.com/cblou/article/details/51407938</guid><author>cblou</author><pubDate>Sat, 14 May 2016 20:54:40 +0800</pubDate><description><![CDATA[本文转自http://blog.codingnow.com/2006/02/lua_51_module.html。

lua 从 5.1 开始终于官方提供统一的 module 实现标准了，这是个值得庆幸的事。今天读了下相关的源码和文档，把这套机制搞清楚了，还是很巧妙的。从简洁这个角度看，要比 python 强 :)

有一点容易被忽略掉(我的同事在用的时候就忽略掉了)，module 指令运]]></description><category></category></item><item><title><![CDATA[ubuntu15.10安装完后找不到win10了]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/50342845</link><guid>https://blog.youkuaiyun.com/cblou/article/details/50342845</guid><author>cblou</author><pubDate>Thu, 17 Dec 2015 15:58:17 +0800</pubDate><description><![CDATA[你确定没有覆盖掉win,如果是你可以在终端输入sudo update-grub2]]></description><category></category></item><item><title><![CDATA[AngularJS 表格分页]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/49126137</link><guid>https://blog.youkuaiyun.com/cblou/article/details/49126137</guid><author>cblou</author><pubDate>Wed, 14 Oct 2015 16:19:52 +0800</pubDate><description><![CDATA[在AngularJS中没有像ExtJS中那么成熟的表格分页组件，上网搜了一下也没发现比较完善的版本，所以自己动手写了一个，不足之处请指正。废话少说，直接上代码。
Paginator工厂函数如下：
var servicesapp = angular.module('services', []);
servicesapp.factory('Paginator', function() {
	//虽]]></description><category></category></item><item><title><![CDATA[mongoskin封装mongdo驱动的调用方式]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/48339333</link><guid>https://blog.youkuaiyun.com/cblou/article/details/48339333</guid><author>cblou</author><pubDate>Thu, 10 Sep 2015 10:56:26 +0800</pubDate><description><![CDATA[最近在看MEAN框架，在学习过程中想对mongoskin接口再进行一次封装，实现的目标：是数据库连接信息写入配置文件，在实调用过程中不涉及数据库的打开和关闭等操作，具体的封装接口在后续的文章中呈现。封装接口就会涉及到对原接口的了解，但是mongoskin接口的文档又不是很完善，因此就需要对mongodb接口的了解。
        先说一下，本文使用的mongoskin的版本号是1.4.13，大]]></description><category></category></item><item><title><![CDATA[nodejs+express+mongodb安装]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/47843763</link><guid>https://blog.youkuaiyun.com/cblou/article/details/47843763</guid><author>cblou</author><pubDate>Fri, 21 Aug 2015 22:40:54 +0800</pubDate><description><![CDATA[本文是在64为win7系统在进行的，linux环境大家可以类似操作。
1.nodejs安装
  到nodejs官网下载安装包，按照默认配置点击下一步操作即可。nodejs官网https://nodejs.org/，本文安装的版本是0.12.7。
2.express安装
  a.执行命令：npm install express-generator -g，会自动安装express应用生成器。]]></description><category></category></item><item><title><![CDATA[MEAN框架介绍]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/47843727</link><guid>https://blog.youkuaiyun.com/cblou/article/details/47843727</guid><author>cblou</author><pubDate>Fri, 21 Aug 2015 22:08:51 +0800</pubDate><description><![CDATA[最近在Angular社区的原型开发者间，一种全Javascript的开发架构MEAN正突然流行起来。其首字母分别代表的是：(M)ongoDB——NoSQL的文档数据库，使用JSON风格来存储数据，甚至也是使用JS来进行sql查询；(E)xpress——基于Node的Web开发框架；(A)agular——JS的前端开发框架，提供了声明式的双向数据绑定；(N)ode——基于V8的运行时环境（JS语言开]]></description><category></category></item><item><title><![CDATA[做网站用UTF-8还是GB2312？]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/47725393</link><guid>https://blog.youkuaiyun.com/cblou/article/details/47725393</guid><author>cblou</author><pubDate>Mon, 17 Aug 2015 15:09:19 +0800</pubDate><description><![CDATA[首先申明，本文系转载文章，原文地址：http://kb.cnblogs.com/page/60552/。

经常我们打开外国网站的时候出现乱码，又或者打开很多非英语的外国网站的时候，显示的都是口口口口口的字符，

　　WordPress程序是用的UTF-8，很多cms用的是GB2312。

　　● 为什么有这么多编码？

　　● UTF-8和GB2312有什么区别？

　　● ]]></description><category></category></item><item><title><![CDATA[史上最详细的JavaScript事件使用指南]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/46309711</link><guid>https://blog.youkuaiyun.com/cblou/article/details/46309711</guid><author>cblou</author><pubDate>Mon, 01 Jun 2015 13:57:05 +0800</pubDate><description><![CDATA[事件流

　　事件流描述的是从页面中接收事件的顺序，IE和Netscape提出来差不多完全相反的事件流的概念，IE事件流是事件冒泡流，Netscape事件流是事件捕获流。

事件冒泡

　　IE的事件流叫做事件冒泡，即事件开始时由最具体的元素(文档中嵌套最深的那个节点)接收，然后逐级向上（一直到文档）；如下代码：


    
        事件测试
    


J]]></description><category></category></item><item><title><![CDATA[由浅入深探究mysql索引结构原理、性能分析与优化]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/45966557</link><guid>https://blog.youkuaiyun.com/cblou/article/details/45966557</guid><author>cblou</author><pubDate>Mon, 25 May 2015 10:15:25 +0800</pubDate><description><![CDATA[第一部分：基础知识


索引

官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录，通过目录就知道要的资料在哪里，不用一页一页查阅找出需要的资料。关键字index

-------------------------------------------------------------

唯一索引

强调唯一，就是索引值必须唯一，关键字uni]]></description><category></category></item><item><title><![CDATA[字符串移位包含问题]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/45746577</link><guid>https://blog.youkuaiyun.com/cblou/article/details/45746577</guid><author>cblou</author><pubDate>Fri, 15 May 2015 16:40:55 +0800</pubDate><description><![CDATA[本问题来源于《编程之美》。
问题描述：给定两个字符串s1和s2，要求判定s2是否能够被通过s1做循环移位(rotate)得到的字符串包含。例如，给定s1=AABCD和s2=CDAA，返回true；给定s1=ABCD和s2=ACBD，返回false。
下面有两种解法，第一种是枚举法；第二种是用了一种技巧，实现用空间换时间，现在的空间已经很大了int stringrotate1()
{
	char]]></description><category></category></item><item><title><![CDATA[马年小结——一个程序员第一年工作小结]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/43762433</link><guid>https://blog.youkuaiyun.com/cblou/article/details/43762433</guid><author>cblou</author><pubDate>Thu, 12 Feb 2015 14:54:18 +0800</pubDate><description><![CDATA[2014年已快过去（我指的是农历），这一年算是工作后的第一个年度，记录下自己的感想吧，尽管公司没要求写。
        年初的时候开始参与ipv6组播协议的开发，我负责的是MLD，也就是ipv6版本的igmp。前期是熟悉RFC，深入理解MLD的原理，开始的时候感觉还挺复杂，后来发现也就那么回事，就是报文之间传来传去的，这也是学习一个新东西的过程——感觉由难入简。开始的时候还以为要从零开始实现代]]></description><category></category></item><item><title><![CDATA[条款1：视C++为一个语言联邦]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/43562181</link><guid>https://blog.youkuaiyun.com/cblou/article/details/43562181</guid><author>cblou</author><pubDate>Fri, 06 Feb 2015 11:29:59 +0800</pubDate><description><![CDATA[今天的C++已经是个多重泛型编程语言，一个同时支持面向过程、面向对象、泛型形式和元编程形式的语言。我们该怎样理解这样一个语言呢？这个联邦语言由四大成员组成。
        C语言。说到底C++仍以C为基础。
        面向对象C++。
        模板C++。
        STL。
        C++高效编程守则视状况而变化，取决于你使用C++的哪一部分。]]></description><category></category></item><item><title><![CDATA[条款4：非必要不提供default constructor]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/43534733</link><guid>https://blog.youkuaiyun.com/cblou/article/details/43534733</guid><author>cblou</author><pubDate>Thu, 05 Feb 2015 20:02:07 +0800</pubDate><description><![CDATA[初次看到这个标题有点费解，看完这一节内容，自我理解是不是必要的情况就不要提供默认构造函数，建议不要随便提供构造函数。后来，查看了英文版的标题是：“Avoid gratuitous default constructor's.”，感觉意思也差不多。
        默认构造函数可以初始化基本类型的成员变量，但是自定义的类型就不能正确初始化了。在这种情况下，需要我们自定义构造函数。但是，如果我们缺少]]></description><category></category></item><item><title><![CDATA[Openwrt上mysql innodb的使用及相关异常情况]]></title><link>https://blog.youkuaiyun.com/cblou/article/details/43489837</link><guid>https://blog.youkuaiyun.com/cblou/article/details/43489837</guid><author>cblou</author><pubDate>Wed, 04 Feb 2015 18:33:30 +0800</pubDate><description><![CDATA[首先在menuconfig中配置mysql，具体是在Utilities->database->mysql-server。这样直接编译就可以了，不过这样默认是不支持innodb存储引擎的，估计是考虑openwrt一般是运行的硬件有关，不需要这么复杂的存储引擎（占用空间也比MyISAM存储引擎大）。但是，如果需要支持innodb存储引擎该怎么办？这类型的网上帖子不多，我是之前参照国外的论坛加自己测试得]]></description><category></category></item></channel></rss>