小编Gar*_*day的帖子

IDE在索引时做什么?

当IDE说这是indexing什么意思?实际上是什么"引擎盖下"?在索引编制期间构建我的项目是否安全,或者我应该等到它完成索引?

我假设索引是IDE的常见问题,但我从来没有对索引进行过解释.我只是看到这个词,indexing然后想"我知道那个词,一定要做点什么." 我只是理所当然地认为它会发生.

什么是索引?

eclipse ide android-studio

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

如何使用推送通知同步SQLite和MySQL数据库?

我在Android上有一个SQLite数据库,在服务器上有一个MySQL数据库.当用户在手机上编辑数据或编辑网站上的数据时,我想同步这些数据库.

我知道当用户在手机上进行更改时如何更新服务器上的MySQL数据库,但是当用户在网站上进行更改时我不知道如何更新Android数据库.

我已阅读推送通知,并认为这是一条很好的路径,但我有几个问题:

  1. 当用户通过网站更新数据时,它会向该用户的手机发送推送通知,说明已进行了更改.这个推送通知是否可以通过在Server数据库上进行的新更改来更新Android的数据库?

  2. 如果用户关闭推送通知怎么办?我是否仍然能够触发他们的Android数据库更新?

我也读过SQLite和MySQL数据库同步,发现这篇文章的SQLite和MySQL同步,但没有找到对我的情况有帮助的帖子.

推送通知是一种好方法,还是应该使用不同的方法?

简而言之 - 我希望Android设备能够检测MySQL数据库的更改并更新其SQLite数据库,而无需用户启动同步.

mysql database sqlite android

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

如何从Django Rest Framework JWT令牌获取用户名

我正在使用Django Rest Framework,我已经包含了一个名为REST framework JWT Auth的第三方软件包.当您将用户名/密码发送到某个路由时,它会返回一个令牌.然后需要令牌才能获得某些路由的许可.但是,如何从令牌获取用户名?我查看了整个软件包文档并浏览了StackOverflow.它是一个JSON Web令牌,我假设有一个方法,username = decode_token(token)但我还没有找到这样的方法.

django django-rest-framework json-web-token

8
推荐指数
3
解决办法
6835
查看次数

在 AWS 中使用 S3 listObjectVersions 需要什么权限?

我目前有一个 lambda,它使用节点 sdk 调用listObjectVersions来列出特定文件的所有版本。但是,我无法弄清楚我的策略中的哪些权限会​​授予 lambda 权限来进行此调用。我搜索了 AWS 文档,但找不到任何信息。

以下是我的策略中的当前权限:

- PolicyName: S3Policy
  PolicyDocument:
    Version: 2012-10-17
    Statement:
      - Effect: Allow
        Action:
          - s3:PutObject
          - s3:PutObjectAcl
          - s3:GetObject
          - s3:GetObjectVersion
          - s3:ListObjectVersions
          - s3:DeleteObject
          - s3:ListBucket
Run Code Online (Sandbox Code Playgroud)

当我执行 lambda 时,我会Access Denied在拨打电话时得到一个。我已经更改了我的政策以允许该操作s3:*并且 lambda 可以工作。但是,我不想授予对 s3 的完全访问权限。

我需要添加什么操作才能允许?

amazon-s3 amazon-web-services amazon-iam aws-sdk

8
推荐指数
2
解决办法
4914
查看次数

给定样式时,操作栏标题消失

我一直在为我的Actionbar添加样式,并且每个方面都运行良好,直到我尝试更改Actionbar标题.当我为Actionbar的标题添加样式时,标题就会消失.Actionbar仍在那里,但根本没有标题.

这是我的Actionbar样式代码

<style name="Theme.TabTheme" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/dark_primary</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowActionBar">true</item>
    <item name="android:actionBarStyle">@style/Theme.TabTheme.MyActionBar</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarTabs</item>
</style>

<style name="Theme.TabTheme.MyActionBar" parent="ThemeOverlay.AppCompat.ActionBar">
    <item name="android:background">@color/primary</item>
    <item name="android:height">50dp</item>
    <item name="android:titleTextStyle">
        @style/Theme.TabTheme.MyActionBar.TitleTextStyle
    </item>
</style>

<style name="Theme.TabTheme.MyActionBar.TitleTextStyle"
       parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/primary_text</item>
    <item name="android:text">@string/app_name</item>
    <item name="android:textSize">15sp</item>
</style>

<!-- ActionBar tabs styles -->
<style name="MyActionBarTabs" parent="Theme.AppCompat">
    <!-- tab indicator -->
    <item name="android:background">@drawable/actionbar_tab_indicator</item>
</style>
Run Code Online (Sandbox Code Playgroud)

为什么在Actionbar Title中添加样式会使标题消失?

android android-styles

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

如何复制键中带有特殊字符的S3对象

我的 S3 存储桶中有对象,但我无法控制键的名称。其中一些键具有特殊字符,AWS SDK 不喜欢它们。

\n\n

例如,一个对象键是:folder/\xe2\x80\x8dJohnson, Scott to JKL-Discovery.pdf,乍一看可能看起来不错,但如果我对它进行 URL 编码:folder%2F%E2%80%8DJohnson%2C+Scott+to+JKL-Discovery.pdf,您可以看到在之后folder/(或编码时)之前folder%2F有一个随机的字符序列。%E2%80%8DJohnson

\n\n

目前尚不清楚这些字符从何而来,但是,我需要能够处理这个用例。当我尝试使用 Node.js AWS SDK 复制该对象时,

\n\n
const copyParams = {\n    Bucket,\n    CopySource,\n    Key : `folder/\xe2\x80\x8dJohnson, Scott to JKL-Discovery.pdf`\n  };\n  let metadata = await s3.copyObject(copyParams).promise();\n
Run Code Online (Sandbox Code Playgroud)\n\n

它失败并且找不到对象,如果我有encodeURI()钥匙,它也会失败。

\n\n

我该如何处理这个问题?

\n\n

不要建议我更改键名中允许的字符。我无法控制这件事

\n

amazon-s3 amazon-web-services node.js aws-sdk-nodejs

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

AWS Fargate 服务可以运行 0 个任务吗?

我目前有一个包含服务的 Fargate 集群。该服务始终有 1 个任务正在运行,并且正在从 SQS 进行轮询。如果 SQS 增长/收缩,该服务将扩展任务数量。然而,任务有大量空闲时间,队列中没有消息。为了节省成本,是否可以将服务减少到0任务?

我一直在尝试这样做,并且该服务将始终尝试启动至少 1 个任务。

如果这是不可能的,那么对我来说最好的做法是不使用服务并在 SQS 上设置 CloudWatch 警报,并在大小大于 0 时直接在集群中创建一个任务,然后在大小大于 0 时关闭该任务SQS又回到0了?本质上是模仿服务的功能。

amazon-web-services amazon-ecs aws-fargate

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

ECS Fargate Auto Scaling 策略如何知道不会终止工作任务?

我有一个 ECS Fargate 集群,其中的服务根据队列中的消息数量生成任务。每个任务对队列进行长轮询,一次处理一条消息。如果队列收到超过 5 条消息,则会启动一个新任务并开始接收消息。当队列低于前一个阈值的 5 条消息时,它会关闭一个任务。

我的问题是,当服务决定缩减规模时,它如何知道要终止什么任务?所有任务都可以处理消息。每个任务持续运行并从 SQS 进行长时间拉取,那么它如何知道任务处于有效关闭状态(刚刚完成一条消息)和无效关闭状态(当前正在处理一条消息)。

amazon-web-services amazon-ecs aws-fargate

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

如何创建与任何字符串排列匹配的唯一哈希

给定一个字符串,abcd我如何创建一个独特的哈希方法来哈希这 4 个字符以匹配bcad或字母的任何其他排列abcd

目前我有这个代码

long hashString(string a) {
    long hashed = 0;
    for(int i = 0; i < a.length(); i++) { 
        hashed += a[i] * 7; // Timed by a prime to make the hash more unique?
    } 
    return hashed;
}
Run Code Online (Sandbox Code Playgroud)

现在这将不起作用,因为ad将与bc.

我知道你可以通过将字母的位置乘以字母本身来使其更加独特hashed += a[i] * i,但随后字符串将不会散列到其排列。

是否可以创建一个哈希来实现这一目标?

编辑

有些人建议在散列字符串之前对它们进行排序。这是一个有效的答案,但排序需要 O(nlog) 时间,我正在寻找一个在 O(n) 时间内运行的哈希函数。

我希望在 O(1) 内存中执行此操作。

algorithm hash

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

如何向AWS SAM本地提供全局环境变量

在本地运行sams以测试我的api网关并传递环境变量时,我可以运行以下命令

sam local start-api -n env-vars.json
Run Code Online (Sandbox Code Playgroud)

当环境变量与这样的特定函数绑定在一起时,这很好用

MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs8.10
    CodeUri: .
    Environment:
      Variables:
        FIRST_BUCKET: !Ref firstBucket
        SECOND_BUCKET: !Ref secondBucket
Run Code Online (Sandbox Code Playgroud)

但是,我目前有这样的全局环境变量

Globals:
  Function:
    CodeUri: .
    Runtime: nodejs8.10
    Environment:
      Variables:
        FIRST_BUCKET: !Ref firstBucket
        SECOND_BUCKET: !Ref secondBucket
Run Code Online (Sandbox Code Playgroud)

如何使用将自定义全局环境变量传递给SAMS env-var.json?我希望能够对我的env-var.json文件执行类似的操作

{
  "Globals": {
    "Function": {
      "FIRST_BUCKET": "this-is-my-bucket-name"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这行不通,而且我无法在线找到任何资源来显示实现此行为的正确语法。

amazon-web-services aws-sam

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