小编fgy*_*ica的帖子

如何在Scala中将文件读取为字节数组

我可以找到大量的例子,但它们似乎要么主要依赖于Java库,要么只是读取字符/行/等.

我只想阅读一些文件并获得带有scala库的字节数组 - 有人可以帮助我吗?

io scala bytearray

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

SBT:启动非默认项目主类的命令行"run"

我开始使用sbt构建我的Scala代码(并处理依赖项).据我所知,如果我使用

$ sbt run <args>
Run Code Online (Sandbox Code Playgroud)

在命令行上,这将运行主项目的主类.

是否可以从命令行在任何其他项目中"运行",即不在交互式会话模式下?(我正在考虑可能看起来像$ sbt project <proj> run <args>什么的东西......)

我在交互模式下会做的是:

$ sbt
> project <projectname>
> run <args>
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,但我找不到任何描述此行为的文档.提示将非常感谢...

scala sbt

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

正则表达式:在不同的上下文中使用行开头/行尾符号(^或$)

在做一些小的正则表达式任务时,我遇到了这个问题.我有一个字符串,它是一个标签列表,看起来像这样:
foo,bar,qux,garp,wobble,thud

我需要做的是检查某个标签,例如'garp'是否在此列表中.(最终匹配的内容并不重要,只要匹配与否.)

我的第一个和有点愚蠢的尝试是使用以下正则表达式:
[^,]garp[,$]

我的想法是,在'garp'之前应该是行/字符串的开头或逗号,在'garp'之后应该有逗号或行/字符串的结尾.

现在,很明显这个正则表达式是错误的:^和$都会在字符类[]的上下文中改变它们的行为.

我最终想出的是以下内容:
^garp$|^garp,|,garp,|,garp$

这个正则表达式只是逐个处理4个案例.(标记在列表的开头,中间,最后,或作为列表的唯一元素.)最后的正则表达式在某种程度上有点丑陋在我的眼中,只是为了乐趣的缘故,我想做一点更优雅.

有没有办法如何在字符类的上下文中使用行/行结束字符(^和$)的开头?

编辑:好的,希望更多的信息,所以这里是:我在Oracle SQL语句中使用它.遗憾的是,这不允许任何环顾四周的断言,但是因为我只对匹配与否(而不是匹配的东西)感兴趣,这对我来说并没有真正影响我.标签可以包含非字母字符,如 - 或_ so\bgarp\b不起作用.另外一个标签可以包含另一个标签,如SilentGhost所说,所以/ garp/doesnt也可以工作.

regex

59
推荐指数
3
解决办法
22万
查看次数

Java.nio:最简洁的递归目录删除

我目前正在尝试以递归方式删除目录...奇怪的是,我能够找到的最短的代码是以下构造,采用ad-hoc内部类访问者模式 ...

Path rootPath = Paths.get("data/to-delete");

try {
  Files.walkFileTree(rootPath, new SimpleFileVisitor<Path>() {
    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
      System.out.println("delete file: " + file.toString());
      Files.delete(file);
      return FileVisitResult.CONTINUE;
    }

    @Override
    public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
      Files.delete(dir);
      System.out.println("delete dir: " + dir.toString());
      return FileVisitResult.CONTINUE;
    }
  });
} catch(IOException e){
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

来源:这里

考虑到新的nioAPI消除了这么多的混乱和样板,这感觉非常笨拙和冗长......

有没有更短的方法来实现强制的递归目录删除?

我正在寻找纯本机Java 1.8方法,所以请不要链接到外部库...

java directory nio delete-file

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

LaTeX书类:具有错误边距的双面文档

我试图用胶乳写我的论文......虽然不能直接得到布局:?我正在使用以下文档类:

\documentclass[11pt,a4paper,twoside,openright]{book}
Run Code Online (Sandbox Code Playgroud)

我的问题是:在奇数页面上有一个很大的边距,剩下一小部分 - 它应该是相反的方式...(对于绑定和东西)我有点困惑 - 我只是愚蠢地看到明显的?奇数页码出现在绑定文档的"右侧"页面上,因此左侧需要更大的装订边距进行绑定 - 反之亦然.对?

为什么LaTeX不像这样?

这是生成一个显示我的问题的小Tex文件的完整代码:

\documentclass[11pt,a4paper,twoside,openright]{book}
\begin{document}
\chapter{blah}
Lorem ipsum ius et accumsan tractatos, aliquip deterruisset cu usu. Ea soleat eirmod nostrud eum, est ceteros similique ad, at mea tempor petentium. At decore neglegentur quo, ea ius doming dictas facilis, duo ut porro nostrum suavitate.
\end{document}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道有很多方法可以手动指定页边距,比如

\setlength{\oddsidemargin}{53pt}  
Run Code Online (Sandbox Code Playgroud)

要么 ...

\usepackage[lmargin=1cm,rmargin=2.5cm,tmargin=2.5cm,bmargin=2.5cm]{geometry}
Run Code Online (Sandbox Code Playgroud)

我只是想使用默认设置而不理解为什么它们没有按预期运行.

latex document margins

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

垂直滚动条通向水平滚动条

我的CSS看起来像这样:

div.SOMECLASS {
  position: absolute;
  max-height: 300px
  height: auto;
  width: auto;
  overflow: auto;
  ...
}
Run Code Online (Sandbox Code Playgroud)

div高度和宽度自动缩放.虽然高度已固定最大值:一旦达到此值,就会出现垂直滚动条.这很有效.

现在的问题:
如果垂直滚动条出现,他们使用了周围的10px的水平空间,如滚动条将放在里面div.
但是,宽度不是自动调整的,以允许垂直滚动条使用的这些额外的10个像素.由于添加垂直滚动条之前的水平宽度恰好适合内容(正如width:auto设置所预期的那样),div现在显示水平滚动条 - 允许缺少10个像素.这太傻了.

  • 如何避免使用这些水平滚动条并自动调整宽度div以使垂直滚动条适合?

如果可能的话我找的不依赖于只是完全禁用水平滚动,因为这可能会在某些时候需要(即对某些输入)的解决方案.

css scrollbar horizontal-scrolling vertical-scrolling

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

github.token 与 Secrets.github_token 之间的区别?

为 GitHub Actions 配置工作流程时,可以选择传递 GitHub 令牌以在工作流程中向 GitHub 进行身份验证。

我已经看到以下两种获取所述令牌的方法:

github.token
secrets.github_token
Run Code Online (Sandbox Code Playgroud)

两者之间有功能上的区别吗?或者这只是获得相同令牌的两种方式?

github-actions

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

如何从2.0开始Akka Actors?

我正在使用Akka Actors,我正在尝试更新我的代码以使用最新的2.0里程碑.API有所改变,例如Actors的创建现在可以通过一个名为an的东西来工作ActorSystem.

开始和停止演员也改变了 - 后者可以通过ActorSystems方法.stop(..).shutdown().但我可以为我的生活找不到如何启动它们......文档很好,但似乎缺少一些重要的观点.我觉得有点愚蠢,但你如何在Akka 2.0环境中开始演员?如果我理解正确的话,那么拥有'父母'的演员会在这个父母开始的时候开始 - 那么顶级演员呢?

scala actor akka

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

JavaScript Array的内存管理

可能重复:
Javascript数组是否稀疏?

我正在学习JavaScript,并且已经阅读了一些简单的介绍和教程.在查看Array对象时,我偶然发现了一些细节,这些细节让我非常奇怪,来自其他语言,如C/Java/Scala/......


所以我们假设我们定义一个数组:

var arr = ['foo','bar','qux']
Run Code Online (Sandbox Code Playgroud)

我们现在分配

arr[5] = 'baz'
Run Code Online (Sandbox Code Playgroud)

这导致我们的数组看起来像这样:

arr
>> ["foo", "bar", "qux", undefined, undefined, "baz"]
Run Code Online (Sandbox Code Playgroud)

长度如预期

arr.length
>> 6
Run Code Online (Sandbox Code Playgroud)

JavaScript已经将我们的数组扩展到所需的长度 - 六 - 并且新项目被设置为undefined - 除了我们实际赋值的那个.

从低级别的角度来看,这是一种可怕的记忆.通常,数组在内存中是连续的范围 - 使数组更大通常涉及将整个数组复制到足够大小的新内存位置.这是一项非常昂贵的操作.

现在,我确实意识到这可能不是 JavaScript引擎正在做的事情,因为复制数组会非常昂贵,并且内存空间将被浪费在所有这些"未定义"的值上.

有人能告诉我门后究竟发生了什么吗?

  • 数组实际上是某种链接列表吗?
  • "undefined"数组项目实际存在吗?
  • 使用大多数充满'undefined'的大型数组有多贵?

javascript memory arrays memory-management

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

Mockito中的SecurityProvider与Robolectric一起运行时进行测试

我们还有一个Android项目,我们使用MockitoTestRunner和RobolectricTestRunner进行不同类型的测试.

我编写了一组与SSL有关的单元测试,因此加载了证书/密钥库/信任库等.为此,我使用MockitoJUnitRunner并以编程方式添加了Bouncycastle提供程序:

Security.insertProviderAt(new BouncyCastleProvider(), 1);
Run Code Online (Sandbox Code Playgroud)

现在,这些测试在自己运行运行得非常好 - 例如,当我直接从测试类中运行单个方法,或者从Project树菜单中运行这些类时,它们工作得很好.

但是,当我运行沿着所述侧测试ANY它使用测试RobolectricTestRunner(例如,如果我只是犯前一起运行在我的项目的所有测试),我得到以下异常:

java.io.IOException: error constructing MAC:
java.lang.SecurityException: JCE cannot authenticate the provider BC
Run Code Online (Sandbox Code Playgroud)

我很困惑.一个测试类中使用的testrunner将如何影响其他类的运行,特别是如果我们使用不同的测试运行器?


附加信息:

  • 只有在我实际尝试使用BC提供程序执行某些操作时才会出现异常(例如,第一次测试尝试加载PKCS12证书) - insertProviderAt(...)调用本身似乎正常通过...
  • 此外,当我打印出每个测试运行的提供程序列表时,我看到Robolectric已经有一个BC提供程序,但是当我尝试使用它时仍然失败.
  • 此外,如果我添加BC提供程序,那么在与Robolectric测试一起在测试套件中运行时,测试仍然会失败并出现相同的错误.当java.security.NoSuchProviderException: no such provider: BC我们单独运行时,它们会失败,因为我们明确指定了提供程序.

android bouncycastle mockito robolectric

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