当在方法中分配局部变量然后返回其调用者时,我对保留/释放计数有点困惑.例如
-(NSMutableString*)foo {
NSMutableString *str = [[[NSMutableString alloc] init] autorelease];
[str appendString:@"Just a test"];
return str;
}
NSMutableString *myString = [self foo];
Run Code Online (Sandbox Code Playgroud)
问题:(你可以看到我对这种情况感到很困惑)1.当str分配给myString时,str会保留计数增量吗?2.在这种情况下自动释放是否安全?谁应该清理记忆?
谢谢.
我正在使用SQL Server 2005.
我正在将数据从当前数据库(单个表)迁移到新数据库(规范化 - 许多表).在新数据库中,我有一个基表(我们称之为"BaseTable"),以及其他多个表(让我们调用它们"DependentA",和"DependentB").旧数据库中的一些数据将转到BaseTable,而另一些将转到另外两个.BaseTable与DependentA和DependentB都有一对一的关系,使用它们的Id作为外键.
所以这是我的问题.我应该如何迁移数据?这是我一直在尝试的一个查询,除了一件事之外它是有效的:BaseTable中的其他两个外键是相同的,而不是每个都有不同的.
Begin SQL:
BEGIN TRANSACTION
DECLARE @dep1Id int
DECLARE @dep2Id int
INSERT INTO DependentA (column1, column2)
SELECT c1, c2
FROM OldDatabase.OldTable
SELECT @dep1Id = Scope_Identity()
INSERT INTO DependentB (column3, column4)
SELECT c3, c4
FROM OldDatabase.OldTable
SELECT @dep2Id = Scope_Identity()
INSERT INTO BaseTable (column5, dependentTable1Id, dependentTablr2Id)
SELECT c5, @dep1Id, @dep2Id
FROM OldDatabase.OldTable
COMMIT
Run Code Online (Sandbox Code Playgroud) 假设您必须编写一种基于xml(无选择)的语言,最终将成为某种"标准"格式,被全球数十亿应用程序使用,或者至少您希望它. 该语言将类似于互联网的HTML,但在另一个特定的域中.一些非常简单和描述性的东西,将由工具和其他应用程序解释.
现在让我们说你对XML的工作方式有了基本的了解(你知道标签是如何工作的,它们可能有属性,元素中可能有元素......).你真的很了解这个领域,但你之前从未编写过语言或基于xml的格式规范(除了公司内部工具的一些基本xml格式).
你还需要知道什么才能正确地完成你的工作?也许某些XML语言特定的功能?也许使用XSD文件作为规范文件?
总结一下:在为这种语言设计和编写规范时,最佳做法是什么?
我将SHA256使用密码+ salt 运行,但我不知道VARCHAR在设置MySQL数据库时需要多长时间.什么是好长度?
我正在为MPC 555板写C,需要弄清楚如何在不使用malloc的情况下分配动态内存.
可能重复:
如何在C#中使用迭代器反向读取文本文件
我想知道是否有一种方法从下到上读取文本文件而没有任何性能损失,readLine,movenext方法,但反过来,在.net中这种事情是可能的吗?
为了使问题更有趣,文本文件中有大约10万行,所以我不能用readall作弊,反过来......
更详细一点:我有一组传入的字符串值,前缀为可以排序的int ID.不幸的是,我以错误的顺序获得这些ID.主要问题是字符串值的绝对数量,解决方案中没有RDBMS.所以我真的需要一种方法来存储字符串值,然后在处理过程中反转存储的顺序.文本文件浮现在脑海中,因为此时我没有更好的解决方案.
提前致谢.
的hashlibPython模块提供了以下的散列算法的构造:md5(),sha1(),sha224(),sha256(),sha384(),和sha512().
假设我不想使用md5,那么使用sha1而不是sha512会有很大的不同吗?我想使用类似的东西hashlib.shaXXX(hashString).hexdigest(),但因为它只是用于缓存,我不确定我需要(最终)额外的512开销......
是否存在这种开销,如果存在,它有多大?
向成员添加属性很有效,因为语法与在类型中定义成员时的语法完全相同.
[<TypeAttribute>]
let Foo () =
{
new Baz with
[<MethodAttribute>]
member x.Booga () = ()
}
Run Code Online (Sandbox Code Playgroud)
上面无法使用AttributeUsage编译异常"此属性对此语言元素无效".
即使我添加了属性提示,此错误也不会消失:
[<type: TypeAttribute>]
Run Code Online (Sandbox Code Playgroud)
如果将属性移动到对象表达式旁边,那么它似乎有意义,代码甚至不会解析.
let Foo () =
[<TypeAttribute>]
{
new Baz with
member x.Booga () = ()
}
Run Code Online (Sandbox Code Playgroud)
解析错误是绑定中的"意外符号"[<'.
let Foo () =
{
[<TypeAttribute>]
new Baz with
member x.Booga () = ()
}
Run Code Online (Sandbox Code Playgroud)
在此处移动属性无法解析"表达式中的意外符号'[<".预期'}'或其他标记","定义中的"不匹配的'{'"和"意外的关键字'成员'".最坏的结果呢.
所以在这一点上我的选择是放弃使用对象表达式来支持模块中的私有类型.
[<TypeAttribute>]
type private myBaz () =
interface Bax with
member x.Booga () = ()
let Foo () = new myBaz ()
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我更喜欢一种允许使用对象表达式的替代方案.
还有其他选择吗?
我有一个coldfusion应用程序,我在其中计算某个对象的剩余数量.
所以我有一个整数...就像9.
但是我需要以文本形式将它打印到屏幕上....就像九个一样.
是否有内置功能来执行此操作?我用Google搜索,找不到一个.
只是好奇人们如何将他们的Django项目与virtualenv结合使用
我使用git for scm但是我没有我的virtualenv在git repo中 - 我应该,还是最好使用pip冻结然后使用冻结输出在服务器上重新创建环境?(如果你这样做,请你描述一下步骤 - 我发现关于解冻过程的文档很少 - 有pip install -r freeze_output.txt可能吗?)