묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
스타일링 명시도 질문 (@layer)
@layer base { #__next { display: contents; } }#__next를 레이어 두어 스타일링 명시도를 낮춘 것에 대한 이유가 궁금합니다.혹시 next.js 내부에서 (프레임워크 내부에서) id : __next 를 스타일링하면 내가 작성한 코드보다 우선시 되도록 하기 위함인가요??
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
캐시 stale 질문입니다.
안녕하세요 강의 감사합니다. 잘듣고잇습니다.헤더에서 처음보는 값이 잇는데x-nextjs-cache:STALEhit는 알겟습니다. stale이 라고 표기되는 기준이 무엇인가요?서버의 최신 값이 아닌걸 어떻게 알죠?revalidate 되기 전에는 hit 로 표기되고revalidate 되는 동안에는 stale 표기가 되는 건가요?그리고 추측이 맞다면 revalidate 되는 동안이라는건 서버에 다시 요청보내고 응답받을때 까지를 말하는게 맞을까요?(* 여기는 읽으실 필요 없습니다. 질문이랑 같이 메모한거에요그리고 revalidate 되었는데 값이 안바뀌면 캐시는 stale이라하더라도 e-tag로 2차 검증하고 태그 값이 같아서 그래도 사용한다 (강의 내용 그대로)값이 바뀌면 hit 되고 e-tag값도 갱신한다. )
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
ssr 캐시 가능한지 질문
ssr인데 해당 html에 연결된 js 파일이 있어서 js파일로 동적으로 렌더링하면 ssr로 내려진 html 자체는 캐시가 가능한가요?*ex) ssr로 받아온 infren.html 안에 user.js 파일 있고user.js에서 ajax로 사용자 이름만 json으로 받아와 렌더링하면 infren.html과 user.js은 캐시할 수 있나요???
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
API Routes로 변경 후 JSON 오류
안녕하세요 강사님. 먼저 강의 감사히 잘 듣고 있습니다.다름이 아니라 API Routes로 프로젝트를 변경한 이후 아래와 같은 에러가 발생합니다.아래 자막에 달아 두신 것과 같이 .env파일도 정상적으로 배포한 사이트로 바꿔 두었고 혹시몰라 JSON파일에 대한 파싱문제가 있는것인지 확인하고 싶습니다.https://github.com/eugene028/NextJsMapgithub주소도 남깁니다. 잘 되다가 API Routes로 변경하니까 이런 에러가 뜨네요!! ㅜㅜ
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
Pipe와 middleware와의 차이가 무엇일까요 ?
Pipe와 Middleware 둘다 클라이언트로부터 데이터를 받는다면, 데이터를 중간중간 가공하여 처리하는것으로 이해하고있습니다.허나 Pipe는 주로 유효성검사같은 타당성 검사에 촛점을 맞춘것일까요 ?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
getResponse() 메소드 질문입니다.
해당 강의에서 'api broken' 메세지를 내보낼때, throw가 에러를 인위적으로 에러를 던지는것은 알고있으나, 여기서 던진 에러를 어떻게 받아서 'api broken'을 출력시키는지 감이 올듯 안올듯 한데,exception 안에 getResponse()라는 메소드가 그 던진 에러를 받아주는 역할을 하는게 맞는것일까요 ?
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
@Get(':id') @Get('all')
@Get(':id') getOneCat(@Param('id', PositiveIntPipe) id: number) { console.log(id, typeof id); return 'one cat'; }이전에 작성되었던 아이디로 검색 메서드가 있었는데요,이번 강의에서 @Get('all') 을 추가해서포스트맨으로 테스트하는데 위에 getOneCat 으로 넘어가는데 왜 이런건지 알 수 있을까요?@ApiOperation({ summary: '현재 고양이 가져오가' }) @UseGuards(JwtAuthGuard) @Get() getCurrentCat(@CurrentUser() cat) { return cat.readOnlyData; }만약 이게 더 위에 있다면, 여기서 걸린다면 이해 하겠는데그렇지도 않고 @Get('all') 일때만 걸리는 이유가 뭘까요..?
-
해결됨Nuxt.js 시작하기
async 데이터 호출 시점 문의
이번 강의에컴포넌트에서 렌더링 전 데이터 호출을 위해 페이지에서만 쓸수 있는 asyncData말고fetch를 알려주셨는데요 요번 강의 예제는 api 호출 후 스토어에 저장하는 FETCH_CART_ITEMS니까page인 cart.vue에서 실행만 해줘도자식인 CartList.vue에서 정상 렌더링이 되는건가요? api를 한곳에서 관리한다 라는 측면에서 보면상위 페이지인 index 파일에 모아두는것도 방법이겠다 싶어서 질문드립니다.
-
해결됨Nuxt.js 시작하기
middleware와 apis의 차이
nuxt 구조에서 api 호출시기본으로 제공하는 middleware에 위치하는 경우와react 스타일처럼 apis에 모아두고 사용하는 방식에차이점이 있을까요?middleware는 서버 시점에서 돌아가는거같은데 미들웨어를 서비스의 백엔드처럼 api 호출을 하고이 api를 front의 apis에서 직접 바라보는 방식이 좋을지 서버시점에 필요한 데이터클라이언트시점에 필요한 데이터를나눠서 정의해두는편이 좋을지 궁금합니다.
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
getCurrentCat 에서 req.user
req.user 에서,request 가 user 객체 정보를 가지고 있는 건가요..?-- 확인해 보니, passport 에서 User 인터페이스를 가지고 있네요! 그런데, 비어있는데 어떻게 속성을 가지고 있는 걸까요?JwtStrategy/validate 의 리턴값을 가지게 되는 건가요? 3월 14일 질문에 대한 답변도 좀 부탁 드립니다..
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
순환참조
user와 auth가 서로를 import하고 있어서 forwardRef로 순환 참조를 막아줬는데 auth에선 userRepository를 사용하고 있고 user에선 authService.jwtLogin()을 사용하는데 순환 참조가 발생하는 건가요? 안 막아줘도 되는건가요?
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
Google api 매장 데이터
안녕하세요 현재 네이버맵 대신 구글맵 api를 사용중인데 아무리 찾아봐도 선생님 stores.json 값처럼 json데이터를 찾을수가없네요 ㅠㅠ 일단 현재 그냥 stores.json 선생님이 가지고있는데이터 사용중이긴한데 다른질문 답변보니 크롤링하셔서 데이터를 만드신거같은데 혹시 저의경우에는 방법이있을까요??
-
해결됨Nuxt.js 시작하기
동적라우팅 강의자료 링크가 변경된거같습니다.
https://joshua1988.github.io/vue-camp/es6+/template-literal.html
-
미해결Vue로 Nodebird SNS 만들기
안녕하세요! 로그인 유지 질문 드립니다!
이것저것 만들어보다가 로그인 유지에 대한 필요성을 느꼈고https://www.zerocho.com/category/HTML&DOM/post/5918515b1ed39f00182d3048제로초님의 이 글을 보게 되었습니다!그런데 만약 로컬스토리지에서는 유저 정보가 있는데 백엔드에서는 유저 정보가 없는경우 (express-session 만료 등의 이유)가 있을수 있을것 같은데 이런 경우에는 실무에서 어떻게 처리가 될까요??단적인 생각으로는 백엔드의 세션 만료시 로컬스토리지의 정보(아이디 / 비번)로 세션을 재활성 시킨다거나 할수 있을것 같은데 혹시 이런 경우에는 어떻게 처리가 될까요??
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
nextjs에서 cra처럼 사용 질문입니다
CRA 환경에서는 클라이언트 사이드로 렌더링 되는건데요NEXTJS에서 서버사이드렌더링 없이 CRA처럼 CRS만으로도 구현할수 있나요?이럴 경우에는 getStaticPros, getServerSideRedering 을 사용안하면 무조건 CRS가 되는건가요?seo 적용안하고 CRS로 하고 싶을 경우 강의에서 말씀하신 [_app] 에 next-seo를 추가하지 않고 getStaticPros, getServerSideRedering 없이 그냥 작업하면 모든 페이지가 CRS가 되는거죠 ?그런데 루트에 [_app], [_document] 이 파일은 무조건 실행이 되더라구요이것의 정체는 무엇인지 궁금합니다 CRS인데 NEXT를 사용하려는 이유가 첫번째, 사이트를 만들때 사용자페이지, 관리자페이지 구분을 두고 사용자페이지는 SSR , 관리자페이지는 CSR을 적용하려고 하고 두번째, 코드스프리팅이 지정해줄 필요없이 자동적으로 모두 되어 있어서 NEXTJS를 사용하려고 합니다
-
해결됨Nuxt.js 시작하기
헤더 컴포넌트 문의
디폴트 레이아웃 하위에서 헤더와 nuxt link가 존재하는데요이런경우 헤더영역을 헤더 컴포넌트로 빼서컴포넌트 하위에 두고레이아웃에서 호출해서 사용하는게 일반적인가요? 넉스트에서 레이아웃은 조금 특수한 pages 같아서 문의드립니다
-
해결됨Nuxt.js 시작하기
넉스트 레이아웃 문의
안녕하세요혹시 유튜브 상단의 검색 컴포넌트 처럼 데이터 바인딩이 필요한 부분도 레이아웃에 배치하는것이 일반적인가요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
dto 와 entity의 유지보수
안녕하세요. 상석님! 상석님의 강의를 듣고 공식문서와 typeorm, mongoose등의 공식문서를 함께 이용하여 nest 프로젝트를 제작중인 1년차 node js 개발자입니다. 강의 너무 잘 들었습니다. 개인적으로 프로젝트를 진행하는 중 dto파일과 entity를 어떻게 관리하면 수월할까 라는 고민을 깊게 하게 되었습니다. chat gpt나 스택오버 플로우, 구글 등 많은 검색을 해봤지만 제 실력이 부족한지 정보를 찾기가 힘들어 여쭤보게 되었습니다. export class CreateRequestPostDto { @ApiProperty({ example: 'youtube uri', name: 'youtubeUri' }) @IsUrl() uri: string; @ApiProperty({ example: 'postTitle writed for user' }) @IsString() postTitle: string; @ApiProperty({ example: 'postDescription writed for user' }) @IsString() postDescription: string; } export class UpdatePostDto { @ApiProperty({ example: 'postTitle writed for user' }) @IsString() postTitle: string; @ApiProperty({ example: 'postDescription writed for user' }) @IsString() postDescription: string; }위는 제가 만들고 있는 프로젝트의 일부입니다. postTitle과 postDescription이 두 클래스에서 중복이 되는 케이스인데 상속을 이용해서 postTitle과 postDescription을 따로 빼는 방법은 제가 원하는 방향이 아닙니다.저는 기본적인 base dto클래스를 하나 만들어 놓고 이를 재활용하는 방법을 사용하고 싶습니다. export class BasePostClass { @ApiProperty({ example: 'youtube uri', name: 'youtubeUri' }) @IsUrl() uri: string; @ApiProperty({ example: 'postTitle writed for user' }) @IsString() postTitle: string; @ApiProperty({ example: 'postDescription writed for user' }) @IsString() postDescription: string; }만약 위와 같은 클래스가 있다면 이를 이용해서export class uriPostClass { uri: 위의 BasePostClass에 있는 uri 프로퍼티만을 가져와서 이 곳에서 사용하고 싶습니다. }이와 같이 @ApiProperty 데코레이터를 다시 적어주지 않아도 되고 BasePostClass의 프로퍼티 하나를 바꾸면 이 클래스를 이용해 다른 클래스들에 영향을 주고싶은겁니다.uri라는 이름을 URI로 변경하면 이 다른 클래스에서도 영향을 받아 URI로 변한다거나 하다못해 서버 실행 과정에서 에러라도 발생시킬 수 있도록 하고싶습니다.프로젝트가 커지다보니 DTO파일을 관리하기도 쉽지 않았어요. db의 컬럼 이름을 하나 바꿔주면 여기저기 dto파일을 찾아다니며 같이 바꿔줘야 했습니다. 좋은 방법이 있다면 알려주실 수 있을까요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
소셜인증
안녕하세요 다음 연재 강의 주제는 소셜 인증이라고 강의 노트에 써있으나 저에게 프로젝트3는 이번 강의가 마지막인데 맞나요??
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
prettier 관련 질문드립니다.
prettier 관련 질문도 드려도 되는지 모르겠지만 일단 강의에서 나와서 질문드립니다! :) 프리티어 세팅을 하고 작업을 하다가const test = { a: "test", b: "test2", };위와 같은 코드를 써봤는데요. 이 때, 제가 원하는건 a속성과 b속성의 간격이 없는 즉, 의미없는 빈 줄이 없도록 하는 것입니다. 하지만, 이걸 prettier로 자동으로 하는 속성 값을 인터넷으로 찾아봐도(사실 검색할 단어를 잘 못찾은 것 같습니다) 없어서요.. 질문에 올립니다! 감사합니다!