Tag: c#

节点Fonttools – 未定义的符号:Py_Initialize

我在我的NodeJS应用程序中使用npm模块fonttols – https://github.com/dfrankland/node-fonttools 。 一切工作正常在我的本地开发环境(Mac),但是当我尝试启动我的应用程序在基于Ubuntu的基于Docker的图像在亚马逊EC2我有以下错误: node: symbol lookup error: /srv/api/node_modules/fonttools-test/build/Release/fonttools.node: undefined symbol: Py_Initialize 我的泊坞窗图像上安装了python。 我也创build了一个关于它的GitHub问题: GitHub问题

为什么客户端使用更多的内存不同的服务器?

我在NodeJS请求计数和.Net Core上做了一些性能testing,我发现了我期望的。 很明显,.Net Core的请求数量要高得多。 但是,我发现特别有趣的是客户端,不用重新编译代码,实际上通过NodeJS服务器和.Net核心服务器使用更多的RAM。 RAM使用差异实际上是相当显着的,在那里我观察到NodeJS服务器的性能高于.Net核心服务器。 使用.Net Core 2.0.0和NodeJS 8.3.0 有问题的flooder。 使用.Net核心服务器,在最坏的使用情况下,运行使用从480MB到700MB的任何地方。 使用NodeJS服务器,我的电脑上使用了700MB到1.4GB的RAM(两者都是最大的CPU)。 Flooder代码 HttpServer.cs is the actual code that does the work Source.cs is where the HttpServer is run in a separate task to allow Console.ReadLine separately. Git链接到.Net核心服务器 NodeJS服务器代码 const http = require('http') let serv = http.createServer((req, res) => { res.write("Hello!") // res.destroy() // […]

CodeDom提供程序types“Microsoft.VisualC.CppCodeProvider”找不到,尝试编译node_modules

我试图编译我的ASP.NET MVC项目后添加一个项目与node_modules文件夹,它给了我以下错误: CodeDom提供程序types“Microsoft.VisualC.CppCodeProvider,版本10.0.0.0,文化=中立,PublicKeyToken = b03f5f7f11d50a3a”找不到。 可能是因为在我的node_modules文件夹(这是巨大的,所以很难确定哪个模块导致问题)有一个类似于C的文件在某处(可能是一个.h文件或其他)。 所以我从我的项目中排除了node_modules文件夹,这样它就不会尝试构build它,但是我仍然得到相同的错误。 有没有办法使它不能编译该文件夹,或者至less有一些更简单的方法来确定可能导致它? 否则我的解决scheme中没有任何C ++,所以我真的不希望它甚至尝试编译C ++ …

从C#.NET标准类库调用节点

我试图为MJML框架构build一个C#包装器库。 当“手工”运行时,mjml框架往往会通过一个powershell或bash脚本来使用,它会执行一些我无法理解的随机内容,但显然会影响对node node_modules/mjml/bin/mjml 。 我有什么办法在本地安装节点,并从C#类库中运行命令? 我是否必须使用例如System.Diagnostics.Process的bash调用? 我通过networking浏览,但是我发现所有的东西都是edgejs ,它似乎既是矫枉过正,也不是真的被devise来做到这一点。

从nodejs到C#的readUInt32BE

我有一个nodejs缓冲区: var buffer = new Buffer([33,49,0,32,0,0,0,0,2,230,69,56,0,1,125,181,99,99,136,122,92,1,99,196,231,90,205,20,75,233,5,103]); var value = buffer.readUInt32BE(8); //value == 48645432 我尝试从C#中读取值: var buffer = new byte[]{33,49,0,32,0,0,0,0,2,230,69,56,0,1,125,181,99,99,136,122,92,1,99,196,231,90,205,20,75,233,5,103}; var value = BitConverter.ToUInt32(buffer, 8) //value == 944104962 所以,我需要从我的C#代码获得价值48645432 。 我怎么能写一个方法从C#返回精确值像readUInt32BE从nodejs ? 编辑: 如何从c#中使用bitConverter.ToInt32方法从大端sorting获取小端数据? 没有解决我的问题

OpenCV绘图vs SVG渲染性能

我需要非常快地渲染vectorgraphics,以便在OpenCV(在nodejs中)中使用它。 最简单的方法来呈现椭圆形等简单的形状是使用OpenCV绘图function。 在我的multithreadingtesting程序中,我有〜625个1通道512 * 512的Mat,每秒有1个随机填充的椭圆。 以最快的速度在nodejs SVG到PNG渲染器'librsvg'我只有〜277相同的席夫每秒。 我的目的不够快。 我发现了另一个基于OpenGL的SVG渲染器 – SVGL ,但是我没有testing它的性能,没有绑定节点,只有C ++。 我将需要渲染比一个椭圆更复杂的vectorgraphics。 所以,如果我尝试实现OpenCV所需的所有绘图function,我希望有很多的工作,而且我不确定在复杂的vector图像的情况下OpenCV性能是否仍然可以接受。 “复杂”我的意思是数以百计的半透明圆弧,贝塞尔或某种圆形的多边形,没有填充或填充实心的半透明的颜色,或可能与渐变。 而我想把它渲染到很大的Mat,可能是1024 * 768左右。 SVG已经拥有了我所需要的所有东西,但是我不知道C ++,所以它(可能)也会花费很多时间来实现SVGL的绑定,而我仍然不知道它的性能 可能有一些替代的开源方式?

v8从C ++中的nodejs中提取全局对象

我已经使用“–shared”configuration选项编译nodejs。 在我的C ++代码中,我已经在节点(在它自己的线程中)启动了一个脚本: node::Start(argc, argv); 我已经执行了下面的JavaScript将对象放入全局空间: global.someObject = new SomeObject; 我现在在C ++(在另一个线程),我想访问全球“someObject”。 我一直在考虑沿着这些代码使用代码,但隔离可以是NULL: v8::Isolate* isolate = v8::Isolate::GetCurrent(); v8::HandleScope scope(isolate); auto context = isolate->GetCurrentContext(); // no longer crashes auto global_obj = context->Global(); v8::Local<v8::Value> objinfo = global_obj->GetHiddenValue(v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), "someObject")); 任何指针或想法? 如何从C ++中的节点获得有效的隔离variables?

在Visual Studio的预生成中使用webpack

我有两个命令: npm run build – 调用webpack来编译我所有的.js npm run dev – 调用webpack -w ,编译我所有的.js,并保持在监视模式,寻找变化。 我想将它与Visual Studio的版本集成,所以我进入了属性 – >生成事件 – >预生成 if $(ConfigurationName) == Debug ( npm –prefix ../ run dev ) ELSE ( npm –prefix ../ run build ) 这个逻辑起作用。 如果我处于发布模式,它将简单地捆绑我的文件,服务器将运行。 但问题是在debugging模式下,因为webpack -w不会结束,构build也永远不会结束,它期望一个退出代码…. 所以我试图智取Visual Studio,并开始一个新的CMD过程,不会阻止构build的开始: start cmd /K npm –prefix ../ run dev 不幸的是,Visual Studio对我来说太聪明了。 所以问题是:有没有什么聪明的方法让视觉工作室在预编译命令中简单地运行我想要的,而不是等待它完成? […]

SocketIoClientDotNet – Socket.IO客户端库有时会发出两个连续的事件,有时不会

我正在使用SocketIoClientDotNet – .Net的Socket.IO客户端库,我试图一个接一个地发出两个事件。 有时它发出这两个事件,有时它只发出第一个。 以下是我的代码: socketModel sm = new socketModel(); sm.CHANNEL = "channel_" + cHAT_MESSAGES.SENDER_ID + cHAT_MESSAGES.RECEIVER_ID; sm.DATA = chatMessageModelObj; string serializedData = Newtonsoft.Json.JsonConvert.SerializeObject(sm); var socket = IO.Socket(ConfigurationManager.AppSettings["socketlink"].ToString()); socket.On(Socket.EVENT_CONNECT, () => { socket.Emit("apimessage", serializedData); }); socket.On("apimessage", (data) => { Console.WriteLine(data); socket.Disconnect(); }); socketModel smSecond = new socketModel(); smSecond.CHANNEL = "messagecount_" + userID; if (updateCount == […]

如何计算二进制search树中的比较?

我有一个类的二进制节点,二叉树和二叉search树,它们包含您的基本树函数,如查找节点,添加节点,删除节点,获取高度,getnumberof节点,以及其他类似的。 我试图添加一个新的函数来计算在树中查找某个特定节点的比较次数,但是我迷惑了自己。 我能做的最好的是检查节点是否在树中,但我无法弄清楚如何使计数器与每个比较增量。 我试图做的方法只是很难翻译成我现在的代码。 我只是不认为我这样做是正确的。 如果有人能帮我解决这个问题,我真的会赞赏它。 int counter = 0; template<class ItemType> ItemType BinarySearchTree<ItemType>::IsInTree(BinaryNode<ItemType>* BinTreePtr, const ItemType& item) { BinaryNode<ItemType>* tmp = BinTreePtr; counter++; if (tmp == NULL) { printf("Number of comparisons: \n", counter); return 1; } else { counter++; if (&tmp->getItem == item) { printf("Number of comparisons: \n", counter); return 0; } else { […]