我有一个Flash项目,它有很多源文件.我有一个相当频繁使用的课程,称之为Jenine.我最近(也许,无情地)将Jenine从一个名称空间重新定位到另一个名称空间.我以为我们已经准备好了 - 我以为是时候了.新Jenine在各方面都做得更好 - 她已经失去了一些代码膨胀,她已经脱离了一些残余的阶级关系,她终于回到了她一直秘密知道的命名空间,这是她真实的那个曾经属于.她是她自己的一员.
不幸的是,Flash没有这个.也许它已经形成了一种依恋.也许它不希望 Jenine脱钩.无论哪种方式,它都坚持在其记忆中的旧的,完美的Jenine版本.它拒绝继续前进.它忽略了她的(函数)调用.它试图忘记她的新的公共界面.相反,它构建的每个Jenine实例始终是旧版本的副本,直到其类路径:
var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!
Run Code Online (Sandbox Code Playgroud)
我们打了.我对自己所说或做过的一些事情并不感到骄傲.最后,在愤怒的高潮中,我完全删除了所有Jenine的引用.她完全被系统彻底清除了.我的光标落在"清空垃圾"菜单选项上,就像棺材的冷盖一样.
我认为Flash无法恢复.直到今天,它仍然依附于珍妮的记忆.她的旧的,不完美的定义仍然像我被遗弃的幽灵一样漂浮在我的项目中.每当我强迫Flash编译时,它仍然会将她的爱情插入到我的电影中,将她的定义融入其他生活课程中,就像一个小神社.我想知道他们是否能看到她.
Flash和我不再谈论了.我写了我的代码,它编译它.在镇上有一个名叫Summer的新女孩看起来几乎与Jenine完全相同,好像有人刚刚将她的源代码批发复制到一个新的类中,但Flash并没有表现出任何兴趣.大多数时候,当它认为我不看时,它只是在我的评论中徘徊并写下糟糕的诗歌.
我希望没有其他人有类似的经历,这只是一个奇怪的,痛苦的波纹在可怕的黑暗泻湖,即Flash代码库.如果你有一些侥幸的机会,或者你知道如何删除编译器正在使用的任何该死的缓存,请帮助.
传统上我使用FireBug来调试我的AJAX请求.它允许您检查请求的内容以及从服务器发回的响应.(当这些情况发生时,它也会在控制台中通知您,这是Chrome似乎缺乏的有用功能).
在Chrome中,我似乎只能查看请求,而不是响应.当我尝试检查响应时,UI只显示"No Content Available"(开发人员工具>资源> myRequest.php>内容).我是否必须启用某些功能才能让Chrome开发者工具记住这些请求?
编辑:如果重要,这些请求将在Flash对象中进行.
ajax webkit google-chrome developer-tools web-developer-toolbar
以前,我一直在使用Apache进行HTTP服务,并在一个高编号的套接字上使用一些python监听websocket的东西,但这显然不适用于此.
我总是可以将websocket的东西移到一个单独的服务器上,但我想避免支付第二个VPS(并且必须通过网络而不是本地与数据库通信).有没有一个很好的方法来做到这一点(nodejs,nginx,..?),还是不值得头疼?
我正在编写一个专门的PHP代理,并被cURL的一个功能所困扰.
如果设置了以下值:
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_HEADER, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
Run Code Online (Sandbox Code Playgroud)
cURL正确处理重定向,但返回所有页面标题,而不仅仅是最终(非重定向)页面,例如
HTTP/1.1 302 Found
Location: http://otherpage
Set-Cookie: someCookie=foo
Content-Length: 198
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 3241
<!DOCTYPE HTML>
...rest of content
Run Code Online (Sandbox Code Playgroud)
请注意,CURLOPT_HEADER已设置,因为我需要读取原始标头的一部分并将其复制到我的代理标头中.
我理解为什么它返回所有这些标题(例如,我的代理代码必须检测302标头中设置的任何cookie并传递它们).但是,它也使得无法检测标题何时结束并且内容开始.通常,使用一个标题我们可以进行简单的拆分:
$split = preg_split('/\r\n\r\n/', $fullPage, 2)
Run Code Online (Sandbox Code Playgroud)
但这显然不适用于此.嗯.如果看起来下一行是标题的一部分,我们可以尝试只拆分的东西:
$split = preg_split('/\r\n\r\nHTML\/(1\.0|1\.1) \\d+ \\w+/', $fullPage)
// matches patterns such a "\r\n\r\nHTML/1.1 302 Found"
Run Code Online (Sandbox Code Playgroud)
几乎所有时间都可以使用,但如果有人在他们的页面中有以下内容,则会发生窒息:
...and for all you readers out there, here is an example HTTP header:
<PRE>
HTTP/1.1 200 OK …Run Code Online (Sandbox Code Playgroud) ......是一个巨大的痛苦.
var transform = 'translate3d(0,0,0)';
elem.style.webkitTransform = transform;
elem.style.mozTransform = transform;
elem.style.msTransform = transform;
elem.style.oTransform = transform;
Run Code Online (Sandbox Code Playgroud)
有没有图书馆/框架/更好的方法来做到这一点?最好只用一行JS?
我只是学习MySQL - 有没有办法组合(或嵌套)聚合函数?
给出一个查询:
SELECT user, count(answer) FROM surveyValues WHERE study='a1' GROUP BY user;
Run Code Online (Sandbox Code Playgroud)
这将为我提供每个用户回答的问题数量.我真正想要的是每个用户回答的平均问题数量......例如:
SELECT avg(count(answer)) FROM surveyValues WHERE study='a1';
Run Code Online (Sandbox Code Playgroud)
计算此统计数据的正确方法是什么?
如果这是可能的,那么有没有办法可以为每个问题打破这个统计数据?(用户可以多次回答同一个问题).就像是:
SELECT avg(count(answer)) FROM surveyValues WHERE study='a1' GROUP BY question;
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法来获取AS3中字符串的字节长度?String.length在许多情况下都有效,但如果遇到多个unicode字符则会中断.
(在这种特殊情况下,我需要知道这一点,所以我可以在消息长度的TCP套接字上发送消息.这是标准的netstring格式,例如"length:message,").
在.NET中,如果您尝试搜索的项目从IComparable继承而不是直接实现,则BinarySearch算法(在列表,数组等中)似乎会失败:
List<B> foo = new List<B>(); // B inherits from A, which implements IComparable<A>
foo.Add(new B());
foo.BinarySearch(new B()); // InvalidOperationException, "Failed to compare two elements in the array."
Run Code Online (Sandbox Code Playgroud)
哪里:
public abstract class A : IComparable<A>
{
public int x;
public int CompareTo(A other)
{
return x.CompareTo(other.x);
}
}
public class B : A {}
Run Code Online (Sandbox Code Playgroud)
有没有解决的办法?在B类中实现CompareTo(B other)似乎不起作用.
有没有办法检测从DisplayObjectContainer中删除子项的时间?我尝试重写removeChild(),但是当通过将子项添加到另一个容器(通过在新容器上调用addChild())删除子项时,这似乎不会触发.我不知道任何触发的事件,要么......
我知道您可以使用更高级别的Flex类来完成此操作,但我使用的是纯AS3项目.