맨날 중간 중간에 멈춰뒀는데
오늘 드디어 스프링 부트를 다 읽고 스프링 부트의 장단점과 한계를 파악함
스프링은 진짜 잘만든 거고, 이게 왜 JVM 위시한 표준이 된지 알겠음.
AOP/Proxy 기반 트랜잭션 처리랑
자동설정(@EnableAutoConfigurationn)을 왜 DSL화 하는거
Bean LifeCycle 관리 주기라는게 왜 중요한가 등등
프레임워크 철학 자체가 자동화 중심인데 프로그래머가 개입할 여지가 적다는게 디버깅이 어려운걸 의미하는데
다르게 말해서 깔끔한 HOOK 포인트를 가졌다는걸 깨달음.
AOP 기반 트랜잭션 자체도 약간의 문제가 있고
이제야 나도 프갤 자바 유저들과 어느정도 대화가 될듯
난 오히려 문서 안읽어서 게이가 더 많이 알거다 이기
아니에요 실전이 중요하죠
개고수 슨
상님
aop 기반 트랜잭션이 무슨 문제가 있다고 생각함? self invocation을 제외했을때
비동기에서 구려
트랜잭션 상태가 스레드 내부에서 있으니까 새로운 스레드는 트랜잭션 인식이 안되잖아 결국 이걸 체이닝하거나 방법 찾아야하는데, 이거 현대 환경에선 좀 구식이지
러스트처럼 Context 기반으로 설계하는게 좀 더 낫다 생각함. 당시에는 혁명적이었는데 언어 차원에서 러스트가 조금 더 낫다 생각함
@ㅆㅇㅆ(124.216) 근데 비동기에서 다른 스레드에서 지금 트랜잭션을 가지고 뭘 할게 있음?
@ㅆㅇㅆ(124.216) jdbc r2dbc는 멀티플렉싱을 지원하지도 않는데 굳이 필요한 기능인지 모르겠음
@ㅆㅇㅆ(124.216) 러스트에서는 어떻게 하는지 모르겠는데 웹플럭스에선 컨텍스트 기반으로 하고 있음
@프갤러2(222.99) 리액티브 스트림만 해도 있지 않나? 실제로 WebFlux에서 DB 저장도 비동기에서 하던데?
@프갤러2(222.99) 오히려 지금 반응형 메인이라서 더 중요한거같은데.
@프갤러2(222.99) 특히 웹앱이 요즘 메인이던데, 이 기술의 흐름에서 비동기는 더중요하지 않나? 클라는 사실상 비동기가 기본 전제니까. 오히려 웹만 볼거면 모르겠는데, 요즘은 뭐 좀 크다 싶으면 웹앱이니까. SPA 중심으로 업데이트하니까 더 중요한거 같은데 결국 이게 스프링부트의 한계같음. 내가 클라 메인이라 모르겠다만은 비동기가 되야한다는건 깔고 들어가야한다봄
@ㅆㅇㅆ(124.216) mvc에선 비동기로 굳이 할 이유가 없다는거구 이미 웹플럭스에선 aop 기반 트랜잭션이지만 Context로 처리되고 있어서 aop 기반 트랜잭션이라고 님이 말하는게 안되는게 아니라는거였음
@프갤러2(222.99) 뭐 요새 스프링에선 MVC가 MVC가 아니잖아? 사실 뭐 MVC 라는 고전적인 느낌이라기보다는 그런거지. 사실 웹플럭스에서 처리도 니말대로 하는게 맞긴함. 다만 난 스프링 읽고 그런 느낌이라 너가 나보다 잘 알겠지 난 웹은 부차적으로 공부한다는 느낌이라
@프갤러2(222.99) 일단 내가 웹플럭스에 대한 이해가 매우낮기때문에 거기에 대해서 왈가 왈부 하기가 어려운듯. 내가 구현해본거라면 이거다! 라고 말 할 수 있지만 나는 웹에 관해선 아직도 이론뿐이니까