안녕하세요 nest로 개발을 진행하다가 fast API로 전향하려는 개발자 입니다. 저와 같은 경우는, TypeORM을 사용하고 있었습니다. TypeORM은 아래 코드와 같이 DB와 연결해 놓고 @Entity 어노테이션을 사용하면 테이블이 자동 생성됩니다. 강의를 보면 테이블을 생성하는 쿼리를 console로 만들어서 DB SQL에 직접 작성하는 것으로 확인됩니다. FAST API는 NEST처럼 테이블이 자동 생성되는 기능이 없는 걸까요?? 또한 @ManyToMany @ManyToOne과 같은 어노테이션을 사용하면 연관관계가 쉽게 맵핑되어 별도의 join 쿼리 없이도 조회,수정,삭제가 가능합니다. 이러한 부분 또한 FAST API는 지원하는 기능이 없는 걸까요?? import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class PostsModel { @PrimaryGeneratedColumn() //알아서 값을 1씩 증가하는 것을 만들어 준다. id: number; @Column() author: string; @Column() title: string; @Column() content: string; @Column() likeCount: number; @Column() commentCount: number; } import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ PostsModule, TypeOrmModule.forRoot({ //forRoot -> typeOrm과 nestJs을 연결할 수 있는 연결고리를 만드는 것 type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: 'postgres', database: 'postgres', entities: [], //데이터베이스와 연동될 모델들 synchronize: true, //nestJS에서 작성하는 typeOrm 코드와 데이터베이스싱크를 자동으로 맞출 것이냐(개발에서는 true, 프로덕션에서는 false) }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {}
안녕하세요. 3분 40초대에 나오는 switch - case에 관련된 예제를 푸는 과정에서 질문이 생겨서 글을 작성하게 되었습니다. 제가 기존에 알던 switch - case는 if - else를 조금 더 편리하게 사용하기 위해 도입된 조건문이었습니다. 그런데, 해당 강의에서 배운 내용은 조금 달랐습니다. 여기 나온 예제를 들어 설명한다면, 변수 len에 저장된 값은 5이다. switch문의 기준은 len(=5)가 된다. 각 case에 대하여 len과 값을 비교했을 때의 결과를 기준으로 다음과 같이 실행한다. 3-1. case의 값이 참일 경우, (case의 값 == len) 해당 case를 기준으로 하여 break를 만날 때 까지 하위에 위치한 case들에 있는 statement들을 모두 실핸한다. 3-2. case의 값이 거짓일 경우, 다음 case로 넘어간다(처음으로 case의 값이 참일 경우를 만날 때 까지) 실행하는 statement에 break가 포함될 경우, 해당 switch문을 종료하고 빠져나온다. 끝까지 break를 만나지 못했을 경우, default의 statement를 실행 후 해당 switch문을 종료하고 빠져나온다. 이러한 논리 구조에 따라 case 3, 4는 건너뛰고 case 5에서 true이기 때문에 statement를 실행(len -= 1 -> len = 4) 처음으로 true인 case를 만났기 때문에, 해당 case 기준 아래에 위치한 모든 case를 실행 --> case 6 실행(len에 저장된 값은 6이 아님에도 불구하고) (len += 3 -> len = 7) --> case 6에서 break를 만남 -> 종료 결과 : len = 7 이런 식으로 진행 되는 것 맞는 건가요? 그렇다면, case 5의 statement가 len+=2;일 경우에도 case 7을 찾아가는 것이 아닌, case 6을 찾아가서 실행 후 break가 되는 것인가요?? 마지막으로, default 키워드는 switch에서 모든 case가 false가 나왔을 때 실행되는 것이 아닌, break를 한 번도 만나지 못했을 경우 가장 마지막에 실행되는 것인가요?? 긴 질문 읽어주셔서 감사합니다!
안녕하세요 ! 강의를 듣기전부터 궁금했던 내용인데 강의를 듣고나서도 답을 찾지 못해서 질문을 남깁니다..! 개발자도구 > Network 탭 > 문서 > 응답 이나 소스보기 에 서버사이드에서 불러온 데이터가 HTML 로 만들어져있으면 SEO 에 영향을 주는 데이터라고 알고 있어요 제가 혼자 테스트해보려고 만든 스트리밍에서는 <script /> 내부에만 서버 사이드에서 패치한 데이터가 들어가있고 HTML 로 만들어지지는 않았더라고요 ( 아마 <script /> 에 있는 정보가 RSC Payload 겠죠..? ) 그래서 이게 SEO 에 영향이 가는 데이터일지 궁금해서 여기저기 찾다가 발견한 Next Playground 에서는 HTML 로도 만들어지고 <script /> 에도 들어가있더라고요 최종적으로 궁금한것은 <script /> 에만 들어있는 스트리밍된 데이터도 SEO 에 영향을 주는지 가 궁금해요 그리고 영향을 주든 안주든 이런 정보는 어디서 찾아봐야하는지 어떻게 검증하는지 알고 싶습니다..! ( 참고로 Playground 에서 패치하는 첫번째 리스트의 이름인 Fusce commodo porta 로 확인해봤습니다! )
[오타 내용] 대상 강의록 : 2.IO 기본1.pdf 대상 위치 : p.17 최하단 부분 오타 내용 수정 전 : 예를 들어 BUFFER_SIZE가 10이라면 10만큼 모이면 wirte() 를 호출해서 ... 수정 후 : 예를 들어 BUFFER_SIZE가 10이라면 10만큼 모이면 write() 를 호출해서 ... 백준 풀 때 실행 시간 빠른 코드들은 다들 Buffered 어쩌고를 썼길래 이게 뭐지~ 하고 그냥 넘어갔던 기억이 있는데 여기서 마주하게 되어서 기쁘고 재밌네요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에서도 EntityGraph에서와 동일하게 처리하려면 public List<OrderSearchMDDto> search(OrderSearch orderSearch) { return queryFactory .select(new QOrderSearchMDDto( order.id, order.member.name, order.orderDate, order.orderStatus, order.delivery.address )) .from(order) .join(order.member, member).fetchJoin() .join(order.delivery, delivery).fetchJoin() .where( nameLike(orderSearch.getMemberName()), statusEq(orderSearch.getOrderStatus()) ) .fetch(); } 이런식으로 뒤에 fetchJoin()을 붙여주면 되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 엔티티 컬럼 생성시 왜 long , int 값이 아닌 Long, Integer 와 같은 Wrapper클래스를 쓰나요?
안녕하세요 테스트 코드 사용 중 오류가 잡히지 않아서 문의 드립니다. 강의에서 설명해주신 것처럼 아래와 같이 코드를 작성했지만 오류가 발생합니다. 어떻게 해야 할까요? from fastapi.testclient import TestClient from main import app # api들이 있는 app을 검증할 클라이언트 생성 client = TestClient(app=app) def test_health_check(): # api 요청 response = client.get("/") # 반환 값 검증 assert response.status_code == 200 assert response.json() == {"ping": "pong"} 아래는 오류 내용 입니다. (fastapi_orm) C:\Users\User\Desktop\Fast_API(ORM)\code\src>pytest ============================================================================= test session starts ============================================================================= platform win32 -- Python 3.10.16, pytest-8.3.5, pluggy-1.5.0 rootdir: C:\Users\User\Desktop\Fast_API(ORM)\code\src plugins: anyio-4.8.0 collected 0 items / 1 error =================================================================================== ERRORS ==================================================================================== _____________________________________________________________________ ERROR collecting tests/test_main.py _____________________________________________________________________ tests\test_main.py:5: in <module> client = TestClient(app) ..\..\..\..\anaconda3\envs\fastapi_orm\lib\site-packages\starlette\testclient.py:399: in __init__ super().__init__( E TypeError: Client.__init__() got an unexpected keyword argument 'app' =========================================================================== short test summary info =========================================================================== ERROR tests/test_main.py - TypeError: Client.__init__() got an unexpected keyword argument 'app' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ============================================================================== 1 error in 0.86s ===============
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] db에는 제대로 name이 저장이 되는데 왜 출력을 하면 name = 'name'으로 찍히는지 모르겠습니다..
안녕하세요 덕분에 next.js를 깊게 공부할 수 있었습니다. next.js는 기존 리액트와 다르게 jsbundle(청크) 파일을 나누어 받아 옵니다. 강의에서 본 것처럼 청크 파일들이 각각의 유니크한 해쉬 값을 가지는 것도 확인했습니다. 시나리오 next 프로젝트를 빌드 배포 된 웹페이지를 오픈 next 프로젝트를 다시 빌드 기존의 웹페이지를 새로고침 하지 않고, 페이지 이동 기존 리액트 프로젝트에서는 하나의 청크 파일을 처음 한 번에 받아서 새로고침 전까지 1번의 이전 빌드된 웹페이지로 동작이 되는 것으로 알겠는데요. next프로젝트에서는 jsbundle과 rsc_payload를 필요한 시점에 받으니까 새로 빌드한 파일엔 기존 청크해시 값과 달라서 문제가 생기지 않을까? 라는 생각이 들었습니다. 그런데 테스트 해보니 별다른 문제가 생기지 않는 것 같더라구요.. jsbundle과 rsc_payload의 유니크한(해쉬) 파일 이름이 도중에 변경 되더라도 next 서버측에서 찾을 수 있게 조치가 되어 있는 걸까요?
현재 강의와 관련없는거 알지만 혹시나해서 문의남깁니다. 현재 강의 구매한 분들 대상으로 [코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스 강의 90% 할인해서 구매할 수 있었던 것으로 기억하는데, 이미 기간이 끝난거 알지만 지금이라도 할인된 가격으로 구매할 수 있을까 해서 문의남깁니다.
입문편에서는 배열의 크기를 입력하지 않고 데이터를 직접 넣어서 자동으로 크기를 설정할 수 있었는데 int[] students; students = new int[]{90, 80, 70, 60, 50}; 강의에서 실습했던 코드 Student[] students = new Student[2]; students[0] = student1; students[1] = student2; 여기에서 new Student[2]; 의 부분을 new Student[]={student1,student2}; 이렇게 고치면 자동으로 크기를 설정 해 주나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 내용 잘 수강하고 있습니다. 회원 웹 기능 -조회 까지 수강한 뒤 데이터베이스 연동을 아직 하지 않은 상태입니다. 코드를 모두 따라쳐서 정상작동은 하는 중인데, 웹에서 중복되는 이름을 저장 시 오류가 나면 앞부분 예외처리 부분에서 코드를 잘못 입력한 것일까요 ?
강의와 같이 구현한다면 page.tsx 에서 데이터 fetch PostRecommends.tsx 에서 는 다시 데이터를 fetch 하지 않고 HydrationBoundary를 통해 넘어온 데이터를 사용 이렇게 page.tsx 에서만 데이터가 fetch 되어야 맞는거지요 ? 제가 구현한 소스코드에서는 getPostRecommends 쪽에 로그를 찍어서 확인해보니 page.tsx 에서도 한번 호출하고 PostRecommends.tsx 에서도 한번 호출해서 총 2번 로그가 찍히더라구요. 이론대로라면 page.tsx 에서 1번 호출했을 때만 로그가 찍혀야 하는 것이 맞는거죠? 아 강의는 " 클라이언트 react-query" 입니다.
강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁 드려요 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요! 6.5 에러 핸들링 강의를 들으며 실습을 진행하고 있는데 브라우저에 http://localhost:3000을 접속하면 "지금 추천하는 도서"에 캐시를 사용안하는데 데이터가 조회가 되고 있습니다. 코드를 잘못적었을까봐 깃허브에 올려주신 소스로 개발서버 실행해도 같은 상황입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] join 테스트를 돌리면 insert가 제대로 안됩니다 (select로 확인 안됨) 테스트 후 스프링을 돌려 웹에 등록하면 시퀀스는 테스트 한만큼 증가했습니다