小编Cha*_*gan的帖子

在Swift中找到数组中max的正确方法

到目前为止,我有一种简单(但可能很昂贵)的方式:

var myMax = sort(myArray,>)[0]
Run Code Online (Sandbox Code Playgroud)

我是如何被教导在学校做的:

var myMax = 0
for i in 0..myArray.count {
    if (myArray[i] > myMax){myMax = myArray[i]}
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法从Swift中的整数数组中获取最大值?理想情况下,像Ruby这样的一行.max

arrays swift

113
推荐指数
7
解决办法
8万
查看次数

索引范围Swift中的新数组

我怎么能这样做?从数组中取出前n个元素:

newNumbers = numbers[0..n]
Run Code Online (Sandbox Code Playgroud)

目前收到以下错误:

error: could not find an overload for 'subscript' that accepts the supplied arguments
Run Code Online (Sandbox Code Playgroud)

编辑:

这是我正在工作的功能.

func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> {
    var newNumbers = numbers[0...position]
    return newNumbers
}
Run Code Online (Sandbox Code Playgroud)

arrays swift

109
推荐指数
3
解决办法
9万
查看次数

在Swift Playground中没有这样的模块'Cocoa'

我正在尝试遵循WWDC playgrounds会话中使用的一些代码,我正在尝试导入Cocoa框架:

import Cocoa
Run Code Online (Sandbox Code Playgroud)

但是我在助理编辑器中收到以下错误

Playground execution failed: error: <REPL>:3:8: error: no such module 'Cocoa'
Run Code Online (Sandbox Code Playgroud)

我在视频中的时间是41:20,如果这有帮助的话.

swift swift-playground

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

Rails ActionMailer"Pretty Name"阻止发送

我正在尝试发送显示为"我的名字"而不是"my@email.com"的电子邮件

在我的'User_Mailer'课程中,我有一句话:

default :from => "me@email.com"

一切都运作完美.我将其更改为以下任何一个,但它永远不会到达收件人.

default :from => "Name <me@email.com>"
default :from => '"Name" <me@email.com>'
default :from => "\"Name\" <me@email.com>"
Run Code Online (Sandbox Code Playgroud)

......列表还在继续.

该行的语法到底应该是什么?我觉得我已经尝试了一切.

email ruby-on-rails actionmailer

17
推荐指数
2
解决办法
6492
查看次数

GKE 元数据服务器如何在 Workload Identity 中工作

我最近一直在使用GKE Workload Identity功能。我有兴趣更详细地了解该gke-metadata-server组件的工作原理。

  1. GCP 客户端代码(gcloud或其他语言 SDK)适用于 GCE 元数据方法
  2. http://metadata.google.internal/path
  3. (猜测)GKE_METADATA_SERVER我的节点池上的设置将其配置为解析到该gke-metadata-server节点上的pod。
  4. (猜测)gke-metadata-server带有 --privileged 和主机网络的pod 可以确定源(pod IP?)然后查找 pod 及其服务帐户以检查iam.gke.io/gcp-service-account注释。
  5. (猜测)代理使用 pod 的“伪”身份集(例如[PROJECT_ID].svc.id.goog[[K8S_NAMESPACE]/[KSA_NAME]])调用元数据服务器,以获取在其 Kubernetes 服务帐户上注释的服务帐户的令牌。
  6. 如果此帐户对服务帐户具有令牌创建者/工作负载 ID 用户权限,则来自 GCP 的响应可能是成功的并且包含令牌,然后将令牌打包并设置回调用 Pod,以便对其他 Google API 进行身份验证调用。

我想现在对我来说主要的难题是验证调用 Pod 的身份。最初我认为这会使用 TokenReview API,但现在我不确定 Google 客户端工具如何知道使用安装到 pod 中的服务帐户令牌......

编辑后续问题:

Q1:在第 2 步和第 3 步之间,是否metadata.google.internal通过GKE_METADATA_SERVER节点池上的设置将请求路由到 GKE 元数据代理?

Q2:元数据服务器pod为什么需要主机联网?

问题 3:在此处的视频中:https : //youtu.be/s4NYEJDFc0M?t=2243假定 pod 进行 GCP …

google-cloud-platform kubernetes google-kubernetes-engine google-iam

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

Docker-compose设置中已编译组件的Docker开发工作流程

我正在使用docker-compose在一个"系统"中进行服务.该服务是用编译语言编写的,我需要在进行更改时重建它.我正在努力寻找快速迭代变化的最佳方法.

我尝试了2个'工作流',都依赖于通过a链接到源目录volume:来获取最新的源代码.

一个.
  • 带上所有支撑容器 docker-compose up -d
  • 停止正在开发的服务的容器
  • 使用图像运行新容器 docker-compose run --name SERVICE --rm SERVICE /bin/bash
  • 在该容器内运行编译并在暴露的端口上运行应用程序.
  • 通过停止正在运行的进程然后重建来重新启动.
B.
  • (需要Dockerfile CMD来构建然后运行服务)
  • 停止服务: docker-compose kill SERVICE
  • 重启服务 docker-compose up -d --no-deps SERVICE

问题是重启时间太长而不能在本地重新启动服务(在我的笔记本电脑上独立于docker运行).对于可以热重新加载已更改文件的解释语言,此设置似乎没问题,但我还没有找到适合编译语言服务的快速系统.

development-environment build docker docker-compose

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

必须为服务帐户项目启用 API

在创建资源之前启用 API 时,我们遇到了服务帐户“默认”到创建它的项目的问题。

SA 是在项目 A 下创建的,但它拥有Owner项目 B 的权利。

我们正在尝试在项目 B中创建资源(GKE 集群),但它抱怨我们需要首先在项目 A上启用 Kubernetes API (我们传递--project给 cluster create 命令以避免我们尝试创建的位置出现任何歧义)集群。get-credentials 命令也是如此)。

ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Kubernetes Engine API has not been used in project PROJECT_NUMBER before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/container.googleapis.com/overview?project=PROJECT_NUMBER then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Run Code Online (Sandbox Code Playgroud)

PROJECT_NUMBER这里是项目 A 的编号,而不是 B。所需的 API 已在项目 …

google-cloud-platform google-iam

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

NSTextField 在文本更改时调用 IBAction

在 Visual Studio 中,有一个名为text_changed的​​文本框事件,我如何在 Cocoa 中创建类似的事件/操作?

一般来说,如何获取表单控件的这些额外事件?例如,将鼠标悬停在 Visual Studio 中,您只需从事件列表中进行选择。

events xcode cocoa nstextfield ibaction

4
推荐指数
1
解决办法
3143
查看次数

将 Bootstrap Tooltip 添加到 &lt;div&gt; 内的 &lt;span&gt; 中?

我在 div 中有一个跨度,我正在尝试向其中添加 Bootstrap 3 工具提示:

<div style="display:inline-block;margin-right:10px;">
  <h3>
    <span class="label label-default">
      Chickens: <span style="color:#fff;">3</span>
    </span>
  </h3>
</div>
Run Code Online (Sandbox Code Playgroud)

我该如何让它发挥作用?

css twitter-bootstrap twitter-bootstrap-3

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

Crystal中的速记块语法

是否可以为Crystal中的块使用简写形式,例如

my_array.sort_by(&:size)
Run Code Online (Sandbox Code Playgroud)

尝试返回错误:

...应该是函数类型,而不是符号

crystal-lang

4
推荐指数
1
解决办法
226
查看次数

使用 GKE Workload Identity 时出现 MetadataServerException

我正在尝试在我的集群上启用Workload Identity,但在从 pod 测试时出现以下错误:

root@workload-identity-test:/# gcloud auth list
ERROR: gcloud crashed (MetadataServerException): HTTP Error 500: Internal Server Error

If you would like to report this issue, please run the following command:
  gcloud feedback

To check gcloud for common problems, please run the following command:
  gcloud info --run-diagnostics
Run Code Online (Sandbox Code Playgroud)

我已启用workload-metadata-from-node

gcloud beta container node-pools update NAME --cluster NAME --workload-metadata-from-node=GKE_METADATA_SERVER
Updating node pool main...done.
Run Code Online (Sandbox Code Playgroud)

即使我添加--log-http到命令中,它似乎也没有显示返回 500 的请求(也不重要的是,它的响应)。

有任何想法吗?(我在新集群上遇到同样的错误)

gcloud google-kubernetes-engine google-iam

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

Rails表单:忽略占位符文本

这一行是我的一种形式:

<%= question.answer %><%= f.text_field :answer, :placeholder => "Respond..." %>
Run Code Online (Sandbox Code Playgroud)

它显示问题的答案并显示文本字段以更新答案.

唯一的问题是占位符文本永远不会显示,内容总是设置为答案内容而不是"响应..."作为占位符.

templates ruby-on-rails placeholder

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

在Elm中定义嵌套或递归列表结构

我正在尝试使用Haskell 99问题来学习Elm .在问题7中,您必须定义嵌套列表结构.我试过这个:(基于阅读本文)

type NestedList a = Node a | List (NestedList a)

myList : NestedList number
myList =
  [Node 1]
Run Code Online (Sandbox Code Playgroud)

但是我得到以下错误:

The type annotation is saying:
  NestedList number

But I am inferring that the definition has this type:
  List (NestedList number)
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义.肯定List (NestedList number)是第二面匹配Node a | List (NestedList a)

elm

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