小编Kap*_*hik的帖子

使用Canvas和AngularJS

我正在接受一项任务,在HTML5中重写以下Flash应用程序:

http://www.docircuits.com/circuit-editor

鉴于应用程序的复杂性和我迄今为止的研发,我已经将AngularJS确定为实现的首选MVC框架.该应用程序有各种部分,如面板,菜单,属性,图表等,我相信所有这些都可以在AngularJS中轻松实现.

然而,关键问题是组件设计和交互(诸如拖放,移动,线处理等)需要基于Canvas,因为我已经能够使用Flash导出所有矢量图形CreateJS工具包(http://www.adobe.com/in/products/flash/flash-to-html5.html)到Canvas库而不是SVG.

问题是在"画布内的单个对象"和AngularJS之间没有明确的通信方式.我查看了以下示例,但几乎所有示例都在canvas对象上工作,而不是处理Canvas中的各个组件:

AngularJS绑定到WebGL/Canvas

是否已经为AngularJS制作了画布绘图指令?

我有点被困在这里,不知道该怎么做.真的很感激一些评论:

  • AngularJS是否是正确的选择?

  • 我应该尝试在另一个库中实现Canvas部分(例如Fabric.js,kinect.js,Easel.js)并将其与Angular集成(现在这似乎也是一项太大的任务)?

  • 如果不是上述内容,我应该切换到哪个其他框架可以轻松处理画布以及面板,菜单,图表等其他功能?

canvas html5-canvas angularjs

38
推荐指数
2
解决办法
4万
查看次数

fclose():18不是有效的流资源

我正在尝试使用proc_open执行一个进程.管道处理过程的I/O !!

$descriptorspec = array(
    0 => array("pipe", "r"),
    1 => array("pipe", "w"),
    2 => array("pipe", "w")
);
Run Code Online (Sandbox Code Playgroud)

现在,实际上,我打开的"c程序"有时会卡住,我添加了一个max_time_limit检查,强制关闭进程.我已经添加了回调函数 - 即onExit - (使用"call_user_function"),以便以有效方式或强制方式处理"进程退出"时的信息.

在"退出"功能中,我正在关闭i/o管道

 foreach ($pipes as $pipe) {
    fclose($pipe);
 }
Run Code Online (Sandbox Code Playgroud)

如果进程有一个有效的退出,上面的工作完全正常.但是,在我强行杀死我的进程的情况下,我调用proc_terminate来执行此操作.我知道进程的终止也会继续并关闭所有I/O管道,但问题是由于回调,我的"onExit"函数进程总是被调用(这就是我希望它的方式.. .as我需要做更多的处理).现在,在这种情况下,当我尝试关闭管道时,我收到以下错误:

fclose(): 18 is not a valid stream resource 
Run Code Online (Sandbox Code Playgroud)

我尝试使用"ftell"来检查管道是否有效,但是这也是错误的.如何检查管道是否已经关闭?

php proc-open kill-process fclose

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

1130主机'amazon-ec2-ip'不允许连接到此MySQL服务器

我在从另一台EC2服务器访问我的某个Amazon EC2服务器上的mysql数据库时遇到问题.我阅读了有关为从外部IP地址访问的mysql提供适当权限的各种文章,以下是我遵循的步骤:

  1. 在我的主机EC2实例上打开端口3306以允许外部Mysql连接.
  2. 在文件/etc/mysql/my.cnf中,将"bind-address"从"127.0.0.1"更改为"0.0.0.0".
  3. 使用root打开mysql,并执行以下命令:GRANT ALL PRIVILEGES on .to worker @'ec2-ip-address'通过'密码'识别;

根据我阅读的所有博客/文章,这应该已经解决了问题,但我不断收到以下错误:

1130  Host 'amazon-ec2-ip' is not allowed to connect to this MySQL server
Run Code Online (Sandbox Code Playgroud)

我为EC2实例提供的IP地址是在创建实例时生成的弹性IP.为了验证问题是否特定于EC2,我尝试对不同的"静态IP地址"执行命令"3".现在,这对我有用(即我能够从该远程服务器登录到mysql主机),因此可以肯定上述步骤是正确的.

为什么Amazon EC2 IP地址不起作用?

mysql remote-access amazon-ec2 amazon-web-services

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

来自AngularJS的Django CORS API

我已经在Django中使用"django-cors"启用了CORS:

https://github.com/ottoyiu/django-cors-headers

按照此处的安装步骤后,我设置了以下内容:

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = (
    'http://localhost:8000'
)
Run Code Online (Sandbox Code Playgroud)

django应用程序在http:// locahost:3000上运行

我的前端是一个Angular应用程序,它运行在"http:/ localhost:8000"上,我已经完成了以下更改以与django应用程序进行通信.

RestangularProvider.setBaseUrl('http://localhost:3000/');
Run Code Online (Sandbox Code Playgroud)

[为资源API使用Restangular]

当我调用GET API时,会发生"OPTIONS"飞行前调用,并且出现以下错误:

XMLHttpRequest无法加载http:// localhost:3000/users.凭据标志为"true",但"Access-Control-Allow-Credentials"标头为"".允许凭据必须为"true".因此不允许来源' http:// localhost:8000 '访问.

查看文档,我了解到我需要设置服务器期望作为调用的一部分的某些标头.所以,我添加了以下内容:RestangularProvider.setDefaultHeaders({"x-requested-with":'XMLHttpRequest'});

但是,在进行此更改时,我收到另一个错误,我无法解决: XMLHttpRequest无法加载http:// localhost:3000/users.预检的响应无效(重定向)

注意:请求/响应标头如下:

General:
Remote Address:127.0.0.1:3000
Request URL:http://localhost:3000/users
Request Method:OPTIONS
Status Code:301 MOVED PERMANENTLY

Response Headers
Access-Control-Allow-Headers:x-requested-with, content-type, accept, origin, authorization, x-csrftoken, user-agent, accept-encoding
Access-Control-Allow-Methods:GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Origin:http://localhost:8000
Access-Control-Max-Age:86400
Content-Type:text/html; charset=utf-8
Date:Thu, 17 Dec 2015 11:10:16 GMT
Location:http://localhost:3000/users/
Server:WSGIServer/0.1 Python/2.7.10
X-Frame-Options:SAMEORIGIN

Request Headers
Accept:*/*
Accept-Encoding:gzip, deflate, …
Run Code Online (Sandbox Code Playgroud)

django cors angularjs django-cors-headers

4
推荐指数
2
解决办法
6233
查看次数

Adobe Native Extensions - 无法正常工作?

我正在尝试使用"Adobe Native Extensions" - Adob​​e Flash Builder 4.5中发布的最新功能之一.我试图借助Adobe Native扩展在Adobe 7和Windows 7上的本机C++应用程序之间进行通信.(当然,我们今天可以使用NativeProcess API执行此操作,但ANE功能更强大)

我按照以下文章中提到的步骤操作:http: //thingsico.de/blog/tag/native-extensions/

  1. 使用的cygwin编译的C++代码创建的示例DLL(集成在FlashRuntimeExtensions.hFlashRuntimeExtensions.lib编译期间)
  2. 使用以下命令行构建sampleANE.

    "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\Air3.0_flex4.5.1\bin\adt" -package -storetype pkcs12 -keystore "certs\vlabCert.p12" -target ane "TestSampleANE.ane" "bin\extension.xml" -swc "bin\SampleAne.swc" -tsa none -platform Windows-x86 -C "bin"

我在这里遇到了一个小问题时间戳,我通过添加-tsa none到上面的命令来导航.我能够成功地生成了HelloAne.ane

  1. 我创建了一个新的样本Flex项目,并列入了TestSampleAne.aneSampleAne.swc该项目的lib文件.我能够成功访问该SampleAne对象,以及ActionScript代码中的公共函数,并且可以成功编译该应用程序.但是,当我尝试启动应用程序时,它给出了以下错误:
Process terminated without establishing connection to debugger.

Not supported native extensions profile

Launch command details:  "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\Air3.0_flex4.5.1\bin\adl.exe" -runtime "C:\Program …
Run Code Online (Sandbox Code Playgroud)

apache-flex adobe flex4.5

3
推荐指数
1
解决办法
4098
查看次数