묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
스크립트3.18.1이 없는데 어떻게 깔죠?
4강에서 atom깔고 settings눌러서 스크립트를 깔려고 하는데 스크립트 3.18.1 이 안보여요 다른 스크립트는 많은데....다른걸로 다운받아야 하나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
4강질문
atom깔고 settings누르고 intall 눌러서 script라고 쳤는데 다운받으라고 한게 안보이네요. 어떻게 찾아야 될지도 모르겠고...
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Spring boot 1.x.x 버전 프로젝트 생성하시는법 아시는가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]안녕하세요 김영한님 혹시 Spring boot 1.x.x 버전으로 프로젝트 생성하시는 법 아시나요? jdk 1.7 사용하는 프로젝트를 받았는데 초반부터 쉽지않네요...
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
multer s3 질문
multer 말고 formidable도 있는데 multer를 쓰는 특별한 이유가 multer를 이용해 s3 하는게 편해서 그런건가요? 그리고 formidable을 이용해서도 s3 하는게 가능한가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 목록을 더 확장해서 해보는데 잘 안되네요.
https://github.com/yacamoz/springboard -현재 작성중인 코드- 일단 배운 범위내에서 게시판을 만들어 볼겸 해서 조금 확장하고 있는데, 테스트코드를 돌려보는데 원하는대로 작동을 안합니다. 자동으로 증가하는 번호는 memnum, 이름, 아이디, 비밀번호, 이메일을 추가한 새로운 DB를 mysql로 만들고 이를 적용하는데 테스트코드에서는 memberid에 분명히 'spring12'를 넣었지만 정작 saveId에는 memnum이 입력이 되고 memnum은 아무것도 입력이 안되는 현상이 계속 관측됩니다. 그래서 계속 테스트코드는 오류를 뱉어내고 있습니다. 테스트코드는 작동을 안하지만 DB에 모든 내용은 잘 입력되었습니다. 관련된 Service 탭이나 domain의 member도 확인해보았지만 도저히 해결이 안됩니다. 어떻게 해야하나요?
-
미해결윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정
12:25 질문 드립니다.
ctx.close() 메서드를 호출하면 IOC 컨테이너가 가지고 있는 모든 객체가 소멸된다고 하셨는데요. ctx.close() 이후에 t1의 값을 찍어보면 주소는 여전히 살아있습니다. 가비지컬렉션이 추가로 필요한건가요? TestBean1 의 생성자 TestBean1 의 init 메서드 t1 : kr.co.softcampus.beans.TestBean1@c0c2f8d TestBean1 의 destroy 메서드 t1 : kr.co.softcampus.beans.TestBean1@c0c2f8d
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
COALESCE
pdf에는 coalesce: 하나씩 조회해서 null이 아니면 반환 예제 코드에는 사용자 이름이 없으면 '이름없는 회원'을 반환이라고 되어있는데 즉 하나씩 조회해서 null이면 (username이 null이면)이름없는 회원을 반환한다는 의미 아닌가요? pdf의 설명이랑 다른거같아서 질문드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
동영상 재생이 안되는 구간이 있어요
값타입 section 실전예제6 값타입 매핑 동영상만 재생이 안되네요 확인 부탁 드립니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
getServerSideProps 문제 질문있습니다.
cookie가 있는걸로 봐서는 프론트에서 인식을 못하고 있는것 같다고 하셔서 살펴보는데 찾지를 못하겠습니다.. 일단 pages/index,js의 getServerSideProps 는 문제가 없어 보입니다. ```javascript export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req }) => { const cookie = req ? req.headers.cookie : ''; // req가 있다면 cookie에 요청에 담겨진 cookie를 할당한다. axios.defaults.headers.Cookie = ''; // 요청이 들어올 때마다 초기화 시켜주는 것이다. 여기는 클라이언트 서버에서 실행되므로 이전 요청이 남아있을 수 있기 때문이다 if (req && cookie) { axios.defaults.headers.Cookie = cookie; // 서버일때랑 cookie를 써서 요청을 보낼 때만 headers에 cookie를 넣어준다 } store.dispatch({ type: LOAD_MY_INFO_REQUEST, // user }); store.dispatch({ type: LOAD_POSTS_REQUEST, // post }); store.dispatch(END); await store.sagaTask.toPromise(); // store/configureStore.js > store.sagaTask }); // 이 부분이 Home 보다 먼저 실행됨 ``` 그리고 reducer 또한 문제가 없어 보입니다. case LOAD_MY_INFO_REQUEST: draft.loadMyInfoLoading = true; draft.loadMyInfoDone = false; draft.loadMyInfoError = null; break; case LOAD_MY_INFO_SUCCESS: draft.loadMyInfoLoading = false; draft.me = action.data; draft.loadMyInfoDone = true; break; case LOAD_MY_INFO_FAILURE: draft.loadMyInfoLoading = false; draft.loadMyInfoError = action.error; break; 이어서 saga user 입니다. function loadMyInfoAPI() { return axios.get('/user'); // GET(Browser) } function* loadMyInfo() { try { const result = yield call(loadMyInfoAPI); console.log(result); yield put({ type: LOAD_MY_INFO_SUCCESS, data: result.data, }); } catch (err) { console.error(err); yield put({ type: LOAD_MY_INFO_FAILURE, error: err.response.data, }); } } routes/user 입니다. router.get('/:userId', async (req, res, next) => { try { const fullUserWithoutPassword = await User.findOne({ where: { id: req.params.userId }, attributes: { exclude: ['password'], // 원하는 정보만 가져오거나 가져오지 않겠다 / 현재: pw 빼고 다 가져오겠다 }, include: [ { model: Post, attributes: ['id'], }, { model: User, as: 'Followers', attributes: ['id'], }, { model: User, as: 'Followings', attributes: ['id'], }, ], // 가져올 정보중 뺄 것들 }); if (fullUserWithoutPassword) { const data = fullUserWithoutPassword.toJSON(); data.Posts = data.Posts.length; // 개인정보 침해 예방 data.Followers = data.Followers.length; data.Followings = data.Followings.length; res.status(200).json(data); } else { res.status(404).send('존재하지 않는 사용자입니다.'); } } catch (err) { console.error(err); next(err); } }); 추가로 middleware 입니다. exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); // 비어있으면 다음 미들웨어로 간다 } else { res.status(401).send('로그인이 필요합니다.'); } }; exports.isNotLoggedIn = (req, res, next) => { if (!req.isAuthenticated()) { next(); // 비어있으면 다음 미들웨어로 간다 } else { res.status(401).send('로그인하지 않은 사용자만 접근이 가능합니다.'); } }; 살펴본 결과 로직은 문제가 없어보이는데 혹시 front에서 getServerSideProps 문법이 강의와 다른데 라이브러리 사이트를 보고 적용했던겁니다. 제가 너무 헤매고 있어서 보시고 조언 주신다면 감사하겠습니다... network 401
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django template내 src 링크내에서 & 문자
django template html 안에서 src 주소중에 &가 들어가는 부분 전부 빨간색이 되더라고요 시도해본 방법으로 이스케이프를 앞에 써봤습니다
-
미해결중급자를 위한 1 minute, 스낵 파이썬
heapq는 효과적이다 라고 할정도로 빠르진 않다는 말씀이신가요??
안녕하세요. 강의 잘 듣고 있습니다. heapq는 얼마나 빠른가 챕터를 보고 있다가 열린 결말로 나온것 같아서.. 정리를 하자면 제목과 같이 heapq는 효과적이다 라고 할정도로 빠르진 않다는 것이 이번 챕터의전달 목적인가 해서 질문드립니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
프래그먼트에서 뒤로가기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 듣고 있습니다. 프래그먼트를 배우다가 뒤로가기 이벤트 때문에 질문드립니다. Fragment에서 뒤로가기를 누르면 종료가 되서요 종료가 안되고 뒤로 가려고 구글링을 해서 addToBackStack(null)란 명령어를 찾았는데 혹시 첫번째 페이지에서만 뒤로가기 했을때 종료하는 방법이 있을까요? 예를 들어서 제가 3개 프래그먼트를 만들었고 1->2->3->1로 이동한다고 가정했을때 1->2에서는 뒤로가기 가능 2->3에서도 가능 3->1로 이동했을때 첫번째 페이지에서 뒤로가기 눌렀을시 종료되는 기능이요. 이것저것 시도해보는데 잘 되지 않아서요. 혹시 가능할까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터에서 의존성 주입을 받을 수 있는 방법이 있을까요?
Interceptor에서 preHandle메소드에서 session을 체크하고, session이 없으면 로그인 페이지로 이동을 하게 하고, session이 있으면 회원정보의 특정 필드값을 업데이트를 할려고 합니다. 그런데 Interceptor에서 MemberService 를 의존성주입을 하면 오류가 납니다. Interceptor에서 서비스를 호출할려면 어떻게 해야할까요>?
-
해결됨홍정모의 따라하며 배우는 C언어
16:00 부분 질문있습니다.
제가 기억하기로 static keyword를 하면변수가 BSS에 저장이 된다고 알고 있는데요.12강 강의를 전부 다 복습했는데도 불구하고 다른 파일에서 같은 이름을 가진 변수에 static keyword를 사용했을 때 마치 automatic variable처럼 다른 주소를 갖는 다는 내용의 설명은 찾질 못했습니다.static일 경우는 그 파일 혹은 블록 내에서만 사용되는 지역변수이지만 automatic variable과는 다르게 프로그램의 시작부터 끝까지 남는다고 알고 있습니다.그래서 16:00부터의 강의 내용이 잘 와닿지가 않는데요. 제가 그나마 이해한 부분은 만약 my_functions.h 에서 static이 아닌 extern으로 si를 선언했다면 #include "my_functions.h"를 했을 때 si의 선언이 중복이 돼서 불가능하지만static keyword로 선언을 했다면 해당 파일 내에서만 visible한 지역변수로 취급이 되기 때문에 다른 파일에서 또 선언이 될 시 프로그램 전체로 봤을 때는 BSS에 같은 변수 이름으로 접근이 가능한 메모리 공간이 하나 더 생기지만 각 파일 입장에서는 해당 변수 이름으로 접근을 할 때 컴파일러 입장이나 링커 입장에서 컴파일 오류나 링킹 오류를 발생시키지 않는다고 이해했습니다.제가 생각한 내용이 맞거나 혹은 틀린 부분이나 추가적으로 알아야 하는 내용이 있다면 말씀해주시면 감사합니다.
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 파워쿼리 Advanced
중괄호 대괄호
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 ! 좋은 강의 감사히 잘 듣고 있습니다. {} 가 중괄호이고, []가 대괄호로 알고 있는데 중간중간 잘 못 언급되어 있는것 같습니다. 다른 부분들은 완벽한 것 같습니다. 감사합니다.
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
result페이지에서 결과가 안 나와요
result 페이지로 넘어오면 결과값이 안뜨고 공유하기 버튼은 보입니다 계속 시도 해보니까 2가지만 뜨고 나머지 결과가 안 뜨는 것 같아요 오류랑 코드 올립니다... 도와주세요!! const main = document.querySelector("#main"); const qna = document.querySelector("#qna"); const result = document.querySelector("#result"); const endPoint = 10; // 질문 개수 const select = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; function calResult() { // select 배열에 있는 최대값 반환 var result = select.indexOf(Math.max(...select)); return result; } function setResult(){ let point = calResult(); const resultName = document.querySelector('.resultName'); var name = infoList[point].name; name = name.replace(/, /ig, '<br>'); resultName.innerHTML = name; var resultImg = document.createElement('img'); const imgDiv = document.querySelector('#resultImg'); var imgURL = 'img/image-' + point + '.png'; resultImg.src = imgURL; resultImg.alt = point; resultImg.classList.add('img-fluid'); imgDiv.appendChild(resultImg); const resultDesc = document.querySelector('.resultDesc'); resultDesc.innerHTML = infoList[point].desc; } function goResult() { qna.style.WebkitAnimation = "fadeOut 0.7s"; qna.style.animation = "fadeOut 0.7s"; setTimeout(() => { result.style.WebkitAnimation = "fadeIn 0.7s"; result.style.animation = "fadeIn 0.7s"; setTimeout(() => { qna.style.display = "none"; result.style.display = "block"; }, 300) }) setResult(); } // 답변 버튼 만들기 function addAnswer(answerText, qIdx, idx) { var a = document.querySelector('.answerBox'); var answer = document.createElement('button'); // 답변 버튼에 클래스 추가 answer .classList .add('answerList'); answer .classList .add('my-3'); answer .classList .add('py-3'); answer .classList .add('mx-auto'); answer .classList .add('fadeIn'); a.appendChild(answer); answer.innerHTML = answerText; // 클릭하면 다음 질문으로 answer.addEventListener("click", function () { var children = document.querySelectorAll('.answerList'); for (let i = 0; i < children.length; i++) { children[i].disabled = true; children[i].style.WebkitAnimation = "fadeOut 0.5s"; children[i].style.animation = "fadeOut 0.5s"; } setTimeout(() => { var target = qnaList[qIdx].a[idx].type; for (let i = 0; i < target.length; i++) { select[target[i]] += 1; } for (let i = 0; i < children.length; i++) { children[i].style.display = "none"; } goNext(++qIdx); }, 450); }, false); } // 질문과 답변 불러오기 function goNext(qIdx) { // 마지막 질문일 때 호출 후 리턴 if (qIdx === endPoint) { goResult(); return; } var q = document.querySelector('.qBox'); q.innerHTML = qnaList[qIdx].q; for (let i in qnaList[qIdx].a) { addAnswer(qnaList[qIdx].a[i].answer, qIdx, i); } var status = document.querySelector('.statusBar'); status.style.width = (100 / endPoint) * (qIdx + 1) + '%'; } // main 페이지에서 qna 페이지로 화면 전환 function begin() { main.style.WebkitAnimation = "fadeOut 0.7s"; main.style.animation = "fadeOut 0.7s"; setTimeout(() => { qna.style.WebkitAnimation = "fadeIn 0.7s"; qna.style.animation = "fadeIn 0.7s"; setTimeout(() => { main.style.display = "none"; qna.style.display = "block"; }, 300) let qIdx = 0; goNext(qIdx); }, 300); }
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Security (Users Microservice - Routes 테스트) 관련 질문입니다
안녕하세요 강의를 듣던중 도저히 해결되지 않아 질문드립니다. 코드는 여러번 확인했고 동일하게 작성했습니다. 다른 API는 작동이 잘되는데 apigateway-service를 기반으로 한 127.0,0.1/user-service/login이 아래와 같은 이미지로 작동되지 않고 있네요 현재 spring-boot 2.5.4 버전으로 진행하고 있습니다. - post 요청 후 이미지 (404가 뜨긴하는데 평소와 다른 방식으로 Response 되고 있습니다) - intelliJ console
-
미해결[React 1부] 만들고 비교하며 학습하는 React
store의 data는 직접 수정해도 되나요?
헷갈리는 점이 있어서 질문드립니다. state는 불변성을 가지는걸로는 알고있는데 HistoryList state는 store의 historyData를 끌어서 쓰는 것 뿐이니 store에서 historyData를 직접 수정해도 되나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
context.req에 대해서 질문이 있습니다.
안녕하세요. 이번 강의에서 설명하신게 이해가 잘 되지 않아서 질문드립니다. 위 코드가 강의에서 설명하신 코드인데요(콘솔로그 부분 제외) 1. getServerSideProps가 프론트 서버에서 실행되는 코드라고 하셨는데, 이는 back 디렉토리에 백엔드 서버 코드의 (req,res,next)=>{ ... return res.status(200).send('ok') } 처럼 프론트 서버의 특정 라우터로 요청이 갔을 때 실행되는 부분이라고 이해했는데 맞나요..? 2. 그래서 이것을 확인해보기 위해서 req.url과 req.method를 콘솔로 찍어봤는데 첫 새로고침 때는 위와 같이 나와서 생각한게 맞구나 싶었는데, 다른 페이지를 갔다가 오면 위처럼 req.url이 다르더라고요.. 무슨 차이가 있는건지 궁금합니다... 3. getServerSideProps 안에 작성된 코드가 프론트 서버에서 실행되는 코드라면 context.req 는 항상 true가 아닌가요..? 요청이 왔을 때만 서버가 실행된다고 생각했고, const {cookie} = context.req.headers; axios.defaults.headers.Cookie = ""; if (cookie) { axios.defaults.headers.Cookie = cookie; } 이렇게 코드를 작성해도 되는게 아닌가 싶어서 질문드립니다. 혹시 context.req 가 true가 아닐 경우가 있으면 간단한 예를 들어주실 수 있을까요?? 4. 마지막으로 프론트 서버는 어디서 온건가요...? .next - server 에 있는게 프론트 서버인가요??? 해당 서버는 pages의 파일들을 수정하면 알아서 설정되는 것인지도 궁금합니다.
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 파워쿼리 Advanced
조건열 방식과 열병합 방식
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 감사한 마음으로 잘 듣고 있습니다. 강사님께서는 Qty와 Qty.1을 병합하는 방식으로 조건열을 사용하셨는데, 저는 Qty와 Qty.1을 열병합하는 방식으로 하였습니다. 아마 두 열이 겹치는 값이 없어서 한쪽 열의 값이 있으면 한쪽 열은 null값이 형성되어서 그런 것 같습니다. 이 방식도 괜찮은 방법인가요 ?