묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결WEB2 - PHP
form과 post에서 질문이 생겼습니다.
get방식까지 따라 했는데, 계속 submit 을 누르고나면 php주소로 바뀌는게 아니라 파일이 다운로드 됩니다....form.php 파일이 자동으로 다운로드 되요... 제가 이것 정답찾으려고 인터넷 많이 검색해 봤는데... 답을 찾지 못해서... 혹시 왜 그런지 아시는지요ㅠㅠ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
lt설정에 관한 질문
안녕하세요? 강의 잘 보고 있습니다. 다름이아니라, lt와 rt를 설정할때, 각각 디스크 용량의 최대/최소로 알고있는데, 선생님께서는 lt를 1로 설정하였는데 그게 아니라 음악들의 최소값인 min(music)이 들어가야 맞지 않나요..? 아니라면 무엇을 제가 놓쳤는지 설명해주시면 감사하겠습니다..
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
dev c++ 작동오류
dev c++로 코딩하는데 while(1) 이나 sizeof(..) 같은 문법이나 함수가 제대로 작동하지 않습니다. 같은 코드를 visual studio에서 돌리면 작동을 합니다. 컴파일러는 tmd-gcc 최신버전 사용하고 있습니다.이유가 무엇인지 궁금합니다. 또한 dev c++ 대신 visual studio를 사용해도 되는지요? (visual을 사용하면 체점받는 것은 어렵다는 것은 알고있습니다)
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
강의 잘 듣고 있습니다. 프로젝트 진행중 답답한 상황이 생겨 질문드립니다.
강의와 관련없는 질문이라 조심스럽게 남겨 봅니다. Main.vue - Home.vue - PrpSearch.vue 구조인데 Main.vue에 <top-menu /> <router-view /> 두가지가 구성되어 있는데 Home.vue로 라우팅할시 top-menu는 노출하지 않고 PrpSearch.vue로 라우팅시 top-menu가 노출되는 형태가 되어야 하는데 간단한듯한데 쉽지 않네요. routes 구성은 { path: "/", component: () => import("@views/Main.vue"), children : [ { path: '/', name:'Home' , component: () => import("@views/home/Home.vue") }, { path: '/rnd/prp-search', name:'PrpSearch' , component: () => import("@views/rnd/PrpSearch.vue") }, ] }, 입니다. 감사합니다.
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
13:00에서 서버로 실행시 404 오류가 나옵니다
요청된 리소스는 가용하지 않는다는 메시지가 나옵니다 톰캣 servers폴더의 server.xml에 <context> 부분이 사라져있던데 이부분 때문에 오류가 나오는걸까요??
-
미해결애플 웹사이트 인터랙션 클론!
안녕하세요. 실행 오류가 뜨는데 질문드립니다
(() => { let yOffset = 0; //window.pageOffset 대신 쓸 수 있는 변수 let prevScrollHeight = 0 // 현재 스크롤 (yOffset)보다 이전에 위치한 스크롤 높이값의 함 let currentScene = 0; // 현재 활성화된 (눈앞에 보고 있는) 씬(scroll-section) let enterNewScene = false; const sceneInfo = [ { // 0 type: 'sticky', heightNum: 5, //브라우저 높이의 5배로 scrollheight 세팅 scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-0'), messageA: document.querySelector('#scroll-section-0 .main-message.a'), messageB: document.querySelector('#scroll-section-0 .main-message.b'), messageC: document.querySelector('#scroll-section-0 .main-message.c'), messageD: document.querySelector('#scroll-section-0 .main-message.d') }, values: { // 글자 구간과 선명도를 지정 하는 역할 messageA_opacity_in: [0, 1, { start: 0.1, end: 0.2 }], messageB_opacity_in: [0, 1, { start: 0.3, end: 0.4 }], messageC_opacity_in: [0, 1, { start: 0.5, end: 0.6 }], messageD_opacity_in: [0, 1, { start: 0.7, end: 0.8 }], messageA_translate_in: [20, 0, { start: 0.1, end: 0.2 }], messageB_translate_in: [20, 0, { start: 0.3, end: 0.4 }], messageC_translate_in: [20, 0, { start: 0.5, end: 0.6 }], messageD_translate_in: [20, 0, { start: 0.7, end: 0.8 }], messageA_opacity_out: [1, 0, { start: 0.25, end: 0.3 }], messageB_opacity_out: [1, 0, { start: 0.45, end: 0.5 }], messageC_opacity_out: [1, 0, { start: 0.65, end: 0.7 }], messageD_opacity_out: [1, 0, { start: 0.85, end: 0.9 }], messageA_translate_out: [0, -20, { start: 0.25, end: 0.3 }], messageA_translate_out: [0, -20, { start: 0.45, end: 0.5 }], messageA_translate_out: [0, -20, { start: 0.65, end: 0.7 }], messageA_translate_out: [0, -20, { start: 0.85, end: 0.9 }], } }, { // 1 type: 'normal', // heightNum: 5, //브라우저 높이의 5배로 scrollheight 세팅 scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-1') } }, { // 2 type: 'sticky', heightNum: 5, //브라우저 높이의 5배로 scrollheight 세팅 scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-2'), messageA: document.querySelector('#scroll-section-2 .a'), messageB: document.querySelector('#scroll-section-2 .b'), messageC: document.querySelector('#scroll-section-2 .c'), pinB: document.querySelector('#scroll-section-2 .b .pin'), pinC: document.querySelector('#scroll-section-2 .c .pin'), }, values: { messageA_translateY_in: [20, 0, { start: 0.15, end: 0.2 }], messageB_translateY_in: [30, 0, { start: 0.6, end: 0.65 }], messageC_translateY_in: [30, 0, { start: 0.87, end: 0.92 }], messageA_opacity_in: [0, 1, { start: 0.25, end: 0.3 }], messageB_opacity_in: [0, 1, { start: 0.6, end: 0.65 }], messageC_opacity_in: [0, 1, { start: 0.87, end: 0.92 }], messageA_translateY_out: [0, -20, { start: 0.4, end: 0.45 }], messageB_translateY_out: [0, -20, { start: 0.68, end: 0.73 }], messageC_translateY_out: [0, -20, { start: 0.95, end: 1 }], messageA_opacity_out: [1, 0, { start: 0.4, end: 0.45 }], messageB_opacity_out: [1, 0, { start: 0.68, end: 0.73 }], messageC_opacity_out: [1, 0, { start: 0.95, end: 1 }], pinB_scaleY: [0.5, 1, { start: 0.6, end: 0.65 }], pinC_scaleY: [0.5, 1, { start: 0.87, end: 0.92 }] } }, { // 3 type: 'sticky', heightNum: 5, //브라우저 높이의 5배로 scrollheight 세팅 scrollHeight: 0, objs: { container: document.querySelector('#scroll-section-3') } }, ]; function setLayout() { // 각 section 의 높이 세팅 for (let i = 0; i < sceneInfo.length; i++) { if (sceneInfo[i].type === 'sticky') { sceneInfo[i].scrollHeight = sceneInfo[i].heightNum * window.innerHeight; } else if (sceneInfo[i].type === 'normal') { sceneInfo[i].scrollHeight = sceneInfo[i].objs.container.offsetHeight; } sceneInfo[i].objs.container.style.height = `${sceneInfo[i].scrollHeight}px` } let totalScrollHeight = 0; yOffset = window.pageYOffset; // 새로고침 버튼 눌렀을때 그 씬 장면이 유지 될 수 있게 해주는 역할 for (let i = 0; i < sceneInfo.length; i++) { totalScrollHeight += sceneInfo[i].scrollHeight; if (totalScrollHeight >= yOffset) { currentScene = i; break } } document.body.setAttribute('id', `show-scene-${currentScene}`) } function calcValues(values, currentYOffset) { let rv; //현재 씬(스크롤 섹션)애서 스크롤된 범위를 비율로 구하기 const scrollHeight = sceneInfo[currentScene].scrollHeight; const scrollRatio = currentYOffset / scrollHeight; if (values.length === 3) { // start ~ end 사이에 애니메이션 진행 const partStart = values[2].start * scrollHeight const partEnd = values[2].end * scrollHeight const partScrollHeight = partEnd - partStart; if (currentYOffset <= partEnd && currentYOffset >= partStart) { rv = (currentYOffset - partStart) / partScrollHeight * (values[1] - values[0]) + values[0]; } else if (currentYOffset < partStart) { rv = values[0]; } else if (currentYOffset > partEnd) { rv = values[1]; } } else { rv = scrollRatio * (values[1] - values[0]) + values[0]; } return rv; } function playAinmation() { const objs = sceneInfo[currentScene].objs; const values = sceneInfo[currentScene].values; const currentYOffset = yOffset - prevScrollHeight; const scrollHeight = sceneInfo[currentScene].scrollHeight; const scrollRatio = currentYOffset / scrollHeight; // console.log(currentScene) switch (currentScene) { case 0: // calcValues = (values의 선명도, 현재 스크롤의 위치 if (scrollRatio <= 0.22) { // in objs.messageA.style.opacity = calcValues(values.messageA_opacity_in, currentYOffset); objs.messageA.style.transform = `translateY(${calcValues(values.messageA_translate_in, currentYOffset)}%)`; } else { // out objs.messageA.style.opacity = calcValues(values.messageA_opacity_out, currentYOffset); objs.messageA.style.transform = `translateY(${calcValues(values.messageA_translate_out, currentYOffset)}%)`; } if (scrollRatio <= 0.42) { objs.messageB.style.opacity = calcValues(values.messageB_opacity_in, currentYOffset); objs.messageB.style.transform = `translateY(${calcValues(values.messageB_translate_in, currentYOffset)}%)` } else { objs.messageB.style.opacity = calcValues(values.messageB_opacity_out, currentYOffset); objs.messageB.style.transform = `translateY(${calcValues(values.messageB_translate_out, currentYOffset)}%)`; } if (scrollRatio <= 0.62) { objs.messageC.style.opacity = calcValues(values.messageC_opacity_in, currentYOffset); objs.messageC.style.transform = `translateY(${calcValues(values.messageC_translate_in, currentYOffset)}%)` } else { objs.messageC.style.opacity = calcValues(values.messageC_opacity_out, currentYOffset); objs.messageC.style.transform = `translateY(${calcValues(values.messageC_translate_out, currentYOffset)}%)`; } if (scrollRatio <= 0.82) { objs.messageD.style.opacity = calcValues(values.messageD_opacity_in, currentYOffset); objs.messageD.style.transform = `translateY(${calcValues(values.messageD_translate_in, currentYOffset)}%)` } else { objs.messageD.style.opacity = calcValues(values.messageD_opacity_out, currentYOffset); objs.messageD.style.transform = `translateY(${calcValues(values.messageD_translate_out, currentYOffset)}%)`; } break; case 1: break; case 2: break; case 3: break; } } function scrollLoop() { enterNewScene = false prevScrollHeight = 0 for (let i = 0; i < currentScene; i++) { prevScrollHeight += sceneInfo[i].scrollHeight; } if (yOffset > prevScrollHeight + sceneInfo[currentScene].scrollHeight) { enterNewScene = true currentScene++; document.body.setAttribute('id', `show-scene-${currentScene}`) } if (yOffset < prevScrollHeight) { enterNewScene = true if (currentScene === 0) // 브라우저 바운스 효과로 인해 마이너스가 되는 것을 방지 return currentScene--; document.body.setAttribute('id', `show-scene-${currentScene}`) } // 마이너스 나오는 오류를 잡아주기 위한 역할 if (enterNewScene) return; playAinmation() } window.addEventListener('scroll', () => { yOffset = window.pageYOffset; scrollLoop() }); window.addEventListener('resize', setLayout); window.addEventListener('load', setLayout); })()
-
미해결초보자도 만들 수 있는 스크롤 인터렉션. 1편 자바스크립트
section 5 - set 3번에서 질문있습니다.
선생님 안녕하세요! 궁금한게 있어서 글을 올렸습니다. section5 의 set3 폴더의 index.html에서 parallaxMoveDistance = Math.max(parallaxStartValue - parallaxStartValue, Math.min(parallaxStartValue, parallaxStartValue - (parallaxStartValue * (parallaxPercent / 100)))); 로 수식을 입력하셨는데 어떠한 이유로 저렇게 식을 사용하셨는지 궁금합니다. 계속 보다가 헷갈려서 도움의 손길을 요청합니다..ㅜ
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
개발환경설정문의드립니다!
atom연결은 anaconda prompt 창에서 section2 를 activate한 후 atom이라고 치면 바로 실행이 되던데 vscode를 사용하려면 어떻게 해야하나요? 계속 vscode를 사용해서 이게 편할거같아서요ㅠ
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
logistic regression 에서 convergence warning
안녕하세요. logistic regression의 디폴트값으로 학습/예측을 시행하면 항상 convergence warning이 뜨더라구요..! max_iter = 200으로 하면 없어진 적이 많았었는데, 이 케이스는 500으로 해도 안 없어지고,, solver='liblinear'로 하면 warning은 사라지는데 정확도 예측값이 달라지더라구요..! warning이 떠도 정확도예측에 큰 문제가 없는건가요?!그리고 solver가 달라지면 어떤 차이점이 있는지 궁금합니다...!vo_clf 분류기 정확도:0.9474 lr_clf 분류기 정확도:0.9386 knn_clf 분류기 정확도:0.9386 C:\Users\hyoeun\anaconda3.1\lib\site-packages\sklearn\linear_model\_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED LIMIT. Increase the number of iterations (max_iter) or scale the data as shown in: https://scikit-learn.org/stable/modules/preprocessing.html Please also refer to the documentation for alternative solver options: https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG) C:\Users\hyoeun\anaconda3.1\lib\site-packages\sklearn\linear_model\_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED LIMIT. Increase the number of iterations (max_iter) or scale the data as shown in: https://scikit-learn.org/stable/modules/preprocessing.html Please also refer to the documentation for alternative solver options: https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)
-
미해결쉽게 배우는 Webpack
쿠폰을 이제 봤는데 발급 가능할까요..?
쿠폰을 이제 봤는데 발급 가능할까요..?
-
해결됨인터랙티브 웹 개발 제대로 시작하기
선생님 3개의 문2 10:50 질문입니다(perspective)
perspective(800deg)값을 줄때.door:hover .door-body{ transform:perspective(800deg) rotateY(100deg); } 를 적용했는데perspective value를 .door-body 에다 적용해 보니까 view가 다르게 보이긴 하더라구요.제가 혼자 구현을 한다고 생각해보니 어디다 적용할 지 헤맬것이 분명합니다 왜 perspective value를 .door:hover .door-body에 적용을 하셨는지 조금만 더 설명해주셨으면 좋겠습니다 어느 정도 이해는 가는데 정확히 모르겠습니다
-
미해결예제로 배우는 스프링 입문 (개정판)
안녕하세요,기선님. age컬럼 추가시 problem이 발생합니다.
왜 이런 문제들이 발생할까요? 구글링 해보니, 문제없이 실행되기때문에 무시하고 인텔리J 설정을 변경하라고 나오기도하던데, 신경안써도 되는부분인가요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
안녕하세요. 마지막에 Render에서 질문이 있습니다.
마지막에 색상을 임시 저장하고 끝날 때 초기 색상으로 바꾸어 주는데요. 어차피 for문 돌면서 스위치문에 조건에 맞게 색상이 정해지는데 굳이 이전색상을 저장한 이유가 궁금합니다. 혹여나 실수해서 색상이 날라가서 복구할때 무슨색이었는지 확인하기 위한 것인가요?? 기본색을 저장해도 결국은 스위치문에 따라 맞는게 없어도 기본색상이 아닌 초록색이 될텐데 굳이 기본색상을 저장하는 이유가 궁금합니다.
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
쿠버네티스 강의 질문
안녕하세요. 먼저 본 강의에 대한 질문이 아닌 점 사과 말씀드립니다. 죄송합니다. 현재 본 강의를 7강까지 수강했는데 오랜만에 너무 재밌게 공부하고 있기에 쿠버네티스까지 이어서 공부하고 싶은 마음에 실례를 무릅쓰고 질문드립니다. 다음 강의로 쿠버네티스 강의를 기획하고 계신 것으로 아는데 혹시 언제쯤 업로드될지 알 수 있을까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 볼륨 관련 질문있습니다.
도커 볼륨 관련 질문있습니다. 4강 "Docker Volume에 대하여" 강의에서 소스 수정후 빌드는 하지 않았지만 Docker run 를 다시해야 변경점이 확인 되었는데요. 6강 "도커 볼륨을 이용한 소스 코드 변경" 강의에선 소스 변경하면 Docker run 를 다시 하지않아도 브라우저를 통해 바로 확인할 수 있던데 추가적으로 설치나 설정같은 뭔가를 해준건가요? 전 Docker run을 다시 해줘야 변경점이 확인됩니다. 도커 컴포즈도 마찬가지구요. 참고로 Windows 10 Home 입니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
호옥시
useCallback과 인자 전달 고차함수는 동시에 못쓰나요 ? 계속 이런 [React Error] Rendered fewer hooks than expected 에러가 나네요 ㅜㅜ const onCancel=(followingid)=useCallback( () => { dispatch({type:UNFOLLOW_REQUEST,data:followingid}); }, [], )
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
sequence 변수에 대하여 너무 궁금한 점이있습니다.
안녕하세요. 김영한 강사님. 이번 강의를 듣던 도중 실무 이야기를 몇번 하셨는데요. sequence 변수에 대해 궁금하 점이 생겼습니다. Member를 save할때마다 id 값을 1씩 증가시켜주는데요. 이건 DB기반이 아니라 메모리 기반이기 때문에 id값을 이렇게 임의로 정해주는 것인가요? 실무에서 DB는 id 값을 auto increment를 주지 않고 이런 식으로 sequence를 올려가며 회원 저장마다 id값을 지정해주는 건가요? 제가 이해한것이 맞다면 서버가 재가동 될때마다 모든 회원 DB를 다 읽어와야 하는 시스템인것 같은데 제가 이해한바가 맞는지요.. 너무 궁금해서 그냥 넘어갈수가 없었습니다. 감사합니다.
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
finance-datareader 패키지를 설치하였는데도
finance-datareader 패키지를 설치하였는데도 모듈이 없다는 에러메세지가 뜹니다.ㅠㅠ conda list를 통해 제대로 패키지가 설치되었음을 확인하였고, 패키지 삭제후 다시 설치하였는데도 여전히 에러가 뜹니다. 이유가 무엇일까요? 구글링한 결과 비슷한 예들이 보이긴 했는데.. 정확히 어떻게 해야할지 모르겠습니다. ModuleNotFoundError: No module named 'FinanceDataReader'
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
루트폴더
주피터의 루트폴더는 어떻게 바꾸나요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
시퀄라이즈 함수
시퀄라이즈 함수 //post.addUser ,/post.setUser /post.getUser단수로 생성된다 등을 통해서 디비에 추가 삭제 등등을 하시던게 혹시 어떤 관계 일 경우에 가능하나요 ? 모든 associate 한 관계에서 생기는 건가욤 ?