"非原子"在此代码中的含义是什么?
@property(nonatomic, retain) UITextField *theUsersName;
Run Code Online (Sandbox Code Playgroud)
原子和非原子有什么区别?
谢谢
我已经准备好Mcconnell的" 代码完成 " 了一段时间.现在我在亨特和托马斯的" 实用程序员 "中再次阅读:使用断言!注意:我的意思是,不是单元测试断言Debug.Assert().
在SO问题之后什么时候应该使用Debug.Assert()?而当使用断言过例外领域类的断言是发展有用的,因为"不可能"的情况下,可以发现相当快.它们似乎很常用.据我理解的断言,在C#中,它们通常用于检查"不可能"值的输入变量.
为了尽可能简化和隔离单元测试,我用nulls和"不可能"的虚拟输入(如空字符串)来提供类和方法.
此类测试明确记录,它们不依赖于某些特定输入.注意:我正在练习Meszaros的"xUnit测试模式"描述为Minimal Fixture.
这就是重点:如果我有一个保护这些输入的断言,它们会炸毁我的单元测试.
我喜欢断言编程的想法,但另一方面我不需要强迫它.目前我想不出任何用途Debug.Assert().也许有一些我想念的东西?你有什么建议,他们真的有用吗?也许我只是高估了断言的用处?或者也许我的测试方式需要重新审视?
编辑:调试的最佳实践单元测试期间的断言非常相似,但它没有回答困扰我的问题:如果我Debug.Assert()按照我的描述进行测试,我是否应该关心C#?如果是的话,它们在哪种情况下真的有用?在我目前的观点中,这样的单元测试将Debug.Assert()没有必要.
另一点:如果你真的认为,这是一个重复的问题,只需发表一些评论.
是否可以将applicationSettings移动到另一个配置文件,因为可以使用connectionStrings或appSettings?
当我使用设计器为我的Web应用程序创建设置时,我在web.config中获取了applicationSettings部分,例如:
<applicationSettings>
<TestWebApplication.Properties.Settings>
<setting name="AnotherSetting" serializeAs="String">
<value>Another setting value</value>
</setting>
</TestWebApplication.Properties.Settings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)
我希望能够将它们移动到另一个文件,如appSettings:
<appSettings configSource="config\appsettings.config"/>
Run Code Online (Sandbox Code Playgroud)
我正在使用一个项目,该项目通过使用设计器和web.config生成的类访问了很多设置,在多个环境之间很难维护.如果我可以强制Settings类使用appSettings而不是applicationSettings会更好.
可能吗?
在此先感谢您的帮助.
我们正在寻找帮助我们增强和维护基于PHP的高质量交易网络应用原型的人.理想情况下,谁可以很好地沟通,并进行前端和后端Web开发(以及智能/完成任务等).在其他更一般的事情中,我一直在使用这个问题:
鉴于这种:
$foo = array(1, 3, 7);
写一个函数(在这个白板上)来对数组的值求和.
这对我来说似乎很容易,但是却引起了几个鹿头灯的情况,这总让我觉得自己像个恶棍.
我已经在这里和那里(包括乔尔和杰夫的)阅读了一些帖子,说候选人如何思考,设计技巧,激情等等比任何特定的技术技能更重要,我同意这一点.此外,我可以看到在白板上编程有点不切实际.OTOH,这对我来说似乎很基础,我倾向于将它视为前端开发人员之间的精细首过滤器(谁知道他们的方式围绕html,css,以及如何复制和粘贴js函数或二),以及真正能够编码的人.思考?
触摸更多信息:我对各种答案持开放态度:array_sum,for循环,foreach循环.哎呀,如果他们想写一个ArraySum类,那就太过分了,但还不错.使用javascript或其他语言会很好,如果他们对此感觉更舒服的话.即使是有轻微错误的尝试也没关系,但我已经完成了几次冻结,所以我只是想要理智地检查自己.
我正在编写一个脚本来开始使用PowerShell.我正在尝试转换一个工作的VBScript脚本,该脚本枚举远程Windows计算机上的映射网络驱动器.
其中一项任务是使用远程WMI来读取注册表并找到explorer.exe的进程所有者,以确定谁登录.这个指南似乎很容易.
但是,我需要调用的WMI方法是来自Win32_Process的GetOwner(),它需要两个输出参数来存储其返回值.
如何调用带输出参数的方法?当我尝试给它两个字符串时,我得到错误:Cannot find an overload for "GetOwner" and the argument count: "2"..MSDN页面说有两个参数,所以我不确定我做错了什么.
假设我有一张桌子:
SELECT SUM(quantity) AS items_sold_since_date,
product_ID
FROM Sales
WHERE order_date >= '01/01/09'
GROUP BY product_ID
Run Code Online (Sandbox Code Playgroud)
这将返回自特定日期以来销售数量的产品列表.有没有办法不仅选择这个总和,而且还有一个没有where条件的总和?我希望看到每个产品的特定日期以及所有(非日期限制)销售的销售额.
我有2个接口IA和IB.
public interface IA
{
IB InterfaceB { get; set; }
}
public interface IB
{
IA InterfaceA { get; set; }
void SetIA(IA value);
}
Run Code Online (Sandbox Code Playgroud)
每个接口引用另一个.
我正在尝试按以下定义序列化ClassA.
[Serializable]
public class ClassA : IA
{
public IB InterfaceB { get; set; }
public ClassA()
{
// Call outside function to get Interface B
IB interfaceB = Program.GetInsanceForIB();
// Set IB to have A
interfaceB.SetIA(this);
}
}
[Serializable]
public class ClassB : IB
{
public IA InterfaceA { get; set; } …Run Code Online (Sandbox Code Playgroud) 我有一个执行select语句的存储过程.我希望我的结果按日期字段排序,并显示所有记录首先是NULL日期,然后是最近的日期.
声明如下:
SELECT a,b,c,[Submission Date]
FROM someView
ORDER BY [Submission Date] ASC
Run Code Online (Sandbox Code Playgroud)
现在,这将首先显示所有具有NULL提交日期的记录,但是当我到达具有日期值的行时,它们不是视图中的最新日期.
如果我用DESC替换ASC,那么我按照我想要的顺序获取日期,但NULL值位于我的结果集的底部.
有没有办法构建我的查询,以便我可以在顶部显示空值,然后当有日期值时,为了命令它们从最近的下降到最早?
我有一个登录表单,当用户注销时,该表单显示在我的所有页面的顶部.我当前的jQuery/javascript代码适用于Firefox 3但不适用于IE 7.代码查询页面,该页面只返回字符串"true"或"false",具体取决于登录是否成功.在我的$ .ready()函数调用中,我有以下内容......
$('#login_form').submit(function() {
var email = $('input#login_email').val();
var pw = $('input#login_password').val()
$.get('/user/login.php', { login_email: email, login_password: pw }, function(data) {
alert('get succeeded');
if(data == 'true') {
$('#login_error').hide();
window.location = '/user/home.php';
alert('true');
}
else {
$('#login_error').show();
alert('false');
}
});
alert('called');
return false;
});
Run Code Online (Sandbox Code Playgroud)
在FF中,我已成功转移到预期页面.然而,在IE中,下面的警报"被叫"而没有别的.当我刷新页面时,我可以看到我已登录,因此$ .get调用显然正在通过,但回调函数似乎不被调用(即"获得成功"不会弹出).我也似乎没有收到任何javascript错误消息.
为什么这不适用于IE?
谢谢
编辑:由于有几个人问,每当我输入正确的电子邮件/密码或不正确的电子邮件/密码时,回调函数中都不会发生任何事情.如果我在输入正确的页面后手动刷新页面,我就会登录.否则,我不是.
编辑2:如果我data在回调函数中警告在IE中没有任何反应(我没有得到警告弹出窗口).在FF中,它会警告true有效的电子邮件/ pw组合以及false无效的组合.我正在使用jQuery 1.3.2.
编辑3:好的,伙计们,我在那里尝试了R. Bemrose的事情,我在返回的数据上得到了一个"解析错误".我只是从其他PHP脚本回显'true'或'false'.我也试过'是'和'不',但这仍然给了我一个解析错误.此外,除了FF之外,这适用于Chrome.
我在C#中有一个散列算法,简而言之,它是:
string input = "asd";
System.Security.Cryptography.MD5 alg = System.Security.Cryptography.MD5.Create();
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
byte[] hash = alg.ComputeHash(enc.GetBytes(input));
string output = Convert.ToBase64String(hash);
// outputs: eBVpbsvxyW5olLd5RW0zDg==
Console.WriteLine(output);
Run Code Online (Sandbox Code Playgroud)
现在我需要在php中复制这种行为,
$input = "asd";
$output = HashSomething($input);
echo $output;
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现它?
我检查了
但我注意到php md5最终没有得到== ...我错过了什么?
注意:我无法更改C#行为,因为它已经实现并且使用此算法将密码保存在我的数据库中.
c# ×3
php ×2
sql-server ×2
asp.net ×1
cocoa ×1
interface ×1
ios ×1
iphone ×1
javascript ×1
jquery ×1
md5 ×1
objective-c ×1
powershell ×1
properties ×1
settings ×1
sql ×1
t-sql ×1
unit-testing ×1
web-config ×1
wmi ×1