[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
custom 파이프 챕터를 듣고있습니다. 위의 강의에서 8 자 보다 긴 비밀번호는 throw new 반환을 적용한다고 했을때 파이프 라인으로 적용해도 될것같고 , request dto 로 적용할수있을것 같단 생각을 했습니다. 이럴때 어디서 적용할지에 대한 기준치는 어떻게 판별하시나요 ??
Context Switch 강의에서 예제로 3개의 Thread를 생성해서 실행하는데, 이게 Context Swtiching에 의한 예로 볼 수 있다고 해주셨습니다. 근데 이전에 ThreadPoolExecutor를 이용할 경우 여러 개의 코어 프로세스를 이용하여 Thread를 병렬성 + 동시성 실행시킬 수 있었는데, 해당하는 예제에서는 하나의 코어에서 3개의 Thread를 실행시켜서 컨텍스트 스위칭이 일어나는 것으로 보아도 괜찮은걸까요? 만약 예제 코드가 ThreadPoolExecutor처럼 3개의 코어가 있을 때 3개의 스레드가 개별적으로 동작한다면 컨텍스트 스위칭이 일어나지 않는다라고 볼 수 있을 것 같아서요! 기본적으로 SpringBoot를 이용하여 Tomcat 서버로 구동이될 때, 요청마다 생성되는 쓰레드는 여러 개의 코어에 분배되어 처리되는 것일까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 ㅎ 강의 잘 보고 있습니다. 강의에서 access token 과 refresh token 을 사용하게 될때 postman 에서 Headers 탭을 이용하셨는데 이유가 있을까요 ? 옆에 Authorization 을 사용하지않고 Headers 를 사용하신 이유가 궁금합니다. !
private List<OrderSpecifier> getOrderSpecifier() { List<OrderSpecifier> orderSpecifiers = new ArrayList<>(); //승인 안된 관리자 우선 조회 orderSpecifiers.add(new OrderSpecifier<>(Order.ASC, admin.isAuthorized)); orderSpecifiers.add(new OrderSpecifier( new CaseBuilder() .when(admin.isAuthorized.eq("FALSE")).then(admin.createdAt.asc()) .when(admin.isAuthorized.eq("TRUE")).then(admin.createdAt.desc()) )); return orderSpecifiers; } 아래와 같은 order 순서로 정렬하려 하는데 2,3 조건을 나누는 부분이 잘 되지 않아 질문 남깁니다. CaseBuilder 대신 다른 방법이 있나요? 승인 받지 못한 관리자(isAuthorized = 'FALSE') 먼저 조회 isAuthorized = 'FALSE' 인 경우에는 createdAt asc isAuthorized = 'TRUE' 인 경우에는 createdAt desc
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. 기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다. 이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정) 합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다. 비전공자인데.. 쉬운것도 써주면서 해주시면 좋을것 같습니다... 아무리 쉽다고 해도 비전공자한테는 쉽지 않은것 같아요 계속 영상 돌려봐야되는 느낌입니다 조건 반복문 문제푸는 부분하는데 그냥 바로 하는거 같아요 처음에 원래 푸는 방식으로 풀고 빠르게 푸는방법이 아니라 바로 빠르게 푸는 부분이라서 이해가 안가요설명이 없어요
안녕하세요. 강의 내용에 대한 질문은 아니고, 코드 스타일에 대한 질문입니다. 함수 정의하실 때 어쩔 때는 function 키워드 사용하시고 어쩔때는 arrow function 사용하시는데 특별한 기준이 있으신가요? 아니면 그냥 그때그때 생각나는거로 쓰시는건가요? 아니면 this scope 고려해서 상황에 따라 선택하시는건가요? 특별한 기준이 혹시 있는건지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 에러를 다 찾아서 수정을 하였으나 마지막인 Test단계에서 계속 무시해버리네요 왜 그런건지 구글링을 해도 이해가 안됩니다. h2를 킨 상태에서도 이렇게 에러가 뜨는데 어떻게 해야할까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
post Controller > postPosts에 @UseGuard(AccessTokenGuard) 할 경우 디펜던시 오류가 납니다. 앞에 강의 중에 대처법을 보고 따라 해봐도 잘 안되는데, 어디어디에 무엇을 작성해야할지 모르겠습니다ㅠ /////////////////////////// 앞에 강의 차분하게 다시 보면서 해결했습니다,
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 컬렉션 페치 조인을 하면 페이징시 위험하기 때문에 지양해야 한다고 하셨는데 그러면 페이징을 하지 않을 때는 컬렉션도 페치 조인을 해서 성능을 올려도 괜찮을까요? 아니면 컬렉션은 항상 지연 로딩 하는 것이 안전한가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] findByName()의 테스트 부분을 보면 아무리 봐도 member1의 밸류값과 result의 밸류값이 "spring1"로 동일한데 테스트에 실패했다고 뜹니다 근데 한 가지 의문인 건 테스트 값 결과를 보면 동등성이 아닌 동일성 비교를 하는 거 같은데, MemoryMemberRepository의 store가 HashMap을 사용하기 때문에 equals()와 HashCode()를 재정의 해줘야 하는 걸까요? 강의 내용엔 따로 기재되지 않아 질문합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제껏 스프링 버전이 3점대라서 자바 버전인 source를 쓰지를 못하고 toolchain만 가능 하더라고요 그래서 그런지 실행을 하려고 했으나 위에 경고문과 같이 18버전이상부터 실행을 할 수 있게 만들어 놓은것 같은데 이런 상황에서는 어떻게 처리해야 할까요?
이전에 정수형 설명하실 때에는 int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; printf("%d", arr[2]) 이런것처럼 선언하실 때 앞에 *(포인터) 가 없었는데 문자열을 설명하실때에는 char *arr[2][2] = {{"Hello", "World"},{"app",dev"}}; 이런식으로 선언하실 때 *(포인터) 가 있더라구요. 포인터를 붙이신 이유와 써야될 떄 안 쓸때 차이점을 알 수 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 3.X 버전 설명처럼 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' // QueryDSL 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor 'jakarta.annotation:jakarta.annotation-api' annotationProcessor 'jakarta.persistence:jakarta.persistence-api' } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } 위와 같이 코드를 넣어 빌드를 하면 저는 build 안에만 QHello가 생성되고 다른 분들과 같이 src/main에 generated는 전혀 생성되지 않습니다. 강의에서는 QHello를 임포트 할 때, src/main 쪽의 QHello를 사용하는것 같은데, 저는 build 경로에서 직접 사용해야 되는 문제가 있습니다. 실제 사용하려면 src/main를 이용해야 될 것 같은데 어떻게 해야 src/main에 generated의 QHello를 생성할 수 있을지 문의드립니다.
Scope 동의단계2, 즉 최종사용자의 동의가 이루어졌을 경우 이 요청은 POST /oauth2/authorize 로 보내지는데요 이 과정에서 내부구현의 차이가 강의 버전과 맞지 않아서 코드를 확인해봤습니다. 1. 0.4.0 버전부터 이때 작동하는 AuthenticationConverter 는 OAuth2AuthorizationConsentAuthenticationConverter 입니다. 여기서 OAuth2AuthorizationConsentAuthenticationToken 가 구성됩니다. 2.OAuth2AuthorizationConsentAuthenticationToken 의 처리는 OAuth2AuthorizationConsentAuthenticationProvider 가 맡게 됩니다. 여기서 code 생성 절차가 진행되는 차이가 있습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 굳이 value에 더미값을 집어넣어서까지 가져와 쓰는 이유를 잘 모르겠네요 애초에 value가 없는 set을 구현 해서 쓰면 되는 거 아닌가요? 메모리적으로 낭비라고 생각되는데 어떤 이유 인지 궁금합니다 감사합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 똑같이 따라했는데 저는 5까지 정수를 입력한 후에 출력이 안나오고 그 후로 뭘 더 입력하면 오류가 나와버려요 ...ㅠㅠ.