小编Bli*_*ixt的帖子

获取(可能)关联数组中的第一个键?

确定可能关联数组中第一个键的最佳方法是什么?我第一次认为它只是预先处理数组,然后立即打破它,如下所示:

foreach ($an_array as $key => $val) break;
Run Code Online (Sandbox Code Playgroud)

因此,让$ key包含第一个键,但这似乎效率低下.有没有人有更好的解决方案?

php arrays

729
推荐指数
12
解决办法
55万
查看次数

切换到Xcode 7后,应用程序大小从9 MB增加到60 MB,有没有修复?

我一直在Git历史上倒退找到文件大小变化的原因,但我能找到的唯一真正原因是从Xcode 6切换到Xcode 7 GM.

我发现这些是在Release版本配置.ipaArchive操作中创建的前10个文件大小贡献者:

$ unzip -lv Roger\ Release.ipa | sort -k +3nr | head
41802768  Defl:N 16887199  60%  09-14-15 23:47  dc24cdc1  Payload/Roger.app/Frameworks/libswiftCore.dylib
41802400  Defl:N 16886076  60%  09-06-15 18:33  f939ea6a  SwiftSupport/iphoneos/libswiftCore.dylib
11184032  Defl:N  5915625  47%  09-14-15 23:48  6ceac4a2  Payload/Roger.app/Roger
 6399584  Defl:N  2670275  58%  09-14-15 23:47  0ac52d3f  Payload/Roger.app/Frameworks/libPhoneNumber_iOS.framework/libPhoneNumber_iOS
 5410384  Defl:N  2334189  57%  09-14-15 23:47  7a8cb03f  Payload/Roger.app/Frameworks/Alamofire.framework/Alamofire
 4521904  Defl:N  2292789  49%  09-14-15 23:47  95da0882  Payload/Roger.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
 4731552  Defl:N  1926357  59%  09-14-15 23:48  e05337de  Payload/Roger.app/Frameworks/libswiftFoundation.dylib
 4731168  Defl:N …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

95
推荐指数
4
解决办法
3万
查看次数

如何在纯Python中沙盒Python?

我正在开发纯Python的网页游戏,并希望有一些简单的脚本可用于更多动态的游戏内容.特权用户可以实时添加游戏内容.

如果脚本语言可以是Python,那就太好了.但是,由于恶意用户可能会造成严重破坏,因此无法在访问游戏运行环境的情况下运行.是否可以在纯Python中运行沙盒Python?

更新:事实上,由于真正的Python支持会有点过分,因此使用Pythonic语法的简单脚本语言将是完美的.

如果没有任何Pythonic脚本解释器,是否有任何其他开源脚本解释器用纯Python编写,我可以使用?要求是对变量,基本条件和函数调用(不是定义)的支持.

python scripting

51
推荐指数
4
解决办法
3万
查看次数

何时使用接口或抽象类?何时使用?

虽然某些指导原则指出,当你想为继承不是明确的类定义合同时应该使用接口(IDomesticated),当类是另一个(Cat : Mammal,Snake : Reptile)的扩展时继承,有些情况(在我看来)这些准则进入灰色地带.

例如,说我的实施是Cat : Pet.Pet是一个抽象类.应该说是扩大到Cat : Mammal, IDomesticated那里Mammal是一个抽象类,IDomesticated是接口?或者我是否与KISS/YAGNI原则相冲突(尽管我不确定Wolf将来是否会有一个课程,但是无法继承Pet)?

远离隐喻Cats和Pets,假设我有一些表示传入数据源的类.他们都需要以某种方式实现相同的基础.我可以在抽象Source类中实现一些通用代码并从中继承.我也可以创建一个ISource接口(对我来说感觉更"正确")并在每个类中重新实现通用代码(这不太直观).最后,通过制作抽象类和界面,我可以"吃蛋糕并吃掉它".什么是最好的?

这两种情况提出了仅使用抽象类,只使用接口并同时使用抽象类和接口的要点.这些都是有效的选择,还是存在"规则",以便何时应该使用另一个?


我想通过"同时使用抽象类和接口"来澄清,当它们基本上表示相同的事物(Source并且ISource两者都具有相同的成员)时,包括这种情况,但是类在接口指定合同时添加了通用功能.

另外值得注意的是,这个问题主要针对不支持多重继承的语言(例如.NET和Java).

oop abstract-class interface

33
推荐指数
3
解决办法
4万
查看次数

有什么好方法可以防止JavaScript多人游戏中的作弊行为?

想象一下具有滚动水平的太空射击游戏.有什么方法可以阻止恶意玩家修改游戏以使其受益?他能做的事情很难限制服务器端是自动瞄准,在可见区域外窥视,加速黑客攻击和其他事情.

有什么方法可以防止这种情况发生?假设服务器是任何语言,客户端通过WebSocket连接.

始终假设代码是100%可攻击的.想办法防止客户完全重写(作弊的目的)作弊.这些可以是诸如编写安全游戏协议的方法,服务器端检测等.

javascript security multiplayer

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

保持JavaScript中哈希/锚点更改的历史记录

我目前正在实现一个JavaScript库,用于跟踪地址栏中哈希部分的更改历史记录.这个想法是你可以在哈希部分保持一个状态,然后使用后退按钮返回到先前的状态.

在大多数最近的浏览器中,这是自动的,您只需轮询location.hash属性以进行更改(在IE8中,您甚至不必这样做;您只需将一个函数附加到onhashchange事件中.)

我想知道的是,有哪些不同的方法可以追踪历史?我已经实现了经过测试可以在Internet Explorer 6/7/8,Firefox和Chrome中运行的功能,但其他浏览器呢?以下是我目前保留历史的方式:

编辑:请参阅下面的答案,而不是浏览各种浏览器.

javascript fragment-identifier

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

在Python中使用任意属性创建对象的最短方法?

嘿,我刚开始想知道这个,因为我遇到了一个代码,它预期一个具有一定属性的对象(但没有说明这个对象应该是什么类型).

一个解决方案是创建一个具有代码期望属性的新的类,但我调用其他的代码,也需要与对象(其他)的属性,我必须创造更多的类.

较短的解决方案是创建一个通用类,然后设置它的实例的属性(对于那些谁想到用的一个实例object,而不是创建一个新的类,因为这是行不通的object情况下,不允许新的属性) .

我提出的最后一个最短的解决方案是创建一个带有构造函数的类,它接受关键字参数,就像dict构造函数一样,然后将它们设置为属性:

class data:
    def __init__(self, **kw):
        for name in kw:
            setattr(self, name, kw[name])

options = data(do_good_stuff=True, do_bad_stuff=False)
Run Code Online (Sandbox Code Playgroud)

但我不禁觉得我错过了一些明显的东西......是不是有内置的方法来做到这一点(最好是在Python 2.5中支持)?

python

27
推荐指数
8
解决办法
2万
查看次数

如何让LINQ根据文化订购?

比方说,我有一个字符串列表与瑞典的话:banan,äpple,apelsin,druva.

现在我想对这个列表进行排序(请记住,这是真实查询的一个非常简化的版本):

var result = from f in fruits // The list mentioned above
             orderby f
             select f
Run Code Online (Sandbox Code Playgroud)

这会给我:apelsin,äpple,banan,druva.然而,根据瑞典的字母,我应该得到:apelsin,banan,druva,äpple

我尝试过改变System.Threading.Thread.CurrentThread.CurrentCulture,sv-SE但这似乎并没有真正影响它.我是否必须编写自己的lambda函数并使用.OrderBy(...)或者我还能做些什么来保持LINQ完好无损?

c# linq sorting

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

如何用PHP输出JavaScript

我是PHP的新手.我需要用PHP输出以下JavaScript.这是我的代码:

<html>
<body>
<?php

echo "<script type="text/javascript">";
echo "document.write("Hello World!")";
echo "</script>";

?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但它显示错误:

解析错误:语法错误,意外T_STRING,期待','或';' 在第4行的/var/www/html/workbench/person/script.php中

有人可以帮忙吗?我还需要一些关于如何在应用程序中使用PHP,HTML和JavaScript的简单教程.

php

18
推荐指数
4
解决办法
14万
查看次数

从CVImageBuffer保持MTLTexture会导致口吃

我正在创建一个MTLTexture来自CVImageBuffers(来自相机和玩家)使用CVMetalTextureCacheCreateTextureFromImage来获得a CVMetalTexture然后CVMetalTextureGetTexture获得MTLTexture.

我看到的问题是,当我稍后使用Metal渲染纹理时,我偶尔会看到无序渲染的视频帧(视觉上它在时间上来回断断续续),可能是因为CoreVideo正在修改底层CVImageBuffer存储而且MTLTexture只是指向那里.

有没有办法让CoreVideo不触及该缓冲区并使用其池中的另一个缓冲区直到我释放该MTLTexture对象?

我当前的解决方法是使用a MTLBlitCommandEncoder来对纹理进行blitting,但是因为我只需要保持纹理约30毫秒,这似乎是不必要的.

iphone core-video ios swift metal

17
推荐指数
2
解决办法
2242
查看次数