<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[边城客栈 - 学无止境]]></title><description><![CDATA[学而时习之，不亦说乎]]></description><link>https://blog.youkuaiyun.com/jamesfancy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jamesfancy]]></copyright><item><title><![CDATA[jQuery那坑爹的text()]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/6772378</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/6772378</guid><author>jamesfancy</author><pubDate>Tue, 13 Sep 2011 20:29:45 +0800</pubDate><description><![CDATA[有一段代码：

var jTd = $("td:first");
jTd.text(jTd.find(":input").val()).addClass("readonly");
结果居然报告：对象不支持“addClass”属性或方法
难道 text(param) 返回的]]></description><category></category></item><item><title><![CDATA[Java那可恶的Byte.parseByte()]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/6575380</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/6575380</guid><author>jamesfancy</author><pubDate>Wed, 29 Jun 2011 17:02:00 +0800</pubDate><description><![CDATA[在Java中想把 9D 转成 byte，首先想到的是byte v = Byte.parseByte("9D", 16); 结果得到一个java.lang.NumberFormatException，说值的范围越界了。是的，byte的范围是-128~127，如果把9D当成正数来转换，结果是157，当然越界了。问题是我用的是Byte.parseByte()啊……难道Java还不能明确我]]></description><category></category></item><item><title><![CDATA[PerlTidy的配置项]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/5658199</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/5658199</guid><author>jamesfancy</author><pubDate>Wed, 09 Jun 2010 13:34:00 +0800</pubDate><description><![CDATA[<br />这个配置格式化出来的代码比较符合我的习惯，发个Blog保留<br /> <br />-b
-l=0
-pt=2
-sbt=2
-bt=2
-bbt=2
-ce
-bar
-isbc
-nsfs
-ci=4
-ndnl
-bext=~
<br /> ]]></description><category></category></item><item><title><![CDATA[避免Qt库引起“过期”lib或obj的问题]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/4242267</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/4242267</guid><author>jamesfancy</author><pubDate>Thu, 04 Jun 2009 15:09:00 +0800</pubDate><description><![CDATA[　　前两天辛辛苦苦用VC Express 2005 Sp1编译了三个小时的Qt Opensource (4.5.1)版本，给同事的VC Pro 2005 Sp1使用时，他居然遇到严重错误（编译生成Release配置的时候）：fatal error C1047: The object or library file something.obj was created with an ol]]></description><category></category></item><item><title><![CDATA[选择性编译Boost组件]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/4225750</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/4225750</guid><author>jamesfancy</author><pubDate>Sat, 30 May 2009 13:05:00 +0800</pubDate><description><![CDATA[　　虽然很多Boost组件都只有头文件，不需要编译，但是有些Boost组件，如program_options、regex等还是需要编译生成库的。考虑到目前的程序需要用到program_options、regex等组件，还可能用到filesystem组件，所以还是决定先把Boost编译一下。 　　习惯性的找Boost某个组件或者整个Boost的*.dsp或者*.sln文件，没找到。于是只好老老实]]></description><category></category></item><item><title><![CDATA[配置Apache2.2+PHP5+CakePHP1.2+MySQL5]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/4107991</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/4107991</guid><author>jamesfancy</author><pubDate>Fri, 24 Apr 2009 17:57:00 +0800</pubDate><description><![CDATA[　　因为最近要用PHP做个小东西，新学了PHP。结果学PHP只用了2个小时，配置服务器却用了两天，郁闷得想骂人。为了避免以后忘掉，写个博客留底。 1. 安装配置Apahce 　　安装配置Apache是比较简单的， 跟着安装向导一步步往下走就能搞定。最多就是在配置端口的地方需要注意一下，如果已经安装了其它Web服务器占用了80端口，那记得配置的时候选一个别的端口。向导中忘了设置，在Apach]]></description><category></category></item><item><title><![CDATA[JQuery初体验]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/4106603</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/4106603</guid><author>jamesfancy</author><pubDate>Fri, 24 Apr 2009 13:05:00 +0800</pubDate><description><![CDATA[　　最近从朋友那儿听说，写JavaScript，JQuery是个不错的东东，市场份额达到70%之巨。所以去下载了一份体验了一下。　　在JQuery的网站上发现，这个东东提供两种版本下载。一种是原版，接近120K，另一种是把水分压缩掉的，近60K。太久没做应用技术了，没想到居然出来了这么多新鲜玩意儿，JavaScript还可以压缩水分，所以顺便又去了解了一下JavaScript的Packer]]></description><category></category></item><item><title><![CDATA[Perl5的OOP学习笔记]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/4084279</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/4084279</guid><author>jamesfancy</author><pubDate>Thu, 16 Apr 2009 15:03:00 +0800</pubDate><description><![CDATA[　　在Perl排名持续下降的情况下学Perl，似乎是有点不明智。但是，工作需要，不得不学啊。再说，Perl现在在测试领域还是用得非常多的。Phython虽然也在测试领域开始活跃起来，不过我始终还是不太喜欢Phython的语法。　　在学习了Perl的基本语法之后，学习Perl的OOP，略有心得。不知道Perl各个版本之间OOP是否有区别，但是我是学习的Perl5，所以在标题上将版本号也写出来了。]]></description><category></category></item><item><title><![CDATA[C++中简单实现foreach循环]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/2346551</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/2346551</guid><author>jamesfancy</author><pubDate>Wed, 30 Apr 2008 10:00:00 +0800</pubDate><description><![CDATA[　　看别人用Qt写的程序时，偶然发现虽然程序中用到了foreach。foreach本来不是C++的关键字，但Qt是如何实现的呢？查看Qt的文档，里面说是用preprocesser(预处理)实现的。研究了一下，原来是宏定义。　　foreach宏的实质就是在宏中定义循环申明部分，而不包括循环体。在使用的时候，紧接着写循环体就行了。下面用std::vector写了一个简单的示例。#inclu]]></description><category></category></item><item><title><![CDATA[配置Eclipse+MinGW开发C/C++程序]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1783026</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1783026</guid><author>jamesfancy</author><pubDate>Thu, 13 Sep 2007 01:17:00 +0800</pubDate><description><![CDATA[　　Eclipse 3.3已经发布好一段时间了。我曾用Eclipse之前的版本加上CDT组件开发C/C++程序。但是也许是因为对配置不够熟悉的缘故，配置起来非常痛苦，使用起来也觉得特别别扭，所以最后还是不得不换用了VC 2005 Express。　　Eclipse 3.3的下载页面中，针对不同的开发人员提供了不同的下载包。其中“Eclipse IDE for C/C++ Developers”]]></description><category></category></item><item><title><![CDATA[为Subversion版本库创建只含部分内容和特殊改动的标签]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1702187</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1702187</guid><author>jamesfancy</author><pubDate>Sun, 22 Jul 2007 17:28:00 +0800</pubDate><description><![CDATA[　　标签和支付在任何一个版本控制系统中都是非常重要的功能。Subversion独特的创意将这两者有机的结合在了一起。准确的说，Subversion中是没有标签和分支的，它们都由一个Subversion中独特的概念给代替了，这就是——拷贝。　　Subversion的拷贝是轻量级的。换句话说，Subversion中的拷贝只是保持了文件某个版本的一个链接，而不是将所有内容一并拷贝过来了。只有当内容发]]></description><category></category></item><item><title><![CDATA[静态初始化类成员]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1554713</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1554713</guid><author>jamesfancy</author><pubDate>Fri, 06 Apr 2007 16:34:00 +0800</pubDate><description><![CDATA[　　某些情况下，在写C++类的时候，希望能通过一个静态初始化函数来对类的一些静态成员进行初始化。比如，往静态的std::map成员或者std::vector成员里添加一些固定的内容等。这在Java里通过static块很容易实现。但在C++里该怎么办呢？　　如果要初始化一个普通的静态成员，只需要在实现文件（源文件）中定义该成员并赋予初始值即可，比如：classTest1{public]]></description><category></category></item><item><title><![CDATA[std::string的工具函数 - 用ostringstream实现repeat]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1554690</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1554690</guid><author>jamesfancy</author><pubDate>Fri, 06 Apr 2007 16:26:00 +0800</pubDate><description><![CDATA[　　repeat就是将某个字符重复若干次生成一个字符串。这在需要多个前导空格、文本行分隔线的时候非常有用。　　用循环来实现repeat是多种方案中的一个。如果希望重复的内容是一个字符串的话，那目前看来，恐怕只能使用循环这种方案了。string repeat(string s,  int count) {    string r;    for (int i = 0; i  count;]]></description><category></category></item><item><title><![CDATA[std::string的工具函数 - 用isspace实现trim函数]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1549037</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1549037</guid><author>jamesfancy</author><pubDate>Mon, 02 Apr 2007 10:57:00 +0800</pubDate><description><![CDATA[　　在CodeProject上有朋友说我不应该将空白字符限制在" /t/n/r" 以内，应该使用isspace来实现trim函数，以处理Unicode的空白字符。此话在理，所以将trim的三个函数改了一下。（参阅上一篇《std::string的工具函数》）string trimLeft(const string& str) {    string t = str;    for (stri]]></description><category></category></item><item><title><![CDATA[std::string的工具函数]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1543338</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1543338</guid><author>jamesfancy</author><pubDate>Tue, 27 Mar 2007 22:45:00 +0800</pubDate><description><![CDATA[　　一般来说，在处理字符串的时候通常会用到如下一些函数／方法：length、substring、find、charAt、toLowerCase、toUpperCase、trim、equalsIgnoreCase、startsWith、endsWith、parseInt、toString、split等。　　如果使用STL中的std::string，它已经提供了如下一些比较有用的方法：leng]]></description><category></category></item><item><title><![CDATA[C++函数内的批量处理]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1482903</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1482903</guid><author>jamesfancy</author><pubDate>Sun, 14 Jan 2007 17:58:00 +0800</pubDate><description><![CDATA[　　在用C++写一个函数的时候，发现其中需要对很多个类似的变量进行类似的处理，如：if (map.exists(var1.getName()) {    process(map.get(var1.getName()));}　　程序中有很多个类似var的变量，而且都不在数组中。因此只能一个个的使用上述语句进行处理。为了简体代码，也为了代码的复用性，这里想到了4种办法，各有优劣]]></description><category></category></item><item><title><![CDATA[从CVS迁移到SVN]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1463741</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1463741</guid><author>jamesfancy</author><pubDate>Tue, 26 Dec 2006 23:55:00 +0800</pubDate><description><![CDATA[　　最近想把公司原来用CVS管理的代码迁移到SVN中去。主要是因为SVN是整个版本库共享一个版本历史，比较方便完整的Checkout某个工程。而且SVN还有一些CVS所不具有的良好特性，比如支持对目录版本进行管理，支持重命名和移动等。　　上网查了下，大部分人用cvs2svn来将CVS版本库迁移到SVN中。但是cvs2svn似乎要用Python来运行，我向来不太喜欢Python的语法，所以希望能]]></description><category></category></item><item><title><![CDATA[又见 C++ Builder (Turbo C++ Explorer) ]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1274702</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1274702</guid><author>jamesfancy</author><pubDate>Mon, 25 Sep 2006 09:12:00 +0800</pubDate><description><![CDATA[　　回想上一次用 C++ Builder，大概已经是 3-4 年以前的事情了。我只记得用 C++ Builder 写的最后一个程序是“通用输入法安装程序”，这东西现在恐怕在茫茫网海里已经找不到踪影了。也曾遇到两次有人 Email 找我要这个东西，可惜机器不知道重装了多少次，这个东西早就失踪了。　　以前用 C++ Builder，感觉用来写界面还是挺快的，只是后来有一个程序需要写自定义组件的时候]]></description><category></category></item><item><title><![CDATA[C++ 中使用 goto 增强 break 和 continue]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1209736</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1209736</guid><author>jamesfancy</author><pubDate>Mon, 11 Sep 2006 19:59:00 +0800</pubDate><description><![CDATA[　　C++ 的 goto 语句在大多数时间是被打入冷宫的，就因为它容易使代码晦涩难读。同时，break 和 continue 又经常在多重循环中黔驴技穷——不能越层控制循环。　　相比之下，Java 就兼顾这两种情况，将 goto 彻底禁用，而标签则限制其只能用于循环之前，以此增加 break 和 continue 的功能，使其能越层控制循环 [参阅：《带标签的 break  和 continu]]></description><category></category></item><item><title><![CDATA[从 Java 档案(JAR) 中读取文件]]></title><link>https://blog.youkuaiyun.com/jamesfancy/article/details/1199775</link><guid>https://blog.youkuaiyun.com/jamesfancy/article/details/1199775</guid><author>jamesfancy</author><pubDate>Sat, 09 Sep 2006 19:07:00 +0800</pubDate><description><![CDATA[2003年6月发表于 计算机世界网2004年3月发于 CCW-I2006年9月搬至 优快云　　Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案。它们允许开发人员把所有相关的内容 (.class、图片、声音和支持文件等) 打包到一个单一的文件中。JAR 文件格式支持压缩、身份验证和版本，以及许多其它特性。　　从 JAR 文件中得到它所包含的文件内]]></description><category></category></item></channel></rss>