小编Fre*_*ang的帖子

如何避免来自mongodb的transparent_hugepage/defrag警告?

我收到mongodb关于THP的以下警告

2015-03-06T21:01:15.526-0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-03-06T21:01:15.526-0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
Run Code Online (Sandbox Code Playgroud)

但我确实设法手动关闭了THP

frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
Run Code Online (Sandbox Code Playgroud)

我加入的伎俩transparent_hugepage=never,以GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub和添加

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
Run Code Online (Sandbox Code Playgroud)

/etc/rc.local

我怎么能避免警告?

linux linux-kernel mongodb

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

如何压制"避免使用捆绑版Google Play服务SDK"警告?

我在我的Android应用中使用Google Play服务,所以我依赖于我的build.gradle.

compile 'com.google.android.gms:play-services:10.2.1'
Run Code Online (Sandbox Code Playgroud)

但Android Studio会显示警告:Avoid using bundled version of Google Play services SDK.

Android警告

这个警告意味着什么?我应该如何避免它?我没有找到太多相关信息就google了很多.

android google-play-services android-studio

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

如何在Laravel队列中容纳Amazon FIFO SQS?

亚马逊已经宣布他们新的FIFO SQS服务,我想在Laravel Queue中使用它来解决一些并发问题.

我创建了几个新队列并更改了配置.但是,我收到了一个MissingParameter错误

The request must contain the parameter MessageGroupId.
Run Code Online (Sandbox Code Playgroud)

所以我修改了文件 vendor/laravel/framework/src/Illuminate/Queue/SqsQueue.php

public function pushRaw($payload, $queue = null, array $options = [])
{
    $response = $this->sqs->sendMessage(['QueueUrl' => $this->getQueue($queue), 'MessageBody' => $payload,
        'MessageGroupId' => env('APP_ENV', getenv('APP_ENV'))]);

    return $response->get('MessageId');
}

public function later($delay, $job, $data = '', $queue = null)
{
    $payload = $this->createPayload($job, $data);

    $delay = $this->getSeconds($delay);

    return $this->sqs->sendMessage([
        'QueueUrl' => $this->getQueue($queue), 'MessageBody' => $payload, 'DelaySeconds' => $delay,
        'MessageGroupId' => env('APP_ENV', getenv('APP_ENV'))
    ])->get('MessageId');
}
Run Code Online (Sandbox Code Playgroud)

我正在使用它APP_ENV …

php amazon-sqs amazon-web-services laravel

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

在Laravel测试用例中模拟http请求并解析路由参数

我正在尝试创建单元测试来测试某些特定的类.我app()->make()用来实例化要测试的类.实际上,不需要HTTP请求.

但是,一些经过测试的函数需要来自路由参数的信息,所以它们会调用例如request()->route()->parameter('info'),这会引发异常:

在null上调用成员函数parameter().

我玩过很多次尝试过:

request()->attributes = new \Symfony\Component\HttpFoundation\ParameterBag(['info' => 5]);  

request()->route(['info' => 5]);  

request()->initialize([], [], ['info' => 5], [], [], [], null);
Run Code Online (Sandbox Code Playgroud)

但他们都没有工作......

如何手动初始化路由器并向其提供一些路由参数?或者只是request()->route()->parameter()提供?

更新

@Loek:你不理解我.基本上,我在做:

class SomeTest extends TestCase
{
    public function test_info()
    {
        $info = request()->route()->parameter('info');
        $this->assertEquals($info, 'hello_world');
    }
}
Run Code Online (Sandbox Code Playgroud)

没有涉及"请求".该request()->route()->parameter()呼叫实际上位于我的真实代码中的服务提供商中.此测试用例专门用于测试该服务提供商.没有路由将从该提供程序中的方法打印返回值.

php phpunit unit-testing laravel laravel-5.3

10
推荐指数
2
解决办法
6818
查看次数

如何处理 ElasticSearch 中的空字段名称?

我想将用户的输入记录到我的 RESTful API 以进行调试,但只要 JSON 有效负载中有空字段,就会生成错误并丢弃日志。

例如,

{
  "extra": {
    "request": {
      "body": {
        "": ""
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

...会导致

{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "failed to parse"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "failed to parse",
    "caused_by": {
      "type": "illegal_argument_exception",
      "reason": "field name cannot be an empty string"
    }
  },
  "status": 400
}
Run Code Online (Sandbox Code Playgroud)

这似乎是由https://github.com/elastic/elasticsearch/blob/45e7e24736eeb4a157ac89bd16a374dbf917ae26/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java#L191引起的。

这有点棘手,因为它发生在解析阶段......是否有任何解决方法可以删除/重命名此类字段,以便它可以使 ES 消化这些日志?

elasticsearch

7
推荐指数
0
解决办法
2175
查看次数

Zend:如何在PHP 7中正确破坏自定义对象?

我正在学习PHP扩展编写,以便使一些旧的扩展与PHP 7一起工作.

我试图从http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/修改示例扩展,但在破坏自定义对象时它会导致段错误.所有其他功能正常工作.(在我的代码中,汽车被BDict取代.)

这是我的代码:

#define Z_BDICT_OBJ_P(zv) php_bdict_object_fetch_object(Z_OBJ_P(zv))

zend_object_handlers bdict_object_handlers;

typedef struct _bdict_object {
    BDict *bdict_data;
    zend_object std;
} bdict_object;

zend_class_entry *bdict_ce;

static void bdict_free_storage(zend_object *object TSRMLS_DC)
{
    bdict_object *intern = (bdict_object *)object;

    // ***Both the following two lines will cause segfault***
    delete intern->bdict_data;
    zend_object_std_dtor(&intern->std TSRMLS_CC);
}

zend_object * bdict_object_new(zend_class_entry *ce TSRMLS_DC)
{
    bdict_object *intern = (bdict_object *)ecalloc(1,
            sizeof(bdict_object) +
            zend_object_properties_size(ce));

    zend_object_std_init(&intern->std, ce TSRMLS_CC);
    object_properties_init(&intern->std, ce);

    intern->std.handlers = &bdict_object_handlers;

    return &intern->std;
}

static inline bdict_object * php_bdict_object_fetch_object(zend_object *obj)
{ …
Run Code Online (Sandbox Code Playgroud)

php c php-extension php-internals php-7

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

如何在CouchDB 2.0中创建TEXT索引?

我正在阅读本文https://cloudant.com/blog/mango-json-vs-text-indexes,我想在我的CouchDB中创建TEXT索引

在Fauxton-> Mango Indexes页面中,我发布了

{
  "index": {
    "fields": [
      {
        "name": "id_str",
        "type": "number"
      }
    ]
  },
  "name": "doc_id",
  "type": "text"
}
Run Code Online (Sandbox Code Playgroud)

...但是出现503错误,并显示以下消息:

{"error":"required index service unavailable","reason":"text"}
Run Code Online (Sandbox Code Playgroud)

我什至无法在他们的文档中找到任何相关信息,我现在真的很迷失。

所以:

  1. 如何在CouchDB中创建TEXT索引?
  2. 在哪里可以找到有关CouchDB索引的不错的介绍?

请帮忙,谢谢。

couchdb couchdb-2.0

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

在限制@ -moz-document之后,现在拥有特定于Firefox的CSS规则的最佳方法是什么

@-moz-document在CSS中以Firefox为目标是非常有用的黑客。例如,

@-moz-document url-prefix() {
    /* Firefox-specific rules */
}
Run Code Online (Sandbox Code Playgroud)

但是,由于https://bugzilla.mozilla.org/show_bug.cgi?id=1035091已得到修复,因此旧的hack在Firefox Developer Edition中不再起作用,我相信此补丁很快就会在稳定版本中发布。所以

  1. 据我了解,UA表是浏览器随附的用于查找默认元素的表,但是用户表是什么?
  2. 是否有仅CSS的替代实现?

css firefox

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

如果不能,"不能一次多次借用可变的东西"

我正在编写一个程序来计算单词出现的频率.这是我的代码的一部分.

// hm is a HashMap<&str, u32>
if let Some(val) = hm.get_mut(tt) {
    *val += 1u32;
} else {
    hm.insert(tt.clone(), 1u32);
}
Run Code Online (Sandbox Code Playgroud)

我得到了......

error: cannot borrow `hm` as mutable more than once at a time [E0499]
      hm.insert(tt.clone(), 1u32);
      ^~
note: first mutable borrow occurs here
            if let Some(val) = hm.get_mut(tt) {
                            ^~
note: first borrow ends here
            }
            ^
help: run `rustc --explain E0499` to see a detailed explanation
Run Code Online (Sandbox Code Playgroud)

我可以通过hm.insert()移出else范围来绕过这个但是它是一种"非程序化"的方式......我尝试使用match但是同样的错误(很明显)会发生.

我怎样才能解决这个问题?

rust

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