小编che*_*hen的帖子

Tornado是Django的替代品还是彼此互补?

我有几个关于龙卷风和其他Web框架的问题.

1)龙卷风声称是一个网络服务器(非阻塞的,因此效果很好),所以有些人说它不起作用django --ie,他们说龙卷风不是一个网络框架.

但是,它确实提供了一个我认为的Web框架(http://www.tornadoweb.org/documentation#main-modules) - 这样,它似乎取代了django作为Web开发框架.

我的上述理解是否正确?

2)通常,在Nginx之后设置了几个龙卷风.Tomcat通常也设置在Apache Web服务器之后.我可以说Tornado扮演的是Tomcat与Java Web服务器完全相同的角色吗?如果答案是肯定的,那么Tornado就是一个Web框架.

3)我读了一些文章说使用Tornado和Django,例如http://www.jeremybowers.com/blog/post/3/on-deploying-tornado-web-server-framework/,但我在线阅读了一些文章声称"如果你使用Django,那么你就失去了Tornado的异步",这是真的还是假的?一个相关的问题,如果Tornado本身就是我在1)中所说的网络框架,为什么人们会费心使用Django?(结果插件?)

有人可以给我101介绍吗?

django tornado

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

如何在Ansible YAML文件中的字符串中转义冒号?

我想在安装期间更改文件/var/www/kibana/config.js中的一行代码

elasticsearch: "http://"+window.location.hostname+":9200"
Run Code Online (Sandbox Code Playgroud)

elasticsearch: "http://192.168.1.200:9200"
Run Code Online (Sandbox Code Playgroud)

在这里,我尝试使用lineinfile来执行此操作,如下所示

- name: Comment out elasticsearch the config.js to ElasticSearch server
  lineinfile:
    dest=/var/www/kibana/config.js
    backrefs=true
    regexp="(elasticsearch.* \"http.*)$"
    line="elasticsearch\: \" {{ elasticsearch_URL }}:{{ elasticsearch_port }} \" "
    state=present
Run Code Online (Sandbox Code Playgroud)

我已经设置的变量{{elasticsearch_URL}},并{{elasticsearch_port}}http://192.168.1.2009200分别.

这是我遇到的错误消息:

ERROR: Syntax Error while loading YAML script, /Users/shuoy/devops_workspace/ansible_work/logging-for-openstack/roles/kibana/tasks/Debian.yml
Note: The error may actually appear before this position: line 29, column 25

regexp="(elasticsearch.* \"http.*)$"
line="elasticsearch\: \" {{ elasticsearch_URL }}:{{ elasticsearch_port }} \" "
                    ^
Run Code Online (Sandbox Code Playgroud)

regex ansible ansible-playbook

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

STL中的矢量地图?

我想要一个矢量图,(但我不想使用指针作为内部矢量),是否可能?

// define my map of vector
map<int, vector<MyClass> > map;

// insert an empty vector for key 10. # Compile Error
map.insert(pair<int, vector<MyClass> >(10, vector<MyClass>)); 
Run Code Online (Sandbox Code Playgroud)

我知道如果我已经使用指针进行向量,如下,那就没问题,但我想知道我是否可以避免使用指针并使用上面的数据结构(我不想手动删除)

// define my map of vector
map<int, vector<MyClass>* > map;

// insert an empty vector for key 10.
map.insert(pair<int, vector<MyClass>* >(10, new vector<MyClass>)); 
Run Code Online (Sandbox Code Playgroud)

c++ stl

26
推荐指数
6
解决办法
7万
查看次数

Java封闭后的Scala优势

随着闭包被添加到Java,Scala比Java作为语言选择的优势是什么?

有人可以详细说明任何优势吗?

java closures scala

23
推荐指数
3
解决办法
2883
查看次数

我们如何将GitHub帐户用作AWS Cognito身份提供商?

通过阅读Cognito Identity Provider文档,我了解到它似乎提供了与Facebook/Google/Twitter作为身份提供商的开箱即用集成.

我的应用程序是一个以开发人员为中心的应用程序,因此我希望除了上述身份提供商的帐户之外,还允许用户使用他们的Github帐户进行注册/登录.那可能吗?

如果可能的话,我需要做多少额外的工作(比较开箱即用的Facebook/Google社交注册功能)?

single-sign-on oauth-2.0 openid-connect amazon-cognito aws-cognito

18
推荐指数
2
解决办法
1950
查看次数

()=> Int和Unit => Int之间有什么区别?什么是Scala中的"()"类型?

我想我仍然没有完全理解函数定义中的type()表示.所以我不能提出每个案例的具体例子:()=> Int; 单位=>国际.

有人能给我一个简单的函数文字示例,其中type()=> Int并分别键入Unit => Int?在那之后,我想我可以了解究竟是什么().

谢谢

*编辑:*目的地说他们是一样的.但是下面的测试似乎表明不然:()不能用到期望单位.

scala> def inCase[A] ( b :Boolean, ifTrue : Unit => A, ifFalse : Unit => A ) : A  = 
 |     b match {
 |         case True => ifTrue()
 |         case _ => ifFalse()
 |     }

 inCase: [A](b: Boolean, ifTrue: Unit => A, ifFalse: Unit => A)A


scala> inCase( True,  () => 1,  () => -1 )
 <console>:11: error: type mismatch;
 found   : () => Int
  required: Unit => …
Run Code Online (Sandbox Code Playgroud)

scala

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

关于学习"如何思考功能"的建议?

作为函数式语言的新手(几周前我开始接触Erlang - 第一个可以让我开始使用的函数式语言).

我开始写一些小的算法(如left_rotate_list,bubble_sort, merge_sort等).我发现自己常常迷失在诸如"我应该使用帮助列表进行中间结果存储吗?"等决策中.并且"我应该创建一个辅助函数来执行此操作吗?"

过了一会儿,我发现函数式编程(如果我说的话没有意义的话,请跟我一点)鼓励"自上而下"的设计:即,当我做merge_sort时,你首先记下所有的合并排序步骤,并将它们命名为单独的辅助函数; 然后逐个实现这些辅助函数(如果需要进一步划分这些辅助函数,请以相同的方法执行).

这似乎与OO设计略有矛盾,您可以从底层开始构建基本数据结构,然后将数据结构和算法组合成您想要的.

感谢您的评论.是的,我想得到关于如何"用函数式语言思考"的建议(就像"用Java思考","用C++思考").

erlang functional-programming

11
推荐指数
3
解决办法
2549
查看次数

Scala中的函数相关问题

我有几个与咖喱功能有关的问题.我在这里逐一问他们

1)http://twitter.github.com/scala_school/basics.html给出了一个curried函数的例子 - 我认为它是一个函数定义,但实际上并非如此.REPL根本不承认这是一个有效的声明.

multiplyThenFilter { m: Int =>   m * 2 } { n: Int =>   n < 5}
Run Code Online (Sandbox Code Playgroud)

2)为什么我们不能从部分参数化方法定义函数?即,以下定义有什么问题?

scala> def multiply(m: Int, n: Int): Int = m * n
multiply: (m: Int, n: Int)Int

scala> val timesTwo = multiply(2,_)
<console>:11: error: missing parameter type for expanded function ((x$1) => multiply(2, x$1))
       val timesTwo = multiply(2,_)
                                 ^
Run Code Online (Sandbox Code Playgroud)

3)为什么我们不能使部分参数化函数curry?即,以下定义有什么问题?

scala> (multiply(_,_)).curried
  res13: Int => (Int => Int) = <function1>  // THIS IS OK

scala> (multiply(20,_)).curried
<console>:12: error: …
Run Code Online (Sandbox Code Playgroud)

scala

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

Angular.js中基于OpenID的身份验证(使用Flask后端)

如何在Angular.js中实现基于OpenID的身份验证(使用Flask后端Web应用程序)?

看起来像Angular.js代码需要合并逻辑,就像这里的例子一样.

但是,Flask方面也应该有一个OpenID验证机制.
是否有"推荐"方式为后端和前端编写逻辑?
是否有一个github示例或一些其他相关资源的初学者?

openid flask angularjs

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

foldRight效率?

我听说foldLeft在大多数操作中效率更高,但Scala School(来自Twitter)给出了以下示例.有人可以分析它的效率吗?我们应该使用foldLeft实现相同的操作吗?

val numbers = List(1,2,3,4,5,...10)
def ourMap(numbers: List[Int], fn: Int => Int): List[Int] = {
    numbers.foldRight(List[Int]()) { (x: Int, xs: List[Int]) =>
    fn(x) :: xs
  }
}

scala> ourMap(numbers, timesTwo(_))
res0: List[Int] = List(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
Run Code Online (Sandbox Code Playgroud)

scala

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