전체 글 (168) 썸네일형 리스트형 takes 0 ms class sbt.internal.inc.MappedVirtualFile cannot be cast to class java.io.File (sbt.internal.inc.MappedVirtualFile is in unnamed module of loader sbt.internal.MetaBuildLoader @1d296da; java.io.File is in module java.base of loader 'bootstrap').. Scala Play라는 웹 프레임웤에 Quill을 사용해서 H2에 연결하려다 제목과 같은 에러가 발생했다. 여러 이유가 있을텐데, 적어도 내 경우는 h2 tcp 연결이 되지않는 문제였다. (정확한 원인을 파악하려고 코드를 뜯으려했으나.... Quill git lab에서 아직 리팩토링 덜됐으니까 보지말라고했다.) dataSource.url = "jdbc:h2:tcp://localhost/~/test;DB_CLOSE_DELAY=-1" 이 설정값을 dataSource.url = "jdbc:h2:mem:defaulth2;DB_CLOSE_DELAY=-1" 이렇게 바꿔주면 에러가 안난다. defaulth2는 데이터베이스 이름이니까 얼마든지 바꿔도 된다. [Scala] 다형성 [T]는 컴파일 타임에 사라진다. 스칼라는 다형성을 지원한다. def testFunction[T] (i: T): T = ??? 위의 함수는 i에 오는 타입에 따라 리턴 타입도 결정된다. 그런데 이런 Type 은 Compile Time에 모두 사라진다. 즉, 컴파일러에게 힌트만 주는 것이지 runtime때는 아무 효력이 없다. [Scala] if true 1 else false 의 타입은 뭘까? scala> if (true) 1 else false val res0: AnyVal = 1 놀랍게도 AnyVal이다. AnyVal은 1:Int와 false:Boolean의 공통 조상이다. 이렇게 생각할 수 있다. "아니, 뻔하게 리턴값이 1인데 당연히 Int여야하는거 아닌가?" 저 문장에서 컴파일러가 Int로 타입 바인등을 하면 나중에 저 조건문이 바뀔 경우 관련된 모든 함수를 수정해야한다. 즉 프로그램의 안정성을 해친다. 그래서 가장 상위타입으로 타입바인딩 한다. 이전 1 ··· 9 10 11 12 13 14 15 ··· 56 다음