小编nov*_*von的帖子

如何在AngularJS中更新模型时触发指令?

我找到了一个很好的解决方案,可以通过在模型上运行ng-repeat来创建角度js中的内联编辑内容:https://stackoverflow.com/a/16739227/2228613

为了扩展该解决方案,我在页面上添加了一个具有ng-click指令的按钮,如下所示:

<button ng-click="addCategory()" class="btn btn-large btn-primary" type="button">
<i class="icon-white icon-plus"></i> Add Category
</button>
Run Code Online (Sandbox Code Playgroud)

addCategory函数在我的控制器中定义:

$scope.addCategory = function(){
    var newCategory = {id:0, name:"Category Name"};
    $scope.categories.unshift(newCategory);
}
Run Code Online (Sandbox Code Playgroud)

这里的目标是允许用户添加新记录,并在使用新行更新视图后自动触发内联编辑指令.如何以这种方式触发内联编辑指令?

angularjs

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

Kafka使用者配置中heartbeat.interval.ms和session.timeout.ms之间的区别

我目前正在运行kafka 0.10.0.1,并且相关的两个值的相应文档如下:

heartbeat.interval.ms - 使用Kafka的组管理工具时,心跳与消费者协调员之间的预期时间.心跳用于确保消费者的会话保持活动状态,并在新消费者加入或离开群组时促进重新平衡.该值必须设置为低于session.timeout.ms,但通常应设置为不高于该值的1/3.它可以调整得更低,以控制正常重新平衡的预期时间.

session.timeout.ms - 使用Kafka的组管理工具时用于检测故障的超时.如果在会话超时期间未收到消费者的心跳,则代理会将消费者标记为失败并重新平衡该组.由于仅在调用poll()时发送心跳,因此较高的会话超时允许更多时间在消费者的轮询循环中进行消息处理,但代价是检测硬故障的时间较长.另请参阅max.poll.records以获取另一个控制轮询循环中处理时间的选项.

我不清楚为什么文档建议设置heartbeat.interval.ms为1/3 session.timeout.ms.这些值是否相同是没有意义的,因为心跳仅在poll()被调用时发送,因此当处理当前记录时?

apache-kafka kafka-consumer-api

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

在迁移中访问 django-custom-user manager 方法

我想在 django 1.7 项目的数据迁移中植入超级用户记录。我正在使用django-custom-user应用程序。我的迁移如下所示:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations

def load_data(apps, schema_editor):
    EmailUser = apps.get_model('custom_user', 'EmailUser')
    root = EmailUser.objects.create_superuser(email='admin@somesite.com', password='supersecure')


class Migration(migrations.Migration):
    dependencies = [
        ('accounts', '0001_initial'),
    ]

    operations = [
        migrations.RunPython(load_data)
    ]
Run Code Online (Sandbox Code Playgroud)

运行时./manage.py migrate出现以下错误:

Running migrations:
  Applying accounts.0002_initial_data...Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line …
Run Code Online (Sandbox Code Playgroud)

python django django-custom-user

6
推荐指数
2
解决办法
3384
查看次数

使用Slick 3.1.x将数据库连接返回到HikariCP池

我正在从typesafe配置中设置一个光滑的Database对象,如下所示:

import com.typesafe.config.Config

class DatabaseService(configKey: String, config: Config) {
  val driver = slick.driver.MySQLDriver
  import driver.api._
  val db = Database.forConfig(configKey, config)
}
Run Code Online (Sandbox Code Playgroud)

config对象告诉Slick使用HikariCP,如下所示:

db {
  numThreads = 5
  connectionTimeout = 30000
  maximumPoolSize = 26
  driver = "com.mysql.jdbc.Driver"
  url = "jdbc:mysql://localhost:3306/some_db?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false"
  user = "root"
  password = "root"
  connectionPool = "HikariCP"
}
Run Code Online (Sandbox Code Playgroud)

实例化DatabaseService之后,我可以通过运行来运行查询dbService.db.run(someQuery)

第一个问题是我需要做一些事情以从池中获得连接,还是在调用时在幕后发生db.run()

其次,一旦执行了一个或多个查询,如何将当前数据库连接返回到连接池?

scala hikaricp slick-3.0

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

基于环境变量的运行时配置与sbt native packager

我正在使用sbt native packager插件创建我的应用程序的zip文件,以便部署到弹性beanstalk.我想在我的beanstalk环境中设置环境变量,并将它们用于在运行时配置我的应用程序.我试图在我的Procfile中引用env变量,如下所示:

web: ./bin/bridgeservice -Dhttp.port=$PORT
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为$PORT没有由打包程序生成的启动脚本进行插值.

我也尝试在build.sbt中定义变量,如下所示:

import scala.util.Properties

javaOptions in Universal ++= Seq(
  "-Dhttp.port=" + Properties.envOrElse("PORT", "9004"),
)
Run Code Online (Sandbox Code Playgroud)

这也不起作用,因为打包程序PORT在构建可分发zip时需要env变量,并且在application.ini文件中硬编码默认值9004.

是否可以在应用程序启动时根据环境变量动态传递java选项?

scala sbt-native-packager amazon-elastic-beanstalk

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

在mongoose模式预保存功能中使用异步调用

我为我的架构设置了一个预保存功能,如下所示:

LocationSchema.pre('save', function(next) {
  geocoder.geocode(this.address, function ( err, data ) {
    if(data && data.status == 'OK'){
      //console.log(util.inspect(data.results[0].geometry.location.lng, false, null));

      this.lat = data.results[0].geometry.location.lat;
      this.lng = data.results[0].geometry.location.lng;
    }

    //even if geocoding did not succeed, proceed to saving this record
    next();
  });
});
Run Code Online (Sandbox Code Playgroud)

所以我想在实际保存模型之前对位置地址进行地理编码并填充lat和lng属性.在我上面发布的函数中,地理定位有效,但是this.lat和this.lng没有保存.我在这里错过了什么?

mongoose node.js

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

Mongoose错误 - 在使用这些参数调用where()之后必须使用elemMatch()

我有以下架构:

UserSchema = new Schema({
  'username': { type: String, validate: [validatePresenceOf, 'a username is required'], index: { unique: true } },
  'hashed_password': String,
  'salt': String,
  'locations': [LocationSchema]
});

LocationSchema = new Schema({
  'lat': Number,
  'lng': Number,
  'address': { type: String, validate: [validatePresenceOf, 'The address is required in order to add a new location.'] },
  'name': String
});
Run Code Online (Sandbox Code Playgroud)

我正试图通过它的id找到一个特定的单一位置文档.为此,我尝试按位置键查询用户集合项,位置键是位置文档的数组.我的查询如下所示:

var query = User.find({"locations.$": 1})
                .where()
                .elemMatch({locations: {_id : ObjectId('531283690315992f05bcdc98')}})
                .exec(function(err, data){

                  console.log(err);
                  console.log(data);
                });
Run Code Online (Sandbox Code Playgroud)

当它运行时,我收到以下错误:

错误:在使用这些参数调用where()之后,必须使用elemMatch()

这是什么意思?我似乎无法找到一个好的解释.

忘了提一下,我可以通过运行以下命令从mongo shell获取我想要的数据: db.users.find({locations: {$elemMatch …

mongoose mongodb node.js express

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