小编ale*_*ung的帖子

IntelliJ IDEA 13:新的Scala SBT项目没有生成src目录结构

我按照Jetbrains网站上的入门视频设置了IntelliJ IDEA 13.1社区版,以便与Scala一起使用.已安装Scala插件v0.36.431.当我使用向导创建一个新的Scala SBT项目时,项目中没有src/生成目录结构.只生成了两个sbt文件:

scala-course/
??? build.sbt
??? project
    ??? plugins.sbt
Run Code Online (Sandbox Code Playgroud)

从视频和其他文件,我知道,应该有一个src/目录结构,其中src/main/scala,src/test/scala等SBT默认使用相同的目录结构Maven的源文件.

我可以手动创建这些文件夹并将其标记为源根目录.然而,这是微不足道的.所以我的问题是:为什么IntelliJ IDEA新项目向导不会生成文档中所述的目录结构?我做错了吗?我检查了偏好,找不到任何相关的东西.

scala intellij-idea sbt intellij-13

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

ES6模块:重新导出为对象

我有moduleA导出一些函数:

// moduleA.js
export function f1() {...}
export function f2() {...}
Run Code Online (Sandbox Code Playgroud)

有没有办法在moduleB中重新导出moduleA的所有导出并使其看起来像一个对象:

// moduleB.js
export * as a from 'moduleA';  // pseudo code, doesn't work
Run Code Online (Sandbox Code Playgroud)

这样我就可以这样使用它?

// main.js
import {a} from 'moduleB';
a.f1();
a.f2();
Run Code Online (Sandbox Code Playgroud)

javascript module ecmascript-6

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

在扩展EventEmitter的TypeScript类中声明事件

我有一个EventEmitter可以发出事件的类扩展hello.如何on使用特定的事件名称和侦听器签名声明该方法?

class MyClass extends events.EventEmitter {

  emitHello(name: string): void {
    this.emit('hello', name);
  }

  // compile error on below line
  on(event: 'hello', listener: (name: string) => void): this;
}
Run Code Online (Sandbox Code Playgroud)

node.js typescript

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

自定义Gitbook主题

有谁知道如何修改git书的外观?我看过2本书与默认书有不同的外观:http : //codac.co/ http://coalman.github.io/tott-gulpjs/book/

但有人能指出我如何定制外观和/或为gitbook构建自定义主题的正确方向?

我似乎找不到任何关于自定义gitbook的文档.

css themes gitbook

12
推荐指数
2
解决办法
8162
查看次数

向打字稿中的现有类添加方法?

我正在一个 angular 2 cli 项目中工作,我必须在其中创建插件的定义,因为它不存在其类型。这个插件依赖于一个已经有自己的类型并且可以工作的主库。

无论如何,我有两个文件,主要的一个

库类型文件 A

export class A extends B {
    constructor(...);
    methodX(): void;
}
Run Code Online (Sandbox Code Playgroud)

我需要为我的插件添加一个新方法,这样我的课程就会像

export class A extends B {
        constructor(...);
        methodX(): void;
        methodY(): void;
    }
Run Code Online (Sandbox Code Playgroud)

关键是我需要将它添加到一个单独的文件中。问题是向现有类添加方法而不创建新方法

如果我把

插件类型文件 B

export class A extends B {
    constructor(...);
    methodX(): void;
}
Run Code Online (Sandbox Code Playgroud)

或者

插件类型文件 B

export class A extends B {
        constructor(...);
        methodX(): void;
        methodY(): void;
}
Run Code Online (Sandbox Code Playgroud)

它不起作用,有没有人如何实现覆盖类或使用新方法扩展它?

谢谢

javascript typescript

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

詹金斯 - 在所有下游工作完成后触发工作,而不仅仅是直接工作

Jenkins Join Plugin允许在所有直接下游作业完成后运行作业.

但是,如何配置在所有下游作业完成后运行的作业,而不仅仅是直接作业?

此图显示了我期望的作业触发流程:

                           A
                           |
                    --+----+------+--
                      |           |
                      v           v
                      B           C
                      |           |
     --+--------+-----+---+--     |
       |        |         |       |
       v        v         v       |
       D        E         F       |
       |        |         |       |
       v        |         |       |
       G        |         |       |
       |        |         |       |
    ---+--------+----+----+-------+--
                     |
                     v
                     J
Run Code Online (Sandbox Code Playgroud)

我在作业A上设置了"加入触发"以触发最终作业J.但是,一旦B和C完成,作业J就会启动,不会等待作业D,E,F和G.

这个答案及其评论中,它表示路径可以是多个工作深度,并且必须正确使用指纹.但我无法弄清楚如何让它发挥作用.

continuous-integration jenkins jenkins-plugins

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

如何在UML序列图中绘制多个收益

在UML序列图中,一个方法只能有一条返回线(至少在Astah中,我无法从一种方法绘制两条返回线),如何在if-else块中为多个返回建模?

在下面的示例中,返回线'a'结束methodX(),如何绘制返回线'b'?

String methodX(int i) {
  if (i>0)
    return 'a';
  else
    return 'b';
}

     +------------+            +------------+
     |    Foo     |            |     Bar    |
     +-----+------+            +------+-----+
           |                          |
           |        methodX(i)         |
          +-+----------------------->+-+
          | |                        | |
  +-----+------------------------------------+
  | alt | | |  [i>0]                 | |     |
  +-----+ | |           a            | |     |
  |       | |<- - - - - - - - - - - -+-+     |
  |       | |                         |      |
  |       | |                         |      |
  +------------------------------------------+
  |       | | …
Run Code Online (Sandbox Code Playgroud)

uml sequence-diagram

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

gulp:pipe typescript输出到mocha

我想将mocha测试添加到TypeScript项目中.在gulpfile.js我管gulp-typescript和gulp-mocha tegether:

gulp.src(['./test/**/*.ts', './typings/tsd.d.ts'])
  .pipe(typescript())
  .pipe(mocha());
Run Code Online (Sandbox Code Playgroud)

摩卡报告错误Error: Cannot find module '.../myproject/test/case1.js'.

在Google上搜索,我发现的所有示例都是将typescript转换器输出保存到临时文件中,然后使用mocha运行.我还注意到在gulp-mocha文档中它说"你之前不能有任何插件":

gulp.task('default', function () {
    return gulp.src('test.js', {read: false})
        // gulp-mocha needs filepaths so you can't have any plugins before it 
        .pipe(mocha({reporter: 'nyan'}));
});
Run Code Online (Sandbox Code Playgroud)

但是,gulp的一个好处是使用流来省略临时文件.如何将转换器输出管道传输到mocha?或者摩卡是不可能的?

mocha.js typescript gulp

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

是否有 TSLint/ESLint 规则来防止 (boolean === true) 类型的比较?

是否有 TSLint/ESLint 规则来防止不必要的布尔比较,例如:

if (result === false) {
  // do something
} 
Run Code Online (Sandbox Code Playgroud)

eslint tslint

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

如何在 TypeScript 中声明类似 Stream 的接口?

npm 包csv-parse实现了一个类似 Node.JS Stream 的 API:

const parser = parse();
parser.on('readable', () => {
  let record: any;    // <-- it should be string[]
  while (record = parser.read()) {
    output.push(record);
  }
});
Run Code Online (Sandbox Code Playgroud)

类型声明为:

interface parse {
  (options?: options): NodeJS.ReadWriteStream;
} 
Run Code Online (Sandbox Code Playgroud)

的返回类型parse是,它有一个返回 的NodeJS.ReadWriteStream方法。readstring | Buffer

interface ReadWriteStream extends ReadableStream, WritableStream {
  // ...
}

interface ReadableStream extends EventEmitter {
  read(size?: number): string | Buffer;
  // ...
}
Run Code Online (Sandbox Code Playgroud)

根据这个定义,我无法将变量定义let record: any = …

typescript typescript-typings

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

Spring MVC:在EAR中共享JAR和WAR之间的上下文

我们的项目是在EAR中使用MDB和WEB,需要共享应用程序上下文.

web.xml中

<context-param> 
    <param-name>locatorFactorySelector</param-name> 
    <!-- This file is in the root of the EJB JAR file -->
     <param-value>classpath:/META-INF/beanRefContext.xml</param-value>
  </context-param>

  <context-param>
    <param-name>parentContextKey</param-name>
    <!-- This is a bean name in the above XML file -->
    <param-value>ejb-context</param-value>
  </context-param>
Run Code Online (Sandbox Code Playgroud)

beanRefContext.xml

<bean id="ejb-context"
    class="org.springframework.context.support.ClassPathXmlApplicationContext">
    <constructor-arg>
        <list>
            <value>classpath:/META-INF/applicationContext.xml</value>
        </list>
    </constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)

applicationContext.xml中

<context:annotation-config />
<context:component-scan base-package="com.aer.iheal" />
Run Code Online (Sandbox Code Playgroud)

问题1

如果我们尝试将locatorFactorySelector加载为classpath*:beanRefContext.xml(在jar的meta-inf下可用)并读取上面xml中可用的parentContextKey('ejb-context')bean.

我们正在低于错误

 Unable to return specified BeanFactory instance: factory key [ejb-context], from group with resource name [classpath*:beanRefContext.xml]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'ejb-context' is …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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

如何判断文件是否已重命名?

我有一个程序监视日志文件的更改.该程序使用FileInputStream来继续读取文件.同时,日志文件可能会被轮换:重命名旧日志文件,并将新日志条目写入新文件.

我的程序如何确定文件是否重命名,以便切换到新日志文件的读取?

java

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

Haskell 99问题#8:无法理解foldr

我正在练习Haskell 99问题.

问题8

消除列表元素的连续重复.

如果列表包含重复元素,则应使用该元素的单个副本替换它们.不应更改元素的顺序.

Haskell中的示例:

 > compress "aaaabccaadeeee" 

 "abcade"
Run Code Online (Sandbox Code Playgroud)

我无法理解这个解决方案:

compress xs = foldr f (const []) xs Nothing
  where
    f x r a@(Just q) | x == q = r a
    f x r _ = x : r (Just x)
Run Code Online (Sandbox Code Playgroud)

foldr有三个参数.第一个参数是一个函数(a -> b -> b).第二个是初始累加器,第三个是列表.

(const [])第二个参数传递给foldr

该函数f :: Eq a => a -> (Maybe a -> [a]) -> Maybe a -> [a]有三个参数,与预期的不匹配foldr.传递了什么值?

最后Nothing …

haskell

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