我正在处理的 OTLP 项目遇到了数据库性能问题。我和另一位开发人员已经完成了我们积累的性能知识,并寻找一个人加入团队来帮助我们加快应用程序的速度。
对于某些背景,我们已经进行了架构更改以非规范化数据片段,优化了每个查询,运行了多个数据库调整顾问以使我们的索引恰到好处,调整了 MSSql 的服务器选项。
我们不需要有人进来告诉我们连接可能会很慢以及什么是死锁,我们需要有人知道在用尽上面列出的所有步骤后该怎么做。
有人有任何招聘 OLTP DBA 的技巧或经验可以分享吗?面试过程中我们可以问DBA哪些问题?
这是一个奇怪的情况,我们知道我们需要一个比当前团队了解更多的人,但我们不知道要问什么问题,因为我们不知道下一步是什么。那有意义吗?
如何在Entity Framework中模拟ObjectContext或ObjectQuery?
有时,git将自发地(在某些操作期间,但不是全部,"拉"或"克隆"操作)将存储库的所有远程分支复制到我的本地存储库中(甚至将它们全部设置为正确跟踪相应的远程分支) .是什么导致这个?有没有办法可以故意这样做?
我已经开始研究整个单元测试/测试驱动的开发理念,我越是想到它,它似乎越充满静态类型检查的类似角色.这两种技术都可以为程序中的某些错误提供编译时快速响应检查.但是,如果我错了,请纠正我,但是看起来完全覆盖的单元测试套件会测试静态类型检查会测试的所有东西,然后是一些.或者说另一种方式,静态类型检查只是"证明"你的程序是正确的一部分,而单元测试将让你"证明"你想要的(在某种程度上).
那么,如果您使用单元测试,是否有任何理由使用静态类型检查的语言?有些类似的问题被问在这里,但我想进入更多的细节.静态类型检查具有哪些特定优势(如果有)超过单元测试?我想到了编译器优化和智能感知等一些问题,但这些问题还有其他解决方案吗?还有其他我没想过的优点/缺点吗?
所以我有一个应用程序可以播放很多短的声音片段.我需要知道什么时候声音播放完毕,我需要使用MP3音乐,所以我使用AVFoundation的声音回放.
当主动播放声音并且用户使用硬件音量按钮时,播放音量会改变.问题是,应用程序是不是经常播放声音,而当它不是,且使用的硬件按键,铃声音量调整被代替.
如何进行设置,只要应用程序正在运行,用户就可以调整播放音量?
谢谢!
什么是一组漂亮的预处理器黑客(ANSI C89/ISO C90兼容),它在C中实现某种丑陋(但可用)的面向对象?
我熟悉一些不同的面向对象语言,所以请不要回答"学习C++!"这样的答案.我读过" 面向对象的ANSI C编程 "(当心:PDF格式)和其他一些有趣的解决方案,但我最感兴趣的是你:-)!
另请参见您能用C编写面向对象的代码吗?
或者他们(团队成员)需要有人继续推动?
编辑:
我有一些旧的软件(用一种不死的语言,但对我来说是死的;-))实现了源代码的基本模式匹配和写入系统.我正在考虑复制这段代码,将其翻译成现代语言,并将项目作为重构的动力工具开源.在我走得更远之前,我想知道是否已经存在这样的事情(我的google-fu今晚正在煽风点火).
以下是它的工作原理:
该软件在输入应用程序的抽象语法树(AST)上运行,并输出一个修改后的AST,然后可以将其重新生成为新的源代码
例如,假设我们发现了一堆真正应该是for循环的while循环.以下模板将匹配while循环模式:
Template oldLoopPtrn
int @cnt@ = 0;
while (@cnt@ < @max@)
{
… @body@
++@cnt@;
}
End_Template
Run Code Online (Sandbox Code Playgroud)
而以下模板将指定输出重写模式:
Template newLoopPtrn
for(int @cnt@ = 0; @cnt@ < @max@; @cnt@++)
{
@body@
}
End_Template
Run Code Online (Sandbox Code Playgroud)
和一个简单的规则来关联它们
Rule oldLoopPtrn --> newLoopPtrn
Run Code Online (Sandbox Code Playgroud)
所以看起来像这样的代码
int i=0;
while(i<arrlen)
{
printf("element %d: %f\n",i,arr[i]);
++i;
}
Run Code Online (Sandbox Code Playgroud)
自动重写后看起来像这样
for(int i = 0; i < arrlen; i++)
{
printf("element %d: %f\n",i,arr[i]);
}
Run Code Online (Sandbox Code Playgroud)
我见过的最接近的事情是一些代码重构工具,但它们似乎是针对所选片段的交互式重写,而不是批量自动更改.
我相信这种工具可以增加重构,并且可以使用多种语言(甚至是HTML/CSS).我也相信转换和抛光代码库将是一个巨大的项目,我无法在任何合理的时间内单独完成.
那么,那里有这样的东西吗?如果没有,任何明显的功能(除了重写规则条件)要考虑?
编辑:我非常喜欢这个系统的一个特点是模板模式非常明显且易于阅读,因为它们使用与目标源代码相同的语言编写,而不是以某种深奥的变异正则表达式/ BNF格式编写.
我有一个文件输入元素,需要在用户浏览并选择要上传的文件后进行克隆.我开始使用obj.cloneNode(),一切正常,直到我尝试在IE中使用它.
我从那以后尝试使用jQuery的克隆方法如下:
var tmp = jQuery('#categoryImageFileInput_'+id).clone();
var clone = tmp[0];
Run Code Online (Sandbox Code Playgroud)
在FireFox中按预期工作,但同样不在IE中.
我被卡住了.有人有什么建议吗?
unit-testing ×2
.net-3.5 ×1
audio ×1
avfoundation ×1
behavior ×1
branch ×1
c ×1
clone ×1
cocoa-touch ×1
git ×1
iphone ×1
javascript ×1
jquery ×1
mocking ×1
object ×1
oltp ×1
oop ×1
perl ×1
profiling ×1
regex ×1
sql-server ×1
target ×1
tdd ×1
templates ×1
volume ×1