小编nir*_*ana的帖子

如何在'git credential-osxkeychain'中重置存储的凭据?

我已经按照GitHub说明设置了我的帐户,我可以克隆,但我无法远程推送.

当我执行"git push"时,我收到403错误.它具有正确的URL.我尝试了一个"git credential-osxkeychain get"来查看它给出的内容,并打印出错误的凭据.

我相信发生的事情是它第一次要求凭据,我认为这是另一个应用程序要求,并且它将错误的应用程序放入其中.

我只需要重置它,以便它为我的GitHub帐户使用正确的钥匙串项.

我试过了:

git credential-osxkeychain erase
git credential-osxkeychain set
Run Code Online (Sandbox Code Playgroud)

该程序从不给出任何提示.如果我不做正确的话,Set会说"输入错误".我尝试输入" password=password"等,但是当我做"获取"时,我仍然得到旧的.

我无法弄清楚这些存储的位置,因为它们不在.gitconfigure中.此外,最近没有钥匙链项目可能是它.(我的钥匙串中有几个GitHub帐户,它没有使用任何帐户.)

git macos github

86
推荐指数
9
解决办法
13万
查看次数

Xcode异常断点不会打印抛出异常的详细信息

摘要

当我设置异常断点时,我没有收到异常消息.我如何获得异常消息?我已经知道如何获得堆栈跟踪,但这不包括异常消息.

细节

在过去,我使用Xcode开发了iOS应用程序,当出现问题时,我会收到错误/异常.该异常通常会有一个消息,如"无法取消引用null"或其他任何内容.

现在,在过去几周内使用Xcode 4.6.x,我从未收到过异常消息.我经常会得到一个SIGABRT.我在异常断点处放置了它,它会在那里中断,但它在iOS SDK中的某个程序集中关闭,我从来没有收到消息.

事实上,我不记得上次看到调试器控制台中出现的任何内容.

迁移到LLVM时异常信息是否消失了?

让我的应用程序在SDK中崩溃而不知道原因是非常令人沮丧的.我检查最后一个函数,以确保正确设置(分配对象等),这意味着我没有任何线索.

是否可能从过去保留的构建设置以某种方式关闭异常消息?

请重新打开问题.它现在有一个答案!

在评论中给出了一个很好的答案.这应该被提升为完整答案,因此我可以将问题标记为已回答,而其他有此问题的人可以找到它.为了实现这一点,需要重新打开这个问题!(在那之后我会删除这个请求.)

xcode objective-c ios

59
推荐指数
6
解决办法
2万
查看次数

如何在Elixir或Erlang中在运行时动态创建和加载模块?

基本方案是:我需要从数据库加载文本,然后将该文本转换为Elixir模块(或Erlang模块),然后调用它.该文本实际上与模块文件相同.所以这是一种热代码加载形式.我想编译"文件",然后加载生成的模块,然后调用它.后来我会把它卸下来.唯一的区别是代码存在于数据库中而不是磁盘上的文件中.(当我正在编写将加载它的代码时,它不存在.)

我知道Erlang支持热代码加载,但似乎专注于编译磁盘上的文件然后加载梁.我希望这是一个更动态的过程,我不会替换正在运行的代码,而是加载代码,然后运行它,然后卸载它.

Elixir中有几个工具用于在运行时评估代码.我正在试图弄清楚如何使用它们,文档有点稀疏.

Code.compile_string(string, "nofile")
Run Code Online (Sandbox Code Playgroud)

"返回元组列表,其中第一个元素是模块名称,第二个元素是其二进制元素".所以,现在我有了模块名称和它们的二进制文件,但我不知道如何将二进制文件加载到运行时并调用它们.我该怎么办?(我可以看到代码库中没有这个功能.)

可能我可以使用Erlang函数:

:code.load_binary(Module, Filename, Binary)  ->
           {module, Module} | {error, What}
Run Code Online (Sandbox Code Playgroud)

好的,所以这会返回一个带有原子"module"然后是Module的元组.如果从数据库加载的字符串定义了一个名为"Paris"的模块,那么我的代码将如何执行

paris.handler([parameters])
Run Code Online (Sandbox Code Playgroud)

既然我事先不知道会有一个名为巴黎的模块?我可以知道,通过让字符串"paris"也存储在数据库中这是名称,但是有没有办法调用模块,使用字符串作为你正在调用的模块的名称?

还有:

eval(string, binding // [], opts // [])
Run Code Online (Sandbox Code Playgroud)

其中评估字符串的内容.这个字符串可以是模块的整个定义吗?看来不是.我希望能够编写这样的代码,使其具有多个相互调用的函数 - 例如一个完整的小程序,具有预定义的入口点(可能是主要的,例如as"DynamicModule.handle([parameter,list])"

然后是EEx模块,它具有:

compile_string(source, options // [])
Run Code Online (Sandbox Code Playgroud)

这对做模板很有用.但最终它似乎只适用于有一个字符串并且你已经嵌入了Elixir代码的用例.它在选项的上下文中计算字符串并生成一个字符串.我正在寻求将字符串编译成一个或多个我可以调用的函数.(如果我只能创建一个很好的函数,那么该函数可以模式匹配或切换到执行其他所需的事情....)

我知道这是非常规的,但我有理由这样做,他们是好的.我正在寻找有关如何做到这一点的建议,但不需要被告知"不要那样做".看起来它应该是可能的,Erlang支持热代码加载,而Elixir非常动态,但我只是不知道语法或正确的函数.我将密切关注这个问题.提前致谢!


编辑基于第一个答案:

谢谢你的答案,这是一个很好的进展.正如Yuri所示,eval可以定义一个模块,正如José指出的那样,我可以使用代码eval来处理带有绑定的小部分代码.

被评估的代码(无论是否变成模块)都会相当复杂.它的开发最好是将其分解为函数并调用这些函数.

为了帮助,让我提供一些背景信息.假设我正在构建一个Web框架.从数据库加载的代码是特定URI的处理程序.因此,当HTTP调用进来时,我可能会加载example.com/blog/的代码.此页面可能涉及几个不同的内容,例如注释,最近发布的列表等.

由于许多人同时访问该页面,我正在产生一个处理每个页面视图的过程.因此,对于不同的请求,有很多时候可以同时评估该代码.

模块解决方案允许人们将代码分解为页面不同部分的函数(例如:帖子列表,注释等).我会在启动时加载模块一次,让许多进程产生该调用进去.该模块是全球性的,对吗?

如果已经定义了模块会发生什么?EG:模块更改时,有进程已调用该模块.

在iex中,我能够重新定义已经定义的模块:

iex(20)> Code.eval "defmodule A do\ndef a do\n5\nend\nend"
nofile:1: redefining module A
Run Code Online (Sandbox Code Playgroud)

如果我在运行时将模块重新定义到当前调用该模块的所有进程,会发生什么?此外,在正常操作中,这种重新定义是否会在iex之外工作?

假设重新定义模块会有问题,并且全局模块可能遇到命名空间冲突的问题,我研究了使用eval来定义函数.

如果我只能从数据库定义函数的代码,那么这些函数都在任何进程的范围内,并且我们没有全局冲突的可能性.

但是,这似乎不起作用:

iex(31)> q = "f = function do
...(31)> x, y when x > 0 -> x+y
...(31)> x, y -> …
Run Code Online (Sandbox Code Playgroud)

erlang module dynamic elixir

35
推荐指数
2
解决办法
1万
查看次数

为erlang寻找持久的,分布式的工作队列

在重新发明轮子之前,我正在寻找满足这些要求的开源项目的指针.

  • 如果没有太多的包袱(例如:扭曲依赖的迷宫),在erlang中实现虽然go或C是可能的.
  • erlang中的端点或客户端(例如:我希望在执行作业时运行erlang代码.)
  • 将作业分配给节点,并调用一些erlang函数来完成这些作业.
  • 以某种方式坚持工作
  • 没有主节点,没有单点故障
  • 同质的建筑
  • 管理可能备份的作业队列,而不会丢弃工作
  • 一项工作不止一次是可以的
  • 像Riak或Couchbase这样的操作配置文件(例如:启动一个节点,然后启动其他节点并指向它们.)

强烈偏爱轻量级的东西.在erlang中有很多过度的企业级解决方案,看起来他们需要花费很长时间来学习,因为我将从头开始重新创建这个(事实上,我基本上构建了一个解决这个问题的解决方案来回答某人另外在stackoverflow上的问题.我可以构建我所描述的内容,但这似乎是正好在erlang的设计中间的那些需求之一.)

我考虑过: - ejabbered - 更多的消息传递框架 - rabitmq - 理论上这样做,但每次我去他们的网站我都淹没在抽象的海洋中.它似乎准备好做所有事情.我甚至无法判断它是否有任何持久性.

编辑添加:这是使用储物柜进行分布式锁定的幻灯片.似乎它解决了问题的一个关键部分(如果想要自己推出.) http://www.slideshare.net/knutnesheim/locker-distributed-consistent-locking

进一步编辑: 我真的在寻找比RabbitMQ更轻量级的东西.我知道它可以做我想要的,但似乎学习它的成本与自己做的成本相当,最终定制解决方案将更接近我真正需要的.

queue erlang worker elixir

7
推荐指数
2
解决办法
1954
查看次数

我可以制作一个可以在通用应用程序中的iPhone和iPad UI上共享的XIB/NIB吗?

XIB可以跨平台使用吗?

EG:我正在创建一个通用应用程序.在创建新的XIB时,Xcode希望我选择一个设备系列.

这个UI将在应用程序的两个版本中按原样使用,并且设备系列不是真正相关的(它是200x250像素并且可以在两个屏幕上显示).

如果我为设备系列选择iPad,这是否意味着在iPhone上运行时应用程序将看不到xib?

如果没有,我应该注意到哪些问题?

编辑:特别是在这个答案中,他们暗示设备系列嵌入在NIB本身,可能使其在"错误"平台上不可见:https://stackoverflow.com/a/10459556/1461211

objective-c xib nib ipad ios

1
推荐指数
1
解决办法
2043
查看次数

标签 统计

elixir ×2

erlang ×2

ios ×2

objective-c ×2

dynamic ×1

git ×1

github ×1

ipad ×1

macos ×1

module ×1

nib ×1

queue ×1

worker ×1

xcode ×1

xib ×1