小编Chr*_*son的帖子

为什么我在移动浏览器上看到带有<canvas>旋转的条纹?

我正在进行2d画布的旋转,它在桌面上工作得非常好,但在移动领域有一个小问题.这是一个放大的屏幕截图:

在此输入图像描述

拇指图像在500ms的过程中旋转约0.2rad.我认为所有相关代码都在下面内联.正如您所看到的,图像的每个顶角都留有某种"痕迹".

var duration = 500;
var start = 0;
var stop = 0.287554326;
var step = (stop - start) / 10;
var steps = (stop - start) / step;
var current = 0;
var delay = duration / steps;
var first = true;
if (navigator.userAgent.match(/iP(hone|[ao]d)|android/i)) step *= 1.5;
var rotate_int = setInterval(function() {
  if (current >= stop) {
    clearInterval(rotate_int);
    callback && callback();
    return;
  }
  ctx.clearRect(0, 0, cvs.width, cvs.height);
  ctx.translate(cvs.width / 2, cvs.height / 2);
  ctx.rotate(step);
  current += step;
  ctx.translate(cvs.width …
Run Code Online (Sandbox Code Playgroud)

html5 rotation cairo mobile-website html5-canvas

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

上下文无关语法的奇怪问题

我从语言的一个非常好的(和良好的工作)语法开始.变量,二元运算符,函数调用,列表,循环,条件等.对于这个语法,我想添加我正在调用的object构造:

object
  : object_name ARROW more_objects
  ;

more_objects
  : object_name
  | object_name ARROW more_objects
  ;

object_name
  : IDENTIFIER
  ;
Run Code Online (Sandbox Code Playgroud)

关键是能够访问嵌套在对象中的标量.例如:

car->color
monster->weapon->damage
pc->tower->motherboard->socket_type
Run Code Online (Sandbox Code Playgroud)

我加入objectprimary_expression:

primary_expression
  : id_lookup
  | constant_value
  | '(' expression ')'
  | list_initialization
  | function_call
  | object
  ;
Run Code Online (Sandbox Code Playgroud)

现在这是一个示例脚本:

const list = [ 1, 2, 3, 4 ];
for var x in list {
  send "foo " + x + "!";
}
send "Done!";
Run Code Online (Sandbox Code Playgroud)

在此之前将非终结objectprimary_expression一切都是阳光和小狗.即使在我添加之后,Bison也不会抱怨.没有报告转移和/或减少冲突.并且生成的代码在没有声音的情况下编译.但是当我尝试运行上面的示例脚本时,我会被告知error on line …

grammar parsing language-design bison

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

是否可以删除除少数之外的所有会话变量?

是否可以删除除少数之外的所有会话变量?

我正在使用PHP,MySQL构建一个网站

php ajax jquery

9
推荐指数
2
解决办法
1384
查看次数

Backbone.js sync()找不到url属性

有了这个人为的示例代码:

var Product = Backbone.Model.extend({
  idAttribute: '_id',
  url: '/rest/product',
});

var Cart = Backbone.Collection.extend({
  model: Product,
  url: '/rest/cart',
});

p1 = new Product({name: 'Keyboard'});
p2 = new Product({name: 'Mouse'});

c = new Cart();
c.add([p1, p2]);
c.sync();
Run Code Online (Sandbox Code Playgroud)

我看到Error: A "url" property or function must be specified有大量的帖子围绕着同样的错误消息,但我发现的所有帖子都是,恰当地,没有在途中定义的url属性或函数的结果.

我觉得我好像错过了某个链接步骤 - 也许我隐含地依赖于Backbone.js实际上并没有自动设置的"魔术"连接/回调/属性/属性?

backbone.js

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

使用GCC编译非必要的目标文件

请考虑以下示例

g++ a.o b.o c.o -o prog
Run Code Online (Sandbox Code Playgroud)

如果是c.o没有提供任何可执行代码的情况,也没有任何其他文件的prog依赖关系c.o,那么GCC还会包含c.oin 的内容prog吗?

换句话说,除了编译时间之外,还有什么(如果有的话)将不必要的文件编译成可执行文件会产生什么负面后果?

提前致谢; 干杯!

c++ linker gcc compilation

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

标记/样式最佳实践:如何在CSS类上有效地分配样式规则?

假设我有一些HTML页面和相应的CSS文件.我想为一些元素添加圆角.我想在每个其他部分交替使用背景颜色.我想为每个部分标题添加悬停状态.所以等等 - 我保持造型,造型和造型.

在我看来,有三个极端,它涉及按类,按ID和层次结构在标记上分发CSS规则的"谁,什么,何时,何地,为什么以及如何".

极端#1:每个样式规则都基于ID.

极端#2:每个样式规则都基于一个类.

Extreme#3:每个样式规则都基于DOM层次结构.

显然,前端Web开发的禅宗将包括类重用与独特规则与层次结构的健康平衡,因为任何三个极端都会对浏览器性能,可维护性和代码大小造成严重破坏.我认为.还是我错了?如何判断何时需要新的.class或者您想要应用的样式规则可以安全地用于现有定义?两个#id规则何时相似,你应该将公共代码拉入一个类?你什么时候"分叉"一个类(有时你保留原文,并为所有偏离情况添加推导(在OOP术语中为"渗透"),有时将普通规则推入几个不相交的偏差中的每一个 - 显然这取决于偏差本身的性质(即所涉规则的数量)).是否存在使用纯粹分层规则的情况?

问题:这种辩论是否有任何经验法则?您的经验和/或建议是什么?是否有好的文章,资源,书籍,讲座("科技谈话"风格视频的奖励积分),或其他有关该主题的内容?我想将讨论基于几个关键点(尽管欢迎任何评论),没有特别的顺序:

  • 可维护性(易于阅读,修改和添加代码)
  • 干(不要重复自己)
  • 时间效率(上载时间;渐进式渲染)
  • 空间效率(标记和相关样式的组合大小)

html css paradigms stylesheet

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

Content-Script-Type和Content-Style-Type的重点是什么?

考虑以下两行:

<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
Run Code Online (Sandbox Code Playgroud)

从W3关于脚本的文档中,在默认脚本语言部分中:

作者应通过在HEAD中包含以下META声明来为文档中的所有脚本指定默认脚本语言

然而,它继续在脚本语言的本地声明中说:

必须为文档中的每个SCRIPT元素实例指定type属性.SCRIPT元素的type属性的值将覆盖该元素的默认脚本语言.

在我看来,这里有一个过度规范.为什么meta和每script类中声明?如果我们"必须"单独声明每个标签,那么强制性默认的重点是什么?

要么让默认的默认的,或者只是指出,每个标签需要它自己的类型-或者是使用的措辞这里只是让我绊倒了?同样的语言也用于参考样式表.

html w3c specifications stylesheet script-tag

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

使用Javascript在IE7/8中加载iframe

我有一个iframe加载到父页面.iframe包含一系列表单,每次重新加载iframe内容时(即,在iframe内容中提交表单之后),我都想在父页面上执行操作.当前代码位于父页面上,适用于IE以外的所有大型播放器(我只关注IE 7和8).

var iframe = document.getElementById('theiframe');
function refresh( ) {
  alert('foo');
}
if (iframe.attachEvent) iframe.attachEvent('onload', refresh);
else iframe.onload = refresh;
Run Code Online (Sandbox Code Playgroud)

我错过了哪些会阻止它在IE中有效?

javascript iframe internet-explorer onload

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

使用带套接字的gprof

我有一个我想用gprof配置的程序.问题(看似)是它使用套接字.所以我得到这样的事情:

::select(): Interrupted system call
Run Code Online (Sandbox Code Playgroud)

我不久就遇到了这个问题,放弃了,继续前进.但我真的希望能够使用gprof来描述我的代码,如果可能的话.我能做什么?我缺少一个gprof选项吗?套接字选项?在存在这些类型的系统调用时,gprof是完全无用的吗?如果是这样,有可行的替代方案吗?

编辑:平台:

  • Linux 2.6(x64)
  • GCC 4.4.1
  • gprof 2.19

c++ sockets profiling gprof

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

ASP经典中的数组合并

我正在为ASP classic工作一个array_merge函数.我有什么似乎工作,直到一个(或两个)参数是空的或不是数组.这是我到目前为止所拥有的:

function array_merge(left, right)
  dim total_size
  dim i
  dim merged
  ' Convert "left" to an array
  if not isArray(left) then
    left = Array(left)
  end if
  ' Convert "right" to an array
  if not isArray(right) then
    right = Array(right)
  end if
  ' Start with "left" and add the elements of "right"
  right_size = ubound(right)
  total_size = ubound(left) + right_size + 1
  merged = left
  redim preserve merged(total_size)
  for i = 0 to ubound(right)
    merged(right_size + i + 1) = right(i) …
Run Code Online (Sandbox Code Playgroud)

arrays merge function asp-classic

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