묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결15일간의 빅데이터 파일럿 프로젝트
외부 네트워크 설정 및 클러스터
안녕하세요.친절히 잘 알려주셔서, 감사히 강의를 잘 듣고 있습니다.또, 강의를 듣고, 매일 복습을 하며, 바쁜 날을 보내고 있습니다.맨 처음에 CentOS를 설치하고, VM를 세팅하는 과정에서 호스트 전용 네트워크 정보에 192.168.56.xxx와 같은 로컬 네트워크 IP를 입력하였던 것으로 기억합니다.제가 문의 드리고 싶은 부분은 만약 PC-A와 PC-B가 있을 때,PC-A에 server01, server02를 구축하고, PC-B에서 putty를 이용해서 원격 접근을 하려고 할 때, 단순히 로컬 네트워크 IP를 외부 네트워크 IP로만 변경해서 사용하면 되는 것인지, 만약, 그렇지 않다면, 추가적으로 어떤 설정을 해야하는지 여쭙고 싶습니다.이와 관련된 자료의 링크를 남겨주시면 감사하겠습니다.또한, 두번째 질문으로, 클러스터란 다수의 컴퓨터 서버를 모아 놓은 것으로 알고 있습니다.저는 현재 저사양 컴퓨터 기준으로, server01, server02를 Cluster-1로 제어하고 있는데요. 실제 실무에서도, 다수의 server를 오직 하나의 Cluster로만 그룹하여 사용하는지, 그게 아니라면, Cluster로 그룹하는 기준은 무엇인지 궁금합니다.감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어
4분경 질문
사진처럼 오류가 뜨면서 디버그가 안 된다고 하는데 어디가 문제인지 잘 모르겠어요. 오류 내용 보면 저장 위치랑 관련 있는 것 같은데 이리저리 뭘 해봐도 잘 안 되네요
-
미해결홍정모의 따라하며 배우는 C언어
강의와 다름
화면과 똑같이 코딩을 했는데 실행을 하면 Hello, world가 뜨는 게 아니라 그냥 검은 빈 화면만 뜨는데 뭐가 잘못된 건가요? 마지막 부분에서 F10 눌러도 Hello, world가 뜨는 게 아니라 똑같이 그냥 빈 화면만 뜨네요.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
typescript 관련 에러
제가 실습파일을 다시 만들었었는데 리액트 버전 낮추는 명령어를 치지 않고 하다가 section 13에서 antd design 관련 실습 하면서 강사님이랑 조금씩 다른 부분이 보이고, yarn dev 해도 실행이 안되어서 버전 문제라고 생각하고 중간에 버전을 낮췄거든요 ..!근데 아래처럼 '--jsx' 플래그를 제공하지 않으면 JSX를 사용할 수 없습니다. 라는 에러 메시지가 계속 뜨고 구글링해서 방법을 찾아보는데 하라는 거 해봐도 없어지지 않아요 ㅠㅠ타입스크립트를 재설치 해봐도 package.json에 dev-defendencies 항목이 생기지도 않고, tsconfig.js 파일을 삭제했다가 다시 타입스크립트 재설치 후 yarn dev 해도 변화가 없더라구요 !그래서 강사님 tsconfig와 같은 내용을 직접 작성해서 새로고침 해봤는데도 자꾸 에러가 그대로라서 ㅠㅠ 혹시 어떤 부분이 문제일까요 ㅠㅠㅠㅠ
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
9:20 포트
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 9:20분에 말씀하시길 유저모드에서의 포트는 프로세스 식별자라고 하셨습니다 그말씀은 PID와 Port가 같다는 말씀일까요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션7. 상품상세
<div class="col"> <button class="w-100 btn btn-primary btn-lg" onclick="location.href='editForm.html'" th:onclick="|location.href='@{/basic/items/{itemId}/edit(itemId=${item.id})}'|" type="button">상품 수정</button> </div>여기서 타임리프 문법에서th:|location.href='@{/basic/itesm/${item.id}/edit 로 하면 http://localhost:8080/basic/items/$%7Bitem.id%7D/edit이런식으로 url이 생기는데, 왜 그런건가요?이전에 상품목록-타임리프 강의에서는<td><a href="item.html" th:href="@{/basic/items/{itemId}(itemId=${item.id})}" th:text="${item.id}">회원 아이디</a></td> <td><a href="item.html" th:href="@{|/basic/items/${item.id}|}" th:text="${item.itemName}">상품명</a></td>이렇게 URL 표현식으로 쓸 수 있다고 배웠어서요!감사합니다!
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
데이터 분류과정에서 코드 질문
X_train, X_test,y_train, y_test= train_test_split(iris_data.data, iris_data.target, test_size=0.3, random_state=121) 를 이용해서 데이터를 분류하는데 이때 X_test, X_train이 학습용 피쳐값인지 테스트용 피쳐값인지 구분을 하는 메커니즘이 뭘까요? 위치로 구분을 하는 것인가요??
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
Gnb 다른 작성법
윈도우 환경 & vite-plugin-next-router를 안쓰시분에 한하여,Gnb를 만드실려면<QueryClientProvider client={queryClient}> <BrowserRouter> <Gnb /> <App /> </BrowserRouter> </QueryClientProvider>이렇게 src/main.tsx 에 선언하시면 됩니다.
-
미해결[Rookiss 켠김에 출시까지] MMO Lab 1기 <유니티 방치형 키우기 게임>
현제 몬스터 ai로는 아이들 상태일때만 플레이어 판별하는거죠?
아이들 상태일때만 플레이어를 판별하고 있는게 맞을까요?만약 Patrol로 인한 무브 상태일때는 플레이어가 가까이 와도 플레이어를 판별못해서 이동만하고 있는 상태가 되는게 맞는걸까요?
-
미해결제주코딩베이스캠프 Code Festival: JavaScript 100제
71번 깊이 우선 탐색 질문드립니다.
안녕하세요. 71번 문제의 출력엔 E D F A C B로 되어 있습니다. 그 앞에 깊이 우선 탐색을 그림으로 해설 하실때에도 E D F A C B로 설명해주시는데 하지만 정답 코드로는 E A B C D F 로 나오는데 해설에는 단지 출발 방향만 다르지 같다고 하시는데 이해가 되질 않아 문의드립니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
[섹션 9] AWS ECS - Service 사용해서 여러개의 Task 생성하고 Load balancer 연결해주기
ecs service 등록하려고 보니, Load balancer 설정 부분에 이렇게 뜨는데,, 제가 Lightsail 볼때 따로 등록 안해줘서 설정 부분이 이렇게 뜨는걸까요? ㅠㅠ ec2에서 설정 따로 해줘야한다는거 같은데 로드밸런싱 활성 작업을 위해서 어떤 어떻게 등록 해야하는 걸까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
ex1-hello-jpa-start 실행 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]ex1-hello-jpa-start 자료 다운받고, h2 실행한 뒤, JpaMain.java를 실행할때 다음 오류가 떴습니다.
-
미해결달리(DALL-E): 초보자를 위한 이미지 생성 가이드 (입문편)
시드번호 활용한 이미지 수정이 안됩니다
유익한 강의 너무 잘 듣고 있습니다.저는 달리3를 엣지 브라우저의 빙챗(현재는 코파일럿으로 명칭 변경)에서 사용중입니다.달리3를 Chatgpt에서도 사용 가능하지만, MS의 엣지 브라우저의 검색 창에서는 무료로 사용 가능하고저는 이 기능으로 많은 이미지를 생성 중인데요.그런데 엣지 브라우저의 빙챗에서는 달리3 기능을 제공하지만, 말씀하신 시드번호 추출과 이를 활용한 이미지 생성은 되지 않습니다. 확인 부탁드립니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
@IsPublic 어노테이션으로 RefreshTokenGuard에서 RefreshToken 검증을 하기 위한 코드 공유
// is-public.const.ts export enum IsPublicEnum { ISPUBLIC = 'ISPUBLIC', ISREFRESHTOKEN = 'ISREFRESHTOKEN', }// is-public.decorator.ts import { SetMetadata } from '@nestjs/common'; import { IsPublicEnum } from '../const/is-public.const'; export const ISPUBLIC_KEY = 'is_public'; export const IsPublic = (status: IsPublicEnum) => SetMetadata(ISPUBLIC_KEY, status);// bearer-token.guard.ts @Injectable() export class BearerTokenGuard implements CanActivate { constructor( private readonly authService: AuthService, private readonly usersService: UsersService, public readonly reflector: Reflector, ) {} async canActivate(context: ExecutionContext): Promise<boolean> { const req = context.switchToHttp().getRequest(); const requiredPublic = this.reflector.getAllAndOverride(ISPUBLIC_KEY, [ context.getHandler(), context.getClass, ]); if (requiredPublic) { req.requiredPublic = requiredPublic; } if (requiredPublic === IsPublicEnum.ISPUBLIC) { return true; } const rawToken = req.headers['authorization']; if (!rawToken) throw new UnauthorizedException('토큰이 없습니다!'); const token = this.authService.extractTokenFromHeader(rawToken, true); const result = await this.authService.verifyToken(token); const user = await this.usersService.getUserByEmail(result.email); req.user = user; req.token = token; req.tokenType = result.type; return true; } }추가된 코드if (requiredPublic) { req.requiredPublic = requiredPublic; }requiredPublic 있을때만 req에 담아줌.추가된 코드if (requiredPublic === IsPublicEnum.ISPUBLIC) { return true; }IsPublic일때만 return true 즉, ISREFRESHTOKEN 일때는 아래 로직들이 정상적으로 실행됨.// bearer-token.guard.ts @Injectable() export class AccessTokenGuard extends BearerTokenGuard { async canActivate(context: ExecutionContext): Promise<boolean> { await super.canActivate(context); const req = context.switchToHttp().getRequest(); if ( req.requiredPublic === IsPublicEnum.ISPUBLIC || IsPublicEnum.ISREFRESHTOKEN ) { return true; } if (req.tokenType !== 'access') { throw new UnauthorizedException('Access Token이 아닙니다.'); } return true; } }추가된 코드if (req.requiredPublic === IsPublicEnum.ISPUBLIC || IsPublicEnum.ISREFRESHTOKEN) { return true; }req.requiredPublic이 ISPUBLIC이거나 ISREFRESHTOKEN이면 return true로 global accessTokenGuard return true로 빠져나옴.// bearer-token-guard.ts @Injectable() export class RefreshTokenGuard extends BearerTokenGuard { async canActivate(context: ExecutionContext): Promise<boolean> { await super.canActivate(context); const req = context.switchToHttp().getRequest(); if (req.tokenType !== 'refresh') { throw new UnauthorizedException('Refresh Token이 아닙니다.'); } return true; } }변경 사항 없음. 왜냐하면 위에서 정상적으로 refreshToken을 verify하고 req에 값이 담겼기 때문에 RefreshTokenGuard가 정상적으로 실행 되어야함. auth.controller에 적용하기@Controller('auth') export class AuthController { constructor(private readonly authService: AuthService) {} @IsPublic(IsPublicEnum.ISREFRESHTOKEN) @Post('token/access') @UseGuards(RefreshTokenGuard) postTokenAccess(@Headers('authorization') rawToken: string) { ... } @IsPublic(IsPublicEnum.ISREFRESHTOKEN) @Post('token/refresh') @UseGuards(RefreshTokenGuard) postTokenRefresh(@Headers('authorization') rawToken: string) { ... } @IsPublic(IsPublicEnum.ISPUBLIC) @Post('login/email') @UseGuards(BasicTokenGuard) postLoginEmail(@Headers('authorization') rawToken: string) { ... } @IsPublic(IsPublicEnum.ISPUBLIC) @Post('register/email') postRegisterEmail(@Body() body: RegisterUserDto) { ... } }
-
해결됨개발자를 위한 쉬운 도커
강의 6분 39초 때에 나오는 docker cp 페이지가 강의 자료 PPT에서 보이지 않는 것 같아요
안녕하세요. 강의 6분 39초 때에 나오는 docker cp 단축어가 Part 5 컨테이너 애플리케이션 구성에서 확인되지 않는 것 같습니다. 6분 39초 우측 상단에 part3. 이미지 레지스트리에서도 보이지 않는 것 같아서 혹시 누락된 게 아닌가 여쭤봅니다. 이렇게 좋은 강의를 만들어주셔서 고맙습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이전 강의에서 세션을 직접 만들 때는 세션저장소에는(sessionId, Member 객체) 쿠키에는 (session_cookie_name, sessionId) 이런 식으로 mapping이 되었는데, 이번 강의에서 보면 session.setAttribute에서 (session_name, Member객체)와 같이 mapping이 되는 것을 볼 수 있습니다. 세션 id를 별도로 저장을 하는 과정이 없는데 자동으로 (session_name, sessionID)를 세션저장소에 저장해준다 라고 이해해도 괜찮을까요?
-
해결됨Next + React Query로 SNS 서비스 만들기
next/Image와 <img>의 사용하시는 기준이 있을까요?
뒤에서 수정이 되는지는 잘 모르겠지만 현재까지 강의에서는 양쪽 다 사용하시는 것 같습니다. 혹시 따로 구분하신다면 기준을 갖고 쓰시는지 궁금합니다.
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
const 키워드로 만든 인스턴스에서 필드의 값 변경이 가능한 이유
안녕하세요, 강의 너무 잘 듣고 있습니다. 감사합니다!접근 제어자 강의 내용 중 궁금한 내용이 생겨서 문의드립니다.아래의 내용을 보면, const keyword 로 만든 인스턴스에서 필드값을 변경할 수 있는데, const keyword 는 상수여서 변경이 불가능해야 하는 것이 아닌가요?해당 내용에 대해 참고할 수 있는 자료가 있다면 공유해 주시면 진심으로 감사하겠습니다! const employee = new Employee("이정환", 27, "developer"); employee.name = "홍길동"; employee.age = 30; employee.position = "디자이너";
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다.
- 인프런 아이디: sju02135@hanmail.net- 인프런 이메일: sju02135@hanmail.net- 깃허브 아이디: sju02135@hanmail.net- 깃허브 username: minsung1129
-
해결됨Next + React Query로 SNS 서비스 만들기
Next.js fast refresh 적용이 안됩니다.
next.js를 잘 설치하고 실행도 잘 되는데 바꾼 내용을 매번 다시 run시키지 않으면 반영이 안됩니다. next.js버전도 분명 fast refresh를 지원하는 버전인데 왜 그런지 너무 불편하네요.