小编Boo*_*oon的帖子

使用 URL + 令牌访问 GitHub 上的原始文件

在 Gradle 脚本中,我直接在我的 GitHub 帐户上引用了一个文件,如下所示:

buildscript { scriptHandler ->
    apply from: 'https://github.com/raw/foo/bar-repo/master/repos.gradle?token=DFXD68SDF9DFKvNY-801UJHUHDUVdsd782MewA%3fks5D%3D', to: scriptHandler

    dependencies {
        // some dependencies
    }
}
Run Code Online (Sandbox Code Playgroud)

我通过转到有关文件的 GitHub 页面上的“原始”链接获得了 URL。

当我运行本地构建时,一切正常,我的构建可以检索包含访问令牌的 URL 引用的原始文件。

这是否有任何危险(我将 URL 保密在我的组织中)。令牌会过期吗?我想在 buildscript 块中共享通用配置,例如 URL,这似乎是最简单的方法。

编辑:我已经转到我的 GitHub 帐户的安全部分并撤销所有会话并注销(以结束我当前的会话)。该网址仍然有效。

url github token gradle

8
推荐指数
0
解决办法
1218
查看次数

Delta Lake 独立于 Apache Spark?

我一直在探索数据湖屋概念和 Delta Lake。它的一些功能看起来非常有趣。在项目主页https://delta.io/上,有一个图表显示 Delta Lake 运行在“您现有的数据湖”上,但没有提及 Spark。在其他地方,它表明 Delta Lake 确实运行在 Spark 之上。所以我的问题是,它可以独立于Spark运行吗?例如,我是否可以在我的架构中不使用 Spark 的情况下,使用 S3 存储桶设置 Delta Lake 以进行 Parquet 格式的存储、模式验证等?

apache-spark delta-lake

7
推荐指数
2
解决办法
1137
查看次数

NPM 缓存类似于本地 Maven 缓存

Gradle 的依赖管理系统将下载的工件存储在本地 Maven 缓存中。当构建再次请求相同的依赖项时,该依赖项只是从缓存中检索,避免了工件的任何网络传输。

我正在尝试使用 NPM 复制此行为以构建 JavaScript 项目。我期待 NPM 支持全局 node_modules 缓存,但是在 NPM 中“全局”安装包有不同的含义 => 包被添加到 PATH 以便它可以用作 CLI 工具。

阅读npm install的文档,标准行为是将包安装到本地node_modules 目录中。但这意味着系统上有许多重复的软件包会浪费宝贵的磁盘空间。这也给进行干净的生产构建带来了问题,因为理想情况下每次都应该将 node_modules 吹走。

NPM 是否支持 Gradle 的 Maven 缓存之类的东西?关于NPM 缓存的文档并没有更清楚地说明如何使用它。更重要的是,使用 NPM 的缓存策略在多个并行构建中是否安全并不明显。

对于繁忙的 CI 环境来说,这似乎是一个基本要求,以前肯定已经解决了。我找到了npm-cache工具,它似乎提供了这种支持,但如果缓存npm本身就被支持会更好。

谢谢!

caching dependency-management gradle maven npm

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

Jenkins 开发中的依赖注入

我正在开发一个(现有的)Jenkins 插件,并且想使用依赖注入。不幸的是,Jenkins 开发的 DI 记录很少。据我所知,Jenkins 使用 Google 的 Guice 框架进行 DI。有这个 Wiki 页面,但我对此有点困惑:在我检查过的现有 Jenkins 插件中,我没有看到对 Guice 的此类调用,但我确实看到了注释的大量用途@Inject。此外,令我困扰的是,我需要在每个Guice.createInjector(new MyModule()).injectMembers(this);需要依赖注入的类中调用,看起来我在乱扔代码。

如何在 Jenkins 中进行依赖注入?例如,我有一个简单的接口“MyInterface”和一个实现类MyInterfaceImpl。在第三节课中,我有以下内容:

class MyClass {
    private MyInterface obj;

    @Inject
    public MyClass(MyInterface obj) {
        this.obj = obj;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

Jenkins 中是否有一种机制可以自动构造此类对象,或者我是否必须添加 Guice 注入器代码?

java dependency-injection jenkins

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

SQL声明主键或主键约束

在Oracle SQL中,将字段声明为PRIMARY KEY之间的区别是什么

CREATE TABLE my_tab (
my_var NUMBER PRIMARY KEY,
...
Run Code Online (Sandbox Code Playgroud)

并在表定义的末尾添加一个CONSTRAINT?应该何时使用另一个?另外,在PRIMARY KEY之前,NOT NULL是否需要包含在上面的代码中?

我环顾四周,似乎无法找到任何明确的答案,为什么我应该使用一个而不是另一个.希望有人可以清除它.谢谢!

sql oracle constraints primary-key

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

究竟为什么编译器在运行之前不能确定变量的真实类型?

我经常听说编译器在某些条件下无法确定要使用的方法的确切实现.Fox的例子,我们可以想象一个场景(所以人们说),对于一个带有方法foo()的父类,在子类中已被覆盖,编译器现在不会调用foo()的哪个实现直到运行时调用.因此,我们有动态调度,vtables等概念.

我的问题是,为什么编译器无法确定要调用的确切实现?我最近停下来想一想,我一直在努力证明这一点.也许有一些非常明显的东西我想念(当我听到答案时,我可能会踢自己).这只是外部环境吗?如果是这样,那将如何发挥出来?

这是一个依赖于语言的限制还是有更基本的东西?

c++ compiler-construction types runtime dynamic-dispatch

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

在单独的文件中定义时,将Ruby类添加到模块

我想通过将它们放在一个模块中来命名我的Ruby类.实际上,如果我决定发布我的Ruby gem以便类名不与另一个gem中的现有类冲突,这是一个好主意.我知道我可以为一堂课做以下事情A::B:

module A
  class B

  end
end
Run Code Online (Sandbox Code Playgroud)

但是,上面的内容非常麻烦,因为我需要将所有类定义放在一个Ruby源文件中,以便将它们放在模块下.我宁愿将我的类定义保存在单独的源文件中,就像Java项目一样,那么当它们在单独的文件中定义时,如何将类添加到模块中呢?

ruby scope module class

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

COM - 扩展“接口”?

我一直在这里查看 C++ 中的 BHO 教程: http://www.codeproject.com/Articles/37044/Writing-a-BHO-in-Plain-C

COM 类 CClassFactory 和 CObjectWithSite 必须实现 IUnknown。CClassfactory 还必须实现 IClassFactory,CObjectWithSite 也必须实现 IObjectWitSite。创建一个 CUnknown 类,以便两者都可以从它继承,而不必自己实现 IUnknown。

CUnknown 声明如下:

template <typename T>
class CUnknown : public T
Run Code Online (Sandbox Code Playgroud)

CClassFactory 声明如下:

class CClassFactory : public CUnknown<IClassFactory>
Run Code Online (Sandbox Code Playgroud)

并声明 CObjectWithSite:

class CObjectWithSite : public CUnknown<IObjectWithSite>
Run Code Online (Sandbox Code Playgroud)

为什么 CUnknown 扩展了类型参数 T?为什么我们必须将其他接口传递给类构造函数?

c++ windows com inheritance

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