무료행사(2) 투포인터 문제에서 같은 가격을 가진 상품이 없다고 했으니 while의 else문(target과 일치하는 경우) 에서 l++ 만 하는 것 보다, 어차피 현재의 l, r 값은 검수 완료된거니 l++, r— 둘다 이동하는게 더 적절한 코드 아닌가 생각했는데요. 왜 l++ 만 하신건지 궁금합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 스크립트 Hibernate5JakartaModule 호출시 에러가 발생하여 확인 차 문의드립니다.ㄴ> om.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule Unable to get public no-arg constructor 스프링부트 버전 문제인 것으로 판단하여 프로젝트의 스프링부트 버전확인시 4.1.0 버전으로 실행하였고 해당 버전에서 라이브러리와 클래스 변경이 있는 것 같아 질문 남깁니다. // Hibernate5jakarta // implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5-jakarta' // -> 변경 // Hibernate7Module implementation 'tools.jackson.datatype:jackson-datatype-hibernate7' package jpabook.jpashop; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import tools.jackson.datatype.hibernate7.Hibernate7Module; @SpringBootApplication public class JpashopApplication { public static void main(String[] args) { SpringApplication.run(JpashopApplication.class, args); } // @Bean // Hibernate5JakartaModule hibernate5Module() { // Hibernate5JakartaModule hibernate5JakartaModule = new Hibernate5JakartaModule(); //// // 강제 지연 로딩 설정 // hibernate5JakartaModule.configure(Hibernate5JakartaModule.Feature.FORCE_LAZY_LOADING, true); // return new Hibernate5JakartaModule(); // } // ㄴ 변경 @Bean Hibernate7Module hibernate7Module() { Hibernate7Module hibernate7Module = new Hibernate7Module(); // 강제 지연 로딩 설정 // hibernate7Module.configure(Hibernate7Module.Feature.FORCE_LAZY_LOADING, true); return hibernate7Module; } }
안녕하세요. 백엔드/서버 개발자로 이직을 준비하고 있는 1년차 SI 개발자입니다. 강의를 들으면서 늘 느끼는 점이 있습니다. 강의에서 보여주시는 코드는 정말 간결하고 효율적이고, 특히 “한 사람이 조금 더 고민해서 코드를 작성하면 다음 사람이 유지보수하기 편하다”는 말씀에 많이 공감하고 있습니다. 저도 실무에서 신규 기능을 추가하거나 기존 기능을 수정할 때 다른 사람이 작성한 코드를 보게 되는데, 그때마다 유지보수하기 쉬운 코드의 중요성을 많이 느끼고 있습니다. 그런데 최근 작업을 하면서 한 가지 의문이 생겼습니다. 어떤 코드에서 분기 조건만 다르고, 마지막에 호출하는 메서드 형식은 완전히 같은 상황이 있었습니다. 예를 들면 if문 안에서 조건에 따라 넘겨주는 값만 다르고, 최종적으로 호출하는 메서드는 동일한 구조였습니다. 처음에는 각 분기 안에서 바로 메서드를 호출하면 코드 흐름이 단순해 보였습니다. if (조건1) { Method(a, b, c); } else if (조건2) { Method(d, e, f); } 하지만 이렇게 작성하면 호출 형식이 계속 반복되고, 나중에 파라미터가 추가되거나 호출 방식이 바뀌면 여러 군데를 수정해야 해서 유지보수성이 떨어질 것 같았습니다. 그래서 조건에 따라 필요한 값만 먼저 변수에 세팅하고, 마지막에 메서드는 한 번만 호출하는 방식이 더 낫다고 생각했습니다. if (조건1) { value1 = a; value2 = b; value3 = c; } else if (조건2) { value1 = d; value2 = e; value3 = f; } Method(value1, value2, value3); 이 방식은 호출부 중복은 줄어들지만, 반대로 코드 길이는 늘어나고 중간 변수가 많아집니다. 또 단순한 if문 하나로 처리할 수 있는 로직을 굳이 변수 세팅 방식으로 바꾸는 게 항상 좋은 선택인지 고민이 됩니다. 결국 궁금한 점은 이것입니다. 분기마다 값만 다르고 호출 형식이 같은 경우, 실무에서는 어떤 기준으로 코드를 작성하는 것이 더 좋은가요? 단순히 코드 줄 수가 짧은 것이 좋은 코드인지, 아니면 조금 길어지더라도 중복 호출을 줄이고 변경 지점을 한 곳으로 모으는 것이 좋은지 아직 실무 경험이 부족해서 판단이 어렵습니다. 이런 상황에서 실무적으로 어떤 기준으로 리팩토링 여부를 판단하면 좋을지 궁금합니다.
안녕하세요 이번에 정처기 실기 접수한 비전공자 취준생입니다 다름이 아니라,, 한번 들어도 사실 100이해가 된게 아니라 아직은 문제풀이에 많은 어려움이 있는 상태입니다 사실 시험까지 얼마안남았는데 응시하는게 맞는지 아니면 여유를 두고 하는게 맞는지 고민이 됩니다 냉정하게 예를들어 노베이스 상태에서 지금 시간에서 충분히 가능하다고 생각하시는지 궁금합니다,, 간단한 코드는 괜찮은데 좀만 길어지면 쉽지 않네요 ㅠㅜㅠㅠ 너무 답답한 마음에 글을 올리게 되었습니다 좋은 강의 찍어주셔서 감사합니다
강의: 상속과 생성자 호출순서 9:19 해당 영상에서 super(model, year)로 인해 부모 기본 생성자는 출력을 안하는 것을 이해했습니다. 하지만 출력 결과에 자식 기본 생성자도 출력이 되지 않는데, 자식 기본 생성자가 출력이 되는 조건과 미출력 되는 조건이 따로 있는지 궁금합니다.
강의명: 상속과 생성자 호출순서 6:19에 나오는 코드에 부모 및 자식 기본 생성자가 있는 상태에서 최종 출력값에 부모 기본 생성자 출력 후 자식 기본 생성자가 출력이 되었습니다. 하지만 10:23에 나오는 코드에서도 부모 기본 생성자 및 자식 기본 생성자가 있는 상태이지만 출력은 부모 기본 생성자는 출력이 되었고 자식 기본 생성자는 출력이 되지 않았습니다. 차이가 뭔가요?
16강 9:44초 포인터가 이해가 안갑니다. *ptr_b=str2 여기서 **ptr_b=*(&ptr_a)가 되어서 **포인터가 2개 되어서 ptr_a의 주소의 값이 되어서, ptr_b[1]=ptr_a[1]d] 이렇게 되는 건가요? 표로 설명 한번만 해주셨으면 좋겠어요 화면에 어딘가 있다고 설명해주셨지만 이해가 잘 안되네요ㅠㅠ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. Data3 data1 = new Data3("A"); System.out.println("A count:" + Data3.Count); System.out.println("A count:" + data1.Count); 이렇게 data1.Count로 호출해도 컴파일에러가 나지않는데 이렇게 사용해도 문제가 없는지 궁금합니다
char *ptr_a=str; char **ptr_b=&ptr_a; ptr_a는 str 배열의 주소를 저장한 포인터로 선언이 된거고, ptr_b는 ptr_a 주소를 저장한 포인터인데, ptr_b 포인터를 선언할 때 *이거 별표를 꼭 2번 써야 하는건가요? char *ptr_b=ptr_a; 이렇게 선언하면 안되는건지, 그리고 ptr_a도 배열인데 앞에 &를 쓰면 오류가 아닌지 헷갈립니다.
전체적으로 답을 먼저 알려주지 마세요.. 강의를 열심히 수강하고 있는 수강생입니다. 한 가지 건의드리고자 질문으로 남겨봅니다. 수업 전반에 걸쳐 어떤 문제는 답이 먼저 나오는 문제가 있고 답이 나중에 나오는 문제가 있습니다. 답을 나중에 표시해주는 방향으로 통일해주셨으면 좋겠습니다. 물론 영상을 수정 후 다시 올려야하기 때문에 안 해주실 것은 알고 있지만 너무 불편하네요 통일감이 없고 영상을 멈추고 스스로 풀어보는 과정에 눈에 띄니 맥이 딱 풀리고 한 두번이 아니라 불편함에 남겨봅니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Overloading3의 main에서 호출하는 add(1, 2)가 형변환이 된다면 둘 다 해당돼서 들어갈 수 있을 것으로 보입니다. 하지만 정확히 int를 매개변수로 갖는 add가 호출되어 오류가 발생하지 않습니다. 하지만 Overloading2에서 myMethod(1, 1)을 호출한다면 두개의 메서드 중 어떤 것을 선택할지 몰라서 오류가 발생합니다. 정확히 어떤 경우에 컴파일 오류가 발생하는 것일까요?
안녕하세요, 강의 만드신다고 고생많으셨습니다. 초보가 따라 가려니 좀 힘드네요. 자세한 설명 없이 뭔가 스킵하고 점프하는 느낌이고 같은 강의가 두 개씩 있어서 뭐가 뭔지 싶어서 다 보고 있습니다. 그리고 강의 당시와 시간이 좀 지나서 버전들이 전부 업그레이드 되어서 순간 막힐 때가 있습니다. 다시 질문으로 돌아와서, 화면과 같이 에러가 하나 뜹니다. 왜 그런 걸까요? 계속 진행 해도 될까요? 그리고 강의 내용 중에서 name:jh 3306/banbu 그 다음 줄 username:bb 에서 'bb'는 어디서 나온 건가요? ai하고 이것과 에러에 대해 이야기 하고 검색하고 두 시간 넘게 잡아 먹고 진도를 못나가고 있습니다.