소개
호주에 살고 있는 소프트웨어 개발자입니다. 30년간 다양한 분야의 시스템과 서비스를 개발해본 경험이 있습니다.
스프링 프레임워크와 관련 기술을 좋아하고 JVM 기반 언어를 주로 사용합니다.
한국스프링사용자모임(KSUG)을 설립하고 활동했고, 토비의 스프링이라는 책을 쓰기도 했습니다.
개발과 관련된 다양한 주제에 관해 이야기하는 것을 좋아합니다.
강의
전체1수강평
- 잔잔하고 명확하게 설명해주시는게 괜히 토비가 아니네요..
Glacier
2024.03.25
1
- 기본기를 알아가는데 좋습니다!
나른한오후
2024.03.21
1
- SpringBoot라는 좋은 틀의 원리를 이해함으로써 정말 간편하게 쓸 수 있게 해줍니다 :)
haist0617
2024.03.20
1
- 정말 재미있고 유익하게 많이 배웠습니다. 감사합니다.
falsystack
2024.03.17
1
- 자세하게 잘 설명해주십니다.
김미화
2024.03.17
1
게시글
질문&답변
2024.03.22
web.xml -> dispatcherServlet 질문
위의 코드는 DispatcherServlet으로 보내는 패턴을 정의한 것입니다. 이건 그냥 / 로 등록해서 전체가 다 가게 하면 됩니다. *.do 와 같은 건 개별 컨트롤러에서 설정할 문제이지 저렇게 DispatcherServlet에 걸어주는 방식을 쓰지 않습니다. 부트에서 왜 ServletConfig을 넣으셨는지도 이해가 안 됩니다. 실제로 이런식으로 사용하지 않습니다. 그리고 뭐가 안 된다는 것인지도 모르겠네요. 저도 부트에서 이런식의 설정을 해서 써본적은 한번도 없습니다. 강의와 무관한 내용인데다 제가 테스트 해볼 수 있는 문제를 재현한 샘플 프로젝트를 공유해주신 것도 아니어서 더 이상 도움을 드리기는 어려울 것 같습니다. 부트의 레퍼런스에 샘플로 나오 방법이 아니라면, 아마도 부트를 쓰는한 지원하게 만드는 방법이 없을 수도 있습니다. 부트는 자신만의 방법을 고집하는 아주 일방적인 기술이라서요. 기존에 하던 방식을 가져올 거라면 부트를 쓸 이유가 없습니다.
- 0
- 1
- 68
질문&답변
2024.03.20
http api test
HTTPie 프로그램이 설치가 안 된 것 같습니다. https://httpie.io/docs/cli/windows 을 참고하셔서 설치하고 사용해보세요.
- 0
- 1
- 138
질문&답변
2024.03.14
자동구성에 이어서 질문드립니다.
A, B 모듈이 어떤 종류인지에 따라서 이야기가 좀 달라질 수는 있겠습니다. 기술 라이브러리를 제공하는 컴포넌트인가, 애플리케이션 서비스를 제공하는 것인가(service, controller, ..). 일반적인 원칙을 설명드리자면 별도의 모듈로 A, B가 존재한다면 각각의 구성 컴포넌트에 대한 @ComponentScan은 각 모듈의 최상위 빈에서 하는 것이 좋습니다. 즉, A의 빈을 B가 스캔하는 것은 일반적으로 좋은 방법은 아닙니다. 최상위 빈으로 @Configuration을 하나 넣고, 거기에 @ComponentScan도 추가한 뒤, 그 빈을 @Import하거나 @AutoConfiguration 방식으로 가져오는 것입니다. 만약 A, B가 각각 분리되어서 독립적으로 다른 프로젝트에서도 사용되고 그런게 아니라면, 단지 모듈성을 위해서 서비스 등을 분리해 놓은 것이라면 그냥 같은 패키지 루트를 공유해서, 예를 들어 A는 myproject.a , B는 myproject.b 등으로 시작하게 하고 루트 프로젝트에서 myproject 아래 것을 다 스캔하는 것이죠. 사실 이런식의 접근에는 정답도 없고 모법답안도 없습니다. 뭐가 됐든 선택하신 방식을 사용하시면 됩니다. 동작을 잘 하고, 일관성이 있다면 어떤 식으로든 상관없습니다. 여러가지 아이디어가 있다면 각 방식으로 코드를 재구성하고 코드를 읽으며 장단점을 생각해보신 뒤에 선택하셔도 좋겠습니다. 그걸 스스로 느껴보는 게 다른 사람의 의견보다 훨씬 중요합니다.
- 0
- 2
- 79
질문&답변
2024.03.12
신규강의와 스프링 3.1 책관련 질문드립니다
새로 준비중인 강의는 예제를 좀 더 최근에 사용하는 기술을 사용해서 기존 책 초반부(1-5장)에서 설명하는 스프링에 적용된, 그런데 우리가 작성하는 코드에도 반영되면 좋은 원리를 배울 수 있는 내용을 다룹니다. 이 강의로 출발해서 앞으로 개발과 관련해서는 부트 시리즈에 이어지는 내용을 참고하시면 좋습니다. 책은 좀 예전 스타일의 예제(DAO 등)이긴하지만 꽤 자세한 설명이 있습니다. 그래서 파트 1 정도라면 강의와 함께 보시는 것도 도움이 되긴할 겁니다. 양이 많기는 한데 어렵지는 않습니다. 하지만 새로운 기술 익혀 쓰기도 바쁘시다면 강의만 보셔도 됩니다. 어느 걸 딱 추천하지는 못하겠네요.
- 0
- 1
- 119
질문&답변
2024.03.12
자동구성 관련해서 질문드립니다.
자동구성은 애플리케이션 컴포넌트(repository, service, controller 등)보다는 재사용이 가능하거나 필요한 기술 컴포넌트에 보통 적용합니다. 스프링 부트의 자동 구성의 예가 그렇죠. @ComponentScan은 좋은 겁니다. 스캔을 하면 무슨 빈이 추가되는지 명확하게 보이지 않는다는 이유로 불평을 하는 사람도 있긴합니다만, 등록될 컴포넌트가 한 100개쯤 되면 @Import를 하든, @Configuration에 @Bean으로 직접 넣어서 정의를 하든, 그거 다 한 눈에 안보이기는 마찬가지입니다. 애플리케이션 빈을 추가할 때는 @ComponentScan이 최선입니다.
- 1
- 1
- 83