我正在尝试确定如何访问我的JObject中的数据,而我无法确定如何使用它.
JObject Object = (JObject)Response.Data["my_key"];
Run Code Online (Sandbox Code Playgroud)
我可以将它打印到控制台上做Console.WriteLine(对象),我看到数据,它看起来像:
{
"my_data" : "more of my string data"
...
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何通过迭代/枚举,任何人有任何想法?我现在正处于亏损状态.
我基本上试图将一个方法传递给另一个稍后要调用的类,但是在C#中无法解决这个问题(我还习惯于Objective-C).
public class Class1{
private void btn_click(object sender, EventArgs e)
{
ServerRequest sr = new ServerRequest();
sr.DoRequest("myrequest", myCallback);
}
public void myCallback(string str)
{
}
}
Run Code Online (Sandbox Code Playgroud)
然后我希望我的ServerRequest类基本上触发回调函数,这是不可能的?(我基本上打电话给服务器,以便对我的软件进行登录响应)
我无法找到与代表这样做的方法,不断得到错误.这是另一个类:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
Run Code Online (Sandbox Code Playgroud)
这可能在#?在Objective-C中,这很简单,我会做类似的事情
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];
Run Code Online (Sandbox Code Playgroud) 我在OS X Mavericks上按照以下指南编译单声道:http://www.mono-project.com/docs/compiling-mono/mac/
现在,当我使用xbuild编译我的应用程序时,我收到以下错误:
CSC: error CS0518: The predefined type `System.Object' is not defined or imported
CSC: error CS0518: The predefined type `System.ValueType' is not defined or imported
CSC: error CS0518: The predefined type `System.Attribute' is not defined or imported
CSC: error CS0518: The predefined type `System.Int32' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt32' is not defined or imported
CSC: error CS0518: The predefined type `System.Int64' is not defined or imported
CSC: …Run Code Online (Sandbox Code Playgroud) 所以我对这个错误感到非常困惑,Stack Overflow上的其他线程提到我应该设置SDK,但我认为没有选择这样做.我正在努力建立:http://wafflesoftware.net/shortcut/
我没有选择,我只能选择我的Mac 64位,我希望它在32位.真的开始讨厌Xcode 4了.
这是我尝试编辑我的方案时的屏幕截图:http://groovyape.com/scheme.png
思考?
我在google/here上看到很多线程在UPDATING来自另一个线程的UI元素.
如果我想获得复选框的值,该怎么办?
我能不做任何特别的事情吗?
所以我在GDB中启动我的c ++应用程序,当它退出时,我基本上得到:
[Thread 0x7fff76e07700 (LWP 6170) exited]
[Thread 0x7fff76f08700 (LWP 6169) exited]
[Thread 0x7fff77009700 (LWP 6168) exited]
...
Program terminated with signal SIGKILL, Killed. The program no longer exists.
(gdb)
Run Code Online (Sandbox Code Playgroud)
我真的不知道为什么会发生这种情况,为什么我不能做回溯看它是如何退出的呢?有人有主意吗?它应该永远不会结束:(
谢谢!
尝试使用PhantomJS登录时,我发现了一个有趣的问题.我不知道为什么它真的发生了.
基本上你启动一个远程调试器,如下所示:
/usr/local/bin/phantomjs --web-security=no --remote-debugger-port=13379 --remote-debugger-autorun=yes /tmp/test.js
Run Code Online (Sandbox Code Playgroud)
在远程调试器中:
> location.href = "https://www.mysite.com/login"
> $('input[name="username_or_email"]').val('blah@email.com')
> $('input[name="password"]').val('wrongpassword')
> $('button[type="submit"]').submit()
Run Code Online (Sandbox Code Playgroud)
在Chrome中执行此操作会在XHR请求后给我正确的"错误密码"消息,而使用phantomjs会给我一个通用错误,因为没有使用phantomjs发送cookie(我检查了标题).
我很困惑为什么phantomjs不发送带有POST请求的cookie.有谁知道我们怎么能让phantomjs发送带有所有请求的cookie呢?设置cookie文件也没有任何区别.
我正在开发一个Python 3 API w/gunicorn,它使用keras来计算图像的向量,非常简单.
如何为每个请求重置存储在内存中的数据?随着时间的推移,请求会增加响应所需的时间.我运行了一个分析器,它特别是在tensorflow中的这一行(每个进程的内存使用量随着时间的推移而缓慢上升):
#tensorflow/python/framework/ops.py:2317:_as_graph_def
graph.node.extend([op.node_def])
Run Code Online (Sandbox Code Playgroud)
随着节点中的数据越来越多,需要更长的时间.这是我执行的代码:
# We have 11439MiB of GPU memory, lets only use 2GB of it:
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.22
sess = tf.Session(config=config)
set_session(sess)
sess.graph.as_default()
# Get the vector for the image
img_size = (224,224)
vgg = VGG16(include_top=False, weights='imagenet')
img = kimage.load_img(tmpfile.name, target_size=img_size)
x = kimage.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
pred = vgg.predict(x)
vectors = pred.ravel().tolist()
Run Code Online (Sandbox Code Playgroud)
我认为as_default()会有所帮助,但事实并非如此.在获得向量列表后,我也尝试关闭会话,但失败了.
我意识到sidekiq有一个push_bulk选项,但我目前受到redis延迟的限制,所以通过push_bulk传递多个项目仍然不够快(只有大约50/s).
我试图增加redis连接的数量,如下所示:
redis_conn = proc {
Redis.new({ :url => Rails.configuration.redis.url })
}
Sidekiq.configure_client do |config|
Sidekiq.configure_client do |config|
config.redis = ConnectionPool.new(size: 50, &redis_conn)
end
config.client_middleware do |chain|
chain.add Sidekiq::Status::ClientMiddleware
end
end
Run Code Online (Sandbox Code Playgroud)
然后触发单独的线程(Thread.new)以实际对各种对象执行perform_async.有趣的是,任何不是第一个线程的线程都不会被抛入sidekiq队列,就像它们被完全忽略一样.
有谁知道更好的方法吗?
编辑:这是我正在尝试的push_bulk方法实际上更慢:
user_ids = User.need_scraping.pluck(:id)
bar = ProgressBar.new(user_ids.count)
user_ids.in_groups_of(10000, false).each do |user_id_group|
Sidekiq::Client.push_bulk(
'args' => user_id_group.map{ |user_id| [user_id] },
'class' => ScrapeUser,
'queue' => 'scrape_user',
'retry' => true
)
end
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想要做的事情我觉得非常简单,我只是不确定如何做到这一点.
具体来说,我只想获得一个在另一个进程中加载的模块列表(共享/动态库).以及获取该模块在给定进程中的起始地址.
通过GDB获取此信息非常简单.您只需连接到该流程,然后键入"info shared".这是我想要的确切信息类型.如:
Num Basename
类型地址原因| | 来源| |
| | | | | |
1 Adium
- 0x1000 exec YY /Applications/Adium.app/Contents/MacOS/Adium(offset 0x0)2 dyld
- 0x8fe00000 dyld YY/usr/lib/dyld,位于0x8fe00000(偏移量0x0),前缀为"__dyld_"3 WebCore F 0x95b6a000 dyld YY /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore位于0x95b6a000(偏移量0x95b6a000)
有没有人知道如何以编程方式执行此操作?显然,模块负载是动态的,所以我需要确定它的位置.