我有一个git存储库,它只用于保存几个项目中使用的图形和声音文件.它们都在没有子目录的一个目录中.现在我刚创建了一个脚本,用于将这些资产从另一个结构化目录复制,具有多个子目录级别.
现在我只想通过git跟踪(源)分层文件结构,并且应该忽略(目标)平面目录(包含一堆中的所有文件).
我已将目标目录添加到.gitignore,但git仍在跟踪其中的更改.我想如果我提交删除目标目录中的旧文件,git可能会停止跟踪新内容(由脚本复制),但事实并非如此.
如何让git忘记目标目录?
使用OAuth协议时,您需要从要委派的服务获取的秘密字符串.如果您在Web应用程序中执行此操作,则可以将秘密存储在数据库或文件系统中,但在移动应用程序(或桌面应用程序)中处理此问题的最佳方法是什么?
在应用程序中存储字符串显然不是很好,因为有人可以很容易地找到并滥用它.
另一种方法是将其存储在您的服务器上,并让应用程序在每次运行时获取它,而不是将其存储在手机上.这几乎一样糟糕,因为您必须在应用程序中包含URL.
我能想到的唯一可行解决方案是首先正常获取访问令牌(最好使用应用程序内部的Web视图),然后通过我们的服务器路由所有进一步的通信,这将秘密附加到请求数据并进行通信与提供者.再说一次,我是一个安全菜鸟,所以我真的很想听听一些知识渊博的人对此的看法.在我看来,大多数应用程序都没有这么长时间来保证安全性(例如,Facebook Connect似乎假设您将秘密放入应用程序中的字符串中).
另一件事:我不相信最初请求访问令牌的秘密,所以可以在不涉及我们自己的服务器的情况下完成.我对么?
从手册页:
Run Code Online (Sandbox Code Playgroud)Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>".
所以我删除了一堆分支
git push origin :staleStuff
Run Code Online (Sandbox Code Playgroud)
然后跑了
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
但是,只修剪了一个本地分支.其中一些分支是由我创建的,一些是由同事创建的.这是否表明我首先没有正确跟踪这些分支?
指望int在Objective-C中始终初始化为0 是否安全?
更具体地说,当int新实例化具有ivars 的对象时,可以安全地假设其ivars的值为0吗?
在OAuth协议中,服务使用者将要求用户在服务提供者域中授权请求令牌,然后从服务提供者交换请求令牌以获取访问令牌.
我想知道为什么OAuth被设计为在协议中有两个令牌.
为什么不在此过程中使用一个令牌呢?也就是说,用户将授权令牌,并且服务消费者将使用令牌从提供者检索信息.
合并分支(我使用git)时,Xcode项目文件(Project.xcodeproj/project.pbxproj)中经常会发生冲突.有时它很容易,但有时我最终会得到一个损坏的项目文件并且必须还原.在最坏的情况下,我必须通过拖动文件等在第二次提交中手动修复项目文件(可以用之前的方式压扁).
有没有人有关于如何处理大型和复杂文件(如Xcode项目文件)中的合并冲突的提示?
编辑 -一些相关的问题:
我应该使用merge = union将.pbxproj文件与git合并吗?
资源:
http://www.alphaworks.ibm.com/tech/xmldiffmerge
http://www2.informatik.hu-berlin.de/~obecker/XSLT/#merge
http://tdm.berlios.de/3dm/doc/thesis.pdf
http://www.cs.hut.fi/~ctl/3dm/
http://el4j.svn.sourceforge.net/viewvc/el4j/trunk/el4j/framework/modules/xml_merge/
在昨天的CocoaHeadsÖresund会议上,peylow构建了一个很棒的ObjC测验.竞争非常激烈,当评估最后一个问题时,有三个人留下相同的分数:Objective-C有多少保留关键字加到C?
随后进行了一些激烈的辩论.所有人都认为@interface,@implementation等等都是预处理器指令而不是关键字,但是怎么样in?它可能是一个关键字,但它不是保留关键字.例如,以下将编译没有错误或警告:
NSArray* in;
for (in in in)
NSLog(@"bwahahaa");
Run Code Online (Sandbox Code Playgroud)
我们的结论是,ObjC 没有为C 添加保留关键字,有人赢得了一本看似很好的书.
但今天我通过尝试这样的事情尝试了一些更系统的滥用编译器:
int self = 45;
self++;
int y = self;
Run Code Online (Sandbox Code Playgroud)
这编译罚款,而相同的代码工作替换为自己BOOL, bycopy, inout, oneway, byref, SEL,和IMP.
使用id变量名称,第一行和最后一行编译,但不是第二行.同样的Protocol,和Class.
使用super,第一行编译,但不是第二行和第三行.
随着YES,NO和NULL所有三线无法编译,可能是因为他们只是被定义为true,false和nil.
在我看来,很多这就是gcc变得困惑,我不太确定它反映的是什么是Objective-C中的保留关键字.例如,为什么可以将其self用作int的名称,但不是super吗?
第一个赋值始终有效(除了带有YES,NO和NULL)这一事实似乎支持这样一种观点,即没有一个候选是C中没有的技术上保留的关键字.或者?
有人可以给我们一个关于这个棘手问题的权威解释吗?
几个人的荣誉受到威胁.
编辑:正如Nikolai Ruhe指出的那样,我们需要明确定义"关键字"才能继续.Niko引用维基百科的一篇文章称关键词是"具有特定含义的词或标识符".
我认为从同一篇文章中使用这个定义是合理的:
在许多语言中,例如C和类似C++的环境,关键字是一个标识语法形式的保留字.控制流构造中使用的单词,例如if,then和else是关键字.在这些语言中,关键字也不能用作变量或函数的名称.
此外,正如文章所述:
通常,当程序员尝试使用关键字作为变量或函数名称时,将触发编译错误. …
我正在使用改变一些对象的类object_setClass(id object, Class cls).我正在将类更改为原始类的子类.然后我设置了一些只在子类上定义的属性,事情似乎工作正常.
我有点惊讶这是有效的,因为object_setClass据我所知,不重新分配对象,它只改变isa指针.如果子类实例比原始类实例大得多(意味着有更多的ivars),我看不到对象如何按预期工作.
这是否只是因为内存中的对象之间存在大量缓冲内存(由于对齐等)?
这是强大的,还是在某些情况下会崩溃?
有人可以列举OAuth 2.0和以前版本之间的主要区别吗?或者指出我的文档.(不是完整的OAuth 2.0协议草案 ;我没有时间阅读它.)