본문 바로가기

Spring29

Spring WebFlux 핵심 내용 정리: 진짜 비동기, 논블로킹을 위한 설계 조건 WebFlux에 대해 이해가 잘 가지 않았던 점을 조사하고 정리해 보았다. WebFlux는 메서드의 반환을 비동기적으로 처리할 수 있게 해 주며, 메서드들은 Mono 또는 Flux와 같은 비동기 객체를 반환한다. 대부분의 경우, 이 스트림이 완료되었을 때 HTTP 응답을 전송하지만, Flux를 이용한 스트리밍 응답처럼 중간에 데이터를 전송할 수도 있다.이 구조 덕분에 요청마다 스레드를 붙잡아두지 않아도 되기 때문에, 시스템은 훨씬 더 효율적으로 스레드를 활용할 수 있다.즉, WebFlux를 사용하는 가장 큰 이유는 요청 수가 많아질 때도 상대적으로 더 잘 버틸 수 있기 때문이다. 하지만 아무리 비동기 흐름이라도, 중간에 DB I/O나 파일 I/O처럼 블로킹 작업이 포함되면 해당 작업은 별도 스레드에서 대.. 2025. 6. 21.
스프링 프레임워크를 사용하는 이유 필자는 회사에서 스프링 프레임워크를 사용해서 웹 개발을 하고 있다. 그러다 문득 든 생각이 "스프링으로만 개발하고 있는 나는 자바 개발자가 맞는가'였다. 그래서 스프링 이전에는 무엇이 있었는지, 어떻게 해서 스프링이 나오게 되었는지에 대해 생각해보고 또 조사해보았다. 저번에는 Java EE에서 스프링 프레임워크로 넘어가는 과정에 대해 이야기해봤고, 이번에는 스프링 프레임워크를 사용하는 이유에 대해 좀 더 알아보려고 한다. 우선, 프레임워크를 사용하는 이유부터 간단히 살펴보자. 프레임워크를 이용한 개발은 이름에서 알 수 있듯이 소프트웨어의 '뼈대'가 되는 부분은 미리 만들어놓고 필요한 부분들을 추가하거나 수정해서 사용하는 개발 방식이다. 그러다 보니 개발 기간이 단축되고, 오류가 적어지며, Java EE만.. 2022. 5. 30.
Java EE(또는 Jakarta EE)에서 Spring Framework로 Java를 이용한 웹 개발을 공부하다 보면, 처음에는 Java SE를 사용하다가 어느 순간 Java EE를 공부하게 된다. 특히, Eclipse IDE를 사용하여 자바를 공부했다면, 처음에는 Eclipse IDE for Java Developer를 쓰다가 어느 순간 Eclipse IDE for Enterprise Java and Web Developers를 쓰게 된다. 전자가 일반적인 Java 개발용 IDE이고, 후자가 Java EE 개발을 위한 IDE이다. 그렇다면 Java EE란 무엇일까? 자바 언어의 플랫폼은 자바의 기본 기능을 탑재한 Java SE, 웹 개발을 위한 Java EE, 모바일 디바이스 앱 개발을 위한 Java ME, 데스크톱 앱이나 리치 웹 애플리케이션 개발을 위한 Java FX, 4.. 2022. 5. 24.
RDBMS별 DataSource driverClass, url 정리 RDBMS Driver URL Oracle oracle.jdbc.driver.OracleDriver oracle.jdbc.OracleDriver jdbc:oracle:thin:@localhost jdbc:oracle:oci:@localhost MySQL com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/[스키마명] MariaDB org.mariadb.jdbc.Driver jdbc:mariadb://localhost:3306/[스키마명] PostgreSQL org.postgresql.Driver jdbc:postgresql://localhost:5432/[스키마명] 2021. 11. 12.
728x90