小编Ale*_*hin的帖子

如何获取特定Git提交的文件SHA?

有没有办法获得特定Git提交的文件SHA?

有两个命令可以:

  1. 检索文件 git show COMMIT_VERSION:myfile.txt > ~/tmp/myfile.txt
  2. 计算SHA git hash-object ./tmp/myfile.txt

但是,也许在Git中有特定的命令可以做到这一点?

git commit sha

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

使用Erlang沙盒用户代码

据我所知,Erlang提供了错误处理和进程隔离的高级功能.

我正在构建一个系统,允许用户提交他们的代码以便在共享服务器环境中执行,并且需要使其安全.

要求是:

  • 限制每个用户进程的CPU和内存使用量.
  • 禁止用户进程与其他进程通信(除了为此目的专门设计的某些进程).
  • 禁止访问所有系统资源(shell,文件系统,...).
  • 在出现错误或高资源消耗的情况下终止用户进程.

是否可以通过Erlang实现所有这些并保持其性能效率?

erlang unsafe sandbox

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

如何在Julia中将集合分成子集?

有输入X列表和输出列表Y.每个输入都可以1成功或0失败.

X = [6 7 8]
Y = [1 1 0]
Run Code Online (Sandbox Code Playgroud)

将输入X分成两组的Julia方法是什么- 成功与失败?

XSuccess = [6 7]
XFails = [8]
Run Code Online (Sandbox Code Playgroud)

我可以用循环来做,但似乎至少有两种更好的方法来解决它 - 使用find函数和列表推导.

julia

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

TypeScript使`outFile`包含依赖项

可以告诉TypeScript编译器使用outFile选项将所有文件捆绑在一起成为单个构建文件。

但是,如果捆绑*的.ts文件只,并没有依赖关系,从node_modules或AMD装载机的实施。

我想知道是否可以告诉TypeScript编译器将所有内容捆绑在该文件中吗?

聚苯乙烯

我知道Brunch,WebPack和其他捆绑工具,但是对于简单的情况,这似乎有些过头了,我只想在可能的情况下放弃TS编译器。

typescript

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

TypeScript中的递归类型

假设我们尝试创建HTML构建帮助器

build([
  'html', { lang: 'en' }, [
    ['head', [
      ['title', 'Hello, world!']
    ]
  ]
])
Run Code Online (Sandbox Code Playgroud)

the参数的类型声明build将是(实际上会更复杂,但让我们考虑最简单的情况)

type Node = [string, { [key: string]: string }, Node[]]
Run Code Online (Sandbox Code Playgroud)

不幸的是,id无效,因为TypeScript抱怨

TS2456: Type alias 'Node' circularly references itself.
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?

typescript

5
推荐指数
4
解决办法
2663
查看次数

仅使用 CSS 将元素列表显示为表格?

将列表显示为具有 3 列的表格,项目均匀分布,10px每边和行之间都有边距。

.item { width: 10px; height: 10px; background: black; }
.grid { background: #eee; }

<div class="grid">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

应该呈现为

在此处输入图片说明

可以通过flex布局实现这一点,但它需要更复杂的 HTML,请参见下面的示例。

.item { width: 10px; height: 10px; background: black; }
.grid { background: #eee; }

<div class="grid">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
.item { width: 10px; height: 10px; background: black; }

.grid { background: …
Run Code Online (Sandbox Code Playgroud)

css flexbox

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

VSCode 像 REPL 一样逐行运行 JavaScript 文件

是否可以逐行运行在 VSCode 中打开的 JavaScript/TypeScript 文件?

就像您按 CMD+XXX+Enter 之类的键,它就会运行当前行或代码块?

因此您可以交互地使用代码。

聚苯乙烯

我不想打开 JS 控制台 - 我想运行当前在编辑器中打开的文件中的代码(或代码片段)。

它应该是有状态的,您运行第一行,然后运行第二行,等等。“Code Runner”插件无法以这种方式工作,它会忘记之前的运行。因此,您运行第一行,然后尝试执行第二行 - 它会抱怨第一行中定义的未定义变量。

visual-studio-code

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

将泛型类型 T 限制为不在 TypeScript 中未定义?

我定义了get(o, key)应该与满足{ get: (key: K) => R }接口的任何对象一起工作的函数。

此外,我想将结果限制R为不是undefined. 那可能吗?

由于Params::get(key: string): number | undefined返回的方法,如何更改下面的示例使其无法编译undefined

function get<K, R>(o: { get: (key: K) => R }, key: K): R {
  return o.get(key);
}

class Params {
  constructor(public values: { [key: string]: number }) { }

  get(key: string): number | undefined {
    return this.values[key]
  }
}
const params = new Params({ a: 10 });

console.log(get(params, "a"))
Run Code Online (Sandbox Code Playgroud)

typescript

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

为什么 Kotlin/Java 没有抢占式调度程序的选项?

重 CPU 绑定任务可能会阻塞线程并延迟其他等待执行的任务。那是因为JVM不能中断正在运行的线程,需要程序员的帮助和手动中断。

因此,在 Java/Kotlin 中编写 CPU 绑定任务需要手动干预才能使事情顺利运行,就像Sequence在下面的代码中在 Kotlin 中使用一样。

fun simple(): Sequence<Int> = sequence { // sequence builder
    for (i in 1..3) {
        Thread.sleep(100) // pretend we are computing it
        yield(i) // yield next value
    }
}

fun main() {
    simple().forEach { value -> println(value) } 
}
Run Code Online (Sandbox Code Playgroud)

据我了解,原因是具有能够中断正在运行的线程的抢占式调度程序具有性能开销。

但是有一个开关不是更好,所以你可以选择吗?如果您想使用更快的非抢占式调度程序运行 JVM。或者使用较慢的 pre-emtpive(在 N 条指令后中断和切换胎面)但能够平稳运行并且不需要体力劳动来做到这一点?

我想知道为什么 Java/Kotlin 没有这样的 JVM 开关来允许选择你想要的模式。

java multithreading jvm kotlin

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

如何从 Nim 异常中获取堆栈跟踪?

有一个getStackTrace()函数可以从当前异常中获取堆栈跟踪。

但它不适用于特定异常,此代码将不起作用error.getStackTrace()

我需要它来实现log功能

proc error*(message: string, exception: Exception): void =
    stderr.write_line fmt"      {message}"
    stderr.write_line exception.getStackTrace()
Run Code Online (Sandbox Code Playgroud)

nim-lang

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