<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>小胡博客 &#124; 点点的乐园</title>
	<atom:link href="http://www.33vc.com/index.php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.33vc.com</link>
	<description>33vc.com &#124; 一点点积累，一点点进步！</description>
	<lastBuildDate>Fri, 09 Mar 2012 04:44:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>换服务器了</title>
		<link>http://www.33vc.com/index.php/archives/3828</link>
		<comments>http://www.33vc.com/index.php/archives/3828#comments</comments>
		<pubDate>Fri, 09 Mar 2012 04:44:32 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[流水帐]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3828</guid>
		<description><![CDATA[唉。实在忍受不了原来的访问速度。 今天把服务器换了一下。希望能稳定些。 开始继续更新，想想，该写些什么。呵呵！ 最近很开心，也很忙碌！]]></description>
			<content:encoded><![CDATA[<p>唉。实在忍受不了原来的访问速度。<br />
今天把服务器换了一下。希望能稳定些。</p>
<p>开始继续更新，想想，该写些什么。呵呵！<br />
最近很开心，也很忙碌！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3828/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>好久没更新了</title>
		<link>http://www.33vc.com/index.php/archives/3825</link>
		<comments>http://www.33vc.com/index.php/archives/3825#comments</comments>
		<pubDate>Wed, 07 Mar 2012 12:11:37 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[流水帐]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3825</guid>
		<description><![CDATA[这段时间太忙了。 自己的事都有些处理不过来。呵呵！ 这几天运气很好，希望接下来继续！ PS：打算不久换个新服务器了，现在的网站访问太慢。加上数据库原因，也不太想更新了！]]></description>
			<content:encoded><![CDATA[<p>这段时间太忙了。<br />
自己的事都有些处理不过来。呵呵！</p>
<p>这几天运气很好，希望接下来继续！</p>
<p>PS：打算不久换个新服务器了，现在的网站访问太慢。加上数据库原因，也不太想更新了！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3825/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>可以3g无线上网了</title>
		<link>http://www.33vc.com/index.php/archives/3819</link>
		<comments>http://www.33vc.com/index.php/archives/3819#comments</comments>
		<pubDate>Sun, 08 Jan 2012 11:41:26 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[流水帐]]></category>
		<category><![CDATA[3G]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3819</guid>
		<description><![CDATA[每年回家都是上不了网。因为家里没有人会用电脑，所以也没有牵网线。 更不可能像实验室这样，可以用wifi无线网络。 前几天查了一下3g上网的相关资料。于是趁周末去电脑城买了一个华为的3g上网卡和联通的资费卡。 测试了一下，网速相当地快。太开心了，呵呵。卡里有240元，只花70元买的，可以用3个月哦。哈哈！]]></description>
			<content:encoded><![CDATA[<p>每年回家都是上不了网。因为家里没有人会用电脑，所以也没有牵网线。<br />
更不可能像实验室这样，可以用wifi无线网络。</p>
<p>前几天查了一下3g上网的相关资料。于是趁周末去电脑城买了一个华为的3g上网卡和联通的资费卡。<br />
测试了一下，网速相当地快。太开心了，呵呵。卡里有240元，只花70元买的，可以用3个月哦。哈哈！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3819/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在VC中使用GDIPlus</title>
		<link>http://www.33vc.com/index.php/archives/3817</link>
		<comments>http://www.33vc.com/index.php/archives/3817#comments</comments>
		<pubDate>Sun, 25 Dec 2011 06:06:52 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[C++编程]]></category>
		<category><![CDATA[Gdiplus]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3817</guid>
		<description><![CDATA[首先，在StdAfx.h中静态调用diplus.lib，即由编译系统完成对DLL的加载，应用程序结束时卸载DLL的编码。如下： #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #include "GdiPlus.h" using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib") #endif 在类的头文件中定义，以下成员变量，用来初始化GDI+的使用和结束使用。 GdiplusStartupInput m_gdiplusStartupInput; ULONG_PTR m_gdiplusToken; 然后在InitInstance()函数中加入初始化GDI+的函数： GdiplusStartup(&#038;m_gdiplusToken, &#038;m_gdiplusStartupInput, NULL); 在ExitInstance()函数中加入结束GDI+使用的函数： GdiplusShutdown(m_gdiplusToken); 需要画的时候 Graphics graphics(GetDC()->m_hDC); Image image(L"Mega_GamesPack_001.png", FALSE); graphics.DrawImage(&#038;image, 10,10,image.GetWidth(),image.GetWidth()); 使用GDI+在内存中转换图片类型 图片类型的转换支持：bmp、dib、png、gif、jpeg/jpg、tiff、emf等。以下是详细步骤。 　　首先，在StdAfx.h中静态调用diplus.lib，即由编译系统完成对DLL的加载，应用程序结束时卸载DLL的编码。如下： #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #include "GdiPlus.h" using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib") #endif 在类的头文件中定义，以下成员变量，用来初始化GDI+的使用和结束使用。 GdiplusStartupInput [...]]]></description>
			<content:encoded><![CDATA[<p>首先，在StdAfx.h中静态调用diplus.lib，即由编译系统完成对DLL的加载，应用程序结束时卸载DLL的编码。如下：</p>
<p>#ifndef ULONG_PTR<br />
#define ULONG_PTR unsigned long*<br />
#include "GdiPlus.h"<br />
using namespace Gdiplus;<br />
#pragma comment(lib, "gdiplus.lib")<br />
#endif</p>
<p>在类的头文件中定义，以下成员变量，用来初始化GDI+的使用和结束使用。<span id="more-3817"></span></p>
<p>GdiplusStartupInput m_gdiplusStartupInput;<br />
ULONG_PTR m_gdiplusToken;</p>
<p>然后在InitInstance()函数中加入初始化GDI+的函数：</p>
<p>GdiplusStartup(&#038;m_gdiplusToken, &#038;m_gdiplusStartupInput, NULL);</p>
<p>在ExitInstance()函数中加入结束GDI+使用的函数： GdiplusShutdown(m_gdiplusToken);</p>
<p>需要画的时候</p>
<p>Graphics graphics(GetDC()->m_hDC);<br />
 Image image(L"Mega_GamesPack_001.png", FALSE);<br />
 graphics.DrawImage(&#038;image, 10,10,image.GetWidth(),image.GetWidth());</p>
<p>使用GDI+在内存中转换图片类型   </p>
<p>  图片类型的转换支持：bmp、dib、png、gif、jpeg/jpg、tiff、emf等。以下是详细步骤。   </p>
<p>  　　首先，在StdAfx.h中静态调用diplus.lib，即由编译系统完成对DLL的加载，应用程序结束时卸载DLL的编码。如下：     </p>
<p>  #ifndef   ULONG_PTR<br />
  #define   ULONG_PTR   unsigned   long*<br />
  #include   "GdiPlus.h"<br />
  using   namespace   Gdiplus;<br />
  #pragma   comment(lib,   "gdiplus.lib")<br />
  #endif   </p>
<p>  在类的头文件中定义，以下成员变量，用来初始化GDI+的使用和结束使用。   GdiplusStartupInput   m_gdiplusStartupInput;<br />
  ULONG_PTR   m_gdiplusToken;   </p>
<p>  然后在OnCreate()函数中加入初始化GDI+的函数：   GdiplusStartup(&#038;m_gdiplusToken,   &#038;m_gdiplusStartupInput,   NULL);     </p>
<p>  在OnDestroy()函数中加入结束GDI+使用的函数：   GdiplusShutdown(m_gdiplusToken);   </p>
<p>  接着，定义转换函数：BOOL   MBmpToMImage(CMemFile&#038;   cbfBmp,   CMemFile&#038;   cbfImage,   CString   strType)   </p>
<p>  其中：   CMemFile&#038;   cbfBmp表示原位图文件;<br />
  CMemFile&#038;   cbfImage表示转换后的图形文件;<br />
  CString   strType表示转换的图片类型。   </p>
<p>  该函数中主要的处理为以下几步：<br />
  将原位图文件转换为IStream<br />
  定义Image类实例，并使用第1步获得的IStream初始化<br />
  获取转换的图片类型的CLSID<br />
  将Image以转换的图片类型保存到IStream中<br />
  将IStream转换为CMemFile内存文件(也可为CFile)<br />
  详细代码如下：     </p>
<p>  BOOL   MBmpToMImage(CMemFile&#038;   cbfBmp,   CMemFile&#038;   cbfImage,   CString   strType)<br />
  {<br />
  int   iBmpSize   =   cbfBmp.GetLength();<br />
  HGLOBAL   hMemBmp   =   GlobalAlloc(GMEM_FIXED,   iBmpSize);<br />
  if   (hMemBmp   ==   NULL)   return   FALSE;<br />
  IStream*   pStmBmp   =   NULL;<br />
  CreateStreamOnHGlobal(hMemBmp,   FALSE,   &#038;pStmBmp);<br />
  if   (pStmBmp   ==   NULL)<br />
  {<br />
  GlobalFree(hMemBmp);<br />
  return   FALSE;<br />
  }<br />
  BYTE*   pbyBmp   =   (BYTE   *)GlobalLock(hMemBmp);<br />
  cbfBmp.SeekToBegin();<br />
  cbfBmp.Read(pbyBmp,   iBmpSize);   </p>
<p>  Image*   imImage   =   NULL;<br />
  imImage   =   Image::FromStream(pStmBmp,   FALSE);<br />
  if   (imImage   ==   NULL)<br />
  {<br />
  GlobalUnlock(hMemBmp);<br />
  GlobalFree(hMemBmp);<br />
  return   FALSE;<br />
  }<br />
  USES_CONVERSION;<br />
  CLSID   clImageClsid;<br />
  GetImageCLSID(A2W("image/"+strType.GetBuffer(0)),   &#038;clImageClsid);   </p>
<p>  HGLOBAL   hMemImage   =   GlobalAlloc(GMEM_MOVEABLE,   0);<br />
  if   (hMemImage   ==   NULL)<br />
  {<br />
  pStmBmp->Release();<br />
  GlobalUnlock(hMemBmp);<br />
  GlobalFree(hMemBmp);<br />
  if   (imImage   !=   NULL)   delete   imImage;<br />
  return   FALSE;<br />
  }<br />
  IStream*   pStmImage   =   NULL;<br />
  CreateStreamOnHGlobal(hMemImage,   TRUE,   &#038;pStmImage);<br />
  if   (pStmImage   ==   NULL)<br />
  {<br />
  pStmBmp->Release();<br />
  GlobalUnlock(hMemBmp);<br />
  GlobalFree(hMemBmp);<br />
  GlobalFree(hMemImage);<br />
  if   (imImage   !=   NULL)   delete   imImage<br />
  return   FALSE;<br />
  }<br />
  imImage->Save(pStmImage,   &#038;clJpgClsid);<br />
  if   (pStmImage   ==   NULL)<br />
  {<br />
  pStmBmp->Release();<br />
  pStmImage>Release();<br />
  GlobalUnlock(hMemBmp);<br />
  GlobalFree(hMemBmp);<br />
  GlobalFree(hMemImage;<br />
  if   (imImage   !=   NULL)   delete   imImage;<br />
  return   FALSE;<br />
  }<br />
  LARGE_INTEGER   liBegin   =   {0};<br />
  pStmImage->Seek(liBegin,   STREAM_SEEK_SET,   NULL);<br />
  BYTE*   pbyImage   =   (BYTE   *)GlobalLock(hMemImage);<br />
  cbfImage.SeekToBegin();<br />
  cbfImage.Write(pbyImage,   GlobalSize(hMemImage));   </p>
<p>  if   (imImage   !=   NULL)   delete   imImage;<br />
  pStmBmp->Release();<br />
  pStmImage->Release();<br />
  GlobalUnlock(hMemBmp);<br />
  GlobalUnlock(hMemImage);<br />
  GlobalFree(hMemBmp);<br />
  GlobalFree(hMemImage);<br />
  return   TRUE;<br />
  }</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3817/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MFC文件操作之CArchive [</title>
		<link>http://www.33vc.com/index.php/archives/3815</link>
		<comments>http://www.33vc.com/index.php/archives/3815#comments</comments>
		<pubDate>Sun, 25 Dec 2011 05:44:45 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[C++编程]]></category>
		<category><![CDATA[CArchive]]></category>
		<category><![CDATA[MFC]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3815</guid>
		<description><![CDATA[C++对于文件的操作的方式有很多种，大体分为4类。第一类是c函数，第二类是运用c++的fstream类对文件进行操作，第三类是运用Windows API函数进行文件操作，第四类是运用MFC的类CFile对文件进行操作。 今天主要是想说一下运用CArchive，CFile类进行文件的操作。个人觉得这种方法比较简便常用，但有利必有弊，相对于c函数和c++的fstream，似乎灵活性要差一些，而且需要依赖于MFC类库。 CArchive允许以一个永久二进制（通常为磁盘存储）的形式保存一个对象的复杂网络，它可以在对象被删除时，还能永久保存。可以从永久存储中装载对象，在内存中重新构造它们。使得数据永久保留的过程就叫作“串行化”。 代码： 对于文件的写操作：分别写入一个int,char,float,CString类型的数据到”1.txt”文件中。 void CFileOperate::FileWrite() { CFile file("1.txt",CFile::modeCreate&#124;CFile::modeWrite); CArchive ar(&#038;file,CArchive::store); int i=4; char ch='a'; float f=1.3f; CString str("http:://www.flyhorse.cn"); //保存数据 arthis->_username>>this->_passwd>>this->_question>>this->_answer; } } void CUserInf::GetUserInf(CString &#038;userinf) { userinf=_username+" "+_passwd+" "+_question+" "+_answer; } 以上就是一个支持串行化的类的创建，只需5步，就大功告成！ 下边我们来看看如何将我们的类串行化到文件中。 向文件中写入对象： void CCArchivetestDlg::UserInfWrite() { // 创建两个对象 CUserInf user1("悟空","123","我的名字？","孙行者"); CUserInf user2("八戒","456","我的名字？","猪悟能"); //创建或打开userinf.archive文件，进行写操作 CFile file("userinf.archive",CFile::modeCreate&#124;CFile::modeWrite); CArchive iar(&#038;file,CArchive::store); //向文件中写入对象 iarpuser2; oar.Close(); file.Close(); [...]]]></description>
			<content:encoded><![CDATA[<p>C++对于文件的操作的方式有很多种，大体分为4类。第一类是c函数，第二类是运用c++的fstream类对文件进行操作，第三类是运用Windows API函数进行文件操作，第四类是运用MFC的类CFile对文件进行操作。<br />
今天主要是想说一下运用CArchive，CFile类进行文件的操作。个人觉得这种方法比较简便常用，但有利必有弊，相对于c函数和c++的fstream，似乎灵活性要差一些，而且需要依赖于MFC类库。<br />
CArchive允许以一个永久二进制（通常为磁盘存储）的形式保存一个对象的复杂网络，它可以在对象被删除时，还能永久保存。可以从永久存储中装载对象，在内存中重新构造它们。使得数据永久保留的过程就叫作“串行化”。<br />
代码：<br />
对于文件的写操作：分别写入一个int,char,float,CString类型的数据到”1.txt”文件中。<span id="more-3815"></span></p>
<p>void CFileOperate::FileWrite()<br />
{<br />
        CFile file("1.txt",CFile::modeCreate|CFile::modeWrite);<br />
        CArchive ar(&#038;file,CArchive::store);<br />
        int i=4;<br />
        char ch='a';<br />
        float f=1.3f;<br />
        CString str("http:://www.flyhorse.cn");<br />
        //保存数据<br />
        ar<<i<<ch<<f<<str;                //运用<<直接向文件中写入数据<br />
        ar.Close();<br />
        file.Close();<br />
        AfxMessageBox("数据保存成功！");<br />
}</p>
<p>对于文件的读操作：从”1.txt”文件中读出上边写的int,char,float,CString类型的数据。</p>
<p>void CFileOperate::FileRead()<br />
{<br />
        CFile file("1.txt",CFile::modeRead);<br />
        CArchive ar(&#038;file,CArchive::load);<br />
        int i;<br />
        char ch;<br />
        float f;<br />
        CString str;<br />
        CString strResult;</p>
<p>        //读取数据<br />
        ar>>i>>ch>>f>>str;        //这里需要注意的是读出数据的顺序要跟写入数据的顺序相同<br />
        ar.Close();<br />
        file.Close();<br />
        strResult.Format("%d,%c,%f,%s",i,ch,f,str);<br />
        AfxMessageBox(strResult);<br />
}</p>
<p>是不是很方便，可以对任意类型的数据随意的读写，而且数据都是以二进制的形式存储到文件中的，可以用UE打开1.txt查看文件的二进制格式。<br />
而运用CFile和CArchive更多的是对象的串行化，将类的对象以二进制的形式串行化到文件中，使得类的对象得以永久保存。<br />
但是想方便的进行对象的存储，总是需要点条件的，那就是这个对象必须是支持串行化的，也就是说不是所有的对象都可以用CArchive串行化到文件中，是不是很受打击？就好像想给人一块美味可口的蛋糕，但是前提你得先围着操场跑几圈一样.<br />
幸运的是创建一个支持串行化的类并不复杂，只要按照以下5步进行创建，就大功告成啦！</p>
<p>1.        从CObject派生类或者是从CObject派生的某个类派生。</p>
<p>2.        重写Serialize成员函数。</p>
<p>3.        使用DECLARE_SERIAL宏（在类中声明）。该宏形式如下：<br />
   DECLARE_SERIAL（class_name）        //class_name串行化类的类名</p>
<p>4.        定义一个不带参数的构造函数。</p>
<p>5.        在类的实现文件中使用IMPLEMENT_SERIAL宏。该宏形式如下：<br />
IMPLEMENT_SERIAL(class_name,base_class_name, wSchema)  // wSchema版本号</p>
<p>通过上边5个步骤就可以创建一个支持串行化的类了。<br />
例如我想创建一个存储用户信息的支持串行化的CUserInf类，代码如下：</p>
<p>###############CUserInf.h##################################</p>
<p>class CUserInf:public CObject<br />
{<br />
        DECLARE_SERIAL(CUserInf)                // DECLARE_SERIAL宏<br />
public:<br />
        CUserInf();                //不带参数的构造函数<br />
        CUserInf(CString username,CString passwd,CString question,CString answer);<br />
        virtual ~CUserInf();<br />
        void Serialize(CArchive&#038; ar);                //重写Serialize函数<br />
        void GetUserInf(CString &#038;userinf);<br />
private:<br />
        CString _username;                //用户名<br />
        CString _passwd;                //密码<br />
        CString _question;                //密保问题<br />
        CString _answer;                //答案<br />
};</p>
<p>############################CUserInf.cpp#########################</p>
<p>IMPLEMENT_SERIAL(CUserInf,CObject,1)        // IMPLEMENT_SERIAL宏</p>
<p>CUserInf::CUserInf()                                                //不带参数的构造函数<br />
{</p>
<p>}<br />
CUserInf::CUserInf(CString username,CString passwd,CString question,CString answer)<br />
{<br />
        _username=username;<br />
        _passwd=passwd;<br />
        _question=question;<br />
        _answer=answer;<br />
}</p>
<p>CUserInf::~CUserInf()<br />
{</p>
<p>}</p>
<p>void CUserInf::Serialize(CArchive&#038; ar)                        //重写的Serialize函数<br />
{<br />
        if(ar.IsStoring())                                                        //向文件中存储对象<br />
        {<br />
                ar<
<this->_username<
<this->_passwd<
<this->_question<
<this->_answer;<br />
        }<br />
        Else                                                                                //从文件中取出对象<br />
        {<br />
                ar>>this->_username>>this->_passwd>>this->_question>>this->_answer;<br />
        }<br />
}</p>
<p>void CUserInf::GetUserInf(CString &#038;userinf)<br />
{<br />
        userinf=_username+" "+_passwd+" "+_question+" "+_answer;<br />
}</p>
<p>以上就是一个支持串行化的类的创建，只需5步，就大功告成！<br />
下边我们来看看如何将我们的类串行化到文件中。<br />
向文件中写入对象：</p>
<p>void CCArchivetestDlg::UserInfWrite()<br />
{<br />
        // 创建两个对象<br />
        CUserInf user1("悟空","123","我的名字？","孙行者");<br />
        CUserInf user2("八戒","456","我的名字？","猪悟能");<br />
        //创建或打开userinf.archive文件，进行写操作<br />
        CFile file("userinf.archive",CFile::modeCreate|CFile::modeWrite);<br />
        CArchive iar(&#038;file,CArchive::store);</p>
<p>        //向文件中写入对象<br />
        iar<<&#038;user1<<&user2;<br />
        //ar.WriteObject(&#038;user1);<br />
        //ar.WriteObject(&#038;user2);<br />
        iar.Close();<br />
        file.Close();<br />
        MessageBox("用户信息写入成功！");<br />
}</p>
<p>从文件中读取对象：</p>
<p>void CCArchivetestDlg::UserInfRead()<br />
{<br />
        //定义两个对象指针<br />
        CUserInf *puser1=NULL;<br />
        CUserInf *puser2=NULL;<br />
        CFile file("userinf.archive",CFile::modeRead);<br />
        CArchive  oar(&#038;file,CArchive::load);</p>
<p>        //从文件读取数据<br />
        oar>>puser1>>puser2;</p>
<p>        oar.Close();<br />
        file.Close();<br />
        CString user1;<br />
        CString user2;<br />
        puser1->GetUserInf(user1);<br />
        puser2->GetUserInf(user2);<br />
        MessageBox(user1+user2);<br />
}<br />
以上为对象的串行化和反串行化过程，希望对读者有帮助！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3815/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSDN确认600万用户账号密码泄漏：已经报案</title>
		<link>http://www.33vc.com/index.php/archives/3811</link>
		<comments>http://www.33vc.com/index.php/archives/3811#comments</comments>
		<pubDate>Wed, 21 Dec 2011 13:25:05 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[杂七杂八]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3811</guid>
		<description><![CDATA[　新浪科技讯 12月21日消息，今天有网友爆料称，国内程序员社区CSDN(微博)的安全系统遭到黑客攻击，CSDN数据库中的600万用户的登录名及密码遭到泄漏。CSDN在微博上确认了这一事故，并表示已经报案。 网友爆料截图网友爆料截图 CSDN就“用户账号密码泄露”一事发表回应CSDN就“用户账号密码泄露”一事发表回应 　　新浪科技讯 12月21日消息，今天有网友爆料称，国内程序员社区CSDN(微博)的安全系统遭到黑客攻击，CSDN数据库中的600万用户的登录名及密码遭到泄漏。CSDN在微博上确认了这一事故，并表示已经报案。 　　CSDN官方微博对该事件的回应如下：“对于CSDN用户账号密码数据库被泄露一事，经过初步分析，该库系2009年CSDN作为备份所用，由于未查明原因被泄露，特向所有因此而受到影响的用户致以深深歉意。目前CSDN已向公安机关报案，公安机关也正在调查相关线索。CSDN现有2000万注册用户的账号密码数据库已经全部采取了密文保护和备份。” 迅雷的下载链接本站不便公布！]]></description>
			<content:encoded><![CDATA[<p>　新浪科技讯 12月21日消息，今天有网友爆料称，国内程序员社区CSDN(微博)的安全系统遭到黑客攻击，CSDN数据库中的600万用户的登录名及密码遭到泄漏。CSDN在微博上确认了这一事故，并表示已经报案。<br />
网友爆料截图网友爆料截图<br />
<a href="http://pic002.cnblogs.com/images/2011/294371/2011122121100133.jpg"><img alt="" src="http://pic002.cnblogs.com/images/2011/294371/2011122121100133.jpg" title="图像" class="aligncenter" width="506" height="257" /></a><br />
CSDN就“用户账号密码泄露”一事发表回应CSDN就“用户账号密码泄露”一事发表回应</p>
<p>　　新浪科技讯 12月21日消息，今天有网友爆料称，国内程序员社区CSDN(微博)的安全系统遭到黑客攻击，CSDN数据库中的600万用户的登录名及密码遭到泄漏。CSDN在微博上确认了这一事故，并表示已经报案。</p>
<p>　　CSDN官方微博对该事件的回应如下：“对于CSDN用户账号密码数据库被泄露一事，经过初步分析，该库系2009年CSDN作为备份所用，由于未查明原因被泄露，特向所有因此而受到影响的用户致以深深歉意。目前CSDN已向公安机关报案，公安机关也正在调查相关线索。CSDN现有2000万注册用户的账号密码数据库已经全部采取了密文保护和备份。”</p>
<p>迅雷的下载链接本站不便公布！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3811/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ddos攻击</title>
		<link>http://www.33vc.com/index.php/archives/3798</link>
		<comments>http://www.33vc.com/index.php/archives/3798#comments</comments>
		<pubDate>Mon, 05 Dec 2011 13:38:06 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[流水帐]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3798</guid>
		<description><![CDATA[最近本站被ddos攻击2次,造成网站停止服务.后来小张主机的客服直接把我主机给关了.还算好把钱退了.呵呵 相当郁闷.因为一直很忙,没顾得上弄,前天又找了个主机商,结果技术支持很差. 我网站数据库恢复后一直是乱码,技术支持居然不会phpMyadmin.一个劲地让我用垃圾的后台数据库恢复功能. 今天再找一次主机,终于搞定. PS:本站数据库每天均会自动备份,并且发到本人邮箱.从不担心数据丢失.本站会长期存在! 鄙视下某"黑客"]]></description>
			<content:encoded><![CDATA[<p>最近本站被ddos攻击2次,造成网站停止服务.后来小张主机的客服直接把我主机给关了.还算好把钱退了.呵呵<br />
相当郁闷.因为一直很忙,没顾得上弄,前天又找了个主机商,结果技术支持很差.<br />
我网站数据库恢复后一直是乱码,技术支持居然不会phpMyadmin.一个劲地让我用垃圾的后台数据库恢复功能.</p>
<p>今天再找一次主机,终于搞定.<br />
PS:本站数据库每天均会自动备份,并且发到本人邮箱.从不担心数据丢失.本站会长期存在!<br />
鄙视下某"黑客"</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3798/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>一套数据结构视频教程</title>
		<link>http://www.33vc.com/index.php/archives/3794</link>
		<comments>http://www.33vc.com/index.php/archives/3794#comments</comments>
		<pubDate>Tue, 15 Nov 2011 12:57:54 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[C++编程]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3794</guid>
		<description><![CDATA[这2011年文都考研的。本人未看，直接转来的。过期了无法续期哦。 要的赶紧下载！ 已经过期]]></description>
			<content:encoded><![CDATA[<p>这2011年文都考研的。本人未看，直接转来的。过期了无法续期哦。</p>
<p>要的赶紧下载！</p>
<p>已经过期</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3794/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>可用微博登录本站了！</title>
		<link>http://www.33vc.com/index.php/archives/3780</link>
		<comments>http://www.33vc.com/index.php/archives/3780#comments</comments>
		<pubDate>Sat, 12 Nov 2011 15:44:03 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[流水帐]]></category>
		<category><![CDATA[微博]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3780</guid>
		<description><![CDATA[其实这个功能对我来说比较鸡肋。我是个不喜欢发微博的人。可能还是有人需要吧。 你只需要绑定一次，就可以用各种微博登录，和评论。所有评论也会记入你的微博中！ &#160; 本站的所有文章，同步到QQ 630361 的QQ微博中更新，方便大家查询！ PS：另外，近段时间个人很忙，欢迎大家投稿！你只要点击导航上的投稿链接，把表单填完，我就能看到哦。我批准后，你的投稿将会自动显示，会加入你个人的网站链接和感谢语！]]></description>
			<content:encoded><![CDATA[<p>其实这个功能对我来说比较鸡肋。我是个不喜欢发微博的人。可能还是有人需要吧。</p>
<p>你只需要绑定一次，就可以用各种微博登录，和评论。所有评论也会记入你的微博中！</p>
<p>&nbsp;</p>
<p>本站的所有文章，同步到QQ 630361 的QQ微博中更新，方便大家查询！</p>
<p>PS：另外，近段时间个人很忙，欢迎大家投稿！你只要点击导航上的投稿链接，把表单填完，我就能看到哦。我批准后，你的投稿将会自动显示，会加入你个人的网站链接和感谢语！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3780/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>加密日志</title>
		<link>http://www.33vc.com/index.php/archives/3777</link>
		<comments>http://www.33vc.com/index.php/archives/3777#comments</comments>
		<pubDate>Sat, 12 Nov 2011 13:42:55 +0000</pubDate>
		<dc:creator>小胡</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[加密日志]]></category>

		<guid isPermaLink="false">http://www.33vc.com/?p=3777</guid>
		<description><![CDATA[■ 密码保护的文章 需添加自定义栏目：password_hint，值：输入一句提示 否则有密码保护的文章，部分内容会显示出来。 &#160; ■ 添加文章来源 这个东西一直是本人自己用的，虽然很早就集成在主题中，但从未写过使用方法，主要用于转载文章时，尊重原文作者而增添的功能。 如果文章是自己写的：添加自定义栏目：original，值：自已的名字或链接地址什么都行 如果是转载自其它站点的文章：添加自定义栏目：reprinted，值：原文章的链接地址。]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><strong>■ 密码保护的文章</strong></p>
<p style="text-align: left;">需添加自定义栏目：password_hint，值：输入一句提示</p>
<p style="text-align: left;">否则有密码保护的文章，部分内容会显示出来。</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;"><strong>■ 添加文章来源</strong></p>
<p style="text-align: left;">这个东西一直是本人自己用的，虽然很早就集成在主题中，但从未写过使用方法，主要用于转载文章时，尊重原文作者而增添的功能。</p>
<p style="text-align: left;">如果文章是自己写的：添加自定义栏目：original，值：自已的名字或链接地址什么都行</p>
<p style="text-align: left;">如果是转载自其它站点的文章：添加自定义栏目：reprinted，值：原文章的链接地址。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33vc.com/index.php/archives/3777/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

