[String 클래스 - 문제와 풀이2 - 문제7] 과 관련된 질문입니다. 이전 강의에서 String은 불변 객체라고 하셨는데요, 그렇다면 사진과 같이 코드를 작성을 했을 때 출력값이 trim()을 호출하기 전의 값이 되어야 할 것 같은데 실행을 해보면 trim()을 호출한 이후의 값이 출력이 됩니다. 제가 어떤 부분을 잘못 이해하고 있는 걸까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 교재에 나온대로 application-properties를 설정하였는데 왜 /error-500으로 호출하면 /error-ex처럼 나오지 않는건가요 ? 밑에 사진은 application-properties입니다.
class Test{ var age = 100 var name = "배트맨" func simpleFunction(){ print("안녕하세요 저는 \(name)입니다. 저는 \(age)살임") } init(){ simpleFunction() print("부모 클래스 init") } } class Test1: Test{ override func simpleFunction(){ print("자식 클래스") } } let test1 = Test1() test1.simpleFunction() 자식 클래스 부모 클래스 init 자식 클래스 위와 같은 상황입니다 일단 Test1에 init 메서드가 없으니 컴파일러가 자동으로 init(){ super.init() } 을 생성하겠죠 그럼 부모 클래스의 init을 호출할 거고 부모 클래스의 init에는 simpleFunction 메서드 호출 구문이 있으니 호출하겠죠 근데 분명 부모 클래스 내에서 호출했는데 왜 재정의된 simpleFunction 메서드의 내용이 호출됐는지 이해가 되질 않습니다 구글링이랑 gpt 이용해서 알아 보니 재정이된 메서드는 부모 클래스에서 호출하더라도 재정의된 내용이 호출된다는데 이 말대로라면super.simpleFunction를 이용해서 메서드를 호출한다고 하더라도 재정의 됐으니 재정의된 내용이 출력되어야 할텐데 super를 이용한 호출은 또 재정의 되기 전 내용이 출력됩니다. 호출 기준이 너무 헷갈리는데 이 부분에 대해서 알려주시면 감사하겠습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 선생님 아주 유익한 강의 잘 듣고 있는 수강생 입니다 ! 항상 감사합니다! 강의에서 인터셉터 중 postHandle은 컨트롤러 또는 다른 비즈니스 로직에서 예외가 발생한 경우 postHandle이 호출되지 않는다고 하셨습니다. 근데 위 사진을 보시면 postHandle이 호출되고 로그가 나와있습니다. /error-ex는 postHandle이 호출되지 않는 것을 확인했는데 /error-404, /error-500은 postHandle이 호출됩니다. 이유가 궁금합니다 !!
감정일기장은 아니지만 앞서 연습한 todolist 를 일단 배포해보고싶어서 vercel 에 회원가입을 하고 로그인까지 해놓고 다시 vscode에서 터미널에서 vercel login 을 입력하고 엔터를 치면 아래와 같이 에러메시지가 떠서 더이상의 진행을 못했는데요, 혹시 다른 뭔가를 더 해야 하는건지요 F:\★수업★\WEB수업\웹퍼블리싱\11-Front-End\React\react-study\6-todolist>vercel login 'vercel'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
4:32초 문제 메인 클래스 두번째 줄 A s2 = new B('Y"); 를 실행하면 B(char x) 생성자를 호출하잖아요. 여기서 원래 부모의 기본 생성자를 불러야 하는데 this();가 첫줄에 있어서 B클래스의 기본생성자를 호출한거죠?? this();때문에 B클래스의 기본생성자를 호출햇는데 B클래스의 기본생성자에 super();가 없었어도 A클래스의 기본생성자 호출 -> B클래스의 기본생성자 호출 -> B(char x)의 출력문 시행하는게 맞을까요??
강사님 안녕하세요! 이제 방학이라 1.독하게 되새기는 C프로그래밍/ 자료구조 2C++ 3.시스템 프로그래밍 4. 네트워크 강의들 순서대로 공부할 예정이고 강의를 통해 어느정도 배경지식이 쌓이면, 추천해주신 제프리 윈도우 책 등을 보며 학습하려고 합니다. 저는 게임서버쪽을 희망하고 있습니다. 혹시 제가 잘 몰라서 질문 드리는건데, 저렇게 수강을 하게 되면 로드맵 할인쿠폰 적용이 안되더라구요 가능하다면 저 강좌들을 구매할 쿠폰을 받을 수 있을까요?ㅜㅜ 해결 유튜브 멤버십 가입 후 쿠폰 받아서 구매 완료하였습니다! 열공하겠습니다~!
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
마지막 업로드 파일 기준으로 메모리 릭이 발생되는데요. 서버가 열리지 않았을땐 발생하지 않아서 서버와 연결하는 부분인것 같았고 구글 프로토퍼프때문인가 싶어 검색하여 게임 소멸자에 google::protobuf::ShutdownProtobufLibrary(); 이 구문을 추가했더니 조금 릭이 줄긴했지만 여전히 메모리 릭이 발생합니다. 게임세션이나 서비스가 상호참조되어 스마트 포인터가 해제가 안되나 해서 열심히 찾아봤지만 그부분 문제가 아닌것 같더라구요.. 어느 부분에서 발생하고 어떻게 고쳐야 하는지 알려주시면 감사하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 내용을 보면, 연관관계의 주인에 값을 입력해야 한다고 하셨습니다. 그런데 그 뒤로는 항상 양쪽다 값을 입력해야 한다고 하시는데, 어느 말이 맞는지 혼동이 옵니다. Team team=new Team(); team.setName("TeamA"); em.persist(team); Member member=new Member(); member.setUsername("member1"); member.setTeam(team); em.persist(member); em.flush(); em.clear(); Team findTeam=em.find(Team.class,team.getId()); List<Member> members=findTeam.getMembers(); for(Member m:members){ System.out.println(m.getUsername()); } tx.commit(); 에서 연관관계의 주인에 team을 설정하였습니다. FK로 연결되어 있기 때문에 team.getMembers().add(member)을 하지 않아도 for문에서 정상적으로 데이터가 조회됩니다. 그런데 flush와 clear를 제거하면 데이터가 조회되지 않습니다. 영속성 컨텍스트에 저장될 때도 generateValue가 발동되어 id값이 생성되어 저장되는걸로 아는데, 왜 빈 객체로 저장된다고 하시는건지 잘 이해가 가지 않습니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1. 선생님께서는 데이터타입을 void로 하시는데 그 이유는 무엇인가요? 제가 작성한 것처럼 int로 하고 return해도 클린코드가 되나요? 2. void를 쓰면 return을 쓰지 않아도(balance를 반환해주지않아도) AccountMain 클래스에 balance 값이 업데이트 되는 이유는 무엇인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] JPQL은 타입 안정성을 보장하나요? 컴파일 시점에 오류라는 것이 코드를 작성할 때, 빨간 줄이 생기며 오류메시지가 나오는 걸로 알고 있는데요. JPQL은 문자열로 쿼리를 작성하기 때문에 컴파일 시점에서 오류를 알 수 없다고 생각했는데요. 강의를 따라가다보니 컴파일 시점에서 오류를 알 수 있는 것 같아서 헷갈립니다.
// a. public void update( String password, String nickname) { this.password = password; this.nickname = nickname; } // b. public void update(UpdateContent content) { this.password = content.getPassword; this.nickname = content.getNickname; } 안녕하세요 update 방식에 대해 궁금한점이 생겼는데, Member 엔터티 클래스 내부에 위와 같이 update 메서드를 둔다고 했을 때, 매개변수의 개수가 많다고 가정하면, 별도의 클래스를 만들어서 b.처럼 전송해주는 방식을 사용해도 괜찮을까요? 엔터티 클래스와 별도의 클래스가 결합?되는 느낌이라 찝찝한데, a.와 b.중 좀 더 정석적인 방식이 있는지 궁금합니다!