[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요, 접근제어자 관련 질문드립니다. 1) AccessData와 AccessInnerMain 내용에서, 외부인 AccessInnerMain에서 AccessData의 innerAccess()가 호출 될 수 있는 것은 public이기 때문입니다. 내부 호출인 inneerAccess()의 내용이 표시될 수 있는 것은 innerAccess()의 필드가 private int privateField라 하여도 public이기 때문에 가능한 것인가요? 또한 강의 자료 중 , innerAccess()메서드는 자신의 private 필드와 메서드에 모두 접근 할 수 있다고 되어 있는데, 여기서 private 필드와 메서드가 무엇을 의미하는 것인지 정확히 모르겠습니다. private int privateField와 privateMethod를 의미하는 것일까요? 아니면 innerAccess()메서드는 자신의 필드가 없고 지역변수가 있는 것인가요? 추가적으로, 아래 코드의 경우, public void innerAccess (){ System. out .println( "내부 호출" ) ; publicField = 100 ; defaultField = 200 ; privateField = 300 ; publicMethod() ; defaultMethod() ; privateMethod() ; } privateField, publicField나 defaultField를 innerAccess의 지역변수라 말해야 할지, AccessData 클래스의 필드라 할지 잘 모르겠습니다. 2) AccessOuterMain에서 import access.a.AccessData;를 해주어도 defaultField,defaultMethod나 privateField,privateMethod가 실행이 안되는 것은 private, default 접근 제어자 그 자체의 정의에 의해서 안되는 것인가요? 이 사례에서 import는 AccessData클래스와 access.a 패키지에 접근하게 해주지만, 관련 클래스 및 패키지의 필드와 메서드가 private이나 default로 되어 있는 이상 접근하지 못하는 것으로 이해하였는데, 맞는지 확인 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. private static class NetworkMessage {...} 이 정적 중첩 클래스에서 static 을 제거하면 private class NetworkMessage {...} 내부 클래스가 되는건가요? 근데 뒤에 강의를 보면 내부 클래스는 아닌거 같은데, 정적이 아닌 그냥 중첩 클래스인 건가요?
graphql-upload 버전 13.0.0으로 강의와 똑같이 맞춰줬는데도 에러가납니다 ㅠ_ㅠ 혹시 해결방안이있을까요? 계속 검색중인데 힘드네유.. 혹시나 제가 해결했다면 해결했다고 댓글달겠습니다 해결했다는 댓글이 없으면 계속해서 트라이중인거니 댓글로 도와주시면 너무 감사하겠습니다
8.팰린드롬 문제 관련 입니다. String temp = new StringBuilder(str).reverse().toString(); 이 부분에서 스트링빌더를 문자열로 다시 바꿔주는데 문자열을 왜 다시 문자열로 바꿔주는지 이해가 안갑니다.. 인풋값으로 문자열이 아닌 다른값을 받아왔을때를 위한 코드인지 궁금합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
[오타 제보 내용] 3. 컬렉션 프레임워크 - ArrayList 교안 pdf 직접 구현하는 배열 리스트2 - 동적 배열 배열의 크기를 초과할 때 (5) 이렇게 증가된 배열에 데이터를 추가하면 된다. 물론 데이터가 추가되었으므로 size 도 하나 증가시킨다. 기존 배열( x001 )은 더는 참조하는 곳이 없으므로 GC의 대상이 된다. 그림에서는 x100으로 나와있는데, 교안에는 기존 배열의 주소를 x001로 표시하고 있습니다. 기존 배열의 주소값 확인 부탁드립니다. 직접 구현하는 배열 리스트3 - 기능 추가 주제 내용 맨 첫 부분에 나오는 add(Index, 데이터) 와 remove(Index) 의 파라미터가 Index 라고 I가 대문자로 나와 있습니다. i(소문자) 확인 부탁드립니다. 감사합니다.
❗ 질문 작성시 꼭 참고해주세요 최대한 상세히 현재 문제(또는 에러)와 코드(또는 github) 를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다. 맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경 도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황 을 올려주세요! 안녕하세요 강사님!! 강의에서 type을 정의할 때 type과 interface 키워드 모드 사용하는걸 볼 수 있는데,어떨때 type을 사용하고 interface를 사용하는지 알 수 있을까요? 느낌상 확장성(extends), 재사용성(제네릭) 등 타입이 확정적이지 않은곳에서 interface를 사용하고 그 이외에는 type을 사용하는것같은데 맞을까요?
spring data jpa를 사용하면, JpaRepository 를 상속한 인터페이스를 보통 정의하게 되잖아요? 이 경우에도 특정 기술에 의존한다고 볼 수 있는건가요? 이런 경우, 실질적으로 spring data jpa 와 관련된 import 구문이 들어오기는 하지만, 구현체의 내용이 없기 때문에 코드 변경에 따른 여파가 없다고 느껴지긴 하거든요. 만들면서 배우는 클린 아키텍처라는 책에는 이를 persistence layer 로 분류하고 있더라구요. 이 인터페이스는 어떤 레이어에 속한다고 보시나요? 질문을 드린 이유는 실제 헥사고날 아키텍처나 이런 것들을 다루는 곳에서 보면, 비즈니스 레이어에 인터페이스를 선언하고 이를 상속하는 인터페이스를 구현하는 경우들이 있는데, 실제 구현내용이 없는데 persistence layer 라고 봐야하나? 라는 생각이 문득 들었습니다. 예시: // business layer 에 선언 interface BusinessRepository {} // persistence layer에 선언 interface DataAccessRepository: JpaRepsitory<생략>, BusinessRepository
안녕하세요. 좋은 강의 감사합니다. 기존에는 PaymentService 클래스의 prepare 메서드 내부에서 provider 객체를 생성했었습니다. 강의 중간에 토비님께서 provider를 클래스 필드로 변경하시고, 생성자에서 객체 생성을 하셨습니다. 변경 이후에 Provider는 PaymentService와 생명주기를 함께합니다.(생명주기라는 단어가 올바른지 모르겠네요.) PaymentSerivce가 메모리 해제되지 않으면, Provider도 계속 메모리를 차지하게 됩니다. 하지만 메서드 레벨에서 객체 생성을 한다면, Provider는 GC에 의해 비교적 일찍 메모리 해제가 될 수 있을 것 같습니다. 제 생각에는 클래스와 메서드의 호출 패턴에 따라서 선택이 달라질 것 같은데, 토비님께서는 클래스 필드 레벨 선언과 메서드 레벨 선언을 정하시는 룰이 있으신지 궁금합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] gradle에도 있고 build.gradle에도 있는데 hello.html을 실행하면 저렇게 에러 페이지가 뜹니다.
안녕하세요 토비님. OrderRepository 인터페이스가 application layer에 있고, 이걸 구현한 구현체가 persistence layer에 있는데요. 일반적인 layered 아키텍처라고 하면, 의존성의 방향이 아래로 향해야하는데, 이 경우라면 의존성이 application 으로 향하게 되는거 같은데요. 만약에 이런식으로 구성한다면 port & adapter 같은 개념을 별도로 두지 않더라도, 의존성방향에 의하면 헥사고날 (혹은 클린 아키텍처) 라고 부를 수 있는건가요? 아니면 그럼에도 layered 아키텍처라고 부르나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예) [질문 내용] 안녕하세요. 저는 지금 강의를 보고 있는 비전공자 학생입니다. 다름이 아니라 강의 시간 기준 약 8분대에 println("a = " + a + ", b = " + b)라는 코드가 있습니다. 이 때 +a+가 의미하는 것이 무엇인지 또 " " 안에 ,를 넣고 b를 넣었는지에 대해 물어보고 싶습니다. 감사합니다 .
해당 강의는 무료 제공 강의이기에 별도의 강의 내용 코칭은 제공해드리고 있지 않고 있습니다. (단, 내용 오류 신고는 지속적으로 받고 있으며, 기존에 신고 받았던 내용은 영상 상세 설명란에 참조 내용으로 적혀있습니다) 수익을 내지 않는 무료 제공 강의다보니 내용 오류나 오탈자가 있을 수 있습니다. 내용 오류는 dbswjdgkssla@naver.com 으로 신고해주시면 주기적으로 검토해서 반영하고 있습니다. (단순 오탈자는 건당 100원, 단순 오탈자가 아닌 내용 오류 신고는 건당 1000원의 신고 포상금을 드리고 있습니다) 강의에 오류가 있는 부분은 강의 내용에 사전 안내가 되어 있습니다, 해당 오류는 유튜브에서 이미 인지한 오류이며, 올인원 교재 업데이트(24년) 전까지 한 강씩 차례로 수정 반영될 예정입니다. 04번 해설에서 SELECT COUNT(COL2) .... 이니깐 개수를 셀 때는 COL2에서 NULLL 값을 제외하고 계산하니깐 4개인거 아닌가요? 강의에서는 COL1에서 NULL 값을 제외하고 4개를 세시는데 헷갈리네요. 제가 잘못 이해한 부분이 있는거라면 그 부분에 대해서 설명 부탁드립니다.
기본 강의는 모두 봤고 이제 기출로 익혀보려고 합니다. 그런데 선생님 강의 보는 사람들의 오픈채팅이 있으면 더 도움 되겠다는 생각이 드네요 강의 중간 중간에 오류도 보이는데 그때마다 게시판에 적을수도 없고... 다른 분들의 질문을 통해서 더 이해되는 부분이 있지 않을까 싶기도 해서 시작하시는 초반이라 서로 도움이 되지 않나 싶어요~ 흐름이 빠르다 보니 아쉬운 점이 있지만.. 시험용 강의로 참 좋네요
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
저는 이전엔 윈도우에서 yarn이 아닌 npm을 통해 패키지를 설치해왔었습니다. 최근 맥으로 OS를 바꿨고 강사님이 알려주신대로 yarn을 설치를 해서 사용을 하려고 했으나 몇몇 다른 점 및 문제점이 생겼습니다. 첫째로 yarn init시에 강사님처럼 엔터를 치는 과정이 생략되고 바로 init이 완료되는가 하면 추가로 .yarn 폴더, .editorconfig, .pnp.cjs 등 여러 다른 파일들이 생성됨과 동시에 node_modules 폴더가 생성되지 않았습니다. 또한 package.json파일은 생성되었지만 package-lock.json 파일이 생성되지 않았습니다. 또한 yarn add express를 명령어로 입력하여 package.json 파일에 dependencies에 분명이 express가 추가가 되었고 2_express_server.js 파일에서 express를 require해와서 쓸 때도 자동완성도 잘 되었습니다. 근데 node 2_express_server.js 를 통해 서버를 실행해보면 express라는 모듈을 찾을 수 없다고 계속 나옵니다. 이게 yarn의 문제인지 아니면 그냥 버전의 차이때문에 설치하는 방법이 달라진건지 궁금합니다. 일단 현재 npm install을 통해 진행을 하곤 있지만 강사님께서 계속해서 yarn을 이용해 패키지를 설치하실 예정으로 보이시길래 웬만하면 저도 yarn으로 설치하면서 강사님을 따라하는게 더 좋을 것 같아 질문드립니다. 감사합니다.
안녕하세요. 해당 강의를 수강하다 궁금증이 생겨 질문 드립니다. 강의에서는 MemberService 같은 경우에 @Transactional public Long join(Member member) { validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } 이런식으로 엔터티를 파라미터로 받고, MemberApiController 같은 경우에는 @PostMapping("/api/v2/members") public CreateMemberResponse saveMemberV2(@RequestBody @Valid CreateMemberRequest request) { Member member = new Member(); member.setName(request.getName()); Long id = memberService.join(member); return new CreateMemberResponse(id); } 별도의 DTO를 파라미터로 받아 member 엔티티 객체를 생성하여 set 해주는 식으로 진행하였는데, (set 말고 생성메소드를 이용해야하는건 알아요!) 1. 엔티티를 외부에 노출하면 안되고, API 스펙이 바뀌어도 문제가 생기지 않기 위해 Controller단에 파라미터 및 반환값에 DTO를 사용하는 것은 당연하다. 그렇다면 서비스나 리포지토리에서는 파라미터로 엔티티를 받아야 하나요? DTO를 받아야 하나요?? 2. 만약 DTO를 Controller에서만 받고, Service단에서 파라미터로 엔티티를 받는다면, Controller 단에서 엔티티 객체를 생성하여 Dto의 정보를 넣어준 뒤 Service단으로 보내줘야하는데, Controller단에서 엔티티를 생성하는 것이 괜찮은 방법인가요? 어떤게 더 좋은 방법이고, 실무에서 더 많이 쓰는 방법인지, 어떤 장단이 있는지도 궁금합니다.