小编Dim*_*las的帖子

如何为我用 Kotlin 编写的自定义 IssueRegistry 解决“过时的自定义 lint 检查”并使其工作(Android)

我正在尝试实现自定义 lint 检查(使用 Kotlin)。我已经为我的自定义检查设置了一个模块并添加了类来测试我的第一个 lew lint 检查,主要是在这里这里遵循这两个教程。

所以我现在有一个模块,我有一个自定义的 IssueRegistry,我已经为它创建了一个问题和一个 Detector 类。到目前为止,它似乎是完整的。我添加了一个测试来检查我的 lint 检查是否有效并且看起来没问题。

我通过在 settings.gradle 中引用它来将我的模块添加到项目中,如下所示: include ':app', ':somemodule', ':mylintmodule'

现在,如果我使用 linter 运行 linter,./gradlew lint我会得到一个 lint 结果文件,告诉我:

    Lint found an issue registry (com.myproject.mylintmodule) which requires a newer API level. That means that the custom lint checks are intended for a newer lint version; please upgrade
    Lint can be extended with "custom checks": additional checks implemented by developers and libraries to for example enforce specific …
Run Code Online (Sandbox Code Playgroud)

android lint kotlin

6
推荐指数
0
解决办法
1791
查看次数

Symfony请求获取所有url参数

我有一个Symfony\Component\HttpFoundation\Request对象,我想从中获取所有提供的url参数.换句话说,当用户访问时http://example.org/soempage?param1=value1&param2=value2&param3=value3

我想生成一个具有这些值的数组['param1','param2','param3'].

我也看过这个:如何获取Symfony2中的所有帖子参数?

我基于上面尝试了以下内容:

    /**
     * @var request Symfony\Component\HttpFoundation\Request
     */
    $parametersToValidate=$request->request->all();
    $parametersToValidate=array_keys($parametersToValidate);
Run Code Online (Sandbox Code Playgroud)

    /**
     * @var request Symfony\Component\HttpFoundation\Request
     */
    $parametersToValidate=$request->all();
    $parametersToValidate=array_keys($parametersToValidate);
Run Code Online (Sandbox Code Playgroud)

没有期望的结果,但我收到此错误消息:

尝试调用名为"all"的类"Symfony\Component\HttpFoundation\Request \"的未定义方法

编辑1

请求我使用int进入一个验证输入的静态方法.该方法通过控制器调用,并且为了可重用性而实现.

public static function httpRequestShouldHaveSpecificParametersWhenGiven(Request $request,array $parametersThatHttpRequestShouldHave)
    {
        $parametersToValidate=$request->parameters->all();

        if(empty($parametersToValidate)){
            return;
        }

        $parameters=array_keys($parametersToValidate);

        foreach($parameters as $param){
            if(!in_array($parameters,$parametersThatHttpRequestShouldHave)){            
                throw new InvalidNumberOfParametersException(implode(',',$parametersToValidate),implode(',',$parametersThatHttpRequestShouldHave),implode(',',$diff));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

php symfony symfony-3.2

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

Apache Cordova:浏览器和www平台之间的区别

如果我在我的控制台上输入:

cordova platform ls
Run Code Online (Sandbox Code Playgroud)

我得到以下平台列表:

Installed platforms:

Available platforms: 
  android ~6.3.0
  blackberry10 ~3.8.0 (deprecated)
  browser ~5.0.0
  ios ~4.5.1
  osx ~4.0.1
  ubuntu ~4.3.4 (deprecated)
  webos ~3.7.0
  windows ~5.0.0
  www ^3.12.0
Run Code Online (Sandbox Code Playgroud)

但我无法理解www平台和browser平台之间的区别.在我看来,两者都服务于同样的purpoce:通过网络运行cordova应用程序.

但在第二个想法,它可能是一个甚至略有不同的东西.你能帮我解释一下吗?正如我在文档中所看到的那样 - 文档主要是移动平台,例如:

  • Windows手机
  • IOS
  • Android的
  • 黑莓10

browser apache web cordova

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

Symfony 3:使用 Symfony 的开发服务器进行调试

在 Symfony 3.3 项目的开发过程中,我使用 Symfony 的内部服务器,如此处所示,我不知道如何使用 xdebug 来调试它。我的意思是我已经通过以下方式安装并配置了 xdebug:

apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)

我导出:

export XDEBUG_CONFIG="idekey=phpstorm" 
Run Code Online (Sandbox Code Playgroud)

但是当我在 IDE 中设置断点并通过插件启用 xdebug 时,我仍然没有得到任何响应。

我还进行了以下设置/etc/php/7.0/mods-available/xdebug.ini

apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)

我已经将两个 PhpStorm 配置为通过端口 9021 进行侦听。但是我仍然遇到无法使 PhpStorm 通过断点进行侦听的问题。

你们知道如何在我的 ubuntu-16.04 机器上解决这个问题吗?

此外,我研究过这些问题但没有成功:

编辑1

我还尝试导出以下内容:

export XDEBUG_CONFIG="idekey=PHPSTORM"
Run Code Online (Sandbox Code Playgroud)

配置Firefox 插件但仍然得到完全相同的行为。另请记住,我通过按phpstop xdebug 按钮按钮。

编辑2

我还在我的 PhpStorm 上添加了以下配置:

PHP配置

还是不行。

php xdebug symfony ubuntu-16.04 symfony-3.3

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

Laravel 任意设置退出状态代码到自定义命令

我正在实现以下自定义命令来运行后台进程:

namespace App\Console\Commands;

use App\Model\MyModel;
use Exception;
use Illuminate\Console\Command;

class MyCommand extends Command
{
    /**
     * @var string
     */
    protected $description = "Doing StuffyStuff";

    /**
     * @var string
     */
    protected $signature = "mycommand:dostuff";

    public function __construct()
    {
        parent::__construct();
    }

    public function handle(MyModel $model): void
    {
        //@todo Implement Upload
        try {
            $model->findOrFail(12);
            //Set Exit Status Code 0
        } catch (Exception $e) {
            //Set status code 1
        }
    }


}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我想根据是否抛出异常来指定状态代码。如果成功,我想使用退出状态代码 0,如果失败,我想使用 Unix 规范指定的退出状态代码 1。

那么你有什么想法如何做到这一点吗?

php command-line-interface laravel laravel-5.7

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

React Draft Wysiwyg:单击“添加”按钮时上传图像

在 React.js 应用程序上,我尝试使用https://jpuri.github.io/react-draft-wysiwyg/#/docs编辑器上传图像并将其嵌入到编辑器的内容中。

到目前为止,我设法用这段代码做到了这一点:

import React, { Component } from 'react';
import { Editor } from 'react-draft-wysiwyg';
import {convertFromRaw, convertToRaw, EditorState} from 'draft-js';    
import "../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css"
import "../../node_modules/draft-js-image-plugin/lib/plugin.css"



export default class CustomEditor extends Component {

  uploadCallback(file) {

    return new Promise(
      (resolve, reject) => {
        var reader=new FileReader();

        reader.onloadend = function() {
          Meteor.call('fileStorage.uploadFile',reader.result,file.name,file.type,(err,response)=>{
              console.log(response)
             if(err){
               reject(err)
             }

             resolve({ data: { link: response.data.url } });
          })
        }

        reader.readAsDataURL(file);
      }
    );
  }

  render() {

    const config={
      image: { uploadCallback: this.uploadCallback }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

Docker php:Docker Hub上的:zts php映像是什么

当我查看以下内容时:https : //hub.docker.com/_/php/我看到了标记为的图像:version_number-ztsversion_number-zts-alpine并且我想知道zts在这些标记上表示什么以及与fpm或Apache图像有何不同? ?

php docker

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

Nodejs解码base64并使用流将它们保存到文件中

在我的node.js应用程序上,我使用以下代码行解码base64编码的图像:

 const fileDataDecoded = Buffer.from(base64EncodedfileData,'base64');
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以使用以下代码编写一个文件:

 const fs = require('fs');
 ....
 const fileDataDecoded = Buffer.from(base64EncodedfileData,'base64');
 fs.writeFile("/tmp/test.png", fileDataDecoded, function(err) {
    //Handle Error
 });
Run Code Online (Sandbox Code Playgroud)

现在我想要实现的是通过缓冲区将解码后的文件通过流写入文件,以便在执行的应用程序上实现更高的效率.

换句话说,我希望在数据进行base64解码的同时写入filedata,以便以有效的方式编写大文件.如果无法通过Buffer传输base64解码数据,那么我想知道如何解码base64数据.

javascript base64 fs node.js

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

OpenSSL 更新到新版本:已弃用的“OPENSSL_config”的替代方案

在我的 C 项目中,我将 OpenSSl 库 1.0.2g 更新为较新的库(1.1.x 版本),同时编译代码时抛出以下警告:

\n\n
\n

main.c:40:3: 警告: \xe2\x80\x98OPENSSL_config\xe2\x80\x99 已弃用 [-Wdeprecated-declarations]\n OPENSSL_config(NULL);

\n
\n\n

抛出此错误的代码是:

\n\n
#include <stdio.h>\n\n// Openssl\n#include <openssl/conf.h>\n#include <openssl/evp.h>\n#include <openssl/err.h>\n\nint main(int argc, char *argv[]) {\n  /* Load the human readable error strings for libcrypto */\n  ERR_load_crypto_strings();\n  /* Load all digest and cipher algorithms */\n  OpenSSL_add_all_algorithms();\n  /* Load config file, and other important initialisation */\n  OPENSSL_config(NULL);\n\n  //Come code here\n\n  EVP_cleanup();\n  CRYPTO_cleanup_all_ex_data();\n  ERR_free_strings();\n  return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,根据最佳实践,我应该避免对已弃用的函数使用替代方法,在我的情况下我应该使用哪一种?

\n

c openssl deprecated

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

如何手动触发我的 postgresql 复制方案的错误“由于与恢复错误冲突而取消语句”?

为了测试我的 postgresql 热备用复制模式的各种设置,我需要重现以下错误的情况:

SQLSTATE[40001]: Serialization failure: 7 ERROR:  canceling statement due to conflict with recovery
DETAIL:  User query might have needed to see row versions that must be removed.
Run Code Online (Sandbox Code Playgroud)

因此,我尝试创建 2 个进程,1 个进程永远更新一个布尔字段及其相反值,另一个进程从副本读取值。

更新脚本是这个(loopUpdate.php):

$engine = 'pgsql';
$host = 'mydb.c3rrdbjxxkkk.eu-central-1.rds.amazonaws.com';
$database = 'dummydb';
$user = 'dummyusr'; 
$pass = 'dummypasswd';
$dns = $engine.':dbname='.$database.";host=".$host; 

$pdo = new PDO($dns,$user,$pass, [
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);

echo "Continious update a field on et_store in order to cause new row version.".PHP_EOL;

while(true)
{
       $pdo->exec("UPDATE …
Run Code Online (Sandbox Code Playgroud)

php postgresql

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