소개
저는 자바, 스프링 기반의 백엔드 개발이 주무기인 3년차 개발자입니다. 신규 서비스의 요구사항을 분석해서 데이터베이스 테이블을 직접 설계하고, 백엔드 애플리케이션을 처음부터 구성하고 배포한 경험이 있습니다. 프로젝트를 진행할 때마다 만났던 다양한 문제들을 자바, 스프링을 학습하며 얻은 지식으로 해결한 경험이 많습니다. 그리고 필요하다면 다른 기술들을 학습하는 것도 마다하지 않습니다.
좋은 서비스를 만들기 위해서는 개발자의 역량이 기초가 된다고 생각합니다. 그래서 좋은 코드에 대하여 끊임없이 학습하고, 고민합니다. 저는 학습한 것을 다른 사람과 공유하는 일에 보람을 느낍니다. 제가 학습한 내용을 동료 개발자들과 공유하는 노력을 통해, 동료들도 함께 성장하는 개발 문화를 만들고자 노력합니다. 이러한 노력을 지속하다 보니 동료 개발자들이 제가 공유한 코드를 사용하다가, 회사 프로젝트의 코딩 컨벤션으로 제 코딩 스타일을 채택해 사용하기도 했습니다.
게시글
질문&답변
2024.05.10
예외발생 추적 스택 트레이스 출력 이해하는 방법 질
안녕하세요. 디와이님, 공식 서포터즈 y2gcoder입니다. 저희가 스택영역에서 배웠던 호출 구조대로 잘 설명하신 것 같습니다 🙂 감사합니다.
- 1
- 1
- 30
질문&답변
2024.05.10
@SpringBootTest어노테이션 역할
안녕하세요. blackjack_96님, 공식 서포터즈 y2gcoder입니다. @SpringBootTest 는 실제 애플리케이션을 실행한 후의 환경처럼 스프링 컨테이너를 띄워서 테스트할 때 사용할 수 있습니다. 말씀하신 것처럼 스프링 컨테이너를 띄웠기 때문에 스프링 빈을 통한 기능을 모두 사용할 수 있습니다(의존 관계 주입 포함)! 왜냐하면 내부 구조상 해당 애노테이션을 붙인 테스트 코드를 실행하면 컨테이너 생성시 메인 패키지에서 @SpringBootApplication 가 붙은 클래스를 찾아 해당 설정에 맞춰 빈들을 생성하고 설정을 주입하기 때문입니다 🙂 만약 @SpringBootTest 를 붙이지 않은 테스트 코드를 만드신다면, 위의 기능들을 이용할 수 없기 때문에 필요하다면 의존관계 주입 등을 직접해서 테스트할 객체 인스턴스를 생성해야 합니다. 전자는 애플리케이션 구동 시의 기준으로 각 컴포넌트들 간의 상호작용을 테스트하는 데 좋고, 후자는 테스트 대상 컴포넌트의 기능을 독립적으로 테스트하는데 좋습니다! 위에서 설명한 테스트 방법을 각각 통합 테스트 / 단위 테스트 라고 하니 찾아보시는 것을 추천합니다! @SpringBootTest 에 대한 더 자세한 내용은 다음 링크(클릭) 을 참고해보시길 권해드립니다! 감사합니다.
- 0
- 1
- 19
질문&답변
2024.05.10
동적 jsp, 정적 jsp
안녕하세요. gxpk0721님, 공식 서포터즈 y2gcoder입니다. 보통 웹서버에서 정적으로 html 을 내려주곤 하는데 new-form.jsp같은경우 위와같이 정적파일을 내려주는건가요?? => JSP(Jakarta Server Pages)는 WAS를 통해 동적으로 HTML을 생성해서 내려줍니다. 다음 링크(클릭) 을 보시면 아시겠지만, JSP을 WAS 내부에서 서블릿으로 변환 후 동적 로직을 처리한 후 HTML로 변환하여 다시 요청한 클라이언트로 변환하고 있습니다! new-form.jsp 의 내용이 정적 파일의 결과물인 html과 동일하다는 점에서는 정적 파일로 볼 수도 있습니다. 다만 실제 동작은 동적으로 HTML 파일을 생성해서 내려준다는 점을 언급드리고 싶었습니다! jsp를 사용하지 않고 //자바코드 in html PrintWriter w = response.getWriter(); w.write(" "); w.write(" "); w.write(" "); w.write(" Title "); w.write(" "); w.write(" "); w.write(" 메인 "); w.write(" "); w.write(" "); w.write(" id "); w.write(" username "); w.write(" age "); w.write(" "); w.write(" "); 이런식으로 동적으로 html을 만드는거는 알겠는데 save.jsp 이렇게 프로젝트에 파일 자체가 있어도 그 안에 동적인 로직이있으면 동적으로 브라우저한테 내려주는건가요??? => 맞습니다. 위의 첫번째 질문에 대한 설명과도 연관지어서 이해해주시면 감사하겠습니다! 결국 클라이언트에게 응답해주는 것은 JSP 파일 자체가 아니라 HTML 입니다. 그리고 동적인 데이터를 넣어서 HTML을 만들어줘야 하기 때문에 동적인 과정이라고 이해해주십쇼 🙂 그럼 jsp로는 정적 동적 둘 다 가능한건가요? => 위의 답변들과 더불어 질문의 의도를 제가 어떻게 해석하냐에 따라 다른 것 같습니다. => JSP 내용 그대로 HTML로 만들어 내보내는 것을 정적이라고 이해한다면? 둘 다 가능하다고 답변드릴 수 있을 것 같습니다! => 서버에서 HTML 을 만들어 내보내는 것 자체를 동적으로 본다면? JSP는 동적으로 생성된다고 답변 드릴 수 있을 것 같습니다! 감사합니다.
- 0
- 2
- 41
질문&답변
2024.05.10
자식 생명 주기 관리, Cascade.PERSIST + orphanRemovel=true
안녕하세요. 김동현님, 공식 서포터즈 y2gcoder입니다. 스스로 잘 해결하셨습니다 :) 강의 수강 중 강의 관련 궁금한 사항은 언제든 질문 남겨주세요^^
- 0
- 3
- 34
질문&답변
2024.05.10
memberRepositoryTest 코드 오류
안녕하세요. 감자님, 공식 서포터즈 y2gcoder입니다. 보내주신 코드 살펴보았습니다! 먼저 application.yml 을 src/main/resources/templates 에 만드셨는데, src/main/resources 빼주십쇼! 그래야 application.yml이 적용됩니다! (사진) 그리고 user 라는 단어는 종종 DB에서 예약어로 사용되기 때문에 테스트를 돌렸을 때 create table 에서 에러가 발생할 수 있습니다! (사진) (사진)User 엔티티에 @Table(name="users")를 통해 실제로 생성되는 테이블명을 바꿔주시면 좋겠습니다 🙂 (사진) 감사합니다.
- 0
- 1
- 31