🛠️ 개발 환경 및 테스트 환경OS : Window / Mackotlin : 2.0.21Spring Boot : 3.3.0💬 상황 설명회사 프로젝트는 로컬 스프링 서버에서도 SSL 인증서를 사용해 https로 통신을 하며, 프론트는 노드 서버로 동작하여 백엔드 서버와 다른 포트로 동작한다. 그 때문인지 서버에 통신을 할 때, 다음과 같은 에러가 발생했다.2024-10-18T09:53:10.185+09:00 WARN 10384 --- [App] [ctor-http-nio-2] .s.ApplicationProtocolNegotiationHandler : [id: 0x8fa98143, L:/[0:0:0:0:0:0:0:1]:8080 - R:/[0:0:0:0:0:0:0:1]:56868] Failed to se..
코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀코루틴 빌더코루틴 빌더에 대한 자세한 내용은 이전 포스팅을 참고해주세요!동기 / 비동기우선, 비동기에 대한 정의를 먼저 확인해보자.컴퓨터 프로그래밍에서 async/await 패턴은 비동기, 비차단 기능이 일반 동기 기능과 유사한 방식으로 구조화되도록 하는 많은 프로그래밍 언어의 구문 기능 구현이다. - (위키백과)동기와 비동기의 차이가 무엇인지 코드로 간단하게 한 번 살펴보자.suspend fun main() { val result = measureTimeMillis { doSomething1() doSomething2() } p..
🛠️ 개발 환경 및 테스트 환경OS : Window / Mackotlin : 1.7.10Spring Boot : 2.7.0💬 상황 설명회사의 개발 환경은 윈도우이고, 재택 근무를 할 때의 개발환경은 맥 환경이다. 회사의 프로젝트를 맥에서 실행했을 때, 다음과 같은 에러를 마주쳤다.[THYMELEAF][http-nio-8080-exec-1] Exception processing template "error": Error resolving template [error], template might not exist or might not be accessible by any of the configured Template ResolversServlet.service() for servlet [dispat..
코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀코루틴 빌더중단 함수를 호출하기 위해서는 첫 게시글에서 본 것과 같이 함수 앞에 suspend를 붙여야 한다. 그 이유를 한 번 확인해보자.fun main() { funA() funB() } suspend fun funA() { println("funA") } fun funB() { println("funB") }위 코드를 작성하면 main 함수의 funA()를 호출한 부분에서 다음과 같은 에러가 발생한다.Suspend function 'funA' should be called only from a coroutine or another susp..
코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀책에서 자세하게 다루지는 않지만, 이전 포스팅에서 본 Thread.sleep과 중단 함수에서 사용 가능한 delay는 과연 어떤 차이가 있길래 단일 스레드 환경에서 차이가 나는걸까?🛠️ 개발 환경 및 테스트 환경kotlin : 1.9.24Spring Boot : 3.3.1Thread이 개념을 이해하기 위해서는 우선 Thread란 무엇인지 알아야 한다. 간단하게 스레드는 프로세스 안에서 작업을 진행하는 작업자라고 생각하면 된다.1시간에 손님이 100명 방문하는 카페가 있는데, 알바생이 1명이면 어떨까? 음료를 주문하고, 그 음료를 받기까지 시간이 오래 걸릴 것이고, 알바생도 힘들 것이다...
코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀사람들은 왜 코루틴을 사용하는 것일까? 이 글을 읽으면 그 이유에 대해 쉽게 이해할 수 있으며, 조금은 쉽게 코루틴을 이해할 수 있을 것이다. 이해를 위해 약간 극단적인 테스트를 진행해보자.🛠️ 개발 환경 및 테스트 환경테스트 환경은 코틀린 + 스프링 부트 단일 스레드로 환경에서 진행되며, 매 5초마다 서버에 요청을 보내고, 서버에서는 5.5초 뒤에 응답을 보내는 형태이다.kotlin : 1.9.24Spring Boot : 3.3.1dependencies { implementation("org.springframework.boot:spring-boot-starter-web") ..