소개
저는 자바, 스프링 기반의 백엔드 개발이 주무기인 3년차 개발자입니다. 신규 서비스의 요구사항을 분석해서 데이터베이스 테이블을 직접 설계하고, 백엔드 애플리케이션을 처음부터 구성하고 배포한 경험이 있습니다. 프로젝트를 진행할 때마다 만났던 다양한 문제들을 자바, 스프링을 학습하며 얻은 지식으로 해결한 경험이 많습니다. 그리고 필요하다면 다른 기술들을 학습하는 것도 마다하지 않습니다.
좋은 서비스를 만들기 위해서는 개발자의 역량이 기초가 된다고 생각합니다. 그래서 좋은 코드에 대하여 끊임없이 학습하고, 고민합니다. 저는 학습한 것을 다른 사람과 공유하는 일에 보람을 느낍니다. 제가 학습한 내용을 동료 개발자들과 공유하는 노력을 통해, 동료들도 함께 성장하는 개발 문화를 만들고자 노력합니다. 이러한 노력을 지속하다 보니 동료 개발자들이 제가 공유한 코드를 사용하다가, 회사 프로젝트의 코딩 컨벤션으로 제 코딩 스타일을 채택해 사용하기도 했습니다.
게시글
질문&답변
2024.04.29
@Configuration 자동 설정?
안녕하세요. RealTone님, 공식 서포터즈 y2gcoder입니다. 강의 영상과 자료를 보시면 (사진) 이런식으로 @SpringBootApplication()의 scanBasePackages 속성을 이용해서 스캔할 범위를 제한해주면서 hello.config 패키지의 빈들을 기본적으로 스캔 대상에 들어가지 않도록 설정한 모습을 보실 수 있습니다! RealTone님은 이런한 스캔 범위 제한을 해두지 않아 중복으로 빈을 등록하려고 해 오류가 발생하는 것으로 보입니다 :) 감사합니다.
- 0
- 3
- 29
질문&답변
2024.04.29
자바 언어 없음
안녕하세요. 민승님, 공식 서포터즈 y2gcoder입니다. (사진)직접 맥에 Intellij 커뮤니티 버전을 설치해서 New Project 를 한 캡처본입니다! 맥과 윈도우의 차이 때문에 경로가 서로 다르게 표시되고는 있으나 JDK도 22로 잘 잡혀 계신 것 같습니다. 강의를 보고 차근차근 진행해보시면 될 것 같습니다! 감사합니다.
- 0
- 1
- 24
질문&답변
2024.04.29
검증1 - Validation-검증 직접 처리 - 개발 질문입니다.
안녕하세요. zzzzz님, 공식 서포터즈 y2gcoder입니다. @ModelAttribute("item") Item item 은 간단하게 말씀드리면 "HTTP 요청을 보고 Item 객체에 동일한 필드가 있으면 매핑하고 Item item 객체로 만들어서 메서드에서 사용할 수 있게 넣어줘! 그리고 모델에도 넣어줬으면 좋겠는데 모델에 넣을 때 key 값은 'item'으로 해줘!" 입니다. Model model은 유효성 검증에 실패했을 때 만든 errors 를 모델에 넣어 반환하는 뷰에 데이터로 넣어주기 위해 사용했습니다! 위의 작성해주신 코드를 천천히 다시 보시면 에러 코드들은 Map errors 에 넣고, 그 errors는 모델에 담겨 뷰로 반환되는 것을 보실 수 있습니다. 이것을 @ModelAttribute은 model.addAttribute가 자동으로 생성되는데요. 큰 기숙사 안에서 동일한 룸에 에러코드도 들어가고 아이템 모델도 들어가는건가요? 이런 비유로 표현하셨다고 생각합니다. 좀 더 제가 보태자면 큰 기숙사(model) 안에 각각 다른 방(item, errors)에 에러 코드, 아이템 들이 들어간 것이라고 이해해주십쇼! 감사합니다.
- 0
- 2
- 28
질문&답변
2024.04.29
ModelAttribute 사용유무가 궁금합니다.
안녕하세요. zzzzz님, 공식 서포터즈 y2gcoder입니다. 사용하는 영역이 다르다고 이해해주시면 감사하겠습니다. 이 부분은 설계와 관련된 영역이라 보셔도 좋습니다. 예를 들어 위의 createOrder() 는 컨트롤러의 메서드가 아니라 도메인 영역에 있는 엔티티의 메서드 입니다. @ModelAttribute는 표현 영역 중에서도 컨트롤러 단에서 사용하여 요청과 객체 간의 매핑을 용이하게 해주는(+추가로 모델에 해당 객체를 넣어주는) 애노테이션입니다. 그래서 결과적으로 도메인 영역에서 @ModelAttribute()를 사용하시지 말라고 말씀드리고 싶습니다 🙂 제가 그렇게 직접 사용하지는 않았으나, 그렇게 사용할 일이 없으실 겁니다. 정리하자면 @ModelAttribute는 컨트롤러의 메서드일 때만 사용하는 의미가 있다고 생각합니다. 추가로 도메인 영역에 있는 코드에서 표현 영역에 있는 코드를 의존하는 것은 대부분 유지보수할 때 좋지 않았습니다! 감사합니다.
- 0
- 1
- 26
질문&답변
2024.04.28
final 변수 질문
안녕하세요. 조소현님, 공식 서포터즈 y2gcoder입니다. final 은 본 강의 앞머리에서 영한님께서도 말씀하시듯이 변수의 값을 변경하지 못하게 막는 기능입니다! 실무에서는 불변 객체를 만들거나, 특히 스프링에서 의존 객체를 생성자를 통해 주입할 때 의존 객체를 쉽게 변경하지 않도록 final로 막아주기도 합니다. 개발하시다 보면 객체의 상태(속성, 필드)를 변경하지 못하도록 해야 할 때가 많습니다. 이 때도 final을 사용해서 막아줄 수 있습니다! 감사합니다.
- 0
- 1
- 33