묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
recyclerview 오류
안녕하세요! 저는 현재 리사이클러 뷰 제작을 하고 있습니다.강의와 같이 따라 했는데도 불구하고 꿀팁에서 All을 클릭하면 자꾸 앱이 종료되더라구요.따로 오류 메세지도 안뜹니다.. 이유가 뭘까요?수업에서 제작한 ContentRVAdapter, ContentListActivity, TipFragment 캡쳐본 첨부합니다.도와주세요ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키 사용
로그인 : 테스터 화면에 안가고 로그인 화면에만 가는데 쿠키도 잘넘어오는데 왜그런걸까요?쿠키는 화면에 찍히는데 if (memberId == null) { return "home"; } 여기서 memberId가 null로 됩니다.그리고 강사님은 새로고침 하면 request headers에 쿠키가 있는데 저는 쿠키가 sessionId=0c96..... 로 뜹니다. 왜그런걸까요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
현업에서 CNN은 어떻게 구현하나요?
좋은 강의 감사드립니다..수강 중 의문점이 있어 문의드려요.강의 중 [AI HW Lab2] CNN Verilog HDL Practice 1 (Simulation) - 문제설명편 ppt 의 약 9:14초 정도에서 "현업에서는 이러한 CNN_CORE를 사용하지 않아요" 라고 말씀하셨는데 그 뜻이 궁금합니다.veriolg가 아닌 HLS 등을 사용해서 구현한다는 건지 ? 아님 다른 가속용 IP core를 사와서 구현한다는 뜻인지? 아닌 다른 뜻이 있는지 알고 싶습니다.그 외에 현업에서 실제로 어떠한 방식으로 딥러닝 IP를 구현하는지 간단하게 설명 부탁드려도 될까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 문법 RollBack
JPQL 작성 시, 전체 조회하면 이상이 없는데 특정 칼럼을 지정하면 RollBack에러가 발생합니다. 어떤 문제인지 알고 싶습니다..
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
Next.js로 dat.gui 사용하기
- 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :)- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!- 먼저 유사한 질문이 있었는지 검색해보세요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.현재 Next.js로 threeJs 강의 수강 중에 있습니다. npm에 react-three 라이브러리가 있지만 사용하지 않고 강의 내용 그대로 코딩하고 있는데요, Next.js에서 dat.gui를 import 하면 window is not found 에러가 발생합니다. 해결 방법이 있을까요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
값이 다르게 나오는 이유가 뭘까요??
(사진)
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
네이게이션이 안보여요 쌤 ㅠㅠㅠ
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>JUST쇼핑몰</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="star"> <!-- header --> <div class="header"> <div class="header-logo"> <a href="#none"><img src="images/logo-header.png" alt="헤더로고"></a> </div> <div class="navi"> <div></div> </div> </div> <!-- slide --> <div class="slide"> <div> <a href="#none"><img src="images/slide-01.jpg" alt="슬라이드01"></a> <a href="#none"><img src="images/slide-02.jpg" alt="슬라이드02"></a> <a href="#none"><img src="images/slide-03.jpg" alt="슬라이드03"></a> </div> </div> <!-- items --> <div class="items"> <div class="tab"> <div> </div> </div> <div class="banner"> <a href="#none"><img src="images/banner-01.jpg" alt="배너01"></a> </div> <div class="now"> <a href="#none"><img src="images/banner-02.jpg" alt="배너02"></a> </div> </div> <!-- footer --> <div class="footer"> <div class="footer-logo"> <a href="#none"><img src="images/logo-footer.png" alt="푸터로고"></a> </div> <div class="copy"> <p> 상호 : 엣지컴퍼니 | 대표자 : 홍길동 | 개인정보관리책임자 : 장길산 차장<br> 사업장주소 : 서울특별시 강남구 테헤란로 123-56 </p> </div> <div class="sns"> <a href="#none"><img src="images/sns-01.png" alt="sns01"></a> <a href="#none"><img src="images/sns-02.png" alt="sns02"></a> <a href="#none"><img src="images/sns-03.png" alt="sns03"></a> </div> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "UTF-8"; .star{ width: 1200px; margin: auto; } .star div{} /* header */ .header{height: 100px;} .header > div{} .header-logo{ width: 200px; float: left; padding-top: 30px; } .navi{} .navi div{ width: 600px; float: right; background-color: black; } /* slide */ .slide{ position: relative; width: 1200px; height: 300px; } .slide div{ font-size: 0; } .slide div a{ animation: slide 10s linear infinite; position: absolute; top: 0; left: 0; } .slide div a:nth-child(1) { animation-delay: 0s; } .slide div a:nth-child(2) { animation-delay: 3.5s; } .slide div a:nth-child(3) { animation-delay: 7s; } @keyframes slide { 0% {opacity: 0;} 5% {opacity: 1;} 35% {opacity: 1;} 40% {opacity: 0;} 100% {opacity: 0;} } /* items */ .items{overflow: hidden;} .items div{ height: 200px; float: left; box-sizing: border-box; } .tab{} .tab > div{ width: 500px; background-color: aqua; } .banner{ width: 350px; } .now{ width: 350px; } /* footer */ .footer{overflow: hidden;} .footer div{ height: 100px; float: left; box-sizing: border-box; } .footer-logo{ width: 200px; padding-top: 30px; } .copy{ width: 800px; text-align: center; padding-top: 7px; } .sns{ width: 200px; padding: 20px; } 왜죠
-
미해결[코드팩토리] [중급] 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 이런식으로 오게해야하나요 ?