소개
저는 자바, 스프링 기반의 백엔드 개발이 주무기인 3년차 개발자입니다. 신규 서비스의 요구사항을 분석해서 데이터베이스 테이블을 직접 설계하고, 백엔드 애플리케이션을 처음부터 구성하고 배포한 경험이 있습니다. 프로젝트를 진행할 때마다 만났던 다양한 문제들을 자바, 스프링을 학습하며 얻은 지식으로 해결한 경험이 많습니다. 그리고 필요하다면 다른 기술들을 학습하는 것도 마다하지 않습니다.
좋은 서비스를 만들기 위해서는 개발자의 역량이 기초가 된다고 생각합니다. 그래서 좋은 코드에 대하여 끊임없이 학습하고, 고민합니다. 저는 학습한 것을 다른 사람과 공유하는 일에 보람을 느낍니다. 제가 학습한 내용을 동료 개발자들과 공유하는 노력을 통해, 동료들도 함께 성장하는 개발 문화를 만들고자 노력합니다. 이러한 노력을 지속하다 보니 동료 개발자들이 제가 공유한 코드를 사용하다가, 회사 프로젝트의 코딩 컨벤션으로 제 코딩 스타일을 채택해 사용하기도 했습니다.
게시글
질문&답변
다대다 관계 질문
안녕하세요. hj.kang1409님, 공식 서포터즈 y2gcoder입니다.좀 더 다른 예시로 부연 설명을 드리자면 강의와 수강생의 관계를 생각해보시면 좋을 것 같습니다!강의김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성김영한의 실전 자바 - 중급 2편수강생y1gcodery2gcodery3gcoder가 있다고 생각해보겠습니다.예를 들어 강의 입장에서 먼저 보겠습니다김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션 강의의 수강생이 y1gcoder, y2gcoder, y3gcoder 라고 하겠습니다. 강의 입장에서는 수강생이 여러 명입니다! 따라서 강의:수강생 의 관계는 1:N입니다!그 다음은 수강생의 입장에서 보겠습니다y2gcoder 는 내 강의에 들어가보니김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성김영한의 실전 자바 - 중급 2편 를 수강하고 있습니다. 그러면 수강생 입장에서는 여러 개의 강의를 수강하고 있으니 수강생 : 강의 는 1:N 관계입니다. 이런 점에서 보면 N:M 관계는 N:1(혹은 1:N) 관계로 나눠서 생각하셔도 무방합니다! 감사합니다.
- 0
- 2
- 24
질문&답변
파일들이 주황색 글씨로 떠요
안녕하세요. 이연서님, 공식 서포터즈 y2gcoder입니다.캡처해주신 부분을 봤을 때는 IDE에서 깃 관련한 표시를 해주는 것으로 보입니다 🙂 AI 인턴의 3번째 답변의 내용과 동일합니다. 보이는 것이 신경쓰인다고 하시면 깃을 공부하셔서 변경 파일들을 다 커밋해보시겠습니까? 오류는 아닙니다! 감사합니다.
- 0
- 2
- 19
질문&답변
scanbasepackages 관련 질문입니다.
안녕하세요. 곽장현님, 공식 서포터즈 y2gcoder입니다.AI 인턴의 답변에 덧붙여서 말씀드리자면 해당 강의에서는 컴포넌트 스캔 범위를 제한하기 위해서입니다. 강의 특성상 여러 DB 접근기술 구현체를 교체하게 될텐데, 교체하는 과정을 명시적으로 보여주기 위해 수동으로 빈을 등록하게 됩니다! 이를 위해 자동으로 컴포넌트를 스캔에 등록하는 범위를 좁혀준 것입니다 🙂 감사합니다.
- 0
- 2
- 8
질문&답변
JPA오류
안녕하세요. 이소민님, 공식 서포터즈 y2gcoder입니다.위에 첨부해주신 로그는 로깅 레벨을 자세하게 설정해주면 나타나는 로그입니다. 스프링 부트가 자동 설정을 통해서 빈을 등록해준 결과를 REPORT 형식으로 안내해주고 있습니다. ============================CONDITIONS EVALUATION REPORT============================Positive matches:----------------- 그와는 별개로 테스트 케이스가 실패했다면 IDE 결과에 빨간 표시가 뜨지 않았을까 생각합니다! 빨간 표시가 뜨지 않고 초록색 체크 표시가 떴다면 해당 테스트 는 성공한 것입니다 🙂 만약 빨간 표시가 떴다면 ERROR나 caused by 라는 글자가 포함된 로그를 첨부해주십쇼! 감사합니다.
- 0
- 2
- 22
질문&답변
@AfterReturning 설명 중 객체의 변경과 조작의 차이점
안녕하세요. 김희범님, 공식 서포터즈 y2gcoder입니다.여기서 변경은 객체 자체를 다른 객체로 변경하는 것을 말씀드린 것으로 이해해주시면 될 것 같습니다! Around에서는 A타입의 반환 객체를 B타입 반환 객체로 변경할 수 있지만(받는 클라이언트 단에서 처리를 어떻게 해줄 것이냐는 제외했습니다. 상속 및 구현을 통한 다형성을 활용한 두 타입이라면 그리 번거롭지 않을 수도 있을 것 같습니다!) AfterReturning에서는 해당 반환되는 객체를 다른 객체로 변경할 수는 없다는 뜻입니다. 강의자료에서도 재차 설명하고 있으니 참고해주십쇼!!(사진) 감사합니다.
- 0
- 1
- 17
질문&답변
auto-ddl 기능이 안됩니다 ㅠㅠㅠ
안녕하세요. 항상배고픔님, 공식 서포터즈 y2gcoder입니다.항상배고픔님께서 ddl-auto 기능이 작동하지 않는다고 생각한 이유가 궁금합니다! 만약 로그가 확인되지 않아 그런 거라면첨부해주신 application.yml에서 logging.* 구문을 spring 하위가 아닌 최상위로 옮겨주십쇼! 그러면 로그를 보실 수 있습니다spring: datasource: url: jdbc:h2:tcp://localhost/~/datajpa username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging.level: # 최상위로 옮겨주십쇼! org.hibernate.SQL: debug # org.hibernate.type: trace이외에도 create 시에는 애플리케이션을 재시작 할 때마다 table을 삭제 후 다시 만들기 때문에 데이터가 쌓이지 않는다는 점도 참고해주십쇼! 이외에 다른 이유라면 답글을 남겨주십쇼 🙂 감사합니다.
- 0
- 2
- 38
질문&답변
model과 repository
안녕하세요. jungmin257님, 공식 서포터즈 y2gcoder입니다.1번 질문은 AI 인턴의 답변을 참고해주십쇼!2번 질문은 강의를 수강하시다 보면 해결되실 거라 생각합니다 🙂 과거의 구조부터 현대의 구조로 점진적으로 발전하는 모습을 보여드리는 것이 영한님의 강의 스타일이라 생각합니다. 지금은 jungmin257님은 예전에 하던 방식을 보고 계십니다. 학습하시면서 지금의 보고 계신 구조가 변경되는 모습을 보실 수 있을 거라 생각합니다!감사합니다.
- 0
- 2
- 21
질문&답변
웹 개발을 할 때 HTTP API와 HTML 중에
안녕하세요. jungmin257님, 공식 서포터즈 y2gcoder입니다.AI 인턴의 답변에 더하여 말씀을 드리자면 회사의 가용 인력 풀이나 정책에 따라서도 많이 달라지는 것 같습니다. 예를 들어 관리자 페이지와 같은 경우에는 실제로 백엔드 개발자들이 그냥 템플릿 엔진을 통해서 간단하게 만드는 경우도 있고, 프론트엔드 개발자분들과의 협업을 통해서 클라이언트와 서버를 나눌 수 있을 때는 분리해서 개발할 수도 있습니다 🙂 그래서 상황에 따라 혼합할수도, 따로 만들 수도 있습니다!감사합니다.
- 0
- 2
- 20
질문&답변
<빌드하고 실행하기>0:20
안녕하세요. tndus159200297님, 공식 서포터즈 y2gcoder입니다.강의 화면에서 보이는 것은 터미널 창입니다!그래픽으로 그려진 화면에서 마우스를 조작해 프로그램을 실행하거나 조작하는 것과 달리 개발자는 앞서 말한 까만 터미널 창에서 명령어를 입력하여 프로그램을 실행하거나 조작하는 경우가 많습니다. 전자를 GUI(Graphical User Interface), 후자를 CLI(Command-Line Interface)라고 합니다 🙂 사용하시는 운영체제에 따라 사용하는 터미널 프로그램이 다를 것 같습니다. 만약 윈도우즈를 사용하고 계신다면 CMD 나 PowerSell을 사용하시면 될 것 같습니다. 맥은 기본적으로 Terminal 이라는 앱, 그리고 Iterm2 이라는 유저가 따로 설치한 터미널 앱을 많이 사용하는 것 같습니다.터미널에서 명령어를 입력해 조작하는 CLI 는 개발할 때 정말 많이 사용하기 때문에, 익숙해지시는 것을 권장합니다! 너무 어렵게 생각하지 마시고 한 번 시도해보십쇼! 감사합니다.
- 0
- 2
- 52
질문&답변
hibernate.core 버전 변경
안녕하세요. Corin님, 공식 서포터즈 y2gcoder입니다.첨부해주신 build.gradle을 보면 오타가 있는 것 같습니다! ext["hibernate.versioin"] = "5.6.5.Final" //ASIS ext["hibernate.version"] = "5.6.5.Final" //TOBE위와 같이 변경하고 한번 더 확인해보시겠습니까? 감사합니다.
- 0
- 1
- 28