묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
passport.authenticate() 설정 시 문의
passport.authenticate('local', ...); 첫 번째 파라미터의 문자열 'local'로 어떻게 저희가 작성한 passport를 찾는 건지 이해가 되지 않아서 문의드립니다! 혹시 passport 디렉토리 내 파일명을 가지고 찾는건지.. 아니면 index.js의 local(); 로 인식을 하는 건지, 다른 방식인건지 궁금합니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
nodemon 안되시는 분들 여기 참고하셔요.
https://zereight.tistory.com/392 https://spinos.tistory.com/43 좋은 하루 되시실 :D
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
[nodemon] app crashed - waiting for file changes before starting... 오류
좋은 강의 정말 잘 듣고 있습니다. 감사합니다. 그런데 제가 [nodemon] app crashed - waiting for file changes before starting... 오류를 종종 겪습니다. 그래서 예전에는 선생님 git hub에서 받았던 파일을 다 지우고 다시 다운받아서 실행하여 오류를 해결했습니다. 그런데 이제는 강의 중간이라 파일을 지우면 여태까지 작성했던 코드들이 다 날라가기 때문에 그렇게 하기가 두렵습니다. 혹시 이렇게 [nodemon] app crashed - waiting for file changes before starting... 오류가 나올 때 어떻게 해야 오류를 잡을 수 있을까요? > react-boiler-plate@1.0.0 dev C:\Users\ADMIN\Desktop\boilerplate-mern-stack-master\boilerplate-mern-stack-master > concurrently "npm run backend" "npm run start --prefix client" [0] [0] ┌────────────────────────────────────────────────────────────┐ [0] │ npm update check failed │ [0] │ Try running with sudo or get access │ [0] │ to the local update config store via │ [0] │ sudo chown -R $USER:$(id -gn $USER) C:\Users\ADMIN\.config │ [0] └────────────────────────────────────────────────────────────┘ [1] [1] > client@0.1.0 start C:\Users\ADMIN\Desktop\boilerplate-mern-stack-master\boilerplate-mern-stack-master\client [1] > react-scripts start [1] [0] [0] > react-boiler-plate@1.0.0 backend C:\Users\ADMIN\Desktop\boilerplate-mern-stack-master\boilerplate-mern-stack-master [0] > nodemon server/index.js [0] [0] [nodemon] 1.19.4 [0] [nodemon] to restart at any time, enter `rs` [0] [nodemon] watching dir(s): *.* [0] [nodemon] watching extensions: js,mjs,json [0] [nodemon] starting `node server/index.js` [0] C:\Users\ADMIN\Desktop\boilerplate-mern-stack-master\boilerplate-mern-stack-master\server\index.js:41 [0] app.post('/api/product/image', ko); [0] ^ [0] [0] ReferenceError: ko is not defined [0] at Object.<anonymous> (C:\Users\ADMIN\Desktop\boilerplate-mern-stack-master\boilerplate-mern-stack-master\server\index.js:41:32) [0] at Module._compile (internal/modules/cjs/loader.js:1063:30) [0] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) [0] at Module.load (internal/modules/cjs/loader.js:928:32) [0] at Function.Module._load (internal/modules/cjs/loader.js:769:14) [0] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) [0] at internal/main/run_main_module.js:17:47 [0] [nodemon] app crashed - waiting for file changes before starting... [1] [HPM] Proxy created: / -> http://localhost:5000 [1] i 「wds」: Project is running at http://192.168.0.4/ [1] i 「wds」: webpack output is served from [1] i 「wds」: Content not from webpack is served from C:\Users\ADMIN\Desktop\boilerplate-mern-stack-master\boilerplate-mern-stack-master\client\public [1] i 「wds」: 404s will fallback to / [1] Starting the development server... [1] [1] Browserslist: caniuse-lite is outdated. Please run: [1] npx browserslist@latest --update-db [1] Compiled with warnings. [1] [1] ./src/components/views/UploadProductPage/UploadProductPage.js [1] Line 2:9: 'Typography' is defined but never used no-unused-vars [1] Line 24:12: 'Images' is assigned a value but never used no-unused-vars [1] Line 24:20: 'setImages' is assigned a value but never used no-unused-vars [1] [1] ./src/components/utils/FileUpload.js [1] Line 52:21: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text [1] Line 53:30: Unexpected template string expression no-template-curly-in-string [1] [1] ./src/components/views/LoginPage/LoginPage.js [1] Line 74:11: 'dirty' is assigned a value but never used no-unused-vars [1] Line 79:11: 'handleReset' is assigned a value but never used no-unused-vars [1] [1] ./src/components/views/RegisterPage/RegisterPage.js [1] Line 92:11: 'dirty' is assigned a value but never used no-unused-vars [1] Line 97:11: 'handleReset' is assigned a value but never used no-unused-vars [1] [1] Search for the keywords to learn more about each warning. [1] To ignore, add // eslint-disable-next-line to the line before. [1] [1] [HPM] Error occurred while trying to proxy request /api/users/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors) npm run dev 입력 후 나오는 설명들 복사 붙여넣기 했습니다.
-
해결됨함수형 프로그래밍과 JavaScript ES6+
for in문은 [Symbol.iterator]없이 순회를 할 수 있는 이유가 무엇인가요?
[Symbol.iterator]가 존재하지 않기에 for in문을 사용하는 것까진 이해를 했습니다! 실제 로그를 찍어봐도 undefined로 정의되지 않았더라구요. 어떤 것을 이용해서 순회를 진행하는지 알 수 있을까요? 감사합니다
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Ex37번 9분 47초 질문
안녕하세요 파이썬에서 input으로 값을 받으면 str형이 되는 것으로 이해합니다. 강의에서 while data != '4312'처럼 값을 비교하기 위해서 저는 input으로 받는 값을 int로 형변환 해서 사용을 했거든요, 저처럼 굳이 int로 바꾸지 않고, 비교 대상을 str로 바꿔서 해도 int와 비교하는 것처럼 동일한 의미로 비교가 되나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
TypeError: Cannot read property 'userData' of undefined 오류
import React, {useEffect} from 'react' import { useDispatch } from 'react-redux'; import { getCartItems } from '../../../_actions/user_action'; function CartPage(props) { const dispatch = useDispatch(); useEffect(() => { let cartItems = [] if(props.user.userData && props.user.userData.cart){ if(props.user.userData.cart.length > 0){ props.user.userData.cart.forEach(item => { cartItems.push(item.id) }) dispatch(getCartItems(cartItems, props.user.userData.cart)) } } }, [props.user.userData]) return ( <div> CartPage </div> ) } export default CartPage cartPage.js에서 props.user.userData의 userData를 읽지 못할 경우 어디를 수정해야 할까요..??ㅠㅠ
-
미해결R로 하는 웹 크롤링 - 입문편
readHTMLTable이 안되서..ㅠ
readHTMLTable이 안되서 다르게 했는데 1 페이지는 잘 됐습니다. 근데 2 페이지부터 안되네요..ㅠ 무엇이 문제인가요?ㅠㅠ
-
미해결[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트
교수님 ,,,,,, 왜 이런 오류가 나올까요? ㅠㅠ
pi@navio:~ $ sudo python get-pip.py Traceback (most recent call last): File "get-pip.py", line 24244, in <module> main() File "get-pip.py", line 199, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", line 82, in bootstrap from pip._internal.cli.main import main as pip_entry_point File "/tmp/tmpf7Nsou/pip.zip/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") ^ SyntaxError: invalid syntax 해당 모듈이 없다고 나오는데,,,,, 뭐가 잘 못된 것일까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
다시 확인해보니 axios로 요청이 10번까지만 정상적으로 호출이 됩니다.
network탭 확인해보니 10번까지는 잘 호출이 되는데 11번째부터는 계속 pending 상태입니다. axios를 호출하는 속도와 상관없이 무조건 11번쨰가 되는 순간에 더이상 호출이 안되고 pending상태에서 멈춰있네요.. 서버를 껏다 키면 또 10분까지는 잘 되다가 11번째에서부터 pending 상태입니다. 어떻게 해결해야할까요.. 실패한 요청의 network header 부분엔 이렇게 나와있습니다
-
해결됨스프링 핵심 원리 - 기본편
@componentScan와 @Configuration 차이
MemoryMemberRepository 오류를 보며 갑자기 든 생각인데 AppConfig를 이용한 코드에서는MemoryMemberRepository가 memberRepository의 빈 객체로 등록되긴 하지만 클래스 자체로써 스프링 컨테이너에 등록은되지 않고, componentScan을 이용하는 코드에서는 하나의 클래스로써 빈네임 + 빈객체를 가지고 스프링 컨테이너에 등록이 되는건가요? 그렇다면 빈 네임은 알겠는데.. 빈 객체는 어떻게 되는건가요? 엄밀히 따지자면 두 방식이 좀 다른 것 같은데 어떤 차이가 있는건가요?
-
미해결자바 기본을 위한 강의 1부
리눅스 질문드립니다.
si 현업에서 리눅스 가 잘 쓰인다고 하셨는대요. 혹시 추천하시는 책이나 인프런에 강의 어떤거 들으면 좋을지 알려주실수 있나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
노드의 Next 와 Prev
안녕하세요 노드클래스구현에서 Class Node<T> { Pubilc T data ; Public Node<T> Next ; Public Node<T> Prev; } 에서 Next 와 Prev 는 default 값은 null 로 설정해주어야 구현이 깔끔하게 되지않나 싶은데 null을 안써주신 이유가 궁금합니다!
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
UBX-NAV-PVT
PVT도 공부차 라이브러리 작성을 진행하고 있습니다. POSLLH와 다른점이 비트필드가 존재하더라구요. 기존 typedef struct안에 다른 iTow나 Lon아래에 그대로 정의해놓고 구조체를 추가로 작성하여 진행하는게 정공법인지 다른 방법이 있는지 궁금하여 질문 드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Remove 함수구현
안녕하세요. 연결리스트에서 가능한 노드의 연결상태는 1. 노드한개 Head =Tail Head=Tail 이 가르키는 노드의 prev 와 next 는 null 2. 노드두개 (Head 한개 Tail 한개) Head가 가리키는 노드의 prev는 null , next는 prev가 가리키는 노드 , Prev가 가리키는 노드의 prev는 Head가 가리키는 노드 , next는 null 3.노드세개이상 으로 일반화해 분류 할 수 있습니다. 이때 구현하신 Remove 함수를 보면 If(Head==node) Head=Head.next If(Tail==node) Tail=Tail.prev 에서는 노드의 연결상태ㅡ두번째 경우에서 첫번째 경우로 갈때 삭제가 이루어지고나서 결과적으로 남는 Head 와 Tail이 동시에 가리키는 Node의 prev 또는 next가 null이 아닌 경우가 발생합니다. 따라서 If(Head==node) [Head=Head.next Tail.prev=null;] If(Tail==node) [Tail=Tail.prev If(Head.next!=null) {Head.next=null} ] 으로 해주어야 제대로 되지 않나 싶은데요 , (연결리스트의 특성상 여기서는 문제 없을지라도 기능을 확장시 에러발생이 가능할 수 도 있으니) 답변부탁드립니다 감사합니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
axios 요청이 많아지면 network 탭에 status가 pending에 멈춰있어요.
이메일 input에 입력할때마다 select를 해오는 api인데 요청이 많아지면 pending상태에서 멈춰있습니다. /sagas/user.js function checkOverlapEmailAPI(data) { return axios.get(`/user/check_overlap_email?email=${data}`); } function* checkOverlapEmail(action) { try { const result = yield call(checkOverlapEmailAPI, action.data); yield put({ type: CHECK_OVERLAP_EMAIL_SUCCESS, data: result.data, }); } catch (err) { console.error('[Saga - checkOverlapEmail]', err); yield put({ type: CHECK_OVERLAP_EMAIL_FAILURE, error: err.response.data, }); } } function* watchCheckOverlapEmail() { yield takeLatest(CHECK_OVERLAP_EMAIL_REQUEST, checkOverlapEmail); } 어떤 부분이 문제일까요..
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
heroku 배포 이후
heroku 배포 이후 서버에서 모두 처리는 완벽하게 됐는데 git push heroku master 작업을 하면 로컬에 uploads 폴더가 push 되어서 그런지 수정하고 나면 이미 업로드 되었던 사진들이 삭제가 됩니다. 이걸 해결해보려고 gitignore에서 uploads 폴더 빼고 push했더니 그건 그거대로 오류가 납니다 ㅠㅠ 이미 올려놓은 uploads는 그대로 두고 수정하여 push하려면 어떻게 해야할까요? + push 때문만이 아닌 것으로 확인 되었습니다. 그냥 시간이 지나면 사진이 안보여집니다 ㅠㅠ 다른 질문에 더 자세히 올려 놓았습니다!! 이것 때문에 잠을 못자겠습니다. 살려주세요 +시간이 지나는 것과 별개로 push하면 사진이 바로 사라지는데 이것 또한 위 질문대로 uploads는 그대로 두고 수정하여 재배포 하는 방법이 있을까요? gitignore에서는 이미 push 한 것이라 그런지 계속해서 추적하네요 ㅠㅠ
-
미해결더 개발자, 인터뷰 가이드
안녕하세요 기선님 질문 드립니다!
안녕하세요 현재 일반 기업 전산실에서 2년째 근무중인 자바 개발자입니다. 회사에서는 주로 자사 홈페이지, ERP 유지보수 업무를 담당하여 간단한 업무들 위주로 진행을 해왔는데요. 스프링을 쓰기는 하지만 프로젝트성 업무를 진행해 본적이 없어 경력 기술란을 적기가 애매해서 고민입니다. 혼자서 토이 프로젝트는 몇개 만들어보긴 했는데 이 경우에는 경력 기술보다는 토이 프로젝트 위주로 풀어 쓰는 게 좋을까요? 어떤 식으로 풀어야 할지 감이 잡하지 않아 여쭈어봅니다. 감사합니다!
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
치킨 당첨자는 왜 대괄호 없이 숫자만 나타나는 건가요?
저는 입력 해보니 선생님과 달리 대괄호가 있어 "치킨 당첨자 : [숫자] " 이런 식으로 나오더라고요. 굳이 신경 쓸 필요 없는건가요?
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
webpack.config.js//npm run build 오류
이렇게 되는데 로그파일 에러 ? 이유를 모르겠네요....
-
미해결코로나맵 개발자와 함께하는 지도서비스 만들기 2
웹페이지 출력 오류
안녕하세요, 또 질문을 드리게 되었습니다. 오늘 배운 내용을 첨부파일 처럼 작성을 했는데, 실행해보니 웹사이트에 잘 적용이 되지 않네요... 여러 번 돌려보면서 대문자 소문자 철자 이런 것들 확인해보았는데, 혹시 잘못된 것이 있을까요? const mapContainer = document.getElementById("map"); const mapOption = { center : new daum.maps.LatLng(37.554477, 126.97041), level : 3, }; let map = new daum.maps.Map(mapContainer, mapOption); let infowindow = new daum.maps.InfoWindow({ zIndex: 1, }); let markerList = []; let ps = new daum.maps.services.Places(); searchPlaces(); function searchPlaces() { let keyword = $("#keyword").val(); ps.keywordSearch(keyword, placesSearchCB); } function placesSearchCB(data, status) { if (status === daum.maps.services.Status.OK) { displayPlaces(data); }else if (status === daum.maps.services.Status.ZERO_RESULT) { alert("검색 결과가 존재하지 않습니다") return; }else if (status === daum.maps.services.Status.ERROR) { alert("검색 결과중 오류가 발생했습니다") return; } } function displayPlaces(data) { let listEl = document.getElementById("placesList"); let bounds = new daum.maps.LatLngBounds(); for (let i = 0; i < data.length; i++) { let lat = data[i].y; let lng = data[i].x; let address_name = data[i]["address_name"]; let place_name = data[i]["place_name"]; const placePosition = new daum.maps.LatLng(lat, lng); bounds.extend(placePosition); let marker = new daum.maps.Marker({ position : placePosition, }); marker.setMap(map); markerList.push(marker); const el = document.createElement("div"); const itemStr = ` <div class="info"> <div class="info_title"> ${place_name} </div> <span>${address_name}</span> </div> `; el.innerHTML = itemStr; el.className = "item"; daum.maps.event.addListener(marker, "click", function(){ displayInfowindow(marker, place_name, address_name, lat, lng); }); daum.maps.event.addListener(map, "click", function() { infowindow.close(); }); el.onclick = function () { displayInfowindow(marker, place_name, address_name, lat, lng); }; listEl.appendChild(el); } map.setBounds(bounds); } function displayInfowindow(marker, place_name, address_name, lat, lng){ let content = ` <div style="padding:25px;"> ${place_name}<br> ${address_name}<br> <button>등록</button> </div> `; map.panTo(marker.getPosition()); infowindow.setContent(content); infowindow.open(map, marker); }