可能的重复:
在C中修剪前导/尾随空格的无痛方法?
修剪C中的字符串
嗨伙计们,我在c中编写String trim方法,这是我提出的代码.我认为它可以消除前导和尾随空格,但我希望代码可以更清晰.你能建议改进吗?
void trim(char *String)
{
int i=0;j=0;
char c,lastc;
while(String[i])
{
c=String[i];
if(c!=' ')
{
String[j]=c;
j++;
}
else if(lastc!= ' ')
{
String[j]=c;
j++;
}
lastc = c;
i++;
}
Run Code Online (Sandbox Code Playgroud)
这段代码看起来干净吗?
我已经使用ColdFusion多年来发送文本电子邮件了.我现在有兴趣学习如何发送你从Mint等公司看到的那些漂亮的电子邮件.
任何人都知道一个很好的ColdFusion教程,教我如何使这项工作,而不是被bug或垃圾邮件过滤器击中?
我正在验证表单中的文本字段,如下所示:
$name = new Zend_Form_Element_Text('name');
$name->setLabel('First Name:')
->setRequired(true)
->addFilter(new Zend_Filter_StringTrim())
->addValidator('regex',true,array('/^[(a-zA-Z0-9)]+$/'))
->addErrorMessage('Please enter a valid first name');
Run Code Online (Sandbox Code Playgroud)
我想要完成的是 - 如何显示有意义的错误消息?例如:如果名字是'XYZ-',我怎么能显示' - 名字中不允许'.
有没有办法可以访问正则表达式失败的角色?你会推荐别的东西吗?
我想过编写一个自定义验证器,但正则表达式很简单,所以我没有看到这一点.我无法在任何地方为zend'正则表达式'验证器找到合适的文档.
如果我没有覆盖默认错误消息,我简单地得到类似:';;;; hhbhbhb'与模式'/ ^ [(a-zA-Z0-9)] + $ /'不匹配 - 我显然不想显示给用户.
我很感激你的意见.
这是我上周发布的一个问题的后续问题: 简单的jQuery Ajax调用在Internet Explorer中泄漏了内存
我喜欢jquery语法及其所有不错的功能,但我一直遇到一个页面问题,该页面通过ajax调用泄漏内存自动更新表格单元格.
所以我创建了两个简单的测试页面进行实验.两个页面每隔0.1秒进行一次ajax调用.在每次成功调用ajax之后,计数器会递增并更新DOM.脚本在1000次循环后停止.
一个使用jquery进行ajax调用和更新DOM.另一个使用Yahoo API作为ajax,并使用document.getElementById(...).innerHTML来更新DOM.
jquery版本严重泄漏内存.滴水运行(在带有IE7的XP Home上),从9MB开始,大约48MB,内存随时间线性增长.如果我注释掉更新DOM的行,它仍然会以32MB结束,这表明即使是简单的DOM更新也会泄漏大量内存.无论是否更新DOM,非jquery版本的启动和完成大约为9MB.
有没有人能够很好地解释导致jquery如此严重泄漏的原因?我错过了一些明显的东西吗 是否有我不知道的循环引用?或者jquery是否只有一些严重的内存问题?
以下是leaky(jquery)版本的源代码:
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.4.2');
</script>
<script type="text/javascript">
var counter = 0;
leakTest();
function leakTest() {
$.ajax({ url: '/html/delme.x',
type: 'GET',
success: incrementCounter
});
}
function incrementCounter(data) {
if (counter<1000) {
counter++;
$('#counter').text(counter);
setTimeout(leakTest,100);
}
else $('#counter').text('finished.');
}
</script>
</head>
<body>
<div>Why is memory usage going up?</div>
<div id="counter"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是非泄漏版本:
<html>
<head>
<script type="text/javascript" src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.8.0r4/build/event/event-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.8.0r4/build/connection/connection_core-min.js"></script> …Run Code Online (Sandbox Code Playgroud) 我正在使用Qt开发一个科学数据采集应用程序.由于我不是Qt的深度专家,我想从社区建议一些关于以下问题的建筑:
该应用程序支持多个硬件采集接口,但我想在这些接口之上提供通用API.每个接口都有一个样本数据类型和一个数据单位.所以我将每个设备的样本矢量表示std::vector为Boost.Units数量(即std::vector<boost::units::quantity<unit,sample_type> >).我想使用多播式架构,其中每个数据源将新接收的数据广播给一个或多个感兴趣的各方.Qt的信号/插槽机制非常适合这种风格.所以,我希望每个数据源发出一个信号
typedef std::vector<boost::units::quantity<unit,sample_type> > SampleVector
signals:
void samplesAcquired(SampleVector sampleVector);
Run Code Online (Sandbox Code Playgroud)
适用于该设备的unit和sample_type.由于QObject元对象编译器不支持tempalted 子类,因此似乎没有办法为定义samplesAcquiredSignal的所有数据源都有一个(tempalted)基类.换句话说,下面将不工作:
template<T,U> //sample type and units
class DataSource : public QObject {
Q_OBJECT
...
public:
typedef std::vector<boost::units::quantity<U,T> > SampleVector
signals:
void samplesAcquired(SampleVector sampleVector);
};
Run Code Online (Sandbox Code Playgroud)
我能够提出的最佳选择是双层方法:
template<T,U> //sample type and units
class IAcquiredSamples {
public:
typedef std::vector<boost::units::quantity<U,T> > SampleVector
virtual shared_ptr<SampleVector> acquiredData(TimeStamp ts, unsigned long nsamples);
};
class DataSource : public QObject {
...
signals:
void samplesAcquired(TimeStamp ts, unsigned …Run Code Online (Sandbox Code Playgroud) 我正在为基于Windows窗体的应用程序寻找一个良好的GUI测试框架/自动化测试工具.
你能推荐一下吗?
在我的查询中测量性能时,我想出了隔离级别和经过时间之间的依赖关系,这对我来说是令人惊讶的
READUNCOMMITTED - 409024
READCOMMITTED - 368021
REPEATABLEREAD - 358019
SERIALIZABLE - 348019
Run Code Online (Sandbox Code Playgroud)
左列是表提示,右列是经过的时间(以微秒为单位)(sys.dm_exec_query_stats.total_elapsed_time).为什么更好的隔离级别可以提供更好 这是一台开发机器,无论发生什么都没有并发.由于锁定开销较少,我希望READUNCOMMITTED能够被禁止.
更新:我测量了这个
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
Run Code Online (Sandbox Code Playgroud)
发布和Profiler确认没有缓存命中发生.
假设我有两个看起来像这样的表:
TH TH TH TH
TD TD TD TD
TD TD TD TD
Run Code Online (Sandbox Code Playgroud)
和
TH TH TH TH
TH TD TD TD
TH TD TD TD
Run Code Online (Sandbox Code Playgroud)
我想在每个中选择第3列.
起初我正在使用nth-child:
$('table tr td:nth-child(3)')
Run Code Online (Sandbox Code Playgroud)
但这不会起作用,因为第三个TD在每个表的不同列中.
伪代码我需要的是" 每行获得第3个TD 或 TH".
我假设我需要使用$ .siblings但不完全确定.
我基本上有 7 个 select 语句,我需要将结果输出到单独的列中。通常我会使用交叉表来完成此操作,但我需要一种快速有效的方法来完成此操作,因为表中有超过 70 亿行。我正在使用vertica数据库系统。以下是我的陈述的示例:
SELECT COUNT(user_id) AS '20100101' FROM event_log_facts WHERE date_dim_id=20100101
SELECT COUNT(user_id) AS '20100102' FROM event_log_facts WHERE date_dim_id=20100102
SELECT COUNT(user_id) AS '20100103' FROM event_log_facts WHERE date_dim_id=20100103
SELECT COUNT(user_id) AS '20100104' FROM event_log_facts WHERE date_dim_id=20100104
SELECT COUNT(user_id) AS '20100105' FROM event_log_facts WHERE date_dim_id=20100105
SELECT COUNT(user_id) AS '20100106' FROM event_log_facts WHERE date_dim_id=20100106
SELECT COUNT(user_id) AS '20100107' FROM event_log_facts WHERE date_dim_id=20100107
Run Code Online (Sandbox Code Playgroud)
应该返回类似:
20100101 | 20100102 | 20100103 | 20100104 | 20100105 | 20100106 | 20100107
1234 | 1234 …Run Code Online (Sandbox Code Playgroud) 我们在Zend Framework(v1)中构建了一个应用程序,并且在设置错误报告和日志记录方面没有做太多工作.有没有办法在没有太多代码更改的情况下获得某种级别或错误报告?是否有可用的ErrorHandler插件?
基本要求是记录控制器内发生的错误,丢失控制器,格式错误的URL等.
我还希望能够在我的控制器中记录错误.将在这里使用错误控制器,帮助我识别和记录我的控制器中的错误?如何以最小的变化做到最好?
jquery ×2
.net ×1
ajax ×1
automation ×1
c ×1
c++ ×1
cfmail ×1
coldfusion ×1
email ×1
html-email ×1
memory ×1
memory-leaks ×1
optimization ×1
php ×1
qt4 ×1
regex ×1
sql ×1
sql-server ×1
templates ×1
testing ×1
trim ×1
vertica ×1
zend-form ×1