鉴于依次开发开源分布式应用程序,我们正在熟悉Erlang/OTP和Riak(Core,KV,Pipe等).我们的项目将有许多依赖项:像erlang_js,protobuffs等工具,还有我们需要运行的服务,例如Riak KV.
在Python/Ruby/Node.js中,如果模块放在相对于项目的标准子目录中,您可以引用它们,然后将它们打包在发行版中.您可以在项目目录中启动一个shell,使用您的模块,进行测试等等,如果遵循良好实践,这一切都很容易.
在Erlang/OTP中组织开发环境的最佳实践是什么,所有依赖关系都可以访问(并且可以轻松更新到最新版本),对运行节点的shell访问,测试,发布等等?
我想知道如何在MongoDB的表中找到所有列名,就像你SHOW COLUMNS FROM foo;在mysql中使用的那样.
这被认为是从原始字典派生新字典的更好方法:
[NSDictionary dictionaryWithDictionary:otherDictionary];
Run Code Online (Sandbox Code Playgroud)
要么
[otherDictionary copy];
Run Code Online (Sandbox Code Playgroud)
?
我们不时需要用一个不可变的字符来制作一个可变字典,所以这个问题一直存在.也许没有,但我很想知道在某些用例中是否有一个比另一个好.
编辑:我知道上述方法不能用于派生可变字典.我只是想以一般方式提出问题,然后解释我每天如何面对这个问题.我应该更清楚这一点.
我有一个XCode工作区,由Cocoapod一些外部库的依赖项管理.其中之一,MTDates,使用前缀方法进行扩展NSDate,NSDateComponents如果定义了某个预处理器宏,则为非前缀(这就是我想要的).
有几个地方我可以放置预处理器宏定义,以便编译库提供非前缀的方法,但是一旦我要求Cocoapod更新项目,所有似乎都会重置,这让我认为这些配置是由pod规范驱动的.这些包括 :
.xcconfig文件位于Cocoapod的目标支持文件中更改pod的规范需要管理我自己的库版本,从而失去在cocoapods新版本出现时更新它的能力.所以我的问题是:有没有办法为cocoapod依赖项指定预处理器宏,而不需要分配pod并更改pod的规范本身?
编辑:
关于这一点存在一个悬而未决的问题,似乎即将到来.
我是一个公认的非常基本的Python程序员,在我遇到实现各种研究问题的问题时试图学习.而且我遇到了其中一个问题 - 特别是如何处理我返回一堆数据的循环,而不是通常的"输出单个数字"示例,您只需将循环结果添加到以前的所有内容中.
这是我正在尝试运行的非循环脚本的要点:https://gist.github.com/1390355
真正突出的一点是model_solve函数的结束:
def model_solve(t):
# lots of variables set
params = np.zeroes((n_steps,n_params)
params[:,0] = beta
params[:,1] = gamma
timer = np.arange(n_steps).reshape(n_steps,1)
SIR = spi.odeint(eq_system, startPop, t_interval)
output = np.hstack((timer,SIR,params))
return output
Run Code Online (Sandbox Code Playgroud)
这将返回ODE积分位(spi.odeint)的结果以及一个简单的"我们开什么时间步骤?" 计时器和两个随机变量的值基本上是两列,重复很多次,形式为4950行和7列NumPy数组.
然而,目标是对具有随机值的两个参数(β和γ)进行蒙特卡罗分析.从本质上讲,我想创建一个循环的函数:
def loop_function(runs):
for i in range(runs):
model_solve(100)
# output of those model_solves collected here
# return collected output
Run Code Online (Sandbox Code Playgroud)
然后将收集的输出写入文件.通常,我只是让每个model_solve函数将其结果写入一个文件,但是这个代码将在PiCloud或其他平台上运行,在这个平台上我不一定能够编写文件,直到结果返回到本地机器.相反,我正在尝试返回一个巨大的NumPy数组runs*7列和4950行 - 然后可以将其写入本地计算机上的文件.
有关如何处理此问题的任何线索?
有没有一种简单的方法来获取连接的erlang节点的IP地址?我想用几个节点启动SCTP连接,并且由于系统的设计方式,我对它们的了解只是它们的node()原子.
更确切地说,我想知道Erlang(或某些派生技术)提供的API是否允许在给定其标识符atom()的情况下获取节点的IP地址.
当用户做某些动作时,我需要UICollectionView从底部向上拉到一定高度.由于新状态完全是可选的,因此集合视图就在以这种方式呈现之前创建.从下到上的动画是使用NSLayoutConstraint constant属性的更改和[view layoutIfNeeded]某些动画块中的调用来执行的.
问题在于,以这种方式做事会使单元格以不希望的方式出现:它们从左上角扩展到指定的大小.我希望集合视图能够出现,并且所有单元格都已经按照它们的最终尺寸和外观进行了布局.
我知道像UIView的setAnimationEnabled:方法之类的东西,但我似乎无法找到我应该如何以及在哪里使用它(如果这是要走的路).
我想这个问题是由于集合视图单元格在包含调用的动画块之前被添加到视图层次结构中[superview layoutIfNeeded].这可能导致UIKit认为它也应该对布局的这些更改进行动画处理.如果是这种情况,那么解决方案可能就是从动画中排除,视图层次结构的特定更改.
我为我的项目设置了cocoapods,我已经进行了很长一段时间的开发而没有任何问题.最近我添加了一个名为"Beta"的新配置,复制了"Release"配置.与此同时,我添加了一个使用此配置构建目标的Scheme.
这个新方案可以毫无问题地构建所有内容,但是链接会因(看似已知的)消息而失败:
ld: library not found for -lPods
我知道在网络上广泛讨论了导致出现此错误消息的问题,原因和条件各不相同:
这些修补程序似乎都不适用于此.通过查看工作区文件夹,我可以看到,即使应用程序本身正确地构建在后者中,Cocoapods构建产品也会被放入Build/Products/Release-iphonesimulator而不是in Build/Products/Beta-iphonesimulator.将所有*.a文件移入Build/Products/Beta-iphonesimulatormake模拟器中运行正常,但下一个版本仍然放在错误的位置.
经过一些进一步的调查后,环境变量$BUILT_PRODUCTS_DIR在应用程序本身的构建阶段正确设置,但在构建cocoapods产品时则没有.
是什么导致这种情况以及如何解决这个问题?
pod install 已多次运行

我正在使用node-msgpack来编码和解码在机器之间传递的消息.我希望能够做的一件事是将原始缓冲区数据包装在一个对象中并使用Messagepack对其进行编码.
msgpack = require('msgpack')
buf = <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 ...>
obj = {foo: buf}
packed = msgpack.pack(obj)
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我想对嵌套在对象中的缓冲区的原始字节进行一致性检查.所以buf得到如此:
var buf = fs.readFileSync('some_image.png');
Run Code Online (Sandbox Code Playgroud)
在一个完美的世界里,我会得到:
new Buffer(msgpack.unpack(packed).foo);
#> <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 ...>
Run Code Online (Sandbox Code Playgroud)
相反,我最终得到一些随机数.深入挖掘,我最终得到以下好奇心:
enc = 'ascii'
new Buffer(buf.toString(enc), enc)
#> <Buffer *ef bf bd* 50 4e …Run Code Online (Sandbox Code Playgroud) iOS 上的 Sunrise 是日历,在版本 2 中增加了对 iCloud 日历的支持。从这个页面,日出团队说:
当您输入 iCloud 凭据时,它们只会通过 SSL 以安全方式发送到我们的服务器一次。[...] 我们使用它们从 Apple 生成安全令牌。此安全令牌是我们存储在服务器上的唯一内容,我们从不存储您的实际 iCloud 凭据。
最近:
从我们的 2.11 版本开始,我们不会将 iCloud 凭据发送到我们的服务器,该应用程序会在客户端生成安全令牌。
所有这一切都意味着由 Apple 生成/为 Apple 生成的令牌可用于代表用户从 Apple 的服务器访问用户的 iCloud 日历。这里和那里有一些参考资料,谈论一个人(用户)可以找到一个 CalDAV URL以用于日历客户端,或者如何通过 iCloud 网络应用程序将她的日历内容下载为 .ics 文件。
Sunrise 团队描述的方法似乎不适合这些方法中的任何一种。所以我想知道一家初创公司如何公开(显然是在 Apple 的支持下)访问 Apple 的服务器。
我一直在为我的iOS应用程序使用Google的LevelDB库,我对此非常满意.最近我将整个项目迁移到最新的Xcode 5,虽然部署目标仍然是iOS 6.1,但基本SDK现在是iOS 7.
一切都很好,直到它进入链接阶段,在那里它找不到所需架构的leveldb符号,即使leveldb的静态库是使用-isysroot正确指向iOS 7 SDK 的选项构建的.它失败了:
Ld /Users/mathieudamours/Development/storm/iOS/Uptime/Build/Intermediates/Uptime.build/Release-iphoneos/Uptime.build/Objects-normal/armv7/Uptime normal armv7
cd /Users/mathieudamours/Development/storm/iOS/Uptime/Uptime
setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L/Users/mathieudamours/Development/storm/iOS/Uptime/Build/Products/Release-iphoneos -L/Users/mathieudamours/Development/storm/iOS/Uptime/Uptime/../Pods/Objective-LevelDB/leveldb-library -F/Users/mathieudamours/Development/storm/iOS/Uptime/Build/Products/Release-iphoneos -F/Users/mathieudamours/Development/storm/iOS/Common/HockeySDK.embeddedframework -filelist /Users/mathieudamours/Development/storm/iOS/Uptime/Build/Intermediates/Uptime.build/Release-iphoneos/Uptime.build/Objects-normal/armv7/Uptime.LinkFileList -dead_strip -ObjC -fobjc-arc -Wl,-no_compact_unwind -licucore -lleveldb -lstdc++ -framework Accelerate -framework CFNetwork -framework CoreGraphics -framework MessageUI -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.1 -framework SystemConfiguration -framework QuartzCore -framework CoreText -framework EventKit -framework UIKit -framework HockeySDK -framework Foundation -framework CoreGraphics -lPods -Xlinker -dependency_info …Run Code Online (Sandbox Code Playgroud) 我需要为我的Web服务实现一个聊天应用程序(用Django + Rest api框架编写).在做了一些谷歌搜索之后,我发现可用的Django聊天应用程序都已弃用,不再受支持了.我找到的所有DIY(自己动手)解决方案都使用Tornado或Twisted框架.
所以,我的问题是:是否可以制作基于Django的同步聊天应用程序?我需要使用任何异步框架吗?我在后端编程方面经验很少,所以我希望尽可能简单.