게시글
질문&답변
2024.03.29
예외처리
안녕하세요. ghuhan18님, 공식 서포터즈 y2gcoder입니다. ExampleA는 실제로 존재하는 파일을 읽어 안의 내용을 복사해 새로운 파일을 만드는 클래스이자 프로그램입니다. 말씀하신 것처럼 첫번째 케이스에서는 없는 파일을 읽으려고 했으니 예외가 발생하고 프로그램이 더 진행되지 못하고 종료되었습니다. 두번째 케이스에서는 실제로 있는 파일을 읽어 해당 내용을 복사해 new.txt라는 새로운 파일을 만들었습니다. javac 는 .java 파일을 .class 로 컴파일해주는 것입니다. 어떻게 보면 실행할 수 있는 파일로 만들어줬다고 보시면 될 것 같습니다. 해당 파일을 실행해주는 명령어는 그 밑에 작성하신 java ExampleA ~ 입니다. 프로그램이 실행하다 에러가 발생했을 때 다시 컴파일을 해주지는 않습니다. 코드가 잘못된 것이라면 다시 컴파일을 해줘야겠지만 이 경우는 실행할 때의 입력값이 잘못된 것이기 때문에 그냥 컴파일된 실행 파일에 올바른 입력값을 넣어 다시 실행해주면 됩니다! 감사합니다.
- 0
- 1
- 61
질문&답변
2024.03.29
cascade와 orphan removal이 헷갈려요 ㅜㅜ
안녕하세요. Jaesang Yoon님, 공식 서포터즈 y2coder입니다. AI 답변을 참고해주시고, 추가로 궁금한 사항은 제 댓글의 답글 혹은 질문을 새로 남겨주세요 🙂 특히 답변 링크들도 주의깊게 봐주시면 감사하겠습니다! 감사합니다.
- 0
- 2
- 22
질문&답변
2024.03.29
예외처리
안녕하세요. ghuhan18님, 공식 서포터즈 y2gcoder입니다. CheckedException은 예외 처리를 해주지 않으면 컴파일 단계에서 오류가 발생합니다. (사진)보시면 예외 처리 없이 그대로 실행했을 때 빌드 단계에서부터 잡거나 던지라고 오류를 던져주게 됩니다. 더불어 현대 IDE는 이러한 CheckedException이 발생할 수 있는 코드를 작성할 때 미리 개발자에게 알려줄 수 있습니다 ! (사진)코드 밑에 빨간 줄이 뜨면서 친절하게 예외 처리가 필요하다고 알려주고 있습니다. 이러한 이유로 저희가 IDE를 사용하는 것 같습니다 🙂 감사합니다.
- 0
- 1
- 52
질문&답변
2024.03.29
[3.StringClass][str.concat] concat질문 (p.8, p.15)
안녕하세요. 개화동과자사장님, 공식 서포터즈 y2gcoder입니다. 불변객체는 연산결과를 새로운 객체로 반환한다는 것을 기억하시면 차이를 이해하시기 쉬우실 것 같습니다! 말씀해주신 p.8 에서는 str.concat() 의 결과를 출력하지 않고, str 객체를 출력하고 있습니다. 불변 객체의 이러한 연산 메서드의 특징 중 하나는 대상 객체에는 영향을 주지 않는다는 것입니다. 그래서 대상 객체인 str 을 출력했기 때문에 " java" 가 결합되지 않은 "hello"가 출력된 것입니다! 반면 p.15에서는 str.concat() 를 그대로 출력에 사용하고 있습니다. str.concat()의 반환 타입은 연산한 결과물(문자열, 새로운 String 객체)이기 때문에 "!!!"가 붙은 문자열이 출력되고 있습니다. 하지만 이 때도 str 을 출력해보시면 원래의 문자열 그대로 출력되는 것을 보실 수 있습니다 🙂 감사합니다.
- 1
- 1
- 42
질문&답변
2024.03.28
generated생성경로
안녕하세요. 왕이될상인가님, 공식 서포터즈 y2gcoder입니다. compilejava를 하면 강의와는 달리 프로젝트 바로밑에 build폴더가 생기고 그안에 generated/source/annotationProcessor/main....Qitem이 생깁니다. => build tool을 gradle 로 하면 말씀하신 해당 위치에 QClass 들이 생성되는 것이 맞습니다! 그런데 아래를 실행하면 build폴더부터해서 아래폴더들이 다 지워집니다. 경로가 강의와는 달리 생성되는것과, 밑의 delete file을 실행했을 때, 어떻게 생성된 것들이 지워지는지 궁금합니다.(경로가 다른데) clean { delete file('src/main/generated') } => 이 부분은 gradle task 명령어와 관련이 있습니다. 저희는 스프링 부트에서 gradle을 빌드 툴로 사용하고 있습니다. 애플리케이션을 실행하면 컴파일 단계를 거쳐 빌드한 결과물이 /build 라는 디렉토리에 생성되고, 실제 애플리케이션은 이 /build 내에 생성된 컴파일된 결과물(class 파일, 메타 파일 등)을 가지고 실행됩니다. clean이라는 명령어는 gradle 이 제공하는 표준 태스크로 빌드 과정에서 생성된 모든 파일을 삭제합니다. build.gradle 스크립트에서 이 clean 태스크의 동작을 커스텀하여 특정 파일이나 폴더를 추가로 지울 수 있습니다. 위의 코드조각은 clean 명령어를 실행할 때 해당 위치의 파일들도 같이 지워지게끔 하는 코드입니다. 그래서 clean 명령어를 실행해주면 build 디렉토리와 함께 해당 디렉토리의 파일들도 지워지게 됩니다! 감사합니다.
- 0
- 1
- 19
질문&답변
2024.03.28
JpashopApplication 실행 시
안녕하세요. 김기홍님, 공식 서포터즈 y2gcoder입니다. 제가 김기홍님의 질문을 정확하게 이해했는지는 모르겠으나 애플리케이션이 실행 중이라면 다시 실행 버튼을 클릭했을 때 그러한 확인하는 내용의 다이얼로그가 뜨는 것이 정상입니다! (사진) 말씀하신 것처럼 해당 체크 옵션을 눌러 다시 다이얼로그를 보지 않게 할 수도 있고, 아니면 빨간 네모(정지) 버튼을 클릭하여 애플리케이션을 종료하고 실행해주시는 것으로 해결하실 수 있습니다! 감사합니다.
- 0
- 3
- 38
질문&답변
2024.03.28
h2대신 mysql로 했습니다
안녕하세요. 팩맨님, 공식 서포터즈 y2gcoder입니다. application.yml 의 들여쓰기가 잘못되었을 수 있습니다! 올려주신 application.yml로만 봤을 때는 jpa가 spring 과 같은 레벨로 보입니다! 혹시 아래와 같이 spring 하위에 jpa가 오도록 해도 똑같은 증상이실까요? spring: datasource: url: jdbc:mysql://localhost:3306/jpashop username: user password: user1234 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: create properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect format_sql: true logging: level: org.hibernate.SQL: debug 감사합니다.
- 0
- 2
- 77
질문&답변
2024.03.28
프록시 강의 38:27 질문드립니다. (em.close())
안녕하세요. Jaesang Yoon님, 공식 서포터즈 y2gcoder입니다. AI 답변을 참고해주시고, 추가로 궁금한 사항은 제 댓글의 답글 혹은 질문을 새로 남겨주세요 🙂 감사합니다.
- 0
- 2
- 40
질문&답변
2024.03.28
섹션9상속-상속과 메모리 구조 질문있습니다!
안녕하세요. 한슬기님, 공식 서포터즈 y2gcoder입니다. 넵! 생각하신 게 맞습니다 🙂 감사합니다.
- 0
- 1
- 65
질문&답변
2024.03.27
피라미드를 찍을 때 for을 두개만 이용해서 가능하시다고 하셨는데
안녕하세요. 김대경님, 공식 서포터즈 y2gcoder입니다. 피라미드를 찍을 때 for을 두개만 이용해서 가능하시다고 하셨는데. 어떻게 해야하나요? => 혹시 어떤 부분을 보고 이렇게 생각하셨는지 말씀해주시면 감사하겠습니다! 혹시 제가 남긴 답변(클릭) 을 보고 말씀하시는 거라면 for 문 2개가 아니라, 이중 for 문 을 사용할 수 있으면 가능하다는 취지로 말씀드린 것이었습니다! 오해하셨다면 죄송합니다. (사진)이중 for문이라는 것은 for문이 총 2개가 아니라 작성해주신 것처럼 for문 내에 for문이 있는 2중첩 for문을 말씀드린 것입니다! 저도 오랜만에 피라미드 별찍기를 구현해본 코드를 올려보겠습니다! public class Pyramid { public static void main(String[] args) { int rows = 5; for(int i=0; i 감사합니다.
- 0
- 1
- 55