24b0d121e0c176b660b8f68b12d21a1d29fc5385

일단 난 스프링을 많이 써보진 못힘. 1년 정도. 제일 많이 쓴다는데 하필이면 내가 다닌 회사는 거의 다 다른거 씀. 그래서 스프링에 대한 나쁜 감정이 그냥 내 실력이 병신이라서 그럴수도 있음. 그 부분은 양해 바라고 지적해주면 감사.

1. 영속성 컨텍스트 별로임. 노드 기반으로 typeorm 써보니까 그냥 someRepository.save(someEntity) 이런식으로 명시적으로 제어하는게 편함. 영속성 컨텍스트는 반쪽짜리 추상화임. 지들만의 규칙을 빠싹하게 알고 있어야 제대로 사용할 수 있는 추상화가 아닌 그냥 복잡성을 더해버린 쓰레기.

2. 어노테이션 기능 디버깅 개짜증남. 이게 css같은건데 뭔가의 이유로 내가 하고자 의도했던 것이 적용 안되면 컴파일 에러나 런타임 에러가 나는게 아니라 그냥 소리 소문없이 적용이 안됨. 뭔가 그 시절의 어떻게든 작동시킨다는 전략의 fallback이 적용된거 같은데 그럼 난 메뉴얼 처음부터 끝까지 훑어가며 뭐 어디가 잘못되서 그런건지 봐야됨. 쓰레기. 스프링보다는 스프링에서 많이 쓰는 라이브러리에서 많이 겪은 문제.

3. xml 설장 파일. 음... 아직도 이런걸 쓰나? json으로 천하통일된거 아님? 아 물론 json이 뭐 대단히 근본있고 전통있고 국제 표준급 위상이고 그런건 아니라는건 앎. 근디 xml이 html마냥 꺽쇠 닫는거 좀 귀찮고 헷갈림.

4. 비동기 작성 어려움. 웹플럭스나 스프링 어노테이션이나 뭔 방법도 3가지로 파편화 되어있던거 같은데. 요즘은 자바도 고 언어 코루틴처럼 비동기 대신 경량 가상 스레드로 처리하는 방법이 있을진 모르겠는데 알지? 어디서는 자바 8 쓰는거.

5. 역사가 오래되니 레거시가 많음. 그 시절 성능을 쥐어짠답시고 하는 테크닉 같은거. 그리고 스프링 빠는 입장에서는 스프링은 꾸준히 발전해서 기능에 모자람이 없다고 하는진 모르겠는데 응 자바 8 ㅅㄱ. 이건 꼭 스프링 문제라기보단 역사가 오래된 물건은 어쩔 수 없는거 같음.

6. 자바 가상머신이 무거움. 나는 서버비 ㅈ도 신경쓰고 싶지 않지만 그거 한푼 아끼려고 ec2 스팟 인스턴스 가지고 똥꼬쇼하는 조직에서는 이 생각이 떠나지 않음. '그냥 러스트 쓰면 ec2 최하 인스턴스에서 서비스 수십개 돌리겠다.'

쓰레기같은 똥글 읽어줘서 고맙고 고견은 주시면 감사. ㅅㄱ

- dc official App