我是开发iPhone和iPod touch应用程序的新手.是否可以使用WiFi甚至iPhone上的BlueTooth直接在同一房间的2台设备之间进行通信?
我已经看过一个火灾应用程序的演示,其中一个iPhone在彼此靠近时"点亮"其他iPhone.这是如何完成的?
所有这一切的关键在于我正在探索开发一款游戏的选择,你可以在同一个房间里与另一个人一起玩.
我想知道在内存托管代码中,对象不属于任何特定所有者,即自己释放的对象的情况,建议使用哪些方法.一个这样的例子可以是NSWindowController的子类,它配置,显示和管理单个窗口的输入和输出.控制器对象显示一个窗口,稍后在某个时刻释放(通常在它管理的窗口或工作表关闭时).AppKit也提供了几个例子:NSAnimation在startAnimation中保留自己,并在动画完成时自行释放.另一个例子是NSWindow,可以配置为在关闭时释放自己.
当我自己实现这些"自有"对象时,我看到至少三种不同的GC安全模式,但它们都有一些缺点.
一个).使用CFRetain/CFRelease.
自有对象在开始运行之前调用CFRetain(例如,在窗口显示之前的窗口控制器示例中).然后它在完成后调用自己的CFRelease()(例如在窗口关闭后的窗口控制器示例中).
优点:对象的用户不必担心内存管理.
缺点:有点难看,因为需要使用内存管理功能,尽管我们在纯ObjC代码中使用GC.如果未调用CFRelease(),则可能难以找到泄漏.
B).使用静态数据结构避免自我拥有成语.
Object在开始操作之前将其自身添加到数据结构(例如静态可变数组)中,并在完成时将其自身移除.
优点:对象的用户不必担心内存管理.没有调用内存管理功能.对象有明确的所有者.潜在的泄漏很容易找到.
缺点:如果可以从不同的线程创建对象,则需要锁定.额外的数据结构.
C).通过要求对象的用户保存对象的引用(例如,进入ivar)来避免自我所有权习惯用法.
优点:没有调用内存管理功能.对象有明确的所有者.
缺点:即使对象不再需要该对象,该对象的用户也必须保留引用.额外的伊娃.
你会用什么模式处理这些案件?
我使用正则表达式来转换文本,但我想保留HTML标记.例如,如果我想用"堆栈下溢"替换"堆栈溢出",这应该按预期工作:如果输入是stack <sometag>overflow</sometag>,我必须获得stack <sometag>underflow</sometag>(即字符串替换完成,但标签仍然存在...
我逐渐使Moose-ifying一些代码从管道分界线读取,分割每个并分配使用哈希切片将它们添加到哈希.
我已经将哈希变成了Moose类,但现在我不知道如何快速将文件中的字段分配给类的属性(如果有的话).
我知道我可以很容易地做到:
my $line = get_line_from_file;
my @fields = split /\|/, $line;
my $record = My::Record->new;
$record->attr1($fields[0]);
...
Run Code Online (Sandbox Code Playgroud)
但我希望快速一个班轮一次性分配所有属性,有点类似于:
my $line = get_line_from_file;
my %records;
@records{@field_names} = split /\|/, $line;
Run Code Online (Sandbox Code Playgroud)
我读过有关强制的内容,但据我所知,这不是我所追求的.
可能吗?
谢谢
是否有任何开源库(任何语言,python/PHP首选)将ANSI SQL字符串标记/解析为其各种组件?
也就是说,如果我有以下字符串
SELECT a.foo, b.baz, a.bar
FROM TABLE_A a
LEFT JOIN TABLE_B b
ON a.id = b.id
WHERE baz = 'snafu';
Run Code Online (Sandbox Code Playgroud)
我会找回类似的数据结构/对象
//fake PHPish
$results['select-columns'] = Array[a.foo,b.baz,a.bar];
$results['tables'] = Array[TABLE_A,TABLE_B];
$results['table-aliases'] = Array[a=>TABLE_A, b=>TABLE_B];
//etc...
Run Code Online (Sandbox Code Playgroud)
重申一下,我正在寻找数据库包中的代码,它将SQL命令分开,以便引擎知道如何处理它.搜索互联网会产生很多关于如何使用SQL解析字符串的结果.那不是我想要的.
我意识到我可以浏览一个开源数据库的代码来找到我想要的东西,但我希望能做一些更准备好的东西,(虽然如果你知道在MySQL,PostgreSQL,SQLite源代码的哪个地方,请随意通过它一起)
谢谢!
编程珍珠第1版提出了这种算法,用于从N个整数的群体中选择M个等概率的随机元素.
InitToEmpty
Size := 0
While Size < M do
T := RandInt(1,N)
if not Member(T)
Insert(T)
Size := Size + 1
Run Code Online (Sandbox Code Playgroud)
据称,只要M <N/2,预期会员测试的数量小于2M.
我想知道如何证明它,但我的算法分析背景让我失望.
我理解M越接近N,程序将花费的时间越长,因为结果集将具有更多元素,并且RandInt选择现有元素的可能性将按比例增加.
你能帮我弄清楚这个证明吗?
我想给Quick Fix窗口提供一个与其他所有窗口不同的状态行.
我希望它有:
set statusline=\ %n\ \ %f%=%L\ lines\
Run Code Online (Sandbox Code Playgroud)
当我在快速修复窗口中时,我可以使用:setlocal,但是如果在我的.vimrc中我可以使它具有不同的状态行?
我是一个新手爱好者,当我编写python时,我会为循环嵌套,如下所示:
dict = {
key1: {subkey/value1: value2}
...
keyn: {subkeyn/valuen: valuen+1}
}
for key in dict:
for subkey/value in key:
do it to it
Run Code Online (Sandbox Code Playgroud)
我知道一个"下一个"关键字可以在一行中完成相同的目标(我问了一个关于如何使用它的问题,但我不太了解它).
所以对我来说,嵌套的for循环更具可读性.为什么,然后人们使用"下一个"?我在某处读到Python是一种动态类型和解释型语言,因为+既支持字符串又对数字求和,它必须检查每个循环迭代的变量类型,以便知道运算符是什么,等等.使用"next"阻止这在某种程度上加快了执行速度,还是只是风格/偏好的问题?
我正在使用jQuery的$ .ajax使用JSONP向第三方服务器发出请求.我将方法指定为POST,但它仍然使用GET:
$.ajax({
type: "POST",
dataType: "json",
url: other_server + "/run?callback=?",
data: {
code: $(code).val()
},
success: function(obj) {
var res = obj.results;
$(results).val(res);
}
});
Run Code Online (Sandbox Code Playgroud)
查看jQuery源代码,我看到这两行似乎强制所有跨域请求都是GET,但我不明白为什么需要如此:
if ( s.crossDomain ) {
s.type = "GET";
Run Code Online (Sandbox Code Playgroud)
是否可以使用POST而不是GET执行此操作?为什么jQuery强制使用GET?
这很简单.制作RGB图像,一个像素大.将像素值设置为(a,b,c).保存.问题是,保存的图像具有与(a,b,c)不同的像素值.通常,在其中一个通道上使用+ -1,就好像它是随机噪声,但它的一致性.下面是代码:
from PIL import Image
newImg = Image.new('RGB', (1,1), "black")
pixels = newImg.load()
pixels[0,0] = (0,3,0)
newImg.save("point.jpg")
savedImage = Image.open("point.jpg")
pixelsSaved = savedImage.load()
print pixels[0,0]
print pixelsSaved[0,0]
Run Code Online (Sandbox Code Playgroud)
这个输出是:(0,3,0)(1,3,0)
一致.
如果我使用(4,2,0)作为要保存的像素,则输出为:(4,2,0)(3,2,0)
和(0,10,0)给出:(0,10,0)(0,10,1)
例如.
为什么保存时价值会发生变化?我该如何预防呢?请帮忙.
谢谢.
python ×4
ajax ×1
algorithm ×1
attributes ×1
cocoa ×1
cocoa-touch ×1
for-loop ×1
html ×1
html-parsing ×1
image ×1
iphone ×1
ipod-touch ×1
jquery ×1
jsonp ×1
moose ×1
objective-c ×1
optimization ×1
parsing ×1
perl ×1
php ×1
save ×1
sql ×1
statusline ×1
tokenize ×1
vim ×1