小编Max*_*Max的帖子

詹金斯大师的实例有多少?

我想建立一个让奴隶做所有构建的Jenkins Master.

  • 主人只是一个交通警察,获得SVN钩子触发器并开始奴隶构建.
  • 在此设置中将有大约10个Java Maven构建作业.
  • 我希望在资源有限(RAM)的托管服务器上运行Jenkins master.
  • 我将在我自己的网络上的一些装载良好的机器上运行奴隶.

所以我的问题是,如果分配给Master Jenkins实例,我可以获得多少RAM?256M?384M?512M?其他?

我似乎无法在Jenkins文档中找到此特定信息.

memory-management jenkins

20
推荐指数
4
解决办法
4万
查看次数

Xcode 10框架依赖循环与自身

在Xcode 10上,当我进行增量构建时,我正在使用我的一个框架获得此构建错误(clean build work):

Showing All Messages
:-1: Cycle inside LoggingSharedFramework; building could produce unreliable results.
Cycle details:
? Target 'LoggingSharedFramework' has a command with output 'blablabla/Build/Products/Debug-iphonesimulator/LoggingSharedFramework.framework/LoggingSharedFramework'
? Target 'LoggingSharedFramework' has link command with output 'blablabla/Build/Intermediates.noindex/blablablah/Debug-iphonesimulator/LoggingSharedFramework.build/Objects-normal/x86_64/LoggingSharedFramework'
Run Code Online (Sandbox Code Playgroud)
  • 该框架没有目标依赖项
  • 标题阶段在编译源之前
  • 我已经浏览了每个文件,并确保在LoggingSharedFramework之外没有导入文件(除了Cocoa之外)
  • 我没有使用任何依赖管理系统(例如carthage),因为没有外部依赖.该框架在项目中维护

这个错误对我没有意义.实际原因是什么?我怎样才能弄清楚是什么引入了这个循环?我该如何修复周期?

xcode circular-dependency ios xcode10

13
推荐指数
1
解决办法
2302
查看次数

Ruby:捕获发送到对象的所有方法

我正在创建一个奇怪的类,我希望捕获发送到类对象的每个方法.我可以通过method_missing实现我想要的大部分内容,例如

class MyClass
    def method_missing m, *args
        # do stuff
    end
end
Run Code Online (Sandbox Code Playgroud)

那么问题就是MyClass从Object继承的所有实例方法.我可以逐个完成每个方法并重新定义它们,但我希望有一个更灵活的方法.当我尝试触摸那些实例方法时,我尝试过的所有元编程方法都抱怨了NameError.

ruby metaprogramming

10
推荐指数
2
解决办法
3038
查看次数

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

反序列化 Kotlin 枚举,同时忽略未知值

我有一个枚举,我想使用 kotlinx.serialization 从 JSON 反序列化它,同时忽略未知值。这是枚举

@Serializable
enum class OperatingMode {
    Off, On, Auto
}
Run Code Online (Sandbox Code Playgroud)

我所说的忽略未知数的意思是,如果 JSON 对象中有一个或多个模式不在该枚举中,则应将它们视为不存在:

@Serializable
enum class OperatingMode {
    Off, On, Auto
}
Run Code Online (Sandbox Code Playgroud)

我通过编写自定义序列化器来实现这一点,但对于这样一个简单的任务来说,它似乎相当冗长

internal object OperatingModeSafeSerializer : KSerializer<OperatingMode?> {
    override val descriptor = PrimitiveSerialDescriptor("OperatingMode", PrimitiveKind.STRING)

    override fun serialize(encoder: Encoder, value: OperatingMode?) {
        // safe because @Serializable skips null fields
        encoder.encodeString(value!!.name)
    }

    override fun deserialize(decoder: Decoder): OperatingMode? {
        val string = decoder.decodeString()
        return try {
            OperatingMode.valueOf(string)
        } catch (_: Exception) {
            null
        }
    }
}

internal object …
Run Code Online (Sandbox Code Playgroud)

enums serialization fallback kotlin

10
推荐指数
2
解决办法
7615
查看次数

相互排斥的功能相互呼唤

我有两个功能foo,bar它们应该是互斥的,因为它们对相同的数据进行操作.但是foo重复了很多代码bar,所以我想重构foo一下来调用bar.

这是一个问题,因为我不能为这两个函数使用单个互斥锁,因为foo它会在调用时死锁bar.因此,我只想要"从不同的线程中互相排斥",而不是"相互排斥".

有没有实现这个的模式?我正在使用C++,如果我需要像shared_mutex这样的东西,我可以使用C++ 14/boost.

c++ concurrency mutex

9
推荐指数
1
解决办法
707
查看次数

是否存在用于返回第一个数组元素的ruby习语,如果只存在一个?

如果数组只包含一个值,我想返回数组的第一个元素.

目前,我使用:

vals.one? ? vals.first : vals.presence
Run Code Online (Sandbox Code Playgroud)

从而:

vals = []; vals.one? ? vals.first : vals.presence
# => nil

vals = [2]; vals.one? ? vals.first : vals.presence
# => 2

vals = [2, 'Z']; vals.one? ? vals.first : vals.presence
# => [2, "Z"]
Run Code Online (Sandbox Code Playgroud)

是否有内置的东西可以做到这一点,还是有更好的设计考虑?


我的用例是特定的,涉及知道该方法会有什么期望的演示者(将实现上述代码).如果这些演示者将所有返回作为数组处理,那么在大多数情况下(~90%),它们将迭代大小1或数组0.

ruby arrays ruby-on-rails

7
推荐指数
1
解决办法
4120
查看次数

在所有设备上显示像素完美的画布

我有一些画布,我想在每个(现代)浏览器中以像素完美的方式显示它们。默认情况下,具有高 DPI 屏幕的设备会缩放我的页面,以便所有内容看起来都大小正确,但它破坏了*我画布的外观。

如何确保画布中的一个像素 = 屏幕上的一个像素?最好这不会影响页面上的其他元素,因为我仍然希望例如文本能够针对设备进行适当缩放。

我已经尝试根据 设计画布尺寸window.devicePixelRatio。这使得画布尺寸合适,但内容看起来更糟。我猜这只是在它们已经错误地放大之后缩小它们。

*如果你关心的话,因为画布使用抖动并且浏览器正在执行某种 lerp 而不是最近邻居

html html5-canvas

7
推荐指数
1
解决办法
5641
查看次数

Swift懒惰的下标忽略了过滤器

如何订阅延迟过滤器?

let ary = [0,1,2,3]
let empty = ary.lazy.filter { $0 > 4 }.map { $0 + 1 }
print(Array(empty)) // []
print(empty[2])     // 3
Run Code Online (Sandbox Code Playgroud)

看起来它只是忽略了过滤器并且无论如何都要做地图.这是在某处记录的吗?还有哪些懒惰的藏品有这样的特殊行为?

lazy-evaluation swift

7
推荐指数
1
解决办法
157
查看次数

无法在Xcode 10.2中的模拟器上运行iOS应用

在Xcode 10.2中,我无法再在启用了线程清理程序的模拟器上运行我的应用程序。我得到错误

目前无法安装此应用。

WatchKit v3应用禁止使用Info.plist密钥:NSBuiltWithThreadSanitizer

我的应用程序包含一个监视应用程序和许多框架(一些用于监视,一些用于iOS),但是在尝试在模拟器上运行应用程序时出现此错误。我检查了plist文件,并确认这不是我在任何地方指定的密钥。

当我检查DerivedData中的plist文件时,我确实看到我的watch OS框架的所有复制人都具有此密钥。但是我发现删除标志的唯一方法是完全禁用线程清理程序。如何仅针对手表而不是我的主应用禁用它?

xcode ios thread-sanitizer

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