Articles of algorithm

将JavaScript对象转换为要插入关系数据库的数组

我正在使用Nodejs。 我需要在关系数据库中存储一个JavaScript对象。 JavaScript对象中的每个键表示DB中的列名称。 我有以下几点: var data = { "aa": "99", "bb": ["11","22"], "cc": ["44","55","66"] } 我想将这个对象转换成一个数组,如下所示: data = [ { "aa": "99", "bb": "11", "cc": "44" }, { "aa": "99", "bb": "11", "cc": "55" }, { "aa": "99", "bb": "11", "cc": "66" }, { "aa": "99", "bb": "22", "cc": "44" }, { "aa": "99", "bb": […]

Lodash自动生成树视图

我想为我的反应组件自动生成一个树形视图。 我有自己的path多个文件。 例如: COM /公司/模型/ Main.java COM /公司/控制器/ Move.java COM /公司/控制器/ Rotate.java COM /公司/查看/ Watch.java 目标是让对象数据看起来像这样: var data = { name: com, children: [{name: company, children: [ {name: model, children: [{name: Main.java}] }, {name: controller, children: [{name: Move.java},{name: Rotate.java}] }, {name: view, children: [{name: Watch.java}] } ]}] } 我发现这个库拆分我的path选项卡: https : //nodejs.org/api/path.html 喜欢这个 : var […]

NodeJS中的高效深度复制

我想深入复制NodeJS中的整数数组。 我尝试的第一种方法是 obj2 = JSON.parse(JSON.stringify(obj1)); 然而,它是如此之慢,因为它是一个很大的arrays。 现在我正在使用 var l = obj1.length; while (l–){ obj2.push(obj1[l]); } 虽然速度更快,但我想知道是否有更好的解决scheme? 谢谢你们!

分页计算algorithm

我正在计算分页: var pagination = { total: result.length, per_page: itemsPerPage, // required current_page: currentPage, // required last_page: users.length / itemsPerPage, // required from: (itemsPerPage * pageNumber) + 1, to: itemsPerPage * (pageNumber + 1) //required }; 假设结果长度是2,itemsPerPage是5,currentPage是1,我得到这个: total: 2 per_page: 5 current_page: 1 last_page: 0.4 from: 6 to: 10 我觉得有些事情是不对的。

从一组坐标中找出最接近的坐标

我有大约1000套地理坐标(lat,long)。 给定一个坐标,我想find最接近的那个集合。 我的方法是测量距离,但每秒数百个请求可能对服务器执行所有math操作有点粗糙。 什么是最好的优化解决scheme呢? 谢谢

使用javascript的Bliffoscope数据分析解决scheme

我想解决使用JavaScript的Bliffoscope数据分析问题。 我有以下问题。 这是SlimeTorpedo + + +++ +++++++ ++ ++ ++ + ++ ++ +++ ++ ++ + ++ ++ ++ +++++++ +++ 这是TestData + + + ++ + +++ + + + ++ + + ++++ + + + + + + +++ +++ + + + + ++ ++ ++ + ++ + + […]

primecoin? Node.JS vs Haskell的适用性

当我把它和坎宁安连锁店联系起来的时候,我正在阅读有关优质币的内容 现在我知道什么是一个坎宁汉连锁了,我找不到一个好语言的实现,我需要实现它。 我应该使用Node.JS吗? 我正在考虑使用Haskell,但是我不得不考虑很多。 我认为Node.JS会更好地工作,因为它有更好的数值支持,并且我可以使用socket.io将Node.JS网站卸载到使用我的网站(本质上是pay2view)的客户端背景。 例如:我认为haskell适合这个的一个原因是因为你可以做一个懒惰的函数,将stream出每个链的价值。 也运行裸机,没有浏览器,但我不知道这是一个很大的优势。

在nodejs中打开图的刮擦algorithm

我试图从URL使用nodejs(与cheerio),使用下面的代码打开图元数据。 我有这个东西来填充: var result={}; for (var ogCounter = 0; ogCounter < metalist.length; ogCounter++) { if (!utils.isEmpty(metalist[ogCounter].attribs.property) && !utils.isEmpty(metalist[ogCounter].attribs.content)) { if (metalist[ogCounter].attribs.property.indexOf('og') == 0) { var ogname = metalist[ogCounter].attribs.property.split(':'); var property = ogname[1]; var content = metalist[ogCounter].attribs.content; if (utils.isEmpty(result[property])) { result[property] = content; } else { if (result[property].push) { result[property].push(content); } else { result[property] = [result[property], […]

快速更新大量数据

我已经在Nodejs中做了一个应用程序,每分钟调用一个端点并获取一个包含大约100000个元素的json数组。 我需要插入这个元素到我的数据库,如果该元素不存在,我插入列“点”值设置为0。 到目前为止,我有一个cron作业和简单的upsert查询。 但是这么慢, var q = async.queue(function (data, done) { db.query('INSERT INTO stat(`user`, `user2`, `point`) '+data.values+' ON DUPLICATE KEY UPDATE point=point+ 10',function (err, result) { if (err) throw err; }); },100000); //Cron job here Every 1 minute execute the lines below: var values='' ; for (var v=0;v<stats.length;v++) { values = '("JACK","' + stats[v] + […]

Nodejs createCipher vs createCipheriv

我目前正在尝试使用createCipher来encryption数据,我已经阅读了Node API文档, build议不要使用 createCipher 。 crypto.createCipher()的实现使用OpenSSL函数EVP_BytesToKey以摘要algorithm设置为MD5的方式派生密钥,一次迭代并且不加盐。 盐的缺乏使字典攻击成为可能,因为相同的密码总是会产生相同的密钥。 低迭代次数和非密码安全散列algorithm允许密码被快速testing。 根据OpenSSLbuild议使用pbkdf2而不是EVP_BytesToKey,build议开发人员使用crypto.pbkdf2()自己派生密钥和IV,并使用crypto.createCipheriv()创buildCipher对象。 createCipher仍然是一个可行的和安全的方式来encryption静止的数据? 该方法是否应该被视为弃用? 信息充分的攻击者是否可以解密数据? 应该使用createCipheriv的解决scheme总是优于createCipher ? 任何其他细节或build议表示赞赏。