小编Mar*_*sel的帖子

nodejs native c ++ npm模块内存错误,cairo图像处理

我一直在节点画布上讨论关于代码加速的TJ 我在他创作和维护的节点模块的分支中工作.

我发现Canvas.toBuffer()要杀死我们的管道资源,并创建了一个替代方案,只需将Canvas转换为Image,而无需通过png缓冲区/媒体网址.问题是cairo是一个神秘的野兽,并且对于在节点模块中分配的内存存在额外的关注,因为不是由母亲v8获得GC.我已将适当的HandleScopes添加到访问V8数据的所有必需功能中.

我能够在我的mac设置(6.18)上测试Canvas.loadImage(image)方法数千次,以及在运行相同版本节点的ubuntu/production服务器上进行独立测试.但是当代码作为后台进程/服务器运行并由Gearman协调时,我会得到一些"有趣"的内存/段错误.

另外,我在调用node-canvas中定义的任何在头文件中不内联的类的方法时遇到了麻烦.作为一个侧面问题创建其他节点模块可以依赖的公共本机源代码包的最佳方法是什么?

我尝试重新创建问题并使用gdb,node_g以及使用符号和调试标志构建的所有节点模块运行它.但是错误会在源外的lib中出现,我可以获得堆栈跟踪.

作为参考,这里我调用loadImageData,当它在各种条件下本地运行时,在我们的生产环境中,当小心地藏在帧服务器中时,它似乎导致了段错误(昨天花了一天时间尝试gdb node_g我们的服务器代码但是框架服务器由gearman开始... TL; DR没有得到根本原因堆栈跟踪)

https://github.com/victusfate/node-canvas/blob/master/src/Canvas.cc#L497

Handle<Value>
 Canvas::LoadImage(const Arguments &args) {
   HandleScope scope;
   LogStream mout(LOG_DEBUG,"node-canvas.paint.ccode.Canvas.LoadImage");    
   mout << "Canvas::LoadImage top " << LogStream::endl;

   Canvas *canvas = ObjectWrap::Unwrap<Canvas>(args.This());
   if (args.Length() < 1) {
     mout << "Canvas::LoadImage Error requires one argument of Image type " << LogStream::endl;
     return ThrowException(Exception::TypeError(String::New("Canvas::LoadImage requires one argument of Image type")));
   }

   Local<Object> obj = args[0]->ToObject();
   Image *img = ObjectWrap::Unwrap<Image>(obj);
   canvas->loadImageData(img);
   return Undefined();
}  

void Canvas::loadImageData(Image *img) {
  LogStream mout(LOG_DEBUG,"node-canvas.paint.ccode.Canvas.loadImageData"); …
Run Code Online (Sandbox Code Playgroud)

c++ image-processing node.js npm

15
推荐指数
1
解决办法
1325
查看次数

为什么PHPhotoLibrary performChanges creationRequestForAssetFromVideoAtFileURL这么慢?

我的测量时间从几十秒到几分钟,具体取决于视频的大小.这个更改请求不应该快(本地闪存盘复制/元数据/校验和),因为它将本地视频添加到photolibrary /相机胶卷?打开iCloud备份时似乎会出现此问题.我无法通过网络搜索或apple dev docs找到更多有用的信息.

示例代码:

    func exportAssetToPhotoLibrary(videoURL: NSURL, _ exportedAsset: (localIdentifier: String) -> Void) {
        var localIdentifier = ""
        var startTime = NSDate.timeIntervalSinceReferenceDate()
        PHPhotoLibrary.sharedPhotoLibrary().performChanges({
            let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromVideoAtFileURL(videoURL)
            let assetPlaceholder = assetRequest.placeholderForCreatedAsset
            localIdentifier = assetPlaceholder.localIdentifier
        },
        completionHandler: { success, error in
                var elapsedTime: NSTimeInterval = NSDate.timeIntervalSinceReferenceDate() - startTime
                NSLog("exported cameo video to photo library \(elapsedTime)")
                exportedAsset(localIdentifier: localIdentifier)
        })
    }
Run Code Online (Sandbox Code Playgroud)

mobile ios swift photokit

5
推荐指数
0
解决办法
1524
查看次数

寻找scala,java或python的通用Oauth库

我已经有一些已经想要将它们合并到一个公共域oauth代码库中,用于twitter,facebook,friendfeed(以及让其他开发人员改进库以获得他们的首选连接).

我正在艰难地调试mashing friendfeed和twitters oauth到一个在Google App Engine上运行的友好python程序.

这些是我到目前为止的一些部分:http : //oauth.net/code http://code.google.com/p/oauth-python-twitter/ http://code.google.com/p/的FriendFeed-API示例/

python java google-app-engine scala oauth

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

Scala/Lift问题rss feed fetch

我正在寻找一个简单的一行或两行代码来获取像这个php行的RSS源:$ feed =来自scala对象的"URL".

我正在使用scala/lift与Netbeans或Eclipse相关

java scala lift

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

标签 统计

java ×2

scala ×2

c++ ×1

google-app-engine ×1

image-processing ×1

ios ×1

lift ×1

mobile ×1

node.js ×1

npm ×1

oauth ×1

photokit ×1

python ×1

swift ×1