inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

선생님 맨 마지막..map 헬퍼 내용이 이해가 잘 안가는데요.ㅠㅠ

해결됨

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. <div class="NewsView"> <div v-for="item in askItems">{{ item.title }}</div> </div> computed: { // 방법3 ...mapGetters({ askItems : 'fetchedAsk' }) 이걸 왜 배열로 바꾸면 바로 화면에 바인딩이 되나요?

  • javascript
  • vuejs
hyun park 댓글 1 좋아요 1 조회수 253

오류

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

디버그도 안되고 빌드도 안되고 창을 닫으려 해도 솔루션을 닫으려면 빌드를 중지해야 합니다라고 뜨는데 혹시 해결 방법 아시나요 먹통이에요 밑에는 이런거 계속 떠있는데 어떻게 해야할지 모르겠습니다...

  • C#
림피치 댓글 1 좋아요 0 조회수 605

깃 레포지토리 문의드립니다.

미해결

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

안녕하세요 기효님🙇🏻 강의 잘보고 있습니다. 다름이 아니라vue-advanced 강의 나오자마자 수강했었는데요! 이번에 리마인드 차원에서 복습하려 합니다,, 이 레포지토리는 제 github에 'vue-advanced' 으로 아직 남아 있는걸 발견했는데 fetch 받으니 10개월 전이 가장 최근 커밋 내역이던데 이 레포 맞겠죠..? 혹시 레포 다른걸로 변경했나요⁉️

  • javascript
  • vuejs
hello 댓글 1 좋아요 1 조회수 271

TextRPG2 플레이어 생성

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

강의에서 설명하신대로면 Player player = new player(); 가 안되고 Player player = new Knight();가 되어야 하는데 반대로 player만 생성되고 knight는 형식 변환을 할 수 없다고 뜹니다... 강의 화면대로 똑같이 작성했는데 왜이럴까요ㅠㅠ

  • C#
림피치 댓글 1 좋아요 0 조회수 257

mac m1에서는 안되네요

미해결

초보를 위한 쿠버네티스 안내서

https://github.com/kubernetes/minikube/issues/9224

  • docker
  • kubernetes
rrallvv .J 댓글 2 좋아요 1 조회수 518

traceIdHolder.remove()와 traceIdHolder.set(null)의 차이가 있나요?

해결됨

스프링 핵심 원리 - 고급편

안녕하세요 강의 잘 보고 있습니다. traceIdHolder.remove()와 traceIdHolder.set(null)의 차이점이 궁금합니다. 실험해보니까 set(null)로 해도 잘 동작합니다만 아무래도 remove()라는 함수가 따로 있는 이유가 있을 것 같아서요.

  • spring
  • 디자인-패턴
컴퓨터공부하자 댓글 1 좋아요 0 조회수 462

Constructor

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

안녕하십니까, 강사님 좋은 강의 만들어주셔서 감사드립니다. 질의응답에서 @Autowired 필드 사용보다는 Constructor의 사용이 더 좋다고 해서 아래와 같이 구현하였는데 오류발생의 이유가 무엇인가요? private PostRepository postRepository; public UserJpaController(PostRepository postRepository) { this.postRepository = postRepository; } ->Class doesn't contain matching constructor for autowiring

  • spring-boot
  • rest-api
goqhwk 댓글 1 좋아요 0 조회수 590

로그인 api 질문

미해결

Spring Boot JWT Tutorial

반환 값에 왜 비밀먼호와 activated 관련 정보는 안나오는지 궁금합니다.

  • spring-boot
  • jwt
lulala 댓글 1 좋아요 0 조회수 422

mariaDB 사용중이라 포트 3307 햇는데

미해결

[리뉴얼] React로 NodeBird SNS 만들기

생성됫다고 떳는데 포트번호도 같고 근데 실제로 들어가보면 테이블이없는뎁숑?

  • Next.js
  • redux
  • express
  • nodejs
  • react
wjdgksak 댓글 1 좋아요 0 조회수 252

Dense 쪽에서 input channel과 output channel을 똑같이 설정하는 이유가 무엇인가요?

미해결

딥러닝 CNN 완벽 가이드 - TFKeras 버전

안녕하세요 Dense(512, 512)와 같이 굳이 채널을 같게 해서 출력을 내보내는 경우의 의미가 뭔지 알 수 있나요? 512x512로 파라미터만 커지고 차원 압축 개념이 없어서 비효율적일 것 같습니다

  • keras
  • 딥러닝
  • kaggle
  • tensorflow
  • 머신러닝 배워볼래요?
  • cnn
유영재 댓글 2 좋아요 0 조회수 372

Apache 나 Nginx을 통해서 gzip으로 만드는 작업이 맞을까요?

미해결

프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 1

gzip을 하는것이 성능 최적화에 도움이 된다고 하셔서 방법을 찾아봤습니다. 그 과정에서 Apache 나 Nginx을 통해서 gzip을 하는 방법이 있다고 알게됬습니다. 1. Apache 나 Nginx을 통해 gzip으로 만들어서 전달하는게 프론트엔드가 설치하고 작업하는게 맞는건가요? 제가 정확히 이해한 내용이 맞는지 잘 모르겠어서 질문드립니다 ㅠ

  • react
  • devtools
lex-kim 댓글 1 좋아요 1 조회수 233

화면 클릭 이벤트 처리 - findViewById, Toast 에서 07:08 에서 문제가 생겼습니다.

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

괄호안에 imageview를 넣어야하는데 자동완성이 안되길래 ImageView라고 대소문자를 구분하니까 뭔가 자동완성이 나오기는 하더라구요 문제는 ImageViewCompat 이라는 비슷한 이름이 하나가 나오더라구요.. 근데 이건 아닌거같아서.. 어떻게 해야 ImageView를 불러올수있나요?

  • android
  • firebase
  • kotlin
술홍 댓글 3 좋아요 0 조회수 464

인스턴스카피 활용 질문드립니다

해결됨

3dsmax 모델링 고수의 비밀! (Modeling Expert Technique)

안녕하세요 선생님! 12강에서 인스턴스 카피의 활용에서 박스를 탱크에 셀렉트앤 플레이스로 붙여버리면 삐딱하니까 인스턴스 카피를해준다음에 똑바르게 박스를 만들고 얼라인기능을 이용해서 다시 똑바르게 박스를 세워주시잖아요 저도 이게 박스를 어느 물체면에 붙이면 설명해주신대로 똑같이 저렇게 되는데 어떤삐딱한 물체는 인스턴스 카피하고 박스를 만들고 얼라인을 이용해도 여전히 삐딱하게 돌아가있는경우가 잇는데 왜그런지 혹시 아실까요..?ㅠㅠ 박스는 적용이 되었는데요... 얇은 분홍색 막대는 적용햇는데 여전히 삐딱합니다...ㅠ \ 파란색 물체역시 첫번째께 본체고 두번째꺼인스턴스 카피한다음에 저기 분홍박스 얼라인 햇는데여전히 삐딱해요...ㅠㅠ 제가 뭘 잘못한걸까요...?

  • 3ds-max
Ron park 댓글 1 좋아요 0 조회수 317

cdn 관련 질문

미해결

이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)

안녕하세요 선생님. cdn을 사용할 경우 origin server에 있는 이미지가 수정되었는데 cdn 서버의 ttl로 인해 cdn 서버에는 수정하기 전에 이미지가 캐싱되있는 문제가 발생 할 수 있잖아요! 이를 위한 해결방안을 찾아보니 aws cloudfront는 캐시 무효화 기능을 제공해주더라고요. 여기서 궁금한 점이.. 캐쉬 무효화를 적용하면 cdn 서버에 캐시가 되지 않고 매 요청 시 origin server로 요청하게 되어 cdn을 사용하는 이유가 사라질거라고 생각이 되는데 어떤 원리로 캐시 무효화 기능을 제공하는 것 인가요?? 감사합니다 !!

  • lambda
  • nodejs
  • aws
  • express
  • mongodb
  • react
Dev 댓글 1 좋아요 0 조회수 250

최초 로그인 시 새로고침을 하지 않으면 워크 스페이스가 뜨지 않습니다.

미해결

Slack 클론 코딩[실시간 채팅 with React]

백 엔드 서버를 가동하고 로그인을 하면 이러한 창이 뜹니다. 이 상태에서 새로고침을 하면 정상적으로 워크스페이스를 제대로 가져오는데 혹시 가져오기 직전에(userData가 undefined) 화면이 렌더링 돼서 저러한 에러가 뜨는걸까요? 아무리 해결을 해보려 해도 되지 않아 이렇게 질문 남깁니다. 제 코드는 아래와 같습니다 import React, { VFC, useCallback, useState } from 'react' ; import useSWR from 'swr' ; import fetcher from '@utils/fetcher' ; import axios from 'axios' ; import { Redirect, Route } from 'react-router' ; import { Header, RightMenu, ProfileImg, WorkspaceWrapper, Workspaces, Channels, Chats, WorkspaceName, MenuScroll, ProfileModal, LogOutButton, WorkspaceButton, AddButton, WorkspaceModal, } from '@layouts/Workspace/styles' ; import gravatar from 'gravatar' ; import { toast } from 'react-toastify' ; import { IUser } from '@typings/db' ; import { Link, Switch } from 'react-router-dom' ; import loadable from '@loadable/component' ; const Channel = loadable (() => import ( '@pages/Channel' )); const DirectMessage = loadable (() => import ( '@pages/DirectMessage' )); import Menu from '@components/Menu' ; import { Button, Input, Label } from '@pages/SignUp/styles' ; import useInput from '@hooks/useInput' ; import Modal from '@components/Modal' ; import CreateChannelModal from '@components/CreateChannelModal' ; const Workspace : VFC = () => { const [ showUserMenu , setShowUserMenu ] = useState ( false ); const [ showCreateWorkspaceModal , setShowCreateWorkspaceModal ] = useState ( false ); const [ showWorkspaceModal , setShowWorkspaceModal ] = useState ( false ); const [ showCreateChannelModal , setShowCreateChannelModal ] = useState ( false ); const [ newWorkspace , onChangeNewWorkspace , setNewWorkspace ] = useInput ( '' ); const [ newUrl , onChangeNewUrl , setNewUrl ] = useInput ( '' ); const { data: userData , revalidate , mutate , } = useSWR < IUser | false >( 'http://localhost:3095/api/users' , fetcher , { dedupingInterval: 2000 , }); const onLogout = useCallback (() => { axios . post ( 'http://localhost:3095/api/users/logout' , null , { withCredentials: true , }) . then (() => { mutate ( false , false ); }); }, []); const onCloseUserProfile = useCallback (( e ) => { e . stopPropagation (); setShowUserMenu ( false ); }, []); const onClickUserProfile = useCallback (() => { setShowUserMenu (( prev ) => ! prev ); }, []); const onClickCreateWorkspace = useCallback (() => { setShowCreateWorkspaceModal ( true ); }, []); const onCreateWorkspace = useCallback ( ( e ) => { e . preventDefault (); // 새로고침 방지 // 폼 검사 if ( ! newWorkspace || ! newWorkspace . trim ()) return ; if ( ! newUrl || ! newUrl . trim ()) return ; axios . post ( 'http://localhost:3095/api/workspaces' , { workspace: newWorkspace , url: newUrl , }, { withCredentials: true }, // CORS ) . then (() => { revalidate (); setShowCreateWorkspaceModal ( false ); setNewWorkspace ( '' ); setNewUrl ( '' ); }) . catch (( error ) => { console . dir ( error ); toast . error ( error .response?.data, { position: 'bottom-center' }); }); }, [ newWorkspace , newUrl ], ); const onCloseModal = useCallback (() => { setShowCreateWorkspaceModal ( false ); setShowCreateChannelModal ( false ); }, []); const toggleWorkspaceModal = useCallback (() => { setShowWorkspaceModal (( prev ) => ! prev); }, []); const onClickAddChannel = useCallback (() => { setShowCreateChannelModal ( true ); }, []); if ( ! userData ) { return < Redirect to = "/login" />; } return ( < div > < Header > < RightMenu > < span onClick = { onClickUserProfile }> < ProfileImg src = {gravatar. url ( userData .email, { s: '28px' , d: 'retro' })} alt = { userData .nickname} /> { showUserMenu && ( < Menu style = {{ right: 0 , top: 38 }} show = { showUserMenu } onCloseModal = { onCloseUserProfile }> < ProfileModal > < img src = {gravatar. url ( userData .email, { s: '36px' , d: 'retro' })} alt = { userData .nickname} /> < div > < span id = "profile-name" >{ userData .nickname}</ span > < span id = "profile-active" >Active</ span > </ div > </ ProfileModal > < LogOutButton onClick = { onLogout }>로그아웃</ LogOutButton > </ Menu > )} </ span > </ RightMenu > </ Header > < WorkspaceWrapper > < Workspaces > { userData ?.Workspaces. map (( ws ) => { return ( < Link key = { ws .id} to = { `/workspace/ ${ 123 } /channel/일반` }> < WorkspaceButton >{ ws .name. slice ( 0 , 1 ). toUpperCase ()}</ WorkspaceButton > </ Link > ); })} < AddButton onClick = { onClickCreateWorkspace }>+</ AddButton > </ Workspaces > < Channels > < WorkspaceName onClick = { toggleWorkspaceModal }>Sleact</ WorkspaceName > < MenuScroll > < Menu show = { showWorkspaceModal } onCloseModal = { toggleWorkspaceModal } style = {{ top: 95 , left: 80 }}> < WorkspaceModal > < h2 >Sleact</ h2 > < button onClick = { onClickAddChannel }>채널 만들기</ button > < button onClick = { onLogout }>로그아웃</ button > </ WorkspaceModal > </ Menu > </ MenuScroll > </ Channels > < Chats > < Switch > < Route path = "/workspace/channel" component = { Channel } /> < Route path = "/workspace/dm" component = { DirectMessage } /> </ Switch > </ Chats > </ WorkspaceWrapper > < Modal show = { showCreateWorkspaceModal } onCloseModal = { onCloseModal }> < form onSubmit = { onCreateWorkspace }> < Label id = "workspace-label" > < span >워크스페이스 이름</ span > < Input id = "workspace" value = { newWorkspace } onChange = { onChangeNewWorkspace } /> </ Label > < Label id = "workspace-url-label" > < span >워크스페이스 url</ span > < Input id = "workspace" value = { newUrl } onChange = { onChangeNewUrl } /> </ Label > < Button type = "submit" >생성하기</ Button > </ form > </ Modal > < CreateChannelModal show = { showCreateChannelModal } onCloseModal = { onCloseModal } /> </ div > ); }; export default Workspace ; 항상 질 좋은 강의 잘 듣고 있습니다.

  • 웹팩
  • babel
  • react
  • typescript
  • Socket.io
  • 클론코딩
보리오빠 댓글 1 좋아요 2 조회수 240

localhost:8080 브라우저에 입력 시 에러

미해결

[스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] - 프로젝트 생성 수업중 hello.hellospring 프로젝트에서 main 메소드를 실행하고, localhost:8080을 치면 에러창은 뜨지만 스프링 아이콘이 뜬다고 하셨는데요.. 에러창은 뜨지만 스프링 아이콘으로 변하진 않았습니다. 또한 콘솔창에 보니까 에러가 발생한 것 같아요. 무시하고 그 다음 강의에서 Hello hello 코드 를 입력한 후 localhost:8080를 브라우저창에 치면 에러창이 뜹니다. 세팅부터 강사님과 똑같이 했는데 어떤게 문제일까요ㅠㅠ

  • 스프링입문
  • 코드로배우는스프링부트
  • 웹mvc
  • DB접근기술
woou 댓글 2 좋아요 0 조회수 580

기간연장 관련 문의

미해결

Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득

안녕하세요! 11월 2일까지 수강 가능이라고 해서 내일 저녁까지 인 줄 알았는데 오늘 자정까지래서요 ㅠㅠ 혹시 수강기간 연장이 가능할까요...??

  • python
  • tensorflow
  • keras
  • 딥러닝
seojinlee2257 댓글 1 좋아요 2 조회수 203

categorical object

미해결

현업 실무자에게 배우는 Kaggle 머신러닝 입문 - ML 엔지니어 실무 꿀팁

안녕하세요, 혹시 XGBoost 예제 코드에서 일부 범주형 카테고리라고 생각하는게 있는데요 work_type smoking_status 같은 경우는 one-hotencoding 처리를 하는게 아닌가, 여쭤 보고 싶습니다. 혹시 원핫 인코딩이 아닌, LabelEncoder 을 하신 이유가 있으실까요?

  • 머신러닝 배워볼래요?
  • kaggle
  • EDA
구링 댓글 1 좋아요 0 조회수 234

프로젝트

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 좋은 강의 너무 진짜 감사드립니다 마무리를 하면서 야생형코스에서 프로젝트를 해보는것이 좋다고 말씀하셨는데 해보는 범위는 프론트부터 백엔드(디비)까지 다 포함해서 말씀하신건지와 추천해주실만한 프로젝트가 있을까요?

  • 프로젝트
  • oop
  • spring
조소영 댓글 1 좋아요 1 조회수 394

express aws 배포 후 세션 - 쿠키

미해결

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

선생님, 안녕하세요. 사실 이 질문이 여기에 해도 되는 질문인지 잘 모르겠지만 답변해주시면 감사하겠습니다. nest.js를 학습하기에 앞서 express 를 복습하고자 전에 개인적으로 만들었던 거를 한번 복습 후, 이번에 aws ec2에 배포까지 해보게 되었습니다. 로그인을 session으로 구현하였는데, 로컬에서는 클라이언트에 쿠키가 잘 전달 되었지만, ec2에 올리고 난 후 클라이언트에 쿠키가 전달되지 않아 도움을 청하고자 합니다. 우선 서버쪽 CORS 설정과 세션 설정은 이렇게 해주었습니다. app.use( cors({ origin: [ 'https://jh-client.ga' // 배포한 client url ], preflightContinue: true, credentials: true, }) ); app.use( session({ secret: 'jjj', proxy: true, store: new RedisStore({ client: redisClient, ttl: 3600 * 24 * 3, //3600초 = 1시간 // ttl: 10, }), saveUninitialized: true, resave: false, name: 'MySessionKey', cookie: { sameSite: 'none', secure: true, // httpOnly : true, // maxAge: 1000 * 60 * 60, // 1000밀리세컨드 : 1초 maxAge: 1000 * 60 * 60 * 5, }, }) ); 클라이언트와 server 모두 ACM을 통해 https 설정을 해주었고, 클라이언트에는 cloud front, 서버에는 elastic load balancer 도 적용해주었습니다. stack over flow나 다른 곳들을 찾아본 결과, sameSite = 'none', secure = true 설정을 해주면 대부분 된다고 하던데 (물론 클라이언트에서 axios 요청을 보낼때도 withCredentials : true 설정을 해주었습니다.) 저는 이것 외에도 추천하는 다양한 방법들을 시도해보았지만 잘 해결되지 않아 너무 답답한 마음에 질문 드렸습니다. 꼭 답변해주시면 감사하겠습니다 감사합니다~~

  • express
  • nodejs
  • session
  • cookie
  • express
  • NestJS
  • TypeORM
google_user 댓글 1 좋아요 0 조회수 1729

인기 태그

인프런 TOP Writers

주간 인기글