我需要编写一个C++应用程序来读取和写入大量数据(超过可用的RAM),但总是按顺序方式.
为了使数据保持未来的证明和易于记录的方式,我使用Protocol Buffer.然而,协议缓冲区不处理大量数据.
我以前的解决方案包括为每个数据单元创建一个文件(并将它们全部存储在一个目录中),但这似乎不是特别可扩展.
这次我想尝试使用嵌入式数据库.为了具有类似的功能,我只需要存储key-> values关联(因此sqlite似乎有点矫枉过正).值将是Protocol Buffer的二进制序列化输出.
我希望数据库能够管理"内存中的内容,移动到磁盘上的内容"问题,"如何有效地在磁盘上存储大量数据"问题,理想情况下,优化我的顺序读取模式(通过阅读事前的下一个条目).
寻找替代品我对缺乏替代品感到惊讶.我不想将数据库保留在一个单独的进程中,因为我不需要这种分离(这排除了redis).
我发现的唯一选择是Berkeley DB,但它有一个令人不快的低级别C api.然后,我找到的最佳选择是在Berkeley DB之上的stldb4.API似乎非常好,符合我的需求.
不过我很担心.stldb4似乎很奇怪(它依赖于libferris的东西),非维护的解决方案(一年前的最后一个版本),对于我会遇到的问题很常见.
你们中有谁对如何管理这个问题有更好的建议吗?
谢谢你的回答.
存储接口选择的广泛接受的方式是什么,例如"不再显示此消息"设置,以及用户的任何其他特定于接口的选择?注册?设置文件?我也可以将它们存储在数据库中,因为我的程序已经可以访问一个.
编辑 我当前的程序是本地的,但是将来我想把它做成基于网络的.
我有一个HTML表格:
<table id="HatedByCSSOnlyGoons">
<tr><td>Header 1</td><td>Header 2</td></tr>
<tr><td>Data</td><td>Data</td></tr>
<tr><td>Data</td><td>Data</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我正在应用JQuery Sortable插件:
<script language="javascript">
$(document).ready(
function() {
$("#HatedByCSSOnlyGoons tbody").sortable();
$("#HatedByCSSOnlyGoons tbody").disableSelection();
}
);
</script>
Run Code Online (Sandbox Code Playgroud)
问题:我希望第一个之后的每个表行(因为这是带有表头的那个)可以排序.我如何限制范围sortable()
?
我们正在为汽车司机开发iPhone GPS应用程序.
您可能知道,iOS4引入了多任务处理,因此我们的应用程序可以在后台运行 - 事实就是如此.这是其功能的一部分.
问题在于在iOS4上关闭应用程序的标准方法.以下是两种情况:
1)用户想要将应用程序放到后台:
通常,在iPhone iOS4上,它就像按"主页"按钮一样简单.
2)用户想关闭应用程序(即到达目的地点后):
标准iPhone iOS4程序如下:
用户每次到达某处(例如,每天两次)都必须终止我们的申请,以节省他的电池.如果他不这样做 - GPS会很快耗尽所有电池电量.此外,我们无法在后台运行时禁用GPS,因为我们需要主要应用程序功能的精确位置信息.
当然,您无法更改应用程序中"主页"按钮的行为(即可接受AppStore).此外,我认为将预期行为改为与iPhone平台上的其他应用程序完全不同的东西并不是一个好的解决方案.
你觉得怎么样?你知道任何好的解决方案吗?我们有一个想法,但我不想向你提出任何建议.
我们的解决方案非常简单:只需在屏幕右上方显示小的"x"按钮即可.点击它会终止应用程序(可能在一些确认问题之后).
这个解决方案有一个很大的优势:它不会改变默认的系统行为 - 用户意识到iOS4多任务使用仍然可以按下"主页"按钮在后台运行应用程序并以iPhone方式关闭它.
你怎么看?
UITextAutocorrectionTypeNo对我不起作用.
我正在研究iPhone的填字游戏应用程序.问题在UITextViews中,我使用UITextFields作为每个字母的User-Input.通过触摸问题(UITextView),第一个答案char的TextField成为FirstRirstResponder.
一切正常但是UITextViews仍然是拼写检查并在问题中标记错误的单词,即使我将它们设置为UITextAutocorrectionTypeNo.
//init of my Riddle-Class
...
for (int i = 0; i < theQuestionSet.questionCount; i++) {
Question *myQuestion = [theQuestionSet.questionArray objectAtIndex:i];
int fieldPosition = theQuestionSet.xSize * myQuestion.fragePos.y + myQuestion.fragePos.x;
CrosswordTextField *myQuestionCell = [crosswordCells objectAtIndex:fieldPosition];
questionFontSize = 6;
CGRect textViewRect = myQuestionCell.frame;
UITextView *newView = [[UITextView alloc] initWithFrame: textViewRect];
newView.text = myQuestion.frageKurzerText;
newView.backgroundColor = [UIColor colorWithRed: 0.5 green: 0.5 blue: 0.5 alpha: 0.0 ];
newView.scrollEnabled = NO;
newView.userInteractionEnabled = YES;
[newView setDelegate:self];
newView.textAlignment = UITextAlignmentLeft;
newView.textColor = [UIColor whiteColor]; …
Run Code Online (Sandbox Code Playgroud) 我见过人们编写自定义类来更轻松地处理各种语言的命令行选项。我想知道.NET(3.5或更低版本)是否内置任何东西,以便您不必自定义解析诸如:
myapp.exe file = text.txt
我有一个id,第一个,最后一个表,我想运行一个查询说
给我每个记录,其中第一个和最后一个的组合不止一次存在
(我想找到重复的记录)
对不起,如果之前有人询问,我确实检查过但找不到任何东西......
在Unix中是否有一个函数来加密和解密批处理文件中的密码,以便我可以将它传递给bash文件中的其他命令?
我意识到这样做并不提供真正的安全性,如果他们正在看我的肩膀上的脚本,更多的是阻止有人意外地看到密码:)
我正在使用Red Hat 5.3.
我有一个类似于此的脚本:
serverControl.sh -u admin -p myPassword -c shutdown
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
password = decrypt("fgsfkageaivgea", "aDecryptionKey")
serverControl.sh -u admin -p $password -c shutdown
Run Code Online (Sandbox Code Playgroud)
这不会以任何方式保护密码,但会阻止某人意外地看到我的密码.
我有一个函数,它将一个指针作为参数重新分配给一个新的大小.现在,问题在于 - 根据手册页 - realloc
需要一个已经malloc
或calloc
之前返回的指针.
如何确保调用者传递满足这些要求的指针?似乎没有内置的C机制(比如类型限定符或其他东西)这样做.
现在,在我重构我的API之前(因为我认为这个功能现在不够强大) - 你能否证实我没有错过任何东西?
提前致谢.
编辑: 一个解决方案显然是函数中的malloc .问题在于调用者没有"看到"分配.因此,我需要明确地在文档中说他必须释放指针.这甚至比期望他们提供malloc指针(这意味着调用者必须释放它)更糟糕.
我真正想要的是在编译时阻止滥用的东西.那,还有一匹小马.;-)
.net-3.5 ×1
bash ×1
c ×1
c# ×1
c++ ×1
ios4 ×1
iphone ×1
javascript ×1
jquery ×1
jquery-ui ×1
multitasking ×1
mysql ×1
objective-c ×1
passwords ×1
realloc ×1
security ×1
sql ×1
sql-server ×1
uitextview ×1
unix ×1