小编Rya*_*uck的帖子

AngularJS - 如果用户已登录,则显示/隐藏导航项

我有一个单页的AngularJS应用程序,通过Mongoose使用Express,node.js和MongoDB.使用Passport进行用户管理/身份验证.

我希望根据用户是否登录来更改导航栏项.我无法弄清楚如何实现它.

我发现用户是否通过http请求登录:

server.js

app.get('/checklogin',function(req,res){
  if (req.user)
    res.send(true);
  else
    res.send(false);
Run Code Online (Sandbox Code Playgroud)

在前端,我NavController使用Angular的$http服务调用它:

NavController.js

angular.module('NavCtrl',[]).controller('NavController',function($scope,$http) {

    $scope.loggedIn = false;

    $scope.isLoggedIn = function() {

      $http.get('/checklogin')
        .success(function(data) {
          console.log(data);
          if (data === true)
            $scope.loggedIn = true;
          else
            $scope.loggedIn = false;
        })
        .error(function(data) {
          console.log('error: ' + data);
        });
    };
};
Run Code Online (Sandbox Code Playgroud)

在我的导航中,我正在使用ng-showng-hide确定哪些选项应该可见.我也在isLoggedIn()用户点击导航项时触发该功能,检查用户是否在每次点击期间登录.

的index.html

<nav class="navbar navbar-inverse" role="navigation">
  <div class="navbar-header">
    <a class="navbar-brand" href="/">Home</a>
  </div>
  <ul class="nav navbar-nav">
    <li ng-hide="loggedIn" ng-click="isLoggedIn()">
      <a href="/login">Login</a>
    </li>
    <li …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express angularjs

17
推荐指数
2
解决办法
2万
查看次数

从lambda登录到cloudwatch中的特定日志流

我想从lambda登录到特定的CloudWatch日志流.

当前,每个lambda都会触发日志到唯一命名的日志流,并且通常会根据需要创建新的日志流.如果我同时使用不同的事件处理10个lambda并且想要查看给定事件类型的特定日志流(我可以事先假设地定义),这是有问题的.

我希望能够在控制台中创建一个日志流并指定从我的lambda(python代码)中记录到该特定的日志流,理想情况下不需要求助于boto3模块(尽管如果这是唯一的方法,那就没关系,当然).

在此输入图像描述

amazon-web-services aws-lambda

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

从AWS CLI查找服务器上使用的角色

我正在使用附加了IAM角色的EC2实例,并且希望能够验证我确实在AWS CLI中使用此角色.

我想象能够调用这样的东西(但在CLI文档中找不到类似的东西):

$ aws get-current-role-details
Run Code Online (Sandbox Code Playgroud)

这个功能是否存在?

amazon-web-services amazon-iam

12
推荐指数
3
解决办法
7909
查看次数

重复主键上的Pandas to_sql失败

我想使用pandas df.to_sql()函数附加到现有表.

我设置了if_exists='append',但我的桌子有主键.

我想insert ignore在尝试append使用现有表时做相同的操作,因此我会避免重复的输入错误.

这是可能的熊猫,还是我需要编写一个显式查询?

python mysql pandas

11
推荐指数
6
解决办法
8654
查看次数

NetworkX - 删除节点并重新连接边缘

我在图中有一个节点,它充当一种“临时连接器”节点。我想删除该节点并更新图中的边,以便其所有直接前辈都指向其直接后继者。

是否有内置功能可以做到这一点networkx,还是我需要推出自己的解决方案?

例子:

我有一个图表1 > 2 > 3。我想删除 node2并最终得到 graph 1 > 3

这是我目前的做法:

In [230]: g = nx.DiGraph()

In [231]: g.add_edges_from([(1,2),(2,3)])

In [232]: g.edges()
Out[232]: [(1, 2), (2, 3)]

In [233]: predecessors = g.predecessors(2)

In [234]: successors = g.successors(2)

In [235]: new_edges = [(p,s) for p in predecessors for s in successors]

In [236]: new_edges
Out[236]: [(1, 3)]

In [237]: g.remove_node(2)

In [238]: g.add_edges_from(new_edges)

In [239]: g.nodes()
Out[239]: [1, 3]

In [240]: …
Run Code Online (Sandbox Code Playgroud)

networkx

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

使用SQLAlchemy在现有表上的简单SELECT语句

在互联网上没有任何地方存在一个SELECT关于SQLAlchemy 1.0 的简单语句的简单的几行教程.

假设我已经建立了数据库连接create_engine(),并且我的数据库表已经存在,我想知道如何执行以下查询:

select
    name,
    age
from
    users
where
    name = 'joe'
    and
    age = 100
Run Code Online (Sandbox Code Playgroud)

python mysql select sqlalchemy

9
推荐指数
2
解决办法
5156
查看次数

在Ubuntu 14.04.2问题上安装python-pip

试图在新的 Ubuntu 14.04.2 VM 上安装python-pip .

sudo apt-get update
sudo apt-get install python-pip
Run Code Online (Sandbox Code Playgroud)

我得到的错误表明libc无法找到一些基本包:

Err http://archive.ubuntu.com/ubuntu/ trusty-security/main linux-libc-dev amd64 3.13.0-52.86
  404  Not Found [IP: 91.189.91.15 80]
Fetched 26.1 MB in 4s (5918 kB/s)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_3.13.0-52.86_amd64.deb  404  Not Found [IP: 91.189.91.15 80]
Run Code Online (Sandbox Code Playgroud)

事实上,点击浏览器中列出的URL会引发404.

试图安装时,同样的问题发生python-devpython3-pip.

解决方法是什么?


编辑 - 解决

问题实际上是我使用vagrant和docker构建VM.

RUN sudo apt-get update我的Dockerfile中的步骤由于某种原因被缓存,这意味着它被跳过了.因此,python-pip可能正在寻找过时的依赖.

linux ubuntu apt

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

如何在 Pandas 中将 timedelta 转换为一天中的时间?

我有一个包含 mySQLtime类型数据的 SQL 表,如下所示:

time_of_day
-----------
   12:34:56
Run Code Online (Sandbox Code Playgroud)

然后我pandas用来阅读表格:

df = pd.read_sql('select * from time_of_day', engine)

df.dtypes收益率:

time_of_day timedelta64[ns]

我的主要问题是,在将我df的数据写入csv 文件时,数据出来的都是一团糟,而不是本质上看起来像我的 SQL 表:

time_of_day
0 days 12:34:56.000000000
Run Code Online (Sandbox Code Playgroud)

我想(显然)将此记录存储为 a time,但我在 Pandas 文档中找不到任何关于 time 的内容dtype

熊猫是不是故意缺少这个功能?有没有办法解决我的问题而无需进行乱码数据转换?

看起来这应该是基本的,但我很困惑。

python time datetime timedelta pandas

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

设置 nvm 以正确使用 npm 和 grunt

我有点新的网页应用程序开发,并通过RAN自耕农教程,使用yogruntbower,和angular

我曾使用自制软件来安装nodenpm,但npm由于某些权限等原因,不断出现错误。我node使用卸载brew,而是用于nvm安装nodenpm,这不再给我错误。

但是,nvm有点烦人。我知道它是一个node版本管理器,nvm use 0.10每次打开外壳时我都不必担心。但是现在,每当我想grunt serve从新 shell访问我的网络应用程序时,我都需要安装 grunt-cli:

nvm use 0.10
npm install -g grunt-cli
# ...
grunt serve
Run Code Online (Sandbox Code Playgroud)

grunt-cli不是全局安装?或者它没有意义,因为npm在不同的外壳之间不会“粘连”?

基本上,我现在只使用一个版本的节点就可以了。如何设置nvm, npm,grunt以便grunt每次打开新外壳时都不必重新安装?

node.js npm gruntjs nvm

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

与Flask服务器同时运行while循环

我正在使用python更新一些LED.我这样做是这样的:

from LEDs import *
myLEDs = LEDs()
done = False
while not done:
  myLEDs.iterate()
Run Code Online (Sandbox Code Playgroud)

我想使用Flask作为我可以在浏览器中运行的一些漂亮的ReactJS前端(用于更改当前模式等)和Python中的LED控制代码之间的桥梁.

我有Flask工作正常,可以处理HTTP请求等.我想知道如何设置myLEDs.iterate()连续运行(或快速运行)与我的烧瓶应用程序同时,同时仍然能够彼此通信,如此:

myLEDs = LEDs()

@app.route('/changePattern',methods=['POST'])
def changePattern():
  n = request.json['num']
  myLEDs.setPattern(n)
  return jsonify(**locals())

if __name__ == '__main__':
  app.debug = True
  myLEDs.setToFrequentlyIterateAndStillTalkToFlask()
  app.run()
Run Code Online (Sandbox Code Playgroud)

我遇到过celery,这似乎可以解决问题,但对于我的问题是多么简单似乎也有点过分.

使用Flask overkill只是想让UI管理我的python后端代码?是否有比Celery更简单的库用于在后台运行某些东西?

编辑

这是开发一个带有连接到Python后端的Node-Webkit前端的应用程序的大型项目的一部分.如果看起来不可行,我愿意改变我对这个应用程序的方法.

python celery flask

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