小编Pap*_*eud的帖子

可逆伪随机序列发生器

我想要某种方法来创建一个相当长的随机数序列,我可以向前和向后翻转.就像具有"下一个"和"上一个"按钮的机器一样,它会为您提供随机数字.

像10位分辨率(即0到1023范围内的正整数)就足够了,并且序列> 100k.这是一个简单的游戏类型的应用程序,我不需要加密强度随机性或任何东西,但我希望它感觉相当随机.我有可用的内存有限,所以我不能只生成一大块随机数据并通过它.我需要在"交互时间"中获取数字 - 我可以轻松地花几个小时思考下一个数字,但不是比这更舒服.最终它将在某种微控制器上运行,可能只是一个Arduino.

我可以用简单的线性同余生成器(LCG)来做到这一点.前进很简单,向后退我必须缓存最近的数字并间隔存储一些点,这样我就可以从那里重新创建序列.

但也许有一些伪随机发生器可以让你前进和前进?应该可以连接两个线性反馈移位寄存器(LFSR)以在不同方向上滚动,不是吗?

或者也许我可以使用某种哈希函数来填充索引号?我要先尝试一下.

还有其他想法吗?

random reverse arduino prng

21
推荐指数
3
解决办法
9144
查看次数

PHP StdClass - 访问字段为 - >字段或 - > {'field'}

我正在研究这个PHP代码协作,似乎有些人会像这样访问PHP StdClass字段

$body->head
Run Code Online (Sandbox Code Playgroud)

和其他人一样

$body->{'head'}
Run Code Online (Sandbox Code Playgroud)

据我所知,这些是等价的.是吗?使用哪个是否重要?你更喜欢哪种方式?有什么怪癖要注意吗?

php field stdclass

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

liquibase defaultValue vs defaultValueNumeric

谁能告诉我在变更集中指定defaultValue ="0"与defaultValueNumeric ="0"之间的区别?这是一个bigint专栏.

http://www.liquibase.org/manual/add_default_value在这里没有详细介绍.

liquibase

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

mvn release:从git分支执行失败:pom.xml是否需要在master上具有相同的版本?

我们有几个非常相似的项目.我正在尝试从git分支发布mvn.(检查分支,然后执行mvn发布).在一些项目上这很好用,在其他项目上mvn release:prepare工作得很好但是当我做mvn release时:执行它失败了.

当它尝试执行"cd ... target/checkout && git pull ..."时失败了,我明白了:

[ERROR] The git-pull command failed.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to checkout from SCM
Provider message:
The git-pull command failed.
Command output:
Run Code Online (Sandbox Code Playgroud)

如果我手动执行命令,则会出现与pom.xml的git合并问题.我的猜测是,当pom.xml在master和branch上有不同的版本时,它会失败.也就是说,如果在1.4分支版本是1.4.2的快照和主干版本为1.5.0-SNAPSHOT失败.

在我看来,不应该要求poms是相同的:我没有做mvn:从master发布而是从git分支发布.这不是那么可怕,是吗?有人知道吗?

git pom.xml maven-release-plugin

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

Godot:什么是 .import 文件,你应该将它们提交给 git 吗?

Godot 中,当您将图像和其他资产导入编辑器时,会<filename>.import创建一个附加文件。

那些 .import 文件是做什么用的?你应该将它们提交到你的 git 仓库吗?

git workflow godot

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

Facebook:如何从用户的访问令牌获取应用程序 ID - 使用 /app?access_token=TOKEN?

我们允许用户仅使用 facebook 访问令牌作为凭证来访问我们的后端(通过 https 使用 REST api 和 json 回复),因此我们想做两件事:

  1. 验证访问令牌并找到用户的 ID - 这只是对https://graph.facebook.com/me?access_token=TOKEN的调用

  2. 确保此访问令牌属于我们的 Facebook 应用程序。您可以调用 https://graph.facebook.com/app?access_token=TOKEN,但这似乎是一项未记录的功能(有时相当慢)。

谁能告诉我这实际上是否是一个可能保留在那里的标准方法?或者是否有另一种方法可以完成我们想做的事情:验证用户的访问令牌是否有效并且来自我们的 Facebook 应用程序。

你可以打电话给 me/permissions 和 me?fields=installed,但这两个似乎都没有告诉我我们正在检查哪个 Facebook 应用程序。

facebook facebook-graph-api oauth-2.0

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

liquibase:你能用liquibase addColumn指定"after column"吗?

有没有办法写一个liquibase addColumn变更集,所以它生成sql之类的

ALTER TABLE xxx ADD COLUMN yyy AFTER zzz;
Run Code Online (Sandbox Code Playgroud)

我的意思是,有没有办法在liquibase行话中添加"post zzz"之后的等价物?

mysql database-migration changeset liquibase

5
推荐指数
2
解决办法
8683
查看次数

是否允许不赞成使用protobuf字段?

我们有一个protobuf类型,在其中添加了一个字段,然后再也没有使用该字段来实现功能(因此[deprecated=true]暗示不要使用它)。几年后,时间到了,现在我们确实想使用该领域。

仅删除[deprecated=true]并开始使用该字段是否安全,否则可能会破坏任何内容?

具有相同类型和语义的字段已经存在于另一条消息中,因此最好使用我们最初给它提供的名称,而不是添加一个新字段并使用两个相似的字段来膨胀定义。

编辑:关于选项proto3语言指南部分有这样的说法:

deprecated(字段选项):如果设置为true,则表明该字段已弃用,并且不应被新代码使用。在大多数语言中,这没有实际效果。在Java中,这成为@Deprecated注释。将来,其他特定于语言的代码生成器可能会在字段的访问器上生成弃用注释,这反过来将导致在编译尝试使用该字段的代码时发出警告。如果该字段未被任何人使用,并且您想阻止新用户使用该字段,请考虑使用保留语句替换该字段声明。

api-design deprecated protocol-buffers

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

Maven:我可以在annotationProcessorPath中使用依赖管理的版本吗?

我正在我的 dependencyManagement 中导入共享的“物料清单”(bom),如下所示:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.mycompany</groupId>
      <artifactId>common-bom</artifactId>
      <version>1.2.3</version>
      <scope>import</scope>
      <type>pom</type>
    </dependency>
  </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

common-bom定义了版本,然后我只使用它定义的任何版本,如下所示:

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这一切都很好,除了我也有这个

  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <annotationProcessorPaths combine.children="append">
        <annotationProcessorPath>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.20</version>
        </annotationProcessorPath>
      </annotationProcessorPaths>
    </configuration>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

所以现在我无论如何都需要指定一个 lombok 版本,不是为了实际的依赖项,而是为了注释处理器路径。有没有办法我可以使用相同的值?例如,它可以作为属性存储在 common-bom 中吗?

maven annotation-processing lombok

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

将复制"Access-Control-Allow-Origin:*"标题会破坏CORS吗?

所以我们有一个提供JSON的http资源.它增加了一个

Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)

旗.所以这可以加载CORS ... 除了(所以我被告知)有一些IE9怪癖,这意味着它仍然无法在IE9中工作,但如果这是一个https资源它会工作.

因此,我们设置现有的https代理以包含此资源.只有那个https资源还添加了Access-Control-Allow-Origin:*标头,因此响应包含两个这样的标头.

而这似乎根本不起作用.从实验上看,如果我从"内部"http资源中删除标题,代理版本(现在只包含一个标题)确实有效.只需在Chrome,Firefox中使用jQuery CORS进行测试.

是对的吗?所以我需要做的是(有人)修复https代理以"设置"标题而不是"添加"吗?

ajax https http-headers cors

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

在特定的changeSet上运行mvn liquibase:updateSQL

有些经验丰富的maven用户可能会帮助我:

在将其作为maven目标运行时,如何将"可选参数"传递给liquibase?

我想传递"changesToApply",请参阅http://www.liquibase.org/manual/maven_updatesql

但是语法是什么?像这样的东西,但不完全:

mvn liquibase:updateSQL -DchangesToApply=2
Run Code Online (Sandbox Code Playgroud)

liquibase maven

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