본문 바로가기

Back/Java

(14)
[Java/Reactor] Mono then() 동작 흐름 테스트 오늘의 주제 Mono then() 메서드가 어떻게 동작하는지 흐름 파악하기. 배경 Java Reactive Programing 으로 채팅서버 구현중. then()의 역할에 대해 의구심이 들었다. A.then(B) 인 경우에 A의 값이 반환된 후 B가 실행된다고 생각하고 있었는데 A가 끝나기전 B가 실행되고 실행이 끝나버리는 경우가 발생. 목표 - sleep 동작하는 메서드 생성하기 - A.then(B) 에서 sleep을 걸고 A,B가 어떻게 실행되는지 확인하기 실행하기 Mono로 리턴하는 메서드를 두개를 then으로 연결해서 실행 @Test void mono_then_test() { first_sequence().then(second_sequence()).subscribe(); } Mono first_s..
[Spring/WebSocket] 초초초기본편 웹소켓 통신해보기 (1) 오늘의 주제 Spring boot WebSocket basic으로 구현해보기 초초초기본으루다가!😎 배경 채팅서버를 구현하기 위해 웹소켓을 공부하던중, 제일 기본적인 웹소켓부터 사용해보기로 함. 목표 간단한 기본적인 기능만 구현해서 사용해보기. - 소켓 연결 - 웹브라우저에서 보낸 메시지 받기 (서버에서) - 서버에서 브라우저로 메시지 보내기 깐딴쓰~ >.
[Spring/WebSocket] RSocket 예제코드 실행해보기(WIP) 오늘의 주제 Spring에 있는 RSocket 배경 채팅서버를 만들기 위해 Websocket에 대해 공부를 하던중.. 전달받은 블로그 포스팅! 전통적인? 방식의 websocket + redis pub/sub과 webflux(rsocket) + redis pub/sub를 비교할수 있을거라 하셨는데.. Websocket도 모르겠는 마당에 RSocket은 무엇인가ㅠㅠㅠㅠㅠㅠㅠㅠㅠ ↓↓↓↓↓ blop post https://dev.to/olibroughton/building-a-scalable-live-stream-chat-service-with-spring-webflux-redis-pubsub-rsocket-and-auth0-22o9 github https://github.com/oli-broughton/li..
[Java/SpringBoot] 멀티 스레드 & static 테스트 static은 클래스에 고정된다. static멤버(static변수, static메서드) = 정적멤버 인스턴스에 소속되지 않고, 클래스에 고정되어 있다. static 영역의 메모리에 저장되기 때문에 가비지 콜렉터의 관리 대상이 아니다. 테스트1. 두개의 instance에서 static 사용 plus, minus 메서드를 사용해서 static변수 `balance` 의 값이 어떻게 변하는지 관찰 단일 스레드에서 실행 // application 실행 @Slf4j @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, a..
[JPA] save() vs saveAndFlush() 차이 배경 @Transactional 이 있는 메소드에서 set을 여러번할때 차이가 나타나는데, 같은 컬럼을 여러번 set할 경우(update쿼리), (*다른컬럼일때 확인해볼것) save() 마지막 set에 대해서만 update 쿼리가 출력되고, 트랜잭션메소드가 다 끝난 후에 DB에 반영 saveAndFlush() set할때마다 update쿼리가 출력되고, DB에는 트랜잭션메소드가 다 끝난 후에 한번만 반영. update쿼리가 출력된 것은 JPA내부적으로 저장된것으로 보임. flush는 DB가 아니라 SQL 저장소 내로 flush를 하는 과정.
[Spring/mybatis] null check /*String*/ /*ArrayList*/