我是Cocoa的新手,我发现很难说何时使用基于NSDocument的架构和普通的NSApplication来创建我的应用程序.
我正在创建这些玩具项目来学习Cocoa:
我应该将哪一个作为基于NSDocument的应用程序?
我肯定会尽可能使用CoreData,但NSDocument和普通的NSApplication与CoreData一起工作,所以我不确定这是否与我的问题相关.
我的情况是我的正则表达式在Windows Server 2008上编译得非常慢.我写了一个小的控制台应用程序来强调这个问题.该应用程序生成自己的输入,并从XML文件中的单词构建一个正则表达式.我构建了这个应用程序的发布版本,并在我的个人笔记本电脑(运行XP)和Windows 2008服务器上运行它.正则表达式在我的笔记本电脑上编译需要0.21秒,但在服务器上编译需要23秒.
可能导致这种情况的任何想法?问题只出现在首次使用正则表达式时(首次编译时 - 此后它很好)
我还发现了另一个问题 - 当\s+在同一个Windows 2008服务器上使用正则表达式时,内存气球(使用4GB +)并且Regex的编译永远不会完成.
Regex和64位.net是否存在已知问题?是否有针对此的修复/补丁?我无法在网上找到任何信息,但我在Framework 2.0中找到了一些关于同样问题的文章 - 这肯定已经解决了吗?
更多信息:服务器运行64位版本的.net框架(3.5 SP1),在我的笔记本电脑上安装了Visual Studio 2008和3.5框架.正则表达式具有以下模式:^word$|^word$|^word$并使用以下标志构造:RegexOptions.IgnoreCase | RegexOptions.Compiled
这是一段代码:
StringBuilder regexString = new StringBuilder();
if (!String.IsNullOrEmpty(fileLocation))
{
XmlTextReader textReader = new XmlTextReader(fileLocation);
textReader.Read();
while (textReader.Read())
{
textReader.MoveToElement();
if (textReader.Name == "word")
{
regexString.Append("^" + textReader.GetAttribute(0) + "$|");
}
}
ProfanityFilter = new Regex(regexString.ToString(0, regexString.Length - 1), RegexOptions.IgnoreCase | RegexOptions.Compiled);
}
DateTime time = DateTime.Now;
Console.WriteLine("\nIsProfane:\n" + ProfanityFilter.IsMatch("test"));
Console.WriteLine("\nTime: " + (DateTime.Now …Run Code Online (Sandbox Code Playgroud) 我想检查存储库http://code.sixapart.com/svn/perlbal/中的代码.我只能通过设置代理来访问存储库URL.我想如果我想通过svn从同一个URL获取代码,我也需要配置代理.那么你们中的任何人都可以告诉我如何在svn中配置HTTP代理吗?
顺便说一句,我svn在Linux下使用命令行客户端.
以下函数的递归版本是什么样的:
void tri_loop(size_t i, size_t j, size_t k)
{
for(size_t x = 0; x < i; ++x)
for(size_t y = 0; y < j; ++y)
for(size_t z = 0; z < k; ++z)
{
cout << x <<y << z;
}
}
Run Code Online (Sandbox Code Playgroud)
只是为了精神钻探.(编辑:强调这一行)
在我的项目中,我是首席开发人员,我们之前的网络配置存储在一个XML文件中.配置包含有关网络布局的信息 - 其组成主机,有关每个主机的各种详细信息,如操作系统,平台,在每个主机中配置的用户,每个用户的几个属性等等.在即将推出的产品版本中,我们希望将数据移动到某种类型的数据库中,因为配置将扩展为包含更多元素和细节,并且将它们保存在XML文件中将变得很麻烦.
第一个选择是RDBMS.然而,由于配置数据的分层特性和可扩展性标准,目录服务器似乎是更好的选择.使用目录服务器的动机是
在目录服务器中建模分层数据比在RDBMS中建模更容易.
创建/定义扩展具有附加属性的基本类型的新实体类型也更容易.从问题解决的角度来看,这是非常有吸引力的.
配置数据将被更频繁地读取而不是更新.虽然性能不是问题,但目录服务器非常适合这种特性.
经过大约一周的自我介绍LDAP和目录服务器的基础知识后,我现在对目录服务器的选择持怀疑态度.我看到一些问题:
LDAP不如RDBMS主流.很多人都有过使用某些SQL的经验,并且使用RDBMS可以比目录服务器更快地启动.正如我之前提到的,我花了一个多星期的时间来学习LDAP的基础知识(如何创建模式,定义DIT,添加条目,将数据导出到LDIF文件等).这很重要,因为当一个新成员加入团队时,他/她不会面临学习曲线.
将来,我们可能需要维护更多数据并将其存储在数据库中.目录服务器可能不是这种数据的良好选择(例如,数据可能会在读取时经常更新).在我看来,拥有两个存储机制是一种负担.
在更具政治性的方面,我不会因为选择RDBMS而受到指责/解雇,即使它不适合目前的问题.使用目录服务器,如果上面的第2点成为现实,我不想回答"为什么你没有想到这个?".
我正在寻找如何做出选择的建议.以前有没有人遇到类似的情况?
编辑1:我们在项目中就此进行了讨论,在此我提出了我在这里提出的确切观点.由于以下原因,我们很可能在没有任何进一步评估的情况下选择RDBMS:
第2点被认为比其他任何事情都重要.
我单位内部的想法似乎相当保守,各个层次的人都想要安全地玩.我真的不能责怪他们.
"为什么不是RDBMS?" 是第一个问题."它可以用RDBMS完成吗?" 是第二个.我终于收到了消息.
我刚发现了一些东西.
echo $var1 , " and " , $var2;
Run Code Online (Sandbox Code Playgroud)
是相同的:
echo $var1 . " and " . $var2;
Run Code Online (Sandbox Code Playgroud)
什么是PHP中的实际字符串连接运算符?我应该使用.还是,?
最近我联系了Empire-db.项目文件.声明他们正在使用"无字符串编码 ",旨在尽可能使用较少的常量字符串以避免拼写错误并使用编译器的力量.
我一直是这个原则的忠实粉丝,因为我认为Java是一种形式语言,它可以对属性或xml等配置进行表达,并通过编译器检查提供额外的价值.也许在运行时,没有重新编译就没有更改的可能性,但这取决于每种情况.
您现在对这个术语/原理/设计模式有更多的参考或阅读吗?
我只是碰到了一些奇怪的东西.我有两个JSON数组,它们包含不同的数据.通常我只需要其中一个数据,但是当我尝试进行双ajax调用以从两个数组中获取数据时,我最终得到两个调用的完全相同的数据.
假设数组1保存用户的JSON数据,数组2保存住宅的JSON数据,我想从两个数组中获取数据:( PS!我剪掉了url并type保存了几行.)
$.ajax({
async:false,
data:"type=users&id=3,5,6",
success: function(data) {
data = JSON.parse(data);
alert(data.length) //will alert 3 as expected
}
});
Run Code Online (Sandbox Code Playgroud)
然后我再打电话给那里买些房子:
$.ajax({
async:false,
data:"type=houses&id=2,4",
success: function(data) {
data = JSON.parse(data);
alert(data.length) //alerts 3 as well...
}
});
Run Code Online (Sandbox Code Playgroud)
当我查看params和Firebug的响应时,我可以看到params是正确的,但是响应是错误的.
在我的PHP中,我甚至试图回应一下这样做:
echo $_GET['id'] . ", " . $_GET['type'];
Run Code Online (Sandbox Code Playgroud)
这使得请求在两个调用中看起来完全相同...如果我在ajax调用之间放置一个警报,我得到预期的结果(因为系统等待).但我认为将它们两者同步就足以避免电话崩溃..?
编辑:我已经尝试创建一个在AJAX函数中调用的php文件的副本,并设置调用以转到单独的文件,这使得一切都按预期工作.所以我很确定javascript没什么问题.
更多编辑:如果我从第二个AJAX调用中删除参数,我仍然得到相同的结果.用Firebug查看请求我可以看到params列表是空的,但响应仍然相同......
更多编辑:在Firebug中查看,我可以看到有一个标题名称connection,其值为keep-alive,然后调用标题Keep-Alive值为300.我猜这可能与它有关?在jQuery文档中找不到任何内容,但是......
源代码:我做了一个小测试用例,它重现了这个问题:
PHP
echo $_GET['test'];
die();
Run Code Online (Sandbox Code Playgroud)
HTML
<sript>
$(document).ready(function() {
$.ajax({
type:"get",
url:"bugtest.php",
data="test=hello",
success: …Run Code Online (Sandbox Code Playgroud) 我有以下CSS代码,我的浮动正从容器中删除.Firefox没有这个问题.这种行为可能是什么原因?
<div class="container">
<div class="leftmenu">
... some stuff here ...
</div>
<div class="rightmenu">
<div style="float: right; text-align: right;">
<button class="ui-state-disabled ui-state-default ui-corner-all"> Button 1 </button>
<button class="ui-state-disabled ui-state-default ui-corner-all"> Button 2 </button>
<button class="ui-state-disabled ui-state-default ui-corner-all"> Button 3 </button>
<button class="ui-state-disabled ui-state-default ui-corner-all"> Button 4 </button>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)