或许我们不应该“写”需求
摘要 在本专栏里, David Gelperin 提出了一个我们很多人都熟悉的问题——记录需求最好的办法是什么?本文阐述了静态模板的局限性,那么我们怎么能更好地管理一些更大量的、多维的需求信息呢? David Gelperin 我们计划开发一个项目,我正在考虑过去的项目中开发需求的方法。我们通常的做法是创建一个需求文档,但这一次这可能不...
摘要 在本专栏里, David Gelperin 提出了一个我们很多人都熟悉的问题——记录需求最好的办法是什么?本文阐述了静态模板的局限性,那么我们怎么能更好地管理一些更大量的、多维的需求信息呢? David Gelperin 我们计划开发一个项目,我正在考虑过去的项目中开发需求的方法。我们通常的做法是创建一个需求文档,但这一次这可能不...
中断了大半个月,今天终于可以访问了 留个言 :)
今天才知道 popen 运行一个系统调用时, 通过 popen 返回的文件句柄只能读到系统调用往 stdout 的输出内容。 输出到 stderr 的内容是得不到的。 有一个办法,就是在调用命令的尾部加上 2>&1 这样的内容, 其含义为:将 stderr(2)重定向到 stdout(1)中。 例如 iwconfig eth0 这个命令,如果 eth0 不是无线网卡,运行此命令的后果是得到...
初始化stl容器,最终四个容器的内容都是1 2 3 4 int d1[4] = {1,2,3,4}; int d2[4] = {5,6,7,8}; vector v1(d1,d1 + 4), v2(d2,d2 + 4), v3(d2,d2 + 4), v4; copy(v1.begin(),v1.end(),v2.begin()); // copy - .begin() copy_backward(v1.begin(),v1.end(),v3.end()); // backward - .end() copy(v1.begin(),v1.end(),back_inserter(v4)); // init a empty vector
str = boost::regex_replace(str, reg, "(?1become1)$2(?3become3)$4", boost::format_all ); 其中第一个子表达式更新为become1,第三个子表达式更新为become3。