小编Tom*_*mas的帖子

生产服务器上的 NodeJS - 权限

我希望系统上的任何用户都可以使用它nodenpm

在我们的团队中,当有人从 git 更新代码时,他们会运行:sudo -u www-data git pull

所以无论是什么项目,我们总是要经过www-data用户。

现在我们有了新的 Node 项目,需要做同样的事情。在我们的生产服务器上,我们不可能依赖一个用户来处理有关节点的所有事情 - 如果他明天离开怎么办?

因此,我们不使用 NVM,而是按照此处所述以 root 身份安装 Node

一切都很好,所有用户都可以看到node并且npm可执行。当我们真正尝试使用它们时,问题就开始了。

你想做的是:

cd /var/www/node_project
sudo -u www-data git pull
sudo -u www-data npm install
Run Code Online (Sandbox Code Playgroud)

这在最后一个命令上失败,因为npm正在尝试lock在我的主目录中写入文件。所以:/home/user/.npm而不是全局某个地方或者/var/www/.npmwww-data 用户的主目录。

类似的,安装后

sudo npm install -g typings

然后运行sudo -u www-data typings install你会得到一个错误,因为它正在尝试写入/home/user/.config/configstore/insight-typings.json

有人可以详细说明如何在服务器上实际正确安装节点吗?如果我运行,sudo -u www-data为什么 npm ins 仍然进入我的主文件夹?

linux git ubuntu node.js

5
推荐指数
1
解决办法
3224
查看次数

在数据库中存储信用

只是一个quickey.我正在开发网站,您可以在网站上购买积分并将其用于网站上.我的问题是,用户(用户表,列信用额和迭代金额)存储信用额度是否可以,或者有必要(或者更好)拥有用户ID和金额的单独表格?

谢谢

php mysql database-design

4
推荐指数
1
解决办法
966
查看次数

通过网址获取推特份额的数量

我有一个关于推特计数的问题.关于这一切,一切都是如此的愚蠢.简单地说:我的网站有动态页面,推文按钮,人们去页面,按推文,它们在推特上显示,依靠我的页面增加.但是我也需要在我的后端打电话给twitter并询问他们我已经拥有多少股票并依此计算.

这是投票的概念.人们通过分享到Facebook和Twitter投票给网站,所以我需要拿这些投票并一起计算.请不要推荐像我尝试的"sharecount"这样的脚本,它有很多问题,而且不可靠.我可以很容易地从Facebook获得喜欢,但我似乎没有得到如何从Twitter获得股票的数量.

此外,如果有人可以帮助我,有没有办法从独特的用户获得股票?我注意到,如果我推特网站50次,则计数器为50.我希望将1个用户的50条推文计为1.

感谢帮助!

php twitter network-shares

4
推荐指数
1
解决办法
2709
查看次数

无法使 bash 脚本从 cloud-init 工作

显然我在这里做错了。

云初始化脚本 /etc/cloud/cloud.cfg

...
runcmd:
 - [ sh, /opt/cloud-init-scripts/whatever.sh ]
Run Code Online (Sandbox Code Playgroud)

剧本 /opt/cloud-init-scripts/whatever.sh

#!/bin/bash
...
. /home/ubuntu/third-party/script.sh --silent
Run Code Online (Sandbox Code Playgroud)

第三方脚本 /home/ubuntu/third-party/script.sh

#!/usr/bin/env bash

function some_function() {
...
Run Code Online (Sandbox Code Playgroud)

我进入时出错 /var/log/cloud-init-output.log

/opt/cloud-init-scripts/whatever.sh: 3: /home/ubuntu/third-party/script.sh: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)

我一定在这里遗漏了一些明显的东西。我尝试使用source.并且sh在调用第三方脚本时,尝试在任何地方更改shebang,但没有成功。

如果我从命令行运行相同的命令,它就可以工作。

linux bash shell

4
推荐指数
1
解决办法
5276
查看次数

Jenkins Pipeline currentBuild持续时间总是返回0

我正在尝试获取报告的构建持续时间,但它总是返回0.

通过阅读文档,浏览Slack插件源并阅读其他资源,我应该可以执行以下操作之一:

def duration = currentBuild.duration
def duration = currentBuild.durationString
def duration = currentBuild.durationString()
def duration = currentBuild.getDurationString()
Run Code Online (Sandbox Code Playgroud)

没有一个有效.根据我的理解,这可能是因为我在构建实际完成之前调用了这个,因此持续时间尚不可用.

管道的结构看起来像这样:

node {
    try {
        stage("Stage 1"){}
        stage("Stage 2"){}
    } catch (e) {
        currentBuild.result = "FAILED"
        throw e
    } finally {
        notifyBuild(currentBuild.result)
    }
}

def notifyBuild(String buildStatus = 'STARTED') {
    def duration = currentBuild.duration;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 为什么我没有得到持续时间
  2. 管道中是否有指定"构建后"步骤的方法?从我读到的东西来看,尝试捕捉应该是这样的

我的临时解决方案是使用:

int jobDuration = (System.currentTimeMillis() - currentBuild.startTimeInMillis)/1000;
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但总是给人时间(秒)和我认为currentBuild.duration应该是足够聪明,给不同的单位(?)

groovy jenkins slack jenkins-pipeline

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

位置绝对值与IE的z-index

有人可以帮我解决这个问题吗?问题仅出在兼容模式下的IE中.我有位置绝对和z-index 99999999的菜单,但仍然隐藏菜单内容.请检查 :

http://www.tomasdostal.com/projects/modul16/draft2/?page=buildings

谢谢你的建议

css internet-explorer positioning z-index internet-explorer-7

2
推荐指数
1
解决办法
5277
查看次数

在查询字符串中传递电子邮件地址

这个问题更具理论性.是否可以在查询字符串中传递电子邮件地址,如:

www.something.com/?email=person@domain.com
Run Code Online (Sandbox Code Playgroud)

我在一个项目中使用它,但我想知道有什么缺点.因为一些大型服务正在避免这种情况,例如Gravatar希望您将电子邮件地址转换为MD5哈希,然后在查询中传递它.

谢谢你的解释

html email

2
推荐指数
1
解决办法
2914
查看次数

使用NodeJS的PostgreSQL - 获取行或至少ID

我已经在mongoDB中切换到PostgreSQL(最后!)在我们的新移动应用程序API中,到目前为止一切进展顺利.我遇到的一个问题是,当我将行插入数据库时​​,我需要重新插入数据.

我正在使用"pg"节点模块,最重要的是我为验证等编写了简单的模型结构.

现在,当我将这个模型/行保存到数据库时,我基本上拥有整个结构,但仍然缺少由数据库生成的一些重要值,即创建的ID和日期.

所以我需要pg来返回整个插入的对象,或者至少它的id,所以我可以在模型中填充它.

我搜索了一些答案,但没有什么令人满意的,而且没有具体的节点.

谢谢!

sql postgresql node.js

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

Javascript安全性,在操作后调用函数

这比问题更"思想者".我在考虑如何保护javacript时遇到问题.

假设我有这个设置:

Main page with iframe in it
Iframe with content.
Run Code Online (Sandbox Code Playgroud)

现在,让我们说,用户必须在iframe中玩游戏.完成游戏后,iframe调用:

window.parent.givePrice();
Run Code Online (Sandbox Code Playgroud)

父级将显示模态窗口:

function givePrice(){
  jQuery('.mask').show();
  jQuery('#won').show();
}
Run Code Online (Sandbox Code Playgroud)

在这个模态窗口中,他们会有类似的东西

Congratulations! you just won a brand new BMW! Click Here to get your price
Run Code Online (Sandbox Code Playgroud)

在他点击链接后,他的名字被签名(通过ajax - 不相关)进入数据库表"获胜者".

(请记住,这只是一个例子).

现在这听起来很棒,但我可以看到这么多安全漏洞.例如,如果我使用firebug并写"givePrice();" 它直接向我展示了我赢得的模态,即使我根本没有碰到游戏.

有人可以讨论,这样的最佳方法是什么?

谢谢

javascript security jquery

0
推荐指数
1
解决办法
227
查看次数