我正在编写一个允许我从远程服务器上传和下载文件的应用程序.我使用sftp作为我的传输协议,我需要将所有文件和目录列入listview.我正在使用sharpssh进行sftp.有人能指出我正确的方向吗?
谢谢你,
Bas van Ooyen
是否可以在Google中以编程方式生成标记?例如,我有一个服务和位置数据库,我想用PHP在Google Map上绘图.
使用Google Maps API V3,我创建了一个地图绘制和使用标记和信息窗口的服务很好,但我真正想要做的是生成默认的标志号码(1,2,3,4 ......等)基于从DB检索的顺序的气泡.此外,我想根据数据库中的服务类型以编程方式更改标记图标的颜色.
我使用PHP,所以不知道是否有一个脚本来做到这一点,但我希望,谷歌将通过API提供这种定制标记生成.
我使用的是HTML画布和JavaScript,我需要清除所有通过关闭路径(例如创建的形状下的像素的,我使用的海军报,我想使圆角,而要做到这一点,我首先需要通过在角落顶部绘制曲线以移除所需的像素来移除方角.
现在,我对即将填充用相同的颜色作为背景,它可以模仿一下我想要做的形状这样做,但是,它不是理想的,因为它使得它不可能图表放置在非顶固没有看到方角的背景.我知道,有一个clearRect方法,将做我想做的事情,但只有矩形,我需要的任何封闭的形状做.有可能,如果是的话,我该怎么做?
我需要修改已经插入到集合中的对象.这不是一件容易的事,因为从插入单个对象返回的对中的迭代器是一个常量迭代器,不允许修改.因此,我的计划是,如果插入失败,我可以将该对象复制到临时变量中,从集合中删除它,在本地修改它然后插入我修改后的版本.
insertResult = mySet.insert(newPep);
if( insertResult.second == false )
modifySet(insertResult.first, newPep);
void modifySet(set<Peptide>::iterator someIter, Peptide::Peptide newPep) {
Peptide tempPep = (*someIter);
someSet.erase(someIter);
// Modify tempPep - this does not modify the key
someSet.insert(tempPep);
Run Code Online (Sandbox Code Playgroud)
}
这有效,但我想让我的插入更有效率.我尝试制作另一个迭代器并将其设置为与modifySet中的someIter相同.然后删除someIter后我仍然会有一个迭代器到集合中的那个位置,我可以使用它作为插入位置.
void modifySet(set<Peptide>::iterator someIter, Peptide::Peptide newPep) {
Peptide tempPep = (*someIter);
anotherIter = someIter;
someSet.erase(someIter);
// Modify tempPep - this does not modify the key
someSet.insert(anotherIter, tempPep);
Run Code Online (Sandbox Code Playgroud)
}
但是,这会导致seg故障.我希望有人可以告诉我为什么这个插入失败或建议另一种方法来修改已经插入到集合中的对象.
完整的源代码可以在github上查看.
我喜欢帮助诊断我尝试使用g ++ 4.2.1编译时收到的重复符号错误的来源.
具体错误是
ld: duplicate symbol _SOCIODEM_FILENAMES in /var/folders/c+/c+eq1Qz1Feye7vxs5mQOUE+++TI/-Tmp-//ccP3yVgF.o and /var/folders/c+/c+eq1Qz1Feye7vxs5mQOUE+++TI/-Tmp-//cc1NqtRL.o
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
只有在我将此声明包含在名为的文件中时才会发生错误Parameters.h:
// Parameters.h
#ifndef PARAMETERS_H
#define PARAMETERS_H
// ...[code snipped]...
const int NUM_SOCIODEM_FILES = 5;
const char * SOCIODEM_FILENAMES[ NUM_SOCIODEM_FILES ] = { "LSPAN_PDF.txt",
"FLEDGE_PDF.txt",
"PAIR_PDF.txt",
"BIRTH_AGE_PDF.txt",
"SPLIT_PDF.txt" };
// ...[code snipped]...
#endif
Run Code Online (Sandbox Code Playgroud)
我搜索了所有文件,这是唯一SOCIODEM_FILENAMES宣布的地方.当我注释掉声明时,"重复符号"错误消失了.
我不熟悉链接器错误(如果这就是这个),并希望帮助解决问题.我的所有头文件都有#ifndef...#define...#endif包装器.我的编译命令是
g++ -o a.out -I /Applications/boost_1_42_0/ Host.cpp Simulation.cpp main.cpp Rdraws.cpp
Run Code Online (Sandbox Code Playgroud)
提前致谢.
解决方案摘要
我现在在Parameters.h中:
const char * const SOCIODEM_FILENAMES[ NUM_SOCIODEM_FILES ] = { …Run Code Online (Sandbox Code Playgroud) 最近,我询问(并回答)一个关于StackOverflow的问题,关于为什么单元测试在单独运行时会起作用,然后在运行整批单元测试时偶尔失败.请参见此处:SQL Server和TransactionScope(使用MSDTC):偶尔无法获得连接
在一次运行一个单元测试时通过,然后在一起运行时失败是一个典型的迹象,表明代码严重错误.
我发现有一点资源泄漏.由于一个微妙的错误导致SQL服务器的连接无法释放,我的连接用完了,测试失败了.AFAIK,这几乎就像内存泄漏一样; 连接从连接池分配,永远不会释放,因为内存可以分配,然后不释放.
但是,这确实给我留下了一个令人费解的疑问?一次运行一个测试并将它们作为套件运行有什么区别?如果测试在一次运行一个测试时通过,然后在一起运行时失败,那么测试运行之间必须进行某种清理,只有在每次运行一个测试时才会发生.
我猜想这可能与.net垃圾收集器在测试之间做或不做的事情有关.在一种情况下,在测试之间释放连接; 在另一种情况下,他们不是.
我怎么解释这个?
更新:对于那些询问代码细节的人来说,这很简单.我TransactionScope在Setup方法中声明了一个新对象,并将其置于我的Teardown方法中.然而,问题测试是一个包含100个测试用例的数据驱动测试; 正在测试的代码SqlDataReader使用SqlHelper类从select语句填充了一个对象,然后没有调用close方法SqlDataReader.因为我使用SqlHelper类来获取SqlDataReader,所以我预计会为我处理连接.不是这样!
但要澄清一点,我不是在询问我的具体情况.我想知道的是:一般来说,测试之间如何释放资源?我想这会是垃圾收集器的一些应用.我想知道垃圾收集器是否仍然可以清理以前的测试,因为下一个测试运行(竞争条件?)
更新:我对单元测试垃圾收集的了解.根据我自己的好奇心,我拿出了因为连接被SqlDataReader对象打开而失败的单元测试.我尝试添加System.GC.Collect()到每个测试的结尾.这成功地释放了连接,但确实会造成约50%的性能损失.
我的MySql服务器目前有235个数据库.我应该担心吗?它们都与MyISAM表具有相同的结构.
硬件是一台虚拟机,在四核AMD Opteron 2.2GHz上运行2 GB RAM.
最近cPanel给我发了一封电子邮件,说我的MySql失败并重新启动了.
预计将创建新的数据库,我想知道是否应该添加更多内存,或者我是否应该添加另一个虚拟机.
我一再遇到Internet Explorer的麻烦"这个脚本运行时间太长了,你想继续吗?" 消息.我想知道是否有人知道一种聪明的方法来欺骗JS引擎保持安静?根据我做的一些搜索,我发现引擎监视它认为可能无限循环的状态,所以我想也许我可以添加一些逻辑来每隔一段时间改变一次执行以欺骗它让它一个人留下,但是没运气.我也尝试将一个较长的循环分成几个较短的循环,但这没有帮助.具体而言,当前导致问题的代码是树结构中节点的扩展.代码循环遍历当前节点并扩展每个节点.用Javascript编写是一件微不足道的事情,但我可以' t允许这些超时错误,所以我认为我唯一的选择可能是通过AJAX请求预扩展的视图数据.我目前正在具有小(ish)数据集的DEV环境中工作,我知道这不会在其他环境中飞行.有人设法压制这些警告吗?
正如问题所说的那样.我得到的数字如2125550938或20298277625552.这些数字应分别改为(212)555-0938和(202)982-7762 x 5552.这是在vb.net中
我想知道当只有一个线程时使用互斥体或信号量是否有意义?
感谢您的帮助。