小编Jul*_*oro的帖子

使用 proguard 模糊文件名

我正在使用 proguard 和 Android Studio 混淆我的 apk。

当我反编译我的apk时,我可以看到很多文件,比如aaa.java、aab.java。等等...但我项目中的所有文件都具有原始名称。

有没有办法混淆我的项目的文件名???

这是我的 proguard-rules.pro

    ##---------------Begin: proguard configuration common for all Android apps ----------
-optimizationpasses 5
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*


#-injars      bin/classes
#-injars      libs
#-outjars     bin/classes-processed.jar



-allowaccessmodification
#-keepattributes *Annotation*
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable, LocalVariableTable,LocalVariableTypeTable
-repackageclasses ''


#-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider …
Run Code Online (Sandbox Code Playgroud)

java android proguard

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

dotenv 和 Elastic Beanstalk - 环境文件 .env 未找到或不可读

我正在尝试在 Amazon Elastic Beanstalk 中上传 Lumen 项目。

.env 在 .gitignore 中。

这没关系,因为我有几个环境(dev、qa、prod),所以我需要为每个环境配置单独的 env 变量

我收到此错误消息:

 Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Dotenv: Environment file .env not found or not readable. Create file with your environment settings at /var/app/current/bootstrap/../.env' in /var/app/current/vendor/vlucas/phpdotenv/src/Dotenv.php:33 Stack trace: #0 /var/app/current/bootstrap/app.php(4): Dotenv::load('/var/app/curren...') #1 /var/app/current/public/index.php(13): require('/var/app/curren...') #2 {main} thrown in /var/app/current/vendor/vlucas/phpdotenv/src/Dotenv.php on line 33
Run Code Online (Sandbox Code Playgroud)

我知道系统没有找到 .env

事情是我在 Amazon Console 中设置了变量:

Software Configuration
Environment variables: APP_ENV, DB_USERNAME, DB_PASSWORD, DB_DATABASE,  DB_HOST, APP_KEY
Run Code Online (Sandbox Code Playgroud)

eb 打印环境:

 Environment Variables:
  DB_DATABASE = ebdb …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services laravel amazon-elastic-beanstalk lumen phpdotenv

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

渴望加载条件 - Laravel

我有这个问题:

 $tournament = Tournament::with(
            'championships',
            'championships.settings',
            'championships.category',
            'championships.tree.users',
        )->first();
Run Code Online (Sandbox Code Playgroud)

现在,它给了我所有附加锦标赛的锦标赛.

我需要的是参加锦标赛,但只有我所拥有的$ request-> ChampionshipId锦标赛.

当然,我也想在所有其他关系中使用这个过滤器('championships.settings','championships.category','championships.tree.users')任何想法?

laravel eloquent

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

PDOException::("PDO::__construct(): Unexpected server respose while doing caching_sha2 auth: 109") 使用 MySQL 8 / PHP 7.2 / Laravel

我刚刚安装了我的开发环境。

当我尝试通过 SequelPro 连接 mysql db 时,我得到:

Authentication plugin 'caching_sha2_password' cannot be loaded
Run Code Online (Sandbox Code Playgroud)

如:无法加载身份验证插件 'caching_sha2_password',我运行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
Run Code Online (Sandbox Code Playgroud)

然后我可以通过 SequelPro 连接我的数据库

但是当我执行 Laravel 命令时:

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

我得到:

PDOException::("PDO::__construct(): Unexpected server respose while doing caching_sha2 auth: 109")
Run Code Online (Sandbox Code Playgroud)

我现在该怎么办 ?

PD:我在 Mac 上使用 Laravel Valet,而 Laravel 5.6。

mysql laravel mysql-8.0 valet

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

无法在非本地类型模型上定义新方法。Meter

我想将所有模型放在共享Common库中。

所以,我做了一个新的回购协议:gitlab.com/xxx/common

里面我放了一个包:models

这是一个对象的定义:

type Meter struct {
    ID           string
    OperationID  string
    Type         ConsoProd
    Unit         string
    Timestep     time.Duration
    Measures     []Measure 
    FetchMethod  AcquisitionMethod
    Metadata     interface{}
}
Run Code Online (Sandbox Code Playgroud)

现在,我想在外部项目中使用它,我这样做:

go get gitlab.com/xxx/common
Run Code Online (Sandbox Code Playgroud)

Go Modules 将下载它。

我像这样导入使用它:

import "gitlab.com/xxx/common/models"

//String transparent method
func (meter models.Meter) String() string {
    var stringifyMeter string
    stringifyMeter += "Meter " + meter.ID + " is a " + meter.Type.String() + " and compute in operation #" + meter.OperationID + "."
    return stringifyMeter
}
Run Code Online (Sandbox Code Playgroud)

但 Goland …

go go-modules

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

对 influxdb 查询进行单元测试的最简单方法应该是什么

我有一项仅对 influxDB 进行查询(读/写)的服务。

我想对此进行单元测试,但我不知道该怎么做,我读过很多关于模拟的教程。很多涉及像go-sqlmock这样的组件。但由于我使用的是 influxDB,所以无法使用它。

我还发现我尝试使用的其他组件(例如goMocktestify)过于复杂。

我认为要做的是创建一个存储库层,一个应该实现我运行/测试所需的所有方法的接口,并通过依赖注入传递具体类。

我认为这可行,但这是最简单的方法吗?

我想到处都有存储库,即使对于小型服务,只是为了它们可测试,似乎是过度设计的。

如果需要,我可以给你代码,但我认为我的问题有点理论性多于实际性。这是模拟自定义数据库进行单元测试的最简单方法。

unit-testing mocking go

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

我应该如何使用 csv 解析器从 fs.createReadStream() 返回数据

我有这个功能

function getData(file, type) {
    let data = [];
    fs.createReadStream(file)
        .pipe(csv({headers: false, separator: ';',}))
        .on('data', (row) => {
            let item = {
                date: row[0],
                value: row[1]
            };
            let item2 = {
                date: moment(row[0], "DD-MM-YYYY HH:mm").add(30, "minutes").format("DD/MM/YYYY HH:mm"),
                value: row[2]
            };
            data.push(item);
            data.push(item2);
        })
        .on('end', () => {
           return data;
        });
}
Run Code Online (Sandbox Code Playgroud)

我想返回在 csv 中解析的数据,但是当我在.on方法中返回数据时,数据为空。

我该怎么办呢?

node.js

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

Postgres / K8S:PANIC 找不到有效的检查点记录 / CrashLoopBackOff

Postgres 无法开始给出错误:

PANIC could not locate a valid checkpoint record
Run Code Online (Sandbox Code Playgroud)

在谷歌上,有很多解决方案,但都需要连接pod来执行一些pg命令。

但是,当我使用 K8S 时,我的 pod 处于 status: 状态CrashLoopBackOff,所以我无法再连接到我的 pod。

我应该如何修复我的 postgres 数据库?

编辑:

我试图运行命令:

pg_resetwal /var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)

和:

...
spec:
      containers:
      - args:
        - pg_resetwal
        - /var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)

但我得到:

pg_resetwal: cannot be executed by "root"
You must run pg_resetwal as the PostgreSQL superuser.
Run Code Online (Sandbox Code Playgroud)

可以更进一步...

编辑2:

我尝试运行一个附加了相同卷和相同 postgres 容器的新 pod,但将命令更改为: pg_resetwal /var/lib/postgresql/data

我还补充道:

securityContext:
              runAsUser: 0
Run Code Online (Sandbox Code Playgroud)

这是用于部署的 yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    reloader.stakater.com/auto: "true"
  labels:
    app: metadata-postgres-fix
  name: metadata-postgres-fix …
Run Code Online (Sandbox Code Playgroud)

postgresql kubernetes

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

Go 覆盖多个包和 Gitlab 覆盖徽章

我正在尝试为我的 gitlab 项目显示准确的覆盖范围徽章。

事情是我有几个包,在 gitlab-ci.yml 中,我运行

go test $(go list ./... | grep -v /vendor/) -v -coverprofile .testCoverage.txt
Run Code Online (Sandbox Code Playgroud)

我的输出是这样的:

$ go test -coverprofile=coverage.txt -covermode=atomic ./...
 ok     gitlab.com/[MASKED]/pam 10.333s coverage: 17.2% of statements
 ok     gitlab.com/[MASKED]/pam/acquisition 0.004s  coverage: 57.7% of statements
 ok     gitlab.com/[MASKED]/pam/acquisition/api 0.005s  coverage: 72.1% of statements
 ok     gitlab.com/[MASKED]/pam/acquisition/ftp 24.936s coverage: 73.1% of statements
 ok     gitlab.com/[MASKED]/pam/repartition 0.004s  coverage: 90.1% of statements
Run Code Online (Sandbox Code Playgroud)

我在 Gitlab 中解析正则表达式的测试覆盖率是:

^coverage:\s(\d+(?:\.\d+)?%)
Run Code Online (Sandbox Code Playgroud)

如果我检查 .testCoverage,我会得到很多这样的行:

 gitlab.com/[MASKED]/pam/repartition/repartition.go:54.33,56.5 1 1
Run Code Online (Sandbox Code Playgroud)

因此,它给我的结果90.1%是仅覆盖最后一个包的情况。

我该怎么办呢?

testing code-coverage go

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

在Jenkins管道中使用无代理定义环境变量

我在哪里做管道:

#!/bin/groovy

pipeline {
    agent none
    environment {
        agent any
        INSTANCE_NAME = "Jenk"
  }

  stages {
    stage("Print Debug Vars"){
        steps {
            sh 'echo "INSTANCE_NAME is $INSTANCE_NAME"'
        }
    }

    stage("Git Checkout") {
        agent { label 'docker' }
        steps  {
            // ...
            }
      }
    }

    stage("Ansible Galaxy"){
        agent { label 'ansible' }
        steps  {
            // ...
            }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题我,如果我把

agent any
Run Code Online (Sandbox Code Playgroud)

在环境部分,它说:

WorkflowScript: 6: "agent any" is not a valid environment expression. Use "key = value" pairs with valid Java/shell …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins

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