我的应用程序有几个层次:中间件,控制器,管理器.控制器接口与中间件一样:( req,res,next).
所以我的问题是:如何在不启动服务器的情况下测试我的控制器并向localhost发送"真实"请求.我想要做的是创建请求,响应实例作为nodejs,然后只调用控制器方法.
像这样的东西:
var req = new Request()
var res = new Response()
var next = function(err) {console.log('lala')}
controller.get_user(req, res, next)
Run Code Online (Sandbox Code Playgroud)
任何建议都非常感谢.谢谢!
PS我之所以这样做的原因是最后我想测试响应对象是否包含玉视图的正确变量.
我有一个对象数组,当我进行字符串化时,它看起来像这样:
"[[{"entrReqInv": "Neither"},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]]"
Run Code Online (Sandbox Code Playgroud)
我怎样才能删除空{}
s?
我有一个表示模型的typescript类,我希望实例通过angular的Http
服务与API通信.
但是模型的构造函数在创建实例时需要参数.例如一些超级简单:
class SomeModel{
constructor(public id:number, public name:string, ){
}
Run Code Online (Sandbox Code Playgroud)
我想注入Http
服务,以便它可用于我的实例,但似乎这样做的规范方法是使用以下命令构造器:
constructor(http:Http)
Run Code Online (Sandbox Code Playgroud)
我一直在挖掘Injector
文档,但它有点稀疏,我没有发现任何有用的东西.有没有办法在Http
不使用构造函数模式的情况下从DI系统获取对服务的引用?
我正在尝试连接使用Http服务的基本Angular2应用程序.(我见过的大多数教程通过Component
使用Http
服务来实现这一点,除非瘦控制器的基本原理已经改变,否则这似乎是错误的 - 但这是一个不同的问题.)
我想创建一个使用Angular Http
服务的服务.但我无法弄清楚如何注入除此之外的Http
服务:
boot.ts:
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
import {HTTP_PROVIDERS } from 'angular2/http';
bootstrap(AppComponent, [HTTP_PROVIDERS]);
Run Code Online (Sandbox Code Playgroud)
myService.ts:
import {Injectable} from 'angular2/core';
import {Http} from 'angular2/http';
@Injectable()
export class aService{
constructor(http:Http){
}
/** do some stuff *//
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但要求服务的用户知道服务的依赖性并且需要将它们注入引导过程似乎是非常错误的.似乎应该有一种方法直接将providers
数组传递给服务,就像组件一样,但我找不到它.我只是错过了一些东西吗?
我有一个app-engine应用程序,它在标准的Python3运行时上部署并运行.我也可以使用常规命令在本地运行它flask run
.但我无法按照我在2.7运行时运行应用程序的方式运行它dev_appserver.py
.我使用的是最新gcloud
版本,但运行dev_appserver.py
结果如下:
错误:Python 3及更高版本与Google Cloud SDK不兼容.请使用Python版本2.7.x.
我认为我们不应该这样做,直到它看到:https: //cloud.google.com/appengine/docs/standard/python3/tools/local-devserver-command
首先是:
Python 3.7本地开发服务器选项
用法:
dev_appserver.py [options] yaml_path [files ...]
是否dev_appserver.py
与Python3兼容(也许我在路径中有一个旧版本)?如果没有,是否有一种在本地运行应用程序的新方法,它将遵循app.yaml(如正确处理静态路径)并提供其他细节,如提供的本地数据存储dev_appserver.py
?
我有一个Angular 1应用程序,它使用一个简单的contentEditable
指令,可以像这样在模板中使用:
<span contenteditable="true" ng-model="model.property" placeholder="Something">
Run Code Online (Sandbox Code Playgroud)
编辑元素将触发$setViewValue(element.html()
并按预期工作.
我想在Angular2中使用类似的简洁模板语法制作一些东西.理想情况下,我希望模板看起来像这样:
<span contentEditable="true" [(myProperty)]="name"></span>
Run Code Online (Sandbox Code Playgroud)
其中'name'是组件上的属性,并且指令在更改时更新组件.我觉得我很接近这个(Plunker Link):
//our root app component
import {Component, Input, Output Directive, ElementRef, Renderer, OnInit} from 'angular2/core'
@Directive({
selector: '[contentEditable]',
host: {
'(blur)': 'update($event)'
}
})
export class contentEditableDirective implements OnInit {
@Input() myProperty;
constructor(private el: ElementRef, private renderer: Renderer){}
update(event){
this.myProperty = this.el.nativeElement.innerText;
}
ngOnInit(){
this.el.nativeElement.innerText = this.myProperty;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我传递一个像这样的对象,这个想法是有效的,{name: "someName"}
但是如果只是传递一个属性,它似乎传递了值,而不是引用,因此绑定不会流回到组件.有没有办法做到这一点,仍然允许模板语法不冗长,但仍然允许轻松重用指令.
我正在使用此处记录的图像 API:https : //cloud.google.com/appengine/docs/python/images/
根据文件:
然后,您可以向此 URL 添加参数以获得所需的大小和裁剪参数。可用的参数是:
=sxx 其中 xx 是 0-1600 之间的整数,表示图像最长边的长度(以像素为单位)。例如,添加 =s32 调整图像大小,使其最长尺寸为 32 像素。=sxx-c 其中 xx 是 0-1600 之间的整数,表示以像素为单位的裁剪图像大小,-c 告诉系统裁剪图像。
似乎有很多额外的参数可用。例如,使用-fv
或翻转图像-fh
,添加 20 像素的边框-b20
以及更多。我在任何地方都找不到提到的这些。这只是一个尚未发布的 API,还是我一直找不到的很好的参考?
I am working on a small project that involves finding the best route on a bus system. I build a graph where the stops are vertices and the edges are weighted with the time between stops.
I though I would try to use a variant of Dijkstra to find the best route. When finding the next edges to consider, the algorithm only looks at edges whose departure time as after the current time along the trip. There are several parts …
我正在尝试找出将dataset
api 与 api 一起使用的推荐方法estimator
。我在网上看到的一切都是这个的一些变体:
def train_input_fn():
dataset = tf.data.Dataset.from_tensor_slices((features, labels))
return dataset
Run Code Online (Sandbox Code Playgroud)
然后可以将其传递给估算器的 train 函数:
classifier.train(
input_fn=train_input_fn,
#...
)
Run Code Online (Sandbox Code Playgroud)
但数据集指南警告说:
上面的代码片段会将特征和标签数组作为 tf.constant() 操作嵌入到您的 TensorFlow 图中。这适用于小数据集,但会浪费内存——因为数组的内容将被多次复制——并且可能会遇到 tf.GraphDef 协议缓冲区的 2GB 限制。
然后描述一种方法,该方法涉及定义占位符,然后用 填充feed_dict
:
features_placeholder = tf.placeholder(features.dtype, features.shape)
labels_placeholder = tf.placeholder(labels.dtype, labels.shape)
dataset = tf.data.Dataset.from_tensor_slices((features_placeholder, labels_placeholder))
sess.run(iterator.initializer, feed_dict={features_placeholder: features,
labels_placeholder: labels})
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用的是estimator
api,则不会手动运行会话。那么如何将dataset
api 与 estimators 一起使用,同时避免与 相关的问题from_tensor_slices()
?
我目前正在学习JavaScript,我对这个Array.find()
方法的回调函数如何工作有点困惑,
我有这个当前的代码:
const numbers= [43,46,33,23,44,36,5]
function under50(num) {
return num < 50;
}
val = numbers.find(under50);
Run Code Online (Sandbox Code Playgroud)
根据Mozilla文档:
callback函数对数组中的每个值执行,取三个参数:
元件
当前元素在数组中处理.
指数
数组中正在处理的当前元素的索引.
排列
数组查找被调用.
现在要理解我传递元素的方法,然后迭代,然后一旦找到它的元素将返回值.然而,令我困惑的是,当我从未明确地传递过Array的方法时,它是如何知道元素的?如果有人可以发布一个简单的例子,那将非常有帮助