본문 바로가기

분류 전체보기86

[Intellij] Error running 'Scala Console': Module is not specified 해결 Run Scala Console을 실행하였을 때 "Error running 'Scala Console': Module is not specified" 메세지가 나오면서 동작하지 않는 경우 Run Configuration에서 module specify 설정을 추가한다. 2019. 9. 4.
Golang first-class function (일급함수) Go에서 함수는 일급함수로서 Go의 기본 타입과 같게 취급되며, 따라서 다른 함수의 파라미터로 전달하거나 다른 함수의 리턴값으로도 사용될 수 있다. func main() { // 정의된 함수를 파라미터에 전달 sum := func(i int, j int) int { return i + j } fmt.Println(calc(sum, 5, 10)) // 15 // 파라미터에 익명함수를 직접 정의 fmt.Println(calc(func(a int, b int) int { return a \- b }, 5, 10)) // -5 } func calc(f func(int, int) int, a int, b int) int { return f(a, b) } first-class citizens 일급/이급 객체의 개념.. 2019. 9. 3.
Golang 함수 Go에서 함수는 func 키워드를 사용해서 정의한다. func 함수명(매개변수_이름 매개변수_자료형) 리턴값_자료형 {...} ()안에는 0개 이상의 매개변수의 이름과 타입이 들어가고, ()와 {}사이에 리턴값의 이름(생략 가능)과 타입을 작성한다. 그리고 {} 안에 함수의 로직을 구현한다. func main() { fmt.Println(sum(2, 3)) // 5 } func sum(a int, b int) int { return a + b } 위 코드는 int 타입 a와 int 타입 b를 입력받아 그 합을 구하는 sum 함수를 작성한 예시이다. 이 함수는 아래와 같이 리턴값에 이름을 붙여서 작성할 수도 있다. func sum(a int, b int) (r int) { r = a + b return r.. 2019. 9. 3.
Multi-Thread 환경에서 Spring Bean의 Thread Safe 문제 해결 증상 Netty Server로 받아온 전문을 파싱하는 과정에서 시작점이 자꾸 바뀌어 정상적으로 파싱이 되지 않고 Exception이 발생한다. Single Thread로 설정하여 테스트하면 이러한 현상이 발생하지 않으며 Multi Thread 환경에서 테스트하면 함께 진행되는 다른 Thread의 값과 묘하게 연관 있게 바뀐다. 로그 nioEventLoopGroup7-7 & nioEventLoopGroup-7-8 [nioEventLoopGroup-7-7] Parse item key = MESSAGE_1, type=String, from=220, len=2, value=ne [nioEventLoopGroup-7-8] Parse item key = message_1, type=Long, from=0, len=.. 2019. 9. 2.