有哪些方法可以编写容易修改的代码?
我从经验中学到的一点是,我几乎总是需要写一个扔掉.这样我就可以在编写实际应用程序之前了解所需的领域知识和程序结构.
我想知道Objective-C/Foundation是否有任何用于从控制台读取用户输入的特殊命令.因为它有输出的NSLog,所以我可以使用其他东西而不是scanf命令.
我需要在我的工具中读取一些数字(用户输入).在double或int等类型中获取这些输入的最佳方法是什么?如何将用户输入到NSString中?
在用户插入或取消 DetailsView 后,我需要执行一些检查(启用或禁用页面上其他位置的标签)。我必须这样做,因为 DropDownList.SelectedIndexChanged 在此事件期间不会触发(在我看来这是愚蠢的,因为索引确实发生了变化)。
收集用户输入后的各种条件,如
/(^@)//(@$)//@/如果用户输入多个条件,要制作单个正则表达式,我将它们组合起来,"|"如果它变为1和2/(^@)|(@$)/
此方法到目前为止工作,但是,
我无法正确判断,该条件应该是什么样的正则表达式?结合正则表达式这种方式有效吗?
更新:@(用户输入)对于两个条件不会相同,并且不是所有四个条件总是存在但是它们可能会在未来我可能需要更多条件,例如"确切地"和"完全没有"等等.所以,我我更好奇地知道这种方法会扩大规模吗?
此外,可能存在用户输入清理问题,因此正则表达式正确转义,但现在忽略了.
是否可以像这样的语句使用条件运算符?
(x == y) ? alert("yo!") : alert("meh!");
Run Code Online (Sandbox Code Playgroud)
或者使用它来分配这样的值是否更正确?
z = (x == y) ? "yo!" : "meh!";
Run Code Online (Sandbox Code Playgroud)
如果像声明一样使用它是不正确的,那么可以添加多行代码来执行吗?为多行代码使用ifthen和switch语句更正确吗?
(x == y) ? (alert("yo!"), document.write("woot!")) : (alert("meh!"), document.write("blah!"));
Run Code Online (Sandbox Code Playgroud) 给定具有ForeignKeyField(FKF)或ManyToManyField(MTMF)字段的模型以及"self"的外键,如何在Django Admin(admin)中阻止自我(递归)选择.
简而言之,应该可以防止在管理员中自我(递归)选择模型实例.这适用于编辑模型的现有实例,而不是创建新实例.
例如,对新闻应用中的文章采用以下模型;
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField()
related_articles = models.ManyToManyField('self')
Run Code Online (Sandbox Code Playgroud)
如果有3个Article实例(标题:a1-3),当Article通过管理员编辑现有实例时related_articles,默认情况下由html(多个)选择框表示该字段,该框提供所有文章(Article.objects.all())的列表.用户应该只能看到并能够选择Article除自身以外的实例,例如,当编辑Articlea1时,related_articles可以选择= a2,a3.
我现在可以看到有三种方法可以做到这一点,按优先顺序递减;
related_articles(通过排除查询过滤器,例如Article.objects.filter(~Q(id__iexact=self.id)),从用户可以查看和选择的related_article列表中排除正在编辑的当前实例.创建/设置要使用的queryset可能发生在__init__自定义的构造函数()中Article ModelForm,或者通过某种动态limit_choices_to Model选项.这需要一种方法来获取正在编辑的实例以用于过滤.save_model功能以在保存实例之前检查并从中删除自身.这仍然意味着管理员用户可以查看和选择所有文章,包括正在编辑的实例(对于现有文章).Article ModelModelAdminrelated_articles理想的解决方案(1)目前可以通过管理员之外的自定义模型表单来完成,因为可以将正在编辑的实例的过滤的查询集变量传递给模型表单构造函数.问题是,您是否可以获得Article实例,即在创建表单之前对管理员进行"自我"编辑以执行相同的操作.
我可能会以错误的方式解决这个问题,但是如果您允许将FKF/MTMF定义为同一模型,则应该有一种方法可以让管理员做正确的事情 - 并防止用户选择自己将其排除在可用选项列表中.
注意:解决方案2和3现在可以做,并提供尝试避免得到这些作为答案,理想情况下我想得到解决方案1的答案.
完成此任务的最佳方法是什么?
从我到目前为止所读到的,似乎你必须设置IO Remote(这本身就很痛苦).你需要做FFT吗?那里有什么例子吗?
我可以加快/减慢播放速度吗?
谢谢
在我的存储过程中,我有多个类似的变量@V1,@V2... @V20(假设其中20个)来自记录的FETCHED.我如何使用动态SQL使用这些变量作为参数对另一个存储过程进行20次调用?
当然@V[i]语法不正确,但它表达了意图
fetch next from maincursor into @status, @V1, @V2, ...
while @i<21
begin
-- ??? execute sp_executesql 'SecondSP', '@myParam int', @myParam=@V[i]
-- or
-- ??? execute SecondSP @V[i]
set @i = @i+1
end
Run Code Online (Sandbox Code Playgroud) 我是否必须保存对模型集合中各个项目的修改,或者是否有一种方法可以在保存模型时调用它来保存它们.
#save似乎没有这样做.例如:
irb> rental = #...
#=> #<Rental id: 18737, customer_id: 61, dvd_id: 3252, date_rented: "2008-12-16 05:00:00", date_shipped: "2008-12-16 05:00:00", date_returned: "2008-12-22 05:00:00">
irb> rental.dvd
#=> #<Dvd id: 3252, title: "The Women of Summer", year: 1986, copies: 20, is_new: false, is_discontinued: false, list_price: #<BigDecimal:1a48f0c,'0.1599E2',8(8)>, sale_price: #<BigDecimal:1a48ed0,'0.1599E2',8(8)>>
irb> rental.dvd.copies += 1
#=> 21
irb> rental.save
#=> true
irb> rental.dvd
#=> #<Dvd id: 3252, title: "The Women of Summer", year: 1986, copies: 21, is_new: false, is_discontinued: false, list_price: #<BigDecimal:1a2e9cc,'0.1599E2',8(8)>, sale_price: #<BigDecimal:1a2e97c,'0.1599E2',8(8)>> …Run Code Online (Sandbox Code Playgroud) 我想找出为什么strncpy被认为是不安全的.有没有人有关于此的任何文档或使用它的漏洞利用示例?
activerecord ×1
asp.net ×1
audio ×1
c ×1
c++ ×1
cocoa ×1
coding-style ×1
conditional ×1
console ×1
core-audio ×1
django ×1
django-admin ×1
dry ×1
foreign-keys ×1
foundation ×1
iphone ×1
javascript ×1
many-to-many ×1
operators ×1
regex ×1
ruby ×1
string ×1
strncpy ×1
t-sql ×1