(이런 부장님 멘트는 대체 누가 넣는 것인가. 왜 부끄러움은 항상 나의 몫인가)
한글을 모르는 인텔리제이 때문에 뭘 테스트했는지 알아볼 수 없다면 인코딩을 바꿔줍시다.
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
을 입력해주고 닫읍시다.
캐시는 삭제하셔도 되고 안하셔도 됩니다. 저는 한번은 삭제했었음.
Invalidate and Restart를 눌러줍시다.
문맹 인텔리제이에게 한글 의존성 주입을 완료했습니다. 빠밤.
@Mock이 붙은 객체를 @InjectMoks가 붙은 객체에 주입시킬 수 있다고 생각하면 된다.
@Around("execution(public com.sparta.myselectshop.controller..(..))") ? 이게 뭐에요?
->Myselectshop의 모든 컨트롤러 부분에 다 동작을 시키겠단 얘기.
AOP Proxy가 뭐에요? 으으 모르겠어요! 😵😵😵😵
-> TestDataRunner같은 경우는 AOP를 타는 구조가 아니었고 Dispatcher servlet에서 바로 ProductController로 넘어가는 구조였기 때문에 AOP가 잡아채지 못한다. 그래서 API 수행시간이 등록되지 않았던 것!
이건 그냥 '아 저기를 안 지나갔구나' 정도로만 생각하면 된다.
execution ~~ 은 또 뭐에요? 포인트컷? 🤯🤯🤯🤯
-> 포인트컷은 실행될 장소를 의미함.
필터 관련해서는 정말로 뭔가 외우거나 이해하거나 할 필요가 없다. 그게 전부임. 필터이름에 다 써있음. 스프링 시큐리티가 어려운 이유는 확장성이 높기 때문임. 프레임워크 자체에 대한 이해도도 필요치 않음.
다만 알아야 하는건 Transaction에 대한 처리가 필터에서 하는거랑 서비스에서 하는거랑 좀 다름. OSIV라고 함.
-> Lazy loading과 fetch loading. fetch join 이라는 키워드에 대해 알아볼 것. 이게 더 중요함.
의도하지 않은 쿼리가 날아가거나 의도하지 않은 데이터 변경이 있는게 트랜잭션때문임. 트랜잭션에 대해 공부해봐야 함.
롤백이 필요한 로직엔 무조건 트랜잭션이 필요함. 트랜잭션이 끝나면 커밋이 되기 때문에 주의해서 걸어줘야함.
트랜잭션에 readOnly를 붙이면 플러시를 안함.
Service 거의 모든 부분에 @Transactional이 붙어서 지저분한가요? 그러면 Class 맨 위에 한개만 걸어주면 Service 전체 함수들에 다 적용된다.
-> 만약 readOnly=true가 필요한 부분이 있다면 거기만 새로 적용해주면 된다.
뭔가 CSS같은 느낌이구먼?🥴
저 어디가 Many인지 모르겠어요! ManytoMany가 될 수도 있지 않을까 싶고 머리가 아파요😵
-> 당장 필요한게 뭔지에 주목해서 만들 필요가 있음 - 이건 진짜 훈련밖에 없다!
-> Many가 어디든 좋으니 아무데나 한번 걸어놓고, 안되거든 돌아가서 다시 만드는 한이 있더라도 일단 시도해보는게 좋다.
동작되지 않는 코드에 대한 경험이 더 중요하다! 다음에 응용도 안되고. 실패를 많이 해봐야한다. 틀리는 것을 두려워하지 말것.
의외로 나는 지식에 대한 구조화나 그런건 꽤 잘 되어 있다고. 농담이 아니라 정말 잘 되어 있다고. 훈련만 하면 되니까 많이 해보라고 하셨다.
영철 매니저님은 Spring을 선택하신 동기가...?
-> JAVA를 해보기도 했고, CSS는 싫었다. 그래서 일단 프론트는 재낌.
-> Node는 레퍼런스가 적었다. 한국이 자바 공화국이라고 하니까~ 하는 취업에 대한 부분도 꽤 있었다.
Q. 맞는 코드를 한번에 치지 못하면 안될것 같다는 생각이 들어요. 뭔가 안 돌아가면 아 역시 난 빡대가린가? 하는 생각에 손을 못 대겠고,
그래도 도전해볼까? 하기엔 알지도 못하는 주제에 자기합리화 하는것 같아요. 괜히 손대는건가 싶고... 어쩌죠? 😩😵🤒
A. 자기합리화 하면 어때서요? 나쁠거 없다고 보는데.
토론이 힘든 이유가, 자기 공부를 부정당하는게 힘드니까 그래요. (그런데 매니저님은 좀 많이 내려 놓으셨다고.)
IT업계는 어차피 모든 걸 알 수는 없어요. 내 지식이 언젠가는 부정이 당하는 날이 옵니다. 그걸 좀더 일찍 겪는다고 생각하세요.
이 공부를 하는게 너무 어렵다 느껴진다면, 지금까지 너무 쉬운 공부만 해왔던건 아닌가... 라고 생각해 보는 것도...
혼자 일하는 개발자는 확실히 발전이 느립니다. 이건 확신할 수 있음.