묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
플러터 레포지토리 컴파일 에러
안녕하세요.Github에 공유해 주신 소스를 컴파일 하고 싶습니다.아래 그림과 같은 에러가 다수 존재합니다.환경이나 코드에 대한 수정사항을 알려주시면 감사하겠습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
SSR의 state초기화관련 질문입니다.
안녕하세요 제로초님 강의들으면서 해당 개념을 개인 프로젝트에서 구현하고 있는데 궁금한점이 있어서 질문드립니다.메인페이지, 프로필페이지에서 게시글을 삭제하면 알람을 띄우고있습니다.근데 메인페이지에서 게시글을 삭제한 뒤 프로필 페이지로 이동하면 알람이 또 뜨더라고요. (반대도 마찬가지입니다.)제 예상으로는 SSR을 적용하면 페이지 이동시에 state가 초기화되어서 위 문제가 발생하지 않는다고 예상했는데 어떤 문제인지 제 생각과는 다르게 동작하더라고요.혹시 어떤 부분이 문제가 있는지 피드백좀 부탁드려도될까요?// index.js import React, { useCallback, useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Button, message } from 'antd'; import { PlusCircleOutlined } from '@ant-design/icons'; import Router from 'next/router'; import Link from 'next/link'; import wrapper from '../store/configureStore'; import axios from 'axios'; import { END } from 'redux-saga'; import AppLayout from '../components/AppLayout/'; import RecentPostList from '../components/HomePost/RecentPostList'; import HomeFooter from '../components/HomePost/HomeFooter'; import TopPostList from '../components/HomePost/TopPostList'; import { LOAD_RECENT_POSTS_REQUEST, LOAD_TOP_POSTS_REQUEST } from '../reducers/post'; import { LOAD_MY_INFO_REQUEST } from '../reducers/user'; import { HomeWrapper, HomeLogoHeader, HomeLogoText, PageMainText, PageSubText, HomeInputWrapper, TopPostsWrapper, HomePosts, TopPostsIcon, HomePostsText, RecentPostsIcon } from '../pagestyles'; const Home = () => { const dispatch = useDispatch(); const { me, logInDone, logOutDone } = useSelector((state) => state?.user); const { topPosts, recentPosts, hasMorePosts, loadRecentPostsLoading, removePostDone } = useSelector((state) => state.post); useEffect(() => { if (logInDone) { message.success('반갑습니다. 맛있는 식사하세요', 1.5); } }, [logInDone]); useEffect(() => { if (logOutDone) { message.success('정상적으로 로그아웃되었습니다.', 1.5); } }, [logOutDone]); useEffect(() => { if (removePostDone) { message.error('게시글이 삭제되었습니다.', 1.5); } }, [removePostDone]); const onSearch = useCallback((tag) => { Router.push(`/hashtag/${tag}`); }, []); useEffect(() => { function onScroll() { if (window.scrollY + document.documentElement.clientHeight > document.documentElement.scrollHeight - 300) { if (hasMorePosts && !loadRecentPostsLoading) { const lastId = recentPosts[recentPosts.length - 1]?.id; dispatch({ type: LOAD_RECENT_POSTS_REQUEST, lastId, }); } } }; window.addEventListener('scroll', onScroll); return () => { window.removeEventListener('scroll', onScroll); } }, [hasMorePosts, loadRecentPostsLoading, recentPosts]); return ( <AppLayout> <HomeWrapper> <HomeLogoHeader> <HomeLogoText> <PageMainText className='bolder'>Recipe.io</PageMainText> <PageSubText>Have a delicious meal today</PageSubText> </HomeLogoText> {me && <Link href='/posting'><a><Button type='primary' size='large' icon={<PlusCircleOutlined />} >Create Recipe</Button></a></Link>} </HomeLogoHeader> <HomeInputWrapper placeholder="Search for Hashtag" size='large' allowClear="true" enterButton onSearch={onSearch} /> <TopPostsWrapper> <HomePosts> <TopPostsIcon /> <HomePostsText className='bold'>Top Posts</HomePostsText> </HomePosts> <TopPostList topPosts={topPosts} /> </TopPostsWrapper> <div> <HomePosts> <RecentPostsIcon /> <HomePostsText className='bold'>Recent Posts</HomePostsText> </HomePosts> <RecentPostList recentPosts={recentPosts} /> </div> </HomeWrapper> <HomeFooter /> </AppLayout> ) }; export const getServerSideProps = wrapper.getServerSideProps(async (context) => { console.log(`context: ${context}`); const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); context.store.dispatch({ type: LOAD_TOP_POSTS_REQUEST, }); context.store.dispatch({ type: LOAD_RECENT_POSTS_REQUEST, }); context.store.dispatch(END); await context.store.sagaTask.toPromise(); }); export default Home;// profile.js import React, { useEffect } from 'react'; import { useSelector } from 'react-redux'; import { message } from 'antd'; import Head from 'next/head'; import wrapper from '../store/configureStore'; import axios from 'axios'; import { END } from 'redux-saga'; import AppLayout from '../components/AppLayout/'; import MyInfo from '../components/MyPage/MyInfo'; import { LOAD_MY_INFO_REQUEST, LOAD_LIKED_POSTS_REQUEST, LOAD_BOARD_POSTS_REQUEST } from '../reducers/user'; import { MypageWrapper, MypageText, PageMainText, PageSubText } from '../pagestyles'; const profile = () => { const { me } = useSelector((state) => state.user); const { removePostDone } = useSelector((state) => state.post); useEffect(() => { if (!me) { message.error('로그인이 필요한 서비스입니다.', 1.5); Router.push('/'); } }, [me]); useEffect(() => { if (removePostDone) { message.error('게시글이 삭제되었습니다.', 1.5); } }, [removePostDone]); return ( <> <Head> <title>마이페이지 | Recipe.io</title> </Head> <AppLayout> <MypageWrapper> <MypageText> <PageMainText className='bolder'>MY PAGE</PageMainText> <PageSubText>Check out posts and likes through your page</PageSubText> </MypageText> <MyInfo /> </MypageWrapper> </AppLayout> </> ) }; export const getServerSideProps = wrapper.getServerSideProps(async (context) => { console.log(`context: ${context}`); const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); context.store.dispatch({ type: LOAD_LIKED_POSTS_REQUEST, }); context.store.dispatch({ type: LOAD_BOARD_POSTS_REQUEST, }); context.store.dispatch(END); await context.store.sagaTask.toPromise(); }); export default profile;
-
미해결Nuxt.js 시작하기
검색기능능 멀티로 작업하려고 합니다.
안녕하세요.동영상 강의 잘 보고 있는 사람입니다.다름이 아니라Nuxt.js 검색기능 강좌 보고 있는 도중 궁금한 것이 있어 문의드립니다.input 타입 text에서 입력하고 검색하는 것은 어찌 영상 따라하면서 구현은 하였으나..실문에서는 input창 뿐만 아니라 다양한 검색조건이 있지 않습니까?예를 들어 날짜 입력 하거나 라디오, 체크박스, 셀렉트박스에서 검색할 부분 체크 한 다음에 최종 검색 버튼을 누르잖아요.그렇게 여러가지 선택해서 검색하려면 작업을 어떻게 해야할까요?궁급합니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
EC2에 설치한 SONARQUBE 를 이용한 실습 강의 영상은 없나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.제가 강의 를 아마존에서 실습하는 강의까지 들었는데요.EC2 에 소나큐브 설치하는 것은 강의가 있어서 따라 했는데 실습 영상중에서는 EC2에 설치한 소나큐브 이용한 강의는 없는것 같아서요.혹시 나중에 업데이트 되는지 궁금합니다.강의 들을때는 소나큐브 컨테이너는 유료써야 된다구 해서 나름 큰맘먹구 따라했는데 실제 실습하는 영상은 없으니까.. 약간 허무해서요.시간되시면 한번 업데이트 부탁드려요.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 반례 질문입니다.
http://boj.kr/d81e6db2daf5453d8b79a8da26301bb4 테스트케이스와 제가 생각한 다른 예제들도 통과하는데 어떤 테스트가 통과가 안되는지 너무 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
a single bean, but 2 were found
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 스프링 데이터 JPA 강의를 들었습니다.그 중 SpringDataJpaMemberRepository에서 JpaRepository와 MemberRepository를 상속받아 인터페이스를 구현하였습니다.이후에 SpringConfig에서 강의자료와 똑같이 코드를 작성하고 통합테스트코드를 돌려보았으나, 아래와 같은 에러가 나타났습니다.Parameter 0 of constructor in hello.hellospring.service.SpringConfig required a single bean, but 2 were found:-memoryMemberRepoistory : defined in file ...-springDataJpaMemberRepository : defined in ... 그래서 memoryMemberRepository에 있는 @Repository를 주석처리 했더니 정상적으로 테스트코드가 돌아가는 것을 확인할 수 있었습니다.다만, 궁금한것은memoryMemberRepository에서 @Repository 를 삭제하라는 부분이 있었는지.(강의를 돌려봤는데도 잘 모르겠어요)왜 memoryMemberRepository에 있는 @Repository를 삭제해줘야하는지입니다. 감사합니다!
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
v-model이나 v-text 등의 디렉티브 자동완성
vscode로 코드 작성 시 v-on과 v-bind는 ctrl + space 누르면 목록이 보이는데 v-model 이나 v-text 등의 디렉티브는 목록에 안보이더라구요.따로 설정을 하거나 설치해야 하는 extention이 있을까요?
-
미해결JIRA를 활용해 더 효과적으로 프로젝트 협업하기
jira 재무팀과 협업을 고려하고있습니다.
프로젝트 이슈유형 관리포인트와, 템플릿 때문에 고민스러워 질의 드립니다.재무팀 프로젝트 고민하고 있습니다. 서버버전과 클라우드버전을 사용하고 있는데, 현재 일부분을 클라우드로 이관을 하기 위하여 프로젝트 생성을 고려하고 있습니다.Q1. 기존 jira 서버에서 이슈 유형을 사진과 같이 사용하고 있습니다. 이렇게 사용할 시 관리적으로 문제가 없을까요? Q2. 워크플로우 여러개 있어 차세대 프로젝트로 생성해야 할 것 같은데, 제일 복잡한 워크플로우 이미지 입니다.이러한경우 어떤 탬플릿을 사용하는게 좋을까요?답변 부탁드리겠습니다!!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
fetch join 일관성에 관하여 질문입니다.
안녕하세요 영한님올려주시는 강의를 들으며 JPA를 공부하고 있습니다.JPA에서 fetchJoin에 관련해서 질문을 검색해보다가 아래 링크에 있는 글을 봤습니다.https://www.inflearn.com/questions/59632다행히 해당 링크에서 영한님이 말씀해주신, fetchJoin에서 조인 대상의 필터링을 지원하지 않는다는 내용과 일관성이 깨질 수 있다는 내용은 이해를 했습니다.그런데 써주신 내용 중 이해가 안가는 부분이있습니다.아래는 영한님이 답변한 글 입니다. 댓글 번호는 5번입니다왜냐하면 JPA의 엔티티 객체 그래프는 DB와 데이터 일관성을 유지해야 하기 때문입니다.예를 들어서 DB에 데이터가 다음과 같이 있습니다.team1 - memberAteam1 - memberBteam1 - memberC그런데 조인 대상의 필터링을 제공해서 조회결과가 memberA, memberB만 조회하게 되면 JPA 애플리케이션은 다음과 같은 결과로 조회됩니다.team1 - {memberA, memberB}team1에서 회원 데이터를 찾으면 memberA, memberB만 반환되는 것이지요.이렇게 되면 JPA 입장에서 DB와 데이터 일관성이 깨지고, 최악의 경우에 memberC가 DB에서 삭제될 수도 있습니다.왜냐하면 JPA의 엔티티 객체 그래프는 DB와 데이터 일관성을 유지해야 하기 때문입니다! 잘 생각해보면 우리가 엔티티의 값을 변경하면 DB에 반영이 되어버리지요.위에 내용중 "이렇게 되면 JPA 입장에서 DB와 데이터 일관성이 깨지고, 최악의 경우에 memberC가 DB에서 삭제될 수도 있습니다." 이게 기존에 DB에 존재하는 데이터가 삭제될 수 있다는 내용으로 이해했는데 어떤 상황에서 발생할 수 있을까요?? 코드로 재연해보려고 시도했는데 계속 막히고있습니다ㅜㅜ
-
해결됨프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2
3-3 이미지 지연 로딩 코드 어디서 보나요?
3-3 이미지 지연 로딩을 하면서 밑에 TwoColumns의 이미지도 지연 로딩하는걸 적용했습니다.강사님 코드와 비교하고 싶은데 어디에서 코드를 확인할 수 있나요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
프로젝트 폴더 구조에 대해서 질문드립니다.
수강생분들의 질문을 기다립니다! - 에러에 해당하는 질문은 "에러가 발생한 상황에 대한 충분한 설명", "에러 메세지", "에러가 난 코드 스크린샷"을 함께 첨부해주세요. - 언어에 해당하는 질문은 구글링 및 서치 후에 구체적으로 질문해주시면 좋습니다. - 간단한 진로 및 방향성에 대한 질문은 메일로 보내주세요.- 패키지 버전 관리은 실무 환경과 트랜드에 맞추어 강의를 업데이트 하고 있습니다. 강의를 그대로 따라갔는데 에러가 발생한다면 패키지 버전을 강의에서 사용하는 버전과 동일하게 맞춰주세요!- 강의 노트, QA 목록, 공지 사항을 먼저 확인해주세요.- 논리적이고 구체적인 질문은 학습 효과를 올립니다 :) 안녕하세요 상석님 강의 잘 보고있습니다.구현중 궁금한것이 생겨서 질문드립니다.컨트롤러나 서비스를 강의에서는각 기능별로 폴더를 만들어서 생성하는데NestJs에서는 MVC패턴처럼 모델과 컨트롤러를 폴더로 따로 분리해서 사용하지않는것이 권장되는지 궁금해서 문의드립니다.
-
미해결초보자도 만들 수 있는 스크롤 인터렉션. 1편 자바스크립트
<script>에 $(function(){})으로 감싸준 이유
$(function(){})은 dom이 모두 load된 후에 실행된다고 배웠어요. section2까지 $(function(){})이 있으나 없으나 똑같이 실행되던데$(function(){})으로 감싼 이유가 있을까요?
-
미해결배달앱 클론코딩 [with React Native]
번들 id 셋팅관련질문
카카오 플랫폼에서 번들 id 입력하라고 나오는데 번들아이디 꼭 com으로 바꿔서 셋팅해줘서 com.aniwalk 이런식으로 오게해야하나요 ?
-
미해결스프링 시큐리티
DelegatingFilterProxy 질문
DelegatingFilterProxy를 공부하면서 두 가지 궁금한 점이 생겼습니다.질문1. package org.springframework.web.filter; 의 패키지 경로를 갖는 DelegatingFIlterProxy.java 프록시가 스프링컨텍스트의 빈이 아닌 서블릿컨텍스트 에 있는 빈이라는 것을 소스코드를 보고 알 수 있는지 궁금합니다.DelegatingFilterProxy가 서블릿컨테이너에 있는 빈이라면 톰캣이 내장하고 있는 클래스라 생각이 들었고 그에 따라 springframework 패키지경로를 갖는 상황이 혼란스럽습니다 ㅠㅠ 질문2.수업시간에 SecurityFilterAutoConfiguration -> DelegatingFilterProxyRegistrationBean 순으로DelegatingFilterProxy가 생성되는 아래 생성자호출 로직을 살펴봤습니다. new DelegatingFilterProxy(this.targetBeanName, getWebApplicationContext()); 하지만, ctrl + shift + f 로 AbstractSecurityWebApplicationInitializer 추상클래스의 로직에서도 아래와 같이 DelegatingFilterProxy를 생성하는 것을 확인했는데요. private void insertSpringSecurityFilterChain(ServletContext servletContext) { String filterName = DEFAULT_FILTER_NAME; DelegatingFilterProxy springSecurityFilterChain = new DelegatingFilterProxy(filterName); String contextAttribute = getWebApplicationContextAttribute(); if (contextAttribute != null) { springSecurityFilterChain.setContextAttribute(contextAttribute); } registerFilter(servletContext, true, filterName, springSecurityFilterChain); } 위 두 가지에 어떤 차이점이 있는지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
WebDataBinder 의 생명주기는 request scope 인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.WebDataBinder의 경우 요청이 들어 올 때 마다 생성된다고 하셨는데 스프링 입문 강의중 bean 생명주기 관련하여 reqeust scope와 동작방식이 비슷한거 같아 저렇게 생각하였는데 맞나요?
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대 부탁드립니다.
mhj9688030@gmail.com 입니다!
-
미해결
고객센터
챗봇으로는 해결할 수 없는 내용을 상담하고 싶은데, 고객센터 전화번호가 없습니다. 문의가능한 전화번호를 알려주세요.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
npm i 오류
npm ERR! code ELIFECYCLEnpm ERR! errno 9009npm ERR! bcrypt@5.0.0 install: node-pre-gyp install --fallback-to-buildnpm ERR! Exit status 9009npm ERR!npm ERR! Failed at the bcrypt@5.0.0 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\swcha\AppData\Roaming\npm-cache\_logs\2022-10-13T02_53_14_535Z-debug.log 깃 클론 받고 back 폴더에서 npm i 했는데 저런 오류가 발생했습니다.구글링했는데 잘 모르겠어서 질문 드립니다!
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
kfold 교차검증 수행
in enumerate 부분에서 이 코딩 부분이 어떻게 작동되는지 조금 더 자세하게 알려주실 수 있나요?
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
requirement 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! (스크린샷이 있으면 더더욱 좋습니다)- 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. !pip install –r requirements.txt 실행하니 오류가 떠서 비슷한 질문 글들 보고 파이썬 버전을 낮췄습니다그후 다시 !pip install –r requirements.txt 실행하니 ERROR: Could not install packages due to an OSError: [WinError 5] 액세스가 거부되었습니다: 'C:\\Users\\User\\AppData\\Local\\Temp\\pip-uninstall-q_4iobeh\\_libs\\algos.cp37-win_amd64.pyd'Consider using the --user option or check the permissions. 오류가 생기더라고요! pip install 뒤에 —user 붙여보라고 해서 해봤는데 주피터에서는 그렇게 입력하면 주황줄이 생기면서 진행이 안되더라구요강의는 계속 듣고 있는데 막상 제일 처음 인스톨하는 문제로 3일째 고생중이라 힘드네요