Tag: ruby

我如何在一个NPM包中打包Ruby代码?

我正在编写一个节点模块来开源,并且依赖于一些Ruby代码(请参阅可以在Node.js项目中包含Ruby Gem? )。 我做了一个Ruby项目,需要一些gem,所有这一切运作良好。 在我的node_module中,我想通过exec将其连接到Ruby代码。 但现在也有Ruby的依赖关系。 那么我可以以某种方式指定Ruby版本,以及运行我的节点包所需的gemset? 也许是暧昧的问题。 我可以澄清,如果有什么不清楚的。

生成源映射时出错 – grunt和sassconfiguration

我正在尝试用咕噜声使用sass。 我在我的路上安装了ruby,ruby和咕噜声。 版本是, 节点:0.10.20 npm:1.3.11 咕噜咕噜:0.1.13 咕噜:0.4.5 sass:3.4.4 我的包json是, "private": true, "devDependencies": { "express": "4.x", "grunt": "~0.4.1", "grunt-contrib-sass": "~0.3.0", "grunt-contrib-watch": "~0.4.4" } 我的咕噜文件是, module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), sass: { dist: { files: { 'style/style.css' : 'sass/home.scss' } } }, watch: { css: { files: '**/*.scss', tasks: ['sass'] } } }); grunt.loadNpmTasks('grunt-contrib-sass'); grunt.loadNpmTasks('grunt-contrib-watch'); […]

更小的应用程序足迹意味着更便宜的PaaS成本? 哪种语言?

所以,我已经在Cloudfoundry上构build并部署了一个Grails应用程序。 当我在考察实例和记忆时,我开始怀疑; 如果我的应用程序的足迹由于我select开发它的技术而变得更大,它是否会开始花钱而不是迟些? 当然必须? 如果是这样的话,我最好用另一种语言来发展吗? 如果是这样,有较小的足迹(python,ruby,node.js)? 当然,成本不应该决定我使用哪种语言,我应该select语言/框架的优点和个人喜好。 但这仍然是一个我很想知道答案的问题。

Ruby非阻塞库vs Node

我正在评估Ruby EventMachine(以及类似的非阻塞框架,比如Cramp)和Node.js. 我之前和Node一起工作过,但从来没有和EventMachine合作过。 Ryan Dahl鼓励的观点之一是,JavaScript中的图书馆生态系统必须是类似的非阻塞的,以促进这一点。 这是为什么Node是从零开始开发的一部分。 我的问题是,你可以在没有阻塞的情况下使用Ruby吗? 我的假设是EventMachine单独通常不足以构build完整的Web应用程序堆栈。 如果是这样的话,Ruby中的其他库还能提供非阻塞IO(即用于数据库/文件系统/ http访问)?

任何MongoDB的ORM允许你别名字段?

我只是看着这个: http : //blog.mongodb.org/post/38467892360/mongodb-schema-design-insights-and-tradeoffs-from 有一个build议说出来了:在多次复制的文档中,尽量使字段名称尽可能小: 总是使用短字段作为约定来缩小收集大小。 这将有助于您节省内存。 在“publicationUrl”上select“u”。 如果你正在谈论数百万行,这是有道理的。 但是,那里有很大的可读性问题。 它可能是显而易见的价值是一个url,但它是什么样的url? 尽pipe这可能在ORM中是可以解决的。 是否有任何与MongoDb接口的ORM允许你说数据库中的“u”会映射到代码中的“publicationUrl”? 当你有代码中的au这样的东西时,这个可读性很差; article.u没有太多好处。 (Ruby和node.js标签在那里,因为那些是我用mongo工作的语言。随意添加标签。)

从NodeJS队列Resque Jobs

我想从NodeJS排队Resque作业。 监视Redis命令我看到: 1346127083.495055 "sadd" "resque:w:tasks:queues" "facebook" 1346127083.495471 "rpush" "resque:w:tasks:queue:facebook" "{\"class\":\"Hello::FacebookFriends\",\"args\":[\"2342324\"]}" 直接从Node发布这些命令似乎工作。 有没有隐藏的错误或我不知道这里的东西? 更新 :我的工作是用Ruby编写的。 虽然我喜欢NodeJS,但是在Javascript方面我还是比较好的,但是我需要很多在NPM中仍然不可用的库,例如与Twitter和Facebook(Twitter和Koalagem,与Node没有任何可比性)进行通信。 所以我想从我的NodeJS服务启动Ruby作业。 到目前为止,我使用的是与coffee-resque中的这个函数类似的东西: enqueue: (queue, func, args) -> @redis.sadd @key('queues'), queue @redis.rpush @key('queue', queue), JSON.stringify class: func, args: args || [] 这里: job = JSON.stringify class: 'Hello::FacebookFriends' args: [user_id, fb.id] @redis_client.multi() .sadd('resque:w:tasks:queues', 'facebook') .rpush('resque:w:tasks:queue:facebook', job) .exec()

Node.js没有被Rails / execjsfind

我通过编译并安装了root用户来安装node.js。 我想这可能是挂断的地方。 从运行rails应用程序的用户,我检查了node.js. $ which node /usr/local/bin/node 当我启动我的Rails应用程序(Rails 3.2.9)时,我得到了普遍无用的“我们很抱歉,但出了问题。 检查生产错误日志我看到没有findJavascript运行时。 这很明显,因为它明显安装。 所以我去强制节点JavaScript运行时。 我编辑config / boot.rb包括: ENV['EXECJS_RUNTIME'] = 'Node' 我再次查看我的应用程序,同时看着生产日志。 这一次我得到了错误 ActionView::Template::Error (Node.js (V8) runtime is not available on this system 仍然困惑。 我去了execjs的gem,并将运行时命令更改为确切的安装path。 Node = ExternalRuntime.new( :name => "Node.js (V8)", :command => "/usr/local/bin/node", :runner_path => ExecJS.root + "/support/node_runner.js", :encoding => 'UTF-8' ) 我仍然得到同样的错误。 节点已安装并可由用户访问,但gem / rails似乎无法使用它。 […]

如何解决错误信息“Can not find module'abbrev'

我的问题是非常类似于如何解决使用Node.js“无法find模块”错误? 但是我不能用答案中提供的信息来解决我的问题。 我尝试运行UNCSS grunt插件,但是当我尝试安装它( npm install grunt-uncss –save-dev )时,出现以下错误: $ npm install grunt-uncss –save-dev module.js:340 throw err; ^ Error: Cannot find module 'abbrev' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/usr/local/Cellar/node/0.10.20/lib/node_modules/npm/node_modules/nopt/lib/nopt.js:10:14) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) 基于上面提到的答案,我试着安装这个'abbrev'模块,无论是在项目文件夹,并在全球范围内,但这产生了完全相同的错误:( npm […]

在JavaScript中压缩数组

什么是JavaScript相当于Ruby的Array#compact? 长版本….我跟着在blog.nemikor.com的例子。 他的最后一个例子closures了旧的要求,但是随后的pendings仍然被pendings 。 这看起来像是一个内存泄漏给我。 我的解决scheme是迭代filter如下所示,但这似乎有可能是pendings.push和pendings = pendings.filter之间的竞争条件。 我是偏执狂吗? 如果存在竞争条件,我该如何解决? var pendings = []; // there is a route app.get('/some/path', function (request, response) { pendings.push({ response: response, requestedAt: new Date().getTime() }); }); setInterval(function () { var expiration = new Date().getTime() – (1000 * 30); pendings = pendings.filter(function (pending, index) { if (pending.requestedAt > expiration) { […]

铁轨heroku – 如何安装JavaScript依赖,需要'NPM安装…'

我正在将我的Rails应用程序部署到heroku。 我想用一些JavaScript库,希望我们像这样安装npm的依赖关系: npm install abc 所以,在本地我可以像安装npm和做'npm install abc'一样。 不知道如何在Heroku中与我的Rails应用程序一起做到这一点。