<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[su_sai的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/su_sai</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; su_sai]]></copyright><item><title><![CDATA[MFC 创建用户界面线程出错 提示内存不足解决方法]]></title><link>https://blog.csdn.net/su_sai/article/details/69085636</link><guid>https://blog.csdn.net/su_sai/article/details/69085636</guid><author>su_sai</author><pubDate>Tue, 04 Apr 2017 16:55:23 +0800</pubDate><description><![CDATA[MFC 创建用户界面线程时，书上说是用推荐使用AfxBeginThread()来一次性地创建并启动一个线程，如写如下代码：
CWinThread *pThread = AfxBeginThread(RUNTIME_CLASS(CUIThread), 0, 0);

其中AfxBeginThread函数各个参数参照MSDN.


但是这么用了之后，运行程序以后，创建 新线程时会出错，提示]]></description><category></category></item><item><title><![CDATA[排列组合问题的C++代码]]></title><link>https://blog.csdn.net/su_sai/article/details/58608981</link><guid>https://blog.csdn.net/su_sai/article/details/58608981</guid><author>su_sai</author><pubDate>Tue, 28 Feb 2017 18:02:44 +0800</pubDate><description><![CDATA[题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。



-------------------------------------------------------]]></description><category></category></item><item><title><![CDATA[C++ 中使用sstream进行string和int相互转换]]></title><link>https://blog.csdn.net/su_sai/article/details/56981548</link><guid>https://blog.csdn.net/su_sai/article/details/56981548</guid><author>su_sai</author><pubDate>Sat, 25 Feb 2017 00:43:29 +0800</pubDate><description><![CDATA[#include
#include
using namespace std;


int main()
{
 
  // int 转 string
  int number = 12;
  string str;
  stringstream ss;
  ss
  ss>>str;
  cout


  //string 转 int
  string str2]]></description><category></category></item><item><title><![CDATA[quick-cocos 集成ShareSDK]]></title><link>https://blog.csdn.net/su_sai/article/details/53863760</link><guid>https://blog.csdn.net/su_sai/article/details/53863760</guid><author>su_sai</author><pubDate>Sat, 24 Dec 2016 23:16:23 +0800</pubDate><description><![CDATA[1.新建Android应用。获取App Key 和App Secret


2.下载SDK，选择相应的平台。下载后打开ShareSDK for Android文件夹，点击QuickIntegrater.jar，自动新建Sample。复制Sample文件夹里面的4个文件夹（assets，libs，res，src），替换掉工程目录中proj.android文件夹里面的相应的文件夹。


在]]></description><category></category></item><item><title><![CDATA[关于依赖注入]]></title><link>https://blog.csdn.net/su_sai/article/details/53228651</link><guid>https://blog.csdn.net/su_sai/article/details/53228651</guid><author>su_sai</author><pubDate>Sat, 19 Nov 2016 17:20:40 +0800</pubDate><description><![CDATA[依赖注入（Depen）是一种减少代码组件耦合度的设计思想。
一般减少代码耦合度的代码设计师分层，分模块。在此基础上，如果在不同层、不同模块内部直接调用其他层或者模块的实例或者方法，这样又引入了耦合。因此我们应该通过将其他层（模块）的实例或者方法注入（参数传递）的方式实现对其他实例的调用。
在面向对象语言编程中，可以这么理解：不是在宿主（调用方）内部直接通过new实例化另一个类的实例来调用成员或]]></description><category></category></item><item><title><![CDATA[在本地连接异地服务器上的redis-server]]></title><link>https://blog.csdn.net/su_sai/article/details/53218626</link><guid>https://blog.csdn.net/su_sai/article/details/53218626</guid><author>su_sai</author><pubDate>Fri, 18 Nov 2016 16:41:00 +0800</pubDate><description><![CDATA[在windows本地连接云服务器上的redis-server，一直无法连接。原因：
原来是redis默认只能localhost登录，所以需要开启远程登录。解决方法如下：
在redis的配置文件redis.conf中，找到bind 127.0.0.1，替换成0.0.0.0（这样不限制连接的ip，可以任意ip都可以连接此redis）。

bind  局域网IP    只能局域网内IP的机器访问]]></description><category></category></item><item><title><![CDATA[linux常用命令]]></title><link>https://blog.csdn.net/su_sai/article/details/53217794</link><guid>https://blog.csdn.net/su_sai/article/details/53217794</guid><author>su_sai</author><pubDate>Fri, 18 Nov 2016 16:06:16 +0800</pubDate><description><![CDATA[1. 根据进程名字查看pid。
pgrep 进程名

2.查看端口号被哪个进程占用
lsof -i:端口号


3.让命令在后台自动运行
命令&


4.显示后台运行的所有进程
jobs(显示所有在后台运行的命令和状态）


5.将后台命令调回前台运行
fg （空格）命令


6.后台运行


按Ctrl+Z即可将命令移至后台,但这是可以看到该命令的状态]]></description><category></category></item><item><title><![CDATA[golang实现读取当前所在文件夹里面的txt数据，去除空格，以列的形式保存在excel中]]></title><link>https://blog.csdn.net/su_sai/article/details/53206839</link><guid>https://blog.csdn.net/su_sai/article/details/53206839</guid><author>su_sai</author><pubDate>Thu, 17 Nov 2016 20:53:58 +0800</pubDate><description><![CDATA[假如原始数据在txt中，格式如下：
    1.23  486    89.001
456.2   8.25     96.01
       456.01  456.6    456.1
每一行的空格数量不同，但是数字数量相同，列数保持一致。希望将这些数据保持所在行数和列数不变，保存在excel中。
保存在excel中，格式如下：
col1          col2        ]]></description><category></category></item><item><title><![CDATA[使用Nginx+Lua(OpenResty)开发高性能Web应用]]></title><link>https://blog.csdn.net/su_sai/article/details/53159676</link><guid>https://blog.csdn.net/su_sai/article/details/53159676</guid><author>su_sai</author><pubDate>Mon, 14 Nov 2016 15:48:47 +0800</pubDate><description><![CDATA[在互联网公司，Nginx可以说是标配组件，但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景；而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的，而Nginx开发主要是以C/C++模块的形式进行，整体学习和开发成本偏高；如果有一种简单的语言来实现Web应用的开发，那么Nginx绝对是把好的瑞士军刀；目前Nginx团队也开始意识到这个问题，开发了nginxSc]]></description><category></category></item><item><title><![CDATA[mongodb对于数组基于位置的查找和修改注意点]]></title><link>https://blog.csdn.net/su_sai/article/details/52913950</link><guid>https://blog.csdn.net/su_sai/article/details/52913950</guid><author>su_sai</author><pubDate>Mon, 24 Oct 2016 18:10:19 +0800</pubDate><description><![CDATA[假设数据库test中有一个集合t，该集合中有一个文档{"_id":"id","array":["one","two"]}
mongodb中数组下标从0开始。
mongodb中数组支持基于位置的修改，如果想将“array”对应的数组的第一个元素的值从"one"改为"three"，可以这样实现
db.t.update({"_id":"id"},{"array.0":"three"})
但是，m]]></description><category></category></item><item><title><![CDATA[golang time包使用时注意时区]]></title><link>https://blog.csdn.net/su_sai/article/details/52913820</link><guid>https://blog.csdn.net/su_sai/article/details/52913820</guid><author>su_sai</author><pubDate>Mon, 24 Oct 2016 17:55:11 +0800</pubDate><description><![CDATA[程序如下：
package main


import (
"fmt"
"time"
)


func main() {
a1 := time.Now()
fmt.Println("a1:", a1)
a2 := a1.Format("2006-01-02 15:04:05")
fmt.Println("a2:", a2)
a3, _ := time.Parse("2]]></description><category></category></item><item><title><![CDATA[Golang+Mgo 实现对于MongoDB的正则表达式查找]]></title><link>https://blog.csdn.net/su_sai/article/details/52892174</link><guid>https://blog.csdn.net/su_sai/article/details/52892174</guid><author>su_sai</author><pubDate>Sat, 22 Oct 2016 14:42:08 +0800</pubDate><description><![CDATA[1.xxdb.go程序内容如下
package xxdb

import (
"../xxio"
"fmt"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)

const URL = "127.0.0.1:27017"

// dial to db
func Dial(db, collection string) (*mgo.Sess]]></description><category></category></item><item><title><![CDATA[C语言的NULL和C++的NULL不同]]></title><link>https://blog.csdn.net/su_sai/article/details/52674907</link><guid>https://blog.csdn.net/su_sai/article/details/52674907</guid><author>su_sai</author><pubDate>Mon, 26 Sep 2016 22:20:38 +0800</pubDate><description><![CDATA[在C语言中，讲一个指针置为空指针，只需要让其等于NULL或者0就行。C语言诞生的初期，常数 0 带有常数及空指针的双重身分。 C 使用 preprocessor macro NULL
 表示空指针， 让 NULL 及 0 分别代表空指针及常数 0。 NULL 可被定义为 ((void*)0) 或是 0。
    在C++中，NULL的功能被弱化，仅仅代表0。C++11 引入了新的关键字来代表空]]></description><category></category></item><item><title><![CDATA[同步，异步，阻塞，非阻塞 摘抄]]></title><link>https://blog.csdn.net/su_sai/article/details/52563548</link><guid>https://blog.csdn.net/su_sai/article/details/52563548</guid><author>su_sai</author><pubDate>Sat, 17 Sep 2016 16:19:17 +0800</pubDate><description><![CDATA[链接：http://www.zhihu.com/question/19732473/answer/20851256



“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解，提供一个从分布式系统角度的回答。
1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
所谓同步]]></description><category></category></item><item><title><![CDATA[一篇介绍 Websocket 和 Http 的很好的帖子]]></title><link>https://blog.csdn.net/su_sai/article/details/52563253</link><guid>https://blog.csdn.net/su_sai/article/details/52563253</guid><author>su_sai</author><pubDate>Sat, 17 Sep 2016 15:12:33 +0800</pubDate><description><![CDATA[原文地址：http://www.tuicool.com/articles/7zyMvy6




一、websocket与http


WebSocket是HTML5出的东西（协议），也就是说HTTP协议没有变化，或者说没关系，但HTTP是不支持持久连接的（长连接，循环连接的不算）

首先HTTP有 1.1 和 1.0 之说，也就是所谓的 keep-alive ，把多个HTTP]]></description><category></category></item><item><title><![CDATA[一篇 介绍 Socket 和 WebSocket 的很好的帖子]]></title><link>https://blog.csdn.net/su_sai/article/details/52563094</link><guid>https://blog.csdn.net/su_sai/article/details/52563094</guid><author>su_sai</author><pubDate>Sat, 17 Sep 2016 14:37:03 +0800</pubDate><description><![CDATA[原文链接：http://zengrong.net/post/2199.htm

1. 概述¶

选择了 WebSocket 技术之后，不可避免的，我要将它和其他协议以及技术做一下比较。最常见的，就是需要比较 WebSocket 与 HTTP、Socket 技术的异同。

WebSocket 是为了满足基于 Web 的日益增长的实时通信需求而产生的。在传统的 Web 中，要实现实时通信，]]></description><category></category></item><item><title><![CDATA[多级分销系统数据库模型（猜想）]]></title><link>https://blog.csdn.net/su_sai/article/details/52390781</link><guid>https://blog.csdn.net/su_sai/article/details/52390781</guid><author>su_sai</author><pubDate>Thu, 01 Sep 2016 01:22:17 +0800</pubDate><description><![CDATA[需求：假设现在有一个九级分销商城项目，每个用户下面的九级下线买东西都可以给这个人带来分润收益。并且每一级的分润比例都不同，可能下面第一级分润比例是10%，第二级分润比例是5%，........。如何存储所有用户信息才能更好管理数据以及方便计算某一个用户的分成。
猜想1：用NoSQL（比如MongoDB）数据库以树型结构存储用户ID和用户金额。用SQL数据库存储用户ID，以及该用户在树形结构中的内]]></description><category></category></item><item><title><![CDATA[Html5 使用记录]]></title><link>https://blog.csdn.net/su_sai/article/details/52371171</link><guid>https://blog.csdn.net/su_sai/article/details/52371171</guid><author>su_sai</author><pubDate>Tue, 30 Aug 2016 17:13:25 +0800</pubDate><description><![CDATA[1. .自定义H5标签（surprice）
合计：￥ 100

为了修改100这个价格，必须提取标签里面的字符串，然后截取字符串，修改其中的数字。为了方便，我试着给了一个自定义的标签包装100这个数字
合计：￥ 110

这样，直接获取标签里面的文本内容修改即可。
H5可以自定义标签？？？？？？？？？？？？？？？？？？？]]></description><category></category></item><item><title><![CDATA[jQuery应用时的记录]]></title><link>https://blog.csdn.net/su_sai/article/details/52369411</link><guid>https://blog.csdn.net/su_sai/article/details/52369411</guid><author>su_sai</author><pubDate>Tue, 30 Aug 2016 15:12:01 +0800</pubDate><description><![CDATA[1.jquery版本 1.9.1
判断checkbox类型的input是否被选中，用.attr(‘checked’）判断一直返回undefined，改用.prop(‘checked’)判断，正常。但是还是可以用.attr('checked',true)或者.attr('checked',false)修改是否选中。]]></description><category></category></item><item><title><![CDATA[网页搭建过程中的适配]]></title><link>https://blog.csdn.net/su_sai/article/details/52335024</link><guid>https://blog.csdn.net/su_sai/article/details/52335024</guid><author>su_sai</author><pubDate>Sat, 27 Aug 2016 14:29:58 +0800</pubDate><description><![CDATA[做前端，适配一直是重要的。Html+CSS搭建网页时，需要同时适配不同设备的尺寸。以下整理一点搭建过程中的收获：
        1：使用rem给图片和文字设计尺寸（这个很重要，显示适配就靠它）
        2：使用百分比%给div等布局设计尺寸（应该也可以用rem代替）
        3. 一个工程布局尽量采用统一风格，这样便于写JS代码（规则布局可以采用div+ul）]]></description><category></category></item></channel></rss>