묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
테스트, DI 컨테이너
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 중 있었던 테이스 코드들을 봤을 때, MemberServiceTest 같은 경우에는 순수하게 자바코드로 돌리는 테스트로 보입니다. BeanDefinitionTest를 보면 ApplicationContext를 이용하는 코드이기 때문에 DI 컨테이너가 필요한 테스트라고 생각합니다. 그런데, @SpringBootTest 애노테이션을 붙인 테스트와 달리 로그에 스프링의 띄우지 않는 것처럼 보입니다. @SpringBootTest를 넣음에 따라서 달라지는 부분이 있나요? 왜 이런 현상(?)이 발생하는지 궁금합니다. --수정-- https://www.inflearn.com/questions/211302을 보니 @SpringBootTest가 스프링 부트가 제공하는 스프링 컨테이너를 사용해서 테스트를 실행하게 하고 이로 인해 @Component를 포함하는 애노테이션이 붙은 클래스에 대해 컴포넌트 스캔을 진행하여 DI를 진행하는 걸로 이해했습니다. 이를 기반으로 아래와 같은 궁금증이 생겼습니다. 1. @SpringBootTest가 들어갔을 때 띄우는 데에만 해도 시간이 길어지는게, 컴포넌트 스캔 대상이 애플리케이션 전체로 확대되어서 그런 것인가요? 혹시 스프링 부트가 제공하는 스프링 컨테이너를 띄울 때 강의에서 AppConfig 스프링 컨테이너(이 표현이 맞는지 모르겠습니다 ^^)를 띄울 때와 달리 부가적으로 수행하는 작업이 있나요? 2. 필드 주입을 적용한 클래스로 테스트를 할 때 @SpringBootTest를 꼭 넣어야 하나요? 필드 주입을 적용한 클래스와 해당 클래스에서 필요로 하는 클래스를 스캔할 수 있는 @Configuration을 이용해도 @SpringBootTest가 꼭 필요한가요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
쿠키에 저장이 안되는 이유
methods: { async submitForm() { try { // 비즈니스 로직 const userData = { username: this.username, password: this.password, }; const { data } = await loginUser(userData); // token 확인 및 store에 저장(commit) console.log(data.token); this.$store.commit('setToken', data.token); // username을 store에 저장하고 메인 페이지로 push this.$store.commit('setUsername', data.user.username); saveAuthToCookie(data.token); saveUserToCookie(data.user.username); this.$router.push('/main'); } catch (error) { // 에러 핸들링할 코드 console.log(error.response.data); this.logMessage = error.response.data; } finally { this.initForm(); } }, initForm() { this.username = ''; this.password = ''; }, }, 7_til-list 브랜치에서 강의 따라가고 있는데 cookies.js를 import 해서 로그인 폼 제출시 saveAuthToCookie와 saveUserToCookie를 사용했는데 브라우저의 쿠키에 저장이 되질 않습니다. 해결 방법을 알 수 있을까요? 7_til-list 브랜치에서 강의 진행 내용 외에 따로 건드린 것은 없습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
연속 부분수열1
안녕하세요 선생님. 이렇게 코드를 작성한 경우, 선생님께서 설명해주신 코드보다 시간복잡도에서 차이가 클까요? function solution(m, arr){ let n = arr.length; let p1 = p2 = 0; let answer = 0; while (p2 < n){ let sum = arr.slice(p1, p2+1).reduce((a,b)=>a+b, 0); if( sum < m ){ p2++; } else if(sum > m){ p1++; } else{ answer ++; p1++; } } return answer; }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
ProtoBuf 요청 사항
안녕하세요. 요청사항이 있는데요. 저의 경우 서버강의도 수강했었습니다. 그래서 제가 작성한 코드에 직접 이식하고 싶은데 중간에 5-10초뒤에 프로젝트를 변경한다고하면서 코드가 변경되는 장면이 있었는데 해당부분 어떤부분이 변경되었는지 가이드를 문서나 이런것으로 받아 볼 수 있을까요? 저는 직접작성하고 싶습니다..
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Managers는 어느 오브젝트에 붙어있는건가요?
안녕하세요 MonoBehavior를 상속받은 클래스는 오브젝트에 붙어서 사용해야 한다고 이해했는데 Managers는 어디에 붙어있는건가요?
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
이렇게 하면 왜 안되는 걸까요?
Vector3 dir = Vector3.zero; if (Input.GetKey(KeyCode.W)) dir += Vector3.forward; if (Input.GetKey(KeyCode.S)) dir += Vector3.back; if (Input.GetKey(KeyCode.A)) dir += Vector3.left; if (Input.GetKey(KeyCode.D)) dir += Vector3.right; dir = dir.normalized; transform.Translate(dir * Time.deltaTime * 2); 이렇게 Update()안에 넣어뒀는데 제가 Vector3 vec = transform.position;으로 넣어 봤거든요 그런데 그 뒤로는 한번만 키입력을 받으면 그쪽으로 쭈욱 가던데요 왜 그런질 도통 모르겠습니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
질문이요! 개발환경은 org.springframework.boot' version '2.4.7-SNAPSHOT입니다~
삭제된 글입니다
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
혼자 풀어봤는데 궁금합니다
#include <stdio.h> int arr[10][10], ch[10][10], cnt=0; void DFS(int v1, int v2) { int i, j; if (v1 == 7 && v2 == 7) { cnt++; } else { for (i = v1-1; i <= v1+1; i++) { for (j = v2-1; j <= v2+1; j++) { if (i < 1 || i > 7 || j < 1 || j> 7) continue; if (arr[i][j] == 0 && ch[i][j] == 0) { ch[i][j] = 1; DFS(i, j); ch[i][j] = 0; } } } } } int main() { int i, j; for (i = 1; i <= 7; i++) { for (j = 1; j <= 7; j++) { scanf("%d", &arr[i][j]); } } ch[1][1] = 1; DFS(1,1); printf("%d\n", cnt); return 0; } 혼자 풀어봤는데 답이 잘 안나와서 여쭤봅니다. 이중 for문에서 continue를 사용해서 문제가 된걸까요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
HPA 오토 스케일링 전제 조건
안녕하세요 좋은 강의 너무 감사합니다 다름이 아니라 오토스케일링 실습중에 질문이 생겨서요 kubectl autoscale deploy <"deploy-name"> --cpu-percent=50 --min=1 --max=10 일때 전제 조건이 파드에 cpu 사용량을 체크할 사이드카 파드가 필요한건가요 ? 파드 사용량 체크는 어떤놈이 하는지 궁금해서요 .. 그리고 파드를 생성하면 디폴트로 리소스 리밋이 정해지나요 ? (리밋 설정을 따로 주지 않아도) cpu 사용률 50프로의 기준이 디폴트로 파드에 설정된 cpu 사용률에 50프로 기준으로 생성되는건지 궁금해서 질문 드립니다
-
미해결
git 레파지토리 접근 권한 허용 부탁드립니다
인프런 아이디 : 송찬호 인프런 이메일 : yellowtree@ncsoft.com깃헙 아이디 : yellowwhale@gmail.com 깃헙 Username : Chan-hoSong
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
쌤 질문있습니다!
쌤 강의 너무 잘듣고 있습니다! 강의 듣다가 갑자기 궁금했던 기억이 되살아나서 질문드립니다! 제가 프로젝트 진행할때 동적 컨텐츠 랜더링 관련은 jstl을 이용해서 jsp에서 거의 다 처리하고, 페이지에서 특정 부분 갱신 등의 이벤트만 js와 ajax를 이용해서 클라이언트에서 처리하도록 짰는데 선임분이 서버단에 부하를 줄 수 있으니 랜더링 관련은 특별한 경우를 제외하고는 클라이언트단에서 처리하도록 하라고 하시더라구요 도대체 어떤 방식이 올바른 방법인지 판단이 잘 안서서 질문 드립니다 ㅠㅠ 그리고 쌤은 어떤식으로 처리하시는지도 궁금합니다!! 쌤 항상 감사한 마음으로 강의 듣고 있습니다! 거의 다 끝나가는데 얼른 2편도 올려주세요 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
제로초님 이제 마지막 질문이 될 것 같습니다
모든 이슈사항을 다 해결하고 마지막으로 궁금한 건, 기존에 정적인 data들은 db에 넣어놓고 뿌ㄹ렸는데 새롭게 mysql을 설치하면서 그 data들을 다시 aws 서버에 올려줘야하는 거 같더라구요 그럼 이 상황에서는 어쩔 수 없이 insert를 또 해줘야하나요 cmd 창에서 ? 아니면 다른 방법이 있을까요 ? 기존의 데이터를 그대로 옮기고 싶은데
-
미해결실전! Querydsl
count query 부분 질문이 있습니다.
localhost:8080/v3/members/?page=0&size=110 또는 page=2&size=40 으로 조회했을 때에는 카운트 쿼리가 실행되지 않는 걸 확인 했습니다. 페이지 시작이면서 컨텐츠 사이즈가 페이지 사이즈보다 작을 때 마지막 페이지 일 때 (offset + 컨텐츠 사이즈를 더해서 전체 사이즈 구함) 이 두 경우는 이해를 했는데(1번의 경우 시작이면서 마지막 페이지니까) page=1&size=110 또는 page=2&size=50 으로 조회할 경우 content.size()가 0인데도 카운트 쿼리가 실행됩니다. 메소드에서 size가 0이면 카운트 쿼리를 날리게 구현한 걸 봤지만 왜 이렇게 해뒀는지 도저히 상상이 안되네요. 이유를 알 수 있을까요? 허접한 질문이라 죄송합니다... 아직 부족한 게 많네요 ㅠㅠ
-
미해결Slack 클론 코딩[실시간 채팅 with React]
workspace 새로고침
workspace 코드를 보면 const { data: userData, revalidate, mutate } = useSWR<IUser | false>('/api/users', fetcher); if (!userData) { return <Redirect to="/login" />; } 이 코드를 통해 workspace에서 userData가 없을 때 로그인 페이지로 이동하도록 만들었는데 workspace에서 새로고침을 했을 때 다시 userData를 가져오는 동안 아래의 if문이 실행되어 로그인이 되어있음에도 로그인 페이지로 이동하는 경우는 생기지는 않을까요? 비동기 데이터를 가져오는게 완료되고 if문이 실행된다는 순서가 보장이 되는 이유가 궁금합니다. 제가 다른 프로젝트에 이 방법을 응용했을 때 위와 같은 문제가 생겨 여쭈어 봅니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
sub menu가 밑으로 숨어서 보이지 않아요ㅠㅠ
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>세로투컬럼</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="left"> <header> <article class="header-logo"></article> <article class="navi"> <ul class="menu"> <li> <a href="#none">MENU-1</a> <div class="sub-menu"> <a href="#none">SUB-MENU-01</a> <a href="#none">SUB-MENU-02</a> <a href="#none">SUB-MENU-03</a> <a href="#none">SUB-MENU-04</a> </div> </li> <li> <a href="#none">MENU-2</a> <div class="sub-menu"> <a href="#none">SUB-MENU-01</a> <a href="#none">SUB-MENU-02</a> <a href="#none">SUB-MENU-03</a> <a href="#none">SUB-MENU-04</a> </div> </li> <li> <a href="#none">MENU-3</a> <div class="sub-menu"> <a href="#none">SUB-MENU-01</a> <a href="#none">SUB-MENU-02</a> <a href="#none">SUB-MENU-03</a> <a href="#none">SUB-MENU-04</a> </div> </li> <li> <a href="#none">MENU-4</a> <div class="sub-menu"> <a href="#none">SUB-MENU-01</a> <a href="#none">SUB-MENU-02</a> <a href="#none">SUB-MENU-03</a> <a href="#none">SUB-MENU-04</a> </div> </li> </ul> </article> </header> </div> <div class="right"> <section class="slide"> <article></article> </section> <section class="items"> <article class="news"></article> <article class="banner"></article> <article class="shortcut"></article> </section> <footer> <article class="footer-logo"></article> <article class="copyright"></article> </footer> </div> </div> <script type="text/javascript" src="script/jquery-1.12.4.js"></script> <script type="text/javascript" src="script/custom.js"></script> </body> </html> -----------------------------------------------------css .container { width: 1000px; } .container > div { float: left; box-sizing: border-box; } .left { width: 200px; } .right { width: 800px; } header { overflow:hidden; } header > article { border: 1px solid #000; width: 200px; } .header-logo { height: 100px; } .navi { } .slide {} .slide > article { border: 1px solid #000; height: 300px; } .items { overflow:hidden; } .items > article { border: 1px solid #000; height: 200px; width: 33.3333%; float: left; box-sizing: border-box; } .news {} .banner {} .shortcut {} footer { overflow:hidden; } footer > article { border: 1px solid #000; height: 100px; float: left; box-sizing: border-box; } .footer-logo { width: 200px; } .copyright { width: 600px; } /*NAVIGATION*/ .menu { list-style:none; padding: 0; width: 90%; margin: auto; margin-top: 15px; position: relative; } .menu li { text-align: center; } .menu li > a { border: 1px solid #000; display:block; padding: 5px; text-decoration: none; transition:0.5s; } .menu li:hover > a { background-color: #000; color:#fff; } .sub-menu { border: 1px solid #000; position: absolute; top:0; left: 100%; width: 100%; height: 200px; background-color: #000; display: none; z-index: 2; } .sub-menu > a { padding: 5px; display: block; text-decoration: none; transition:0.5s; color:#fff; } .sub-menu > a:hover { background-color: #000; color:#fff; }
-
미해결
질문 <div> react 화면 출력 질문입니다..
<div > <a href="www.naver.com"> <Icon as={IoLogoSnapchat} /> Chatbot </a> </div> 위 코드는 chatbot 글 혹은 icon을 클릭하면 기존 페이지에서 네이버 화면을 여는 코드 입니다. 제가 구현 하고 싶은 것은 기존 페이지 위에 작게 네이버 화면을 여는 것인데 어떻게 해야 할까요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
Uncaught TypeError: Cannot read property 'file' of undefined
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이미 다른 분들이 질문을 주셨었는데 추후에 공지를 띄워주신다는 답변이 마지막 답변이였어서 혹시 해당 에러를 해결할 수 있는 방법이 나왔나요..??
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
selenium 명령어로 창을 열면, 번쩍 이기만 하고 창이 안떠요
selenium 명령어로 창을 열면, 번쩍 이기만 하고 창이 안떠요 어떻게 해야하나요 ㅜㅜ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MVCC=TRUE에 대해서
현재 yaml파일에서 뒤에 MVCC=TRUE를 적으면 서버를 올릴때 오류가 발생하고 있습니다. 반대로, MVCC=TRUE를 제거하면 오류가 나지 않고 서버가 잘 올라가고 있습니다. 빼도되는건가요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
에러가 뜨는데 왜 이러는지 모르겠습니다 ㅠㅠ 뭐가 문제일까요..
(사진)