묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 중고급: 엔진 핵심
정리시간 입니다.
var book = { member: {name: 100}, point: {value: 200} }; function show(param){ for (var type in param){ typeof param[type] === "object" ? show(param[type]) : console.log(type + ":", param[type]);} }; show(book); // name: 100 // value: 200 ``` 1. show(book); - 마지막 줄에서 show(book)를 호출하면서 - book 오브젝트를 파라미터 값으로 넘겨줍니다. 2. for (var type in param){...} - for-in으로 파라미터로 받은 오브젝트 전개 3. typeof paam\[type] === "object" ? show(param\[type]) : console.log(type + ":", param\[type]); 4. param\[type] 타입이 "object" 이면 - show()를 호출 - 자신을 호출하면서 param\[type]을 넘겨줍니다. - book\["member"]이므로 {name: 100}이 넘어 갑니다. 5. param\[type] 타입이 "object"가 아니면 - member: {name: 100}에서 {name: 100}을 읽은 것이므로 값을 출력합니다. --- ### \[정리시간\] ```javascript debugger; // 주어진 데이터 var member = { Jan: {item: {title: "JS", amount: 100}, point: [10, 20, 30]}, Feb: {item: {title: "JS", amount: 200}, point: [40, 50, 60]} }; // 배열이면 누적되는 값이 저장되는 변수 선언 // 계산을 해야하므로 단순히 선언만 하는 것이 아니라 초깃값으로 0을 할당해줬음 var result = 0; // 배열의 엘리먼트를 더해 누적하게 만드는 reduce의 콜백 함수 function callback(prev, curr){ return prev + curr; }; // 메인 함수 선언 function show(param){ // 파라미터로 오는 데이터가 오브젝트 형태여서 for-in문 활용 for (var type in param) { // Array이면 if (Array.isArray(param[type]) === true){ // 배열의 값을 출력하고 console.log(param[type]); // result에 배열의 값들을 누적합니다. result += param[type].reduce(callback); // 배열이 아닌 object이면 } else if (typeof param[type] === 'object') { // 프로퍼티 이름과 값을 출력하고 console.log(type,":",param[type]); // 재귀 호출을 통해 데이터를 끝까지 탐색 show(param[type]); // 가장 안에있는 오브젝트의 프로퍼티 이름과 값을 출력 } else { console.log(type,":",param[type]); } }; }; // 재귀 함수 호출 show(member); // 누적한 값 출력 console.log(result);
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이 풀이법은 어떤가요 ?
function solution(s) { const lowercasedStr = s.toLowerCase(); if ([...lowercasedStr].reverse().join("") === lowercasedStr) { return "YES"; } return "NO"; }
-
해결됨Vue.js 끝장내기 - 실무에 필요한 모든 것
전역 axios설정 문의
안녕하세요 강사님 좋은 강의 언제나 감사드립니다. 강사님의 강의 덕분에 기존 jsp를 뷰로 전환을 성공적으로 적용할 수 있었습니다. 다만 한 가지 여쭤보고 싶은 점이 있는데, axios를 사용하게 될 시에, 만일 뷰의 컴포넌트 하나가 로딩될 때 자식 컴포넌트 3개를 import해서 해당 자식 컴포넌트의 created시점에 api를 호출하도록 설정을 했는데, 이 경우에 서버에서 토큰 만료가 되었음을 리턴받게 되었을 때 나머지 api들을 요청 취소 할 수 있는 방법은 없을까요? 아니면 제가 아키텍쳐 설계를 잘못한 걸까요? 자식 컴포넌트는 단순 prop으로 데이터 전달 받아서 동작할 뿐, 컴포넌트에서 api를 호출 하지 않는 방식으로 가야 할까요? 혹시 강사님은 실제 프로젝트를 하실때 해당 이슈에 대해 어떻게 처리하시는 지 궁금합니다. 단순히 제가 생각했을때는 위에 이야기 한 것 처럼 컴포넌트에서는 api를 날리지 않고 부모 컴포넌트에서 코드를 async await로 api여러개 조회 후 try catch문으로 에러가 발생하면 그 이후 코드는 실행하지 않도록 한 뒤 자식 컴포넌트에게 데이터를 prop으로 넘겨주는 방식밖에 생각이 나지 않는데 제 생각이 잘못되었거니 더 좋은 방법이 있는 것인지 궁금합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
post
post 형식의 body인데 어떻게 name부터 imgUrl까지 destructuring할 수 있나요??정보가 입력되기 전인데 왜 그런지 궁금합니다..그리고 create({name:name,description:description..})이게 무슨 뜻인지 모르겠어요 key가 name,value가 name이런거를 만들라는건데 잘 이해가 가지 않습니다..ㅜ app.post("/products", (req, res) => { const body = req.body; const { name, description, price, seller, imageUrl } = body; models.Product.create({ name, description, price, seller, imageUrl, }) .then((result) => { console.log("상품 생성 결과 : ", result); res.send({ result, }); })
-
미해결
자바스크립트 질문 드려요 ! ㅠㅠ
제 index.html에는 두개의 Click 이벤트가 들어갑니다. 1. 하나는 토글 메뉴바를 눌렀을 때 메뉴가 펼쳐지는 자바스크립트 코드이고, 2. 하나는 회원가입 버튼을 눌렀을때(Modal_btn) 로그인 모달창이 나타나게 하는 자바스크립트 코드입니ㅏㄷ. header.html에 login.html 페이지를 아래의 코드로 Load하고 header.html에서 2번 로그인 모달창 버튼을 클릭하면 자바스크립트가 실행되지 않습니다. login.html에서 2번 모달창 버튼을 실행할 경우 문제없이 자바스크립트가 실행되는데 header.html에서 실행할 경우 자바스크립트가 실행되지 않는 이유가 뭘까요.. ? 어떠한 오류는 발생하지 않습니다. 슈퍼 초보자라 예제따라하면서 공부중인데 풀리질 않네요 ㅠㅠ header.js login.js
-
미해결웹 게임을 만들며 배우는 React
얕은복사 깊은 복사에 관한 얘기
강의를 듣다가 궁금증이 생겨 여쭤봅니다. 제가 알기론 불변성을 해치지 않기 위해서는 "깊은복사" 를 해야한다고 알고 있습니다. 복사한 객체가 변하더라도 원본객체는 변하지 않아야 하니까요. 따라서 보여주신 예시( 전개구문을 활용; a === b ; false ) 등을 보여주신 것 또한 깊은복사의 예시였습니다. 다만 말씀하실 때 얕은 복사를 해야 불변성을 해치지 않는다고 하셔서, 제가 느끼기엔 의아해서 질문을 남깁니다. 혹여 제가 잘못 알고 있으면 알려주시면 감사하겠습니다. 좋은 강의 잘 듣고 있습니다. 감사합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
MainImage 내의 스타일링 사라지는 문제
(이미지 올리려고 5번 새로 썼는데 안되서 글로만 남깁니다) 안녕하세요 선생님! 강의 정말 잘 듣고 있습니다. LandingPage에서 MainImage로 볼 수 있는 영화 포스터 이미지는 처음 로딩됐을 때 창을 줄이면 같이 줄어들고, width 안에 꽉 차 있습니다 더 보기 버튼을 눌러 새로운 영화 목록을 받아오거나, Detail 페이지로 넘어가면 이미지가 창을 줄여도 너비가 고정되고, 바둑판식으로 반복됩니다 확인해보니 CSS의 스타일링이 사라지는 문제인데, 원인이 무엇인지, 어떻게 해결할 수 있는지 궁금합니다! <처음 MainImage의 스타일링> <div style="background: linear-gradient(rgba(0, 0, 0, 0) 39%, rgba(0, 0, 0, 0) 41%, rgba(0, 0, 0, 0.65) 100%) center center / 100% no-repeat, url("https://image.tmdb.org/t/p/w1280/8s4h9friP6Ci3adRGahHARVd76E.jpg") center center / cover, rgb(28, 28, 28); width: 100%; height: 500px; position: relative;"> <더 보기 버튼을 누르거나 Detail 페이지로 이동했을 때 MainImage의 스타일링> <div style="background: linear-gradient(rgba(0, 0, 0, 0) 39%, rgba(0, 0, 0, 0) 41%, rgba(0, 0, 0, 0.65) 100%), url("https://image.tmdb.org/t/p/w1280/3OwaKVZf3A2NdnarqKbwzFEhKir.jpg"), rgb(28, 28, 28); width: 100%; height: 500px; position: relative;> 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
[MAC] create-react-app에서 permission 에러 해결책
질문은 아니구요. 같은 문제로 고생하시는 분들이 많아 제 방법을 공유합니다 1) root 비밀번호 설정 2) 관리자 권한으로 설치 아래는 제가 찾은 링크이니 참고하세요 root 비밀번호 설정 https://heeestorys.tistory.com/877 관리자 권한으로 설치 https://online.codingapple.com/unit/react1-install-create-react-app-npx/
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
age가 숫자인지 다시 체크하는 이유
안녕하세요! 좋은 강의 잘 듣고 있습니다. 다름이 아니라 질문이 있어 글을 남깁니다. 이미 User.js에서 age: Number로 설정해두었기 때문에 숫자 외의 것이 들어온다면 catch문에서 제대로 에러 처리가 될 것 같은데, 따로 라우트 내에서 age가 숫자인지 아닌지를 다시 체크하는 이유가 궁금합니다. 감사합니다!
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
안녕하세요 제로초님 학습에관한 간단한 상담부탁드립니다.
안녕하세요 제로초님..! 부트캠프에 이제막 수료한 비전공자입니다. 다름아니라 제가 프로그래밍적인 사고능력이 부족하여 이 점을 보완하고자 제로초님 강의를 들으려고하는데, 기본적인 자바스크립트 문법은 알고있다고 생각은 합니다.. 그래서 어디서부터 사고능력을 기르기위해 강의를 들어야할지 모르겠어요.. 어디서 부터 듣는것이좋을까요? 아니면 제가 느낄때 이점에대해 약하다 싶은부분만 골라서 들어야하는것일까요 ?
-
미해결
JAVASCRIPT에서 PROTOTYPE과 GETPROTOTYPEOF에 대해서 질문드립니다.
function ParentClass() {}; function ChildClass() {}; ChildClass.prototype = new ParentClass(); var mychild = new ChildClass(); var myparent = new ParentClass(); console.log(mychild); console.log(myparent); console.log(mychild.prototype); console.log(myparent.prototype); console.log(Object.getPrototypeOf(mychild)); console.log(Object.getPrototypeOf(myparent)); -> 위 예시에서 결과 값은 아래와 같습니다. ParentClass {} ParentClass {} undefined undefined ParentClass {} {} 1) 어떻게 console.log(mychild); 와 console.log(myparent); 의 값이 같게 나올수가 있나요....? 2) console.log(Object.getPrototypeOf(mychild));와 console.log(Object.getPrototypeOf(myparent)); 의 결과값이 각각 ChildClass()와 ParentClass();여야 하는거 아닌가요...?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
노드 모듈스 파일 질문입니다.
저번 강의까진 노드 모듈스 파일이 없었고 갑자기 생겨서 저도 다운받으려고 create-react-app .을 했는데 사진처럼 뜹니다. web이란 폴더 안에 market_web, marker_server 두개의 폴더가 있고 market_web에 깔려있다고 다른 파일인 marker_server에 깔 수 없는건가요?
-
미해결페이스북 클론 - full stack 웹 개발
채팅구현
채팅 구현을 어떻게해야되는지 모르겠습니다. 새터미널창 열어서 하나는 runserver 0:80하고, 하나는 redis-server 하는거 맞나요??? 이렇게 했을땐, 채팅이 구현이 안되네요 ㅠㅠ 도와주세요! 워크스페이스 주소: https://goor.me/mVRM9
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
질문과 버튼 사이에 사진을 추가하고 싶습니다.
문제 사진 버튼 이런 구성으로 만들고 싶은데 어떻게 하는지 궁금합니다. 질문과 버튼의 글씨가 바뀌는 것처럼 사진도 질문마다 바뀌고 페이드인/아웃 효과도 주고 싶습니다.
-
해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
소스코드 링크 질문 드립니다.
안녕하세요. 강의설명에서 소스코드 링크 눌러서 받으라고 되어 있어서 다운로드를 받으려 했는데 링크가 아래와 같이 test로 들어가 있는데 다운로드 받을 수 있는 방법은 없을까요? <a href="https://test" target="_blank" rel="noopener">소스코드 링크</a>
-
미해결처음 배우는 리액트 네이티브
리액트 네이티브는 프리티어 적용 하는법이 다른가요??
리액트에서 적용이 되던게 리액트 네이티브에서는 프리티어 적용이 안되서 혹시 리액트 네이티브는 리액트와 프리티어 적용방법이 다른가요? 이틀동안 검색해보고 적용이 안되서 여쭤봅니다 ㅠ,ㅠ 아래는 해당 코드입니다. // vscode/settings.json { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.tabSize": 2, "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "javascript.format.enable": false, "eslint.alwaysShowStatus": true, "files.autoSave": "onFocusChange" } //.eslintrc { "extends": ["react", "plugin:prettier/recommended"] } //.prettierrc { "tabWidth": 2, "endOfLine": "lf", "arrowParens": "avoid", "singleQuote": true } // package.json "devDependencies": { "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", "prettier": "^2.3.2" } 이 문구 때문에 그런가요?
-
미해결
const 위치 관련 질문.
안녕하세요, 아무래도 처음하는 공부라서 굉장히 기초적인 부분에 대한 질문인것 같습니다. import {Switch, Route, Link, useHistory} from 'react-router-dom'; import UploadPage from "./upload"; import ProductPage from "./product"; import {Button} from "antd"; import {DownloadOutlined} from '@ant-design/icons' function App() { const history = useHistory(); return ( <div> <div id="header"> <div id="header-area"> <Link to="/"> <img src="/images/icons/logo.png"/> </Link> <Button size="large" onClick={function(){ history.push('/upload'); }} icon={<DownloadOutlined/>} >상품 업로드 </Button> </div> 위 부분에서 const history= useHistory(); 가 왜 꼭 return 구분 밖에 있어야하는지 궁금합니다. return 이 되어 표출되는 곳이 시작하기 전에 const가 정의 되야 return구분이 실행되면서 해당 const부분이 적용되야함이라고 개인적으로는 이해했으나, 정확히 집고 가야하는 부분이어야 한다고 생각해서 질문드립니다. const구분 이라 위의 부분이 작동해야하며 const라 function 안에 위치해야하는 것인지요... 아주 기본적인 부분일 수 있지만.. 워낙 백지상태로 시작하여 질의 드립니다 ㅠㅠ
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
그대로 따라한것 같은데 에러가 뜨는데 확인 부탁드립니다.
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS D:\learn-all-with-javascript\grab-market-web> npm install -g create-react-app C:\Users\motiongrapher\AppData\Roaming\npm\create-react-app -> C:\Users\motiongrapher\AppData\Roaming\npm\node_modules\create-react-app\index.js + create-react-app@4.0.3 added 67 packages from 25 contributors in 5.659s PS D:\learn-all-with-javascript\grab-market-web> create -react-app . 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + create -react-app . + ~~~~~~ + CategoryInfo : ObjectNotFound: (create:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException create-react-app : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\motiongrapher\AppData\Roaming\npm\create-react-app.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + create-react-app + ~~~~~~~~~~~~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS D:\learn-all-with-javascript\grab-market-web> create-react-app . 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + create-react-app . + ~~~~~~~~~~~~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS D:\learn-all-with-javascript\grab-market-web> create-react-app. 름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + create-react-app. + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (create-react-app.:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS D:\learn-all-with-javascript\grab-market-web> create-react-app . create-react-app : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\motiongrapher\AppData\Roaming\npm\create-react-app.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + create-react-app . + ~~~~~~~~~~~~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS D:\learn-all-with-javascript\grab-market-web> npm create-react-app. Usage: npm <command> where <command> is one of: access, adduser, audit, bin, bugs, c, cache, ci, cit, clean-install, clean-install-test, completion, config, create, ddp, dedupe, deprecate, dist-tag, docs, doctor, edit, explore, fund, get, help, help-search, hook, i, init, install, install-ci-test, install-test, it, link, list, ln, login, logout, ls, org, outdated, owner, pack, ping, prefix, profile, prune, publish, rb, rebuild, repo, restart, root, run, run-script, s, se, search, set, shrinkwrap, star, uninstall, unpublish, unstar, up, update, v, version, view, whoami npm <command> -h quick help on <command> npm -l display full usage info npm help <term> search for help on <term> npm help npm involved overview Specify configs in the ini-formatted file: C:\Users\motiongrapher\.npmrc or on the command line via: npm <command> --key value Config info can be viewed via: npm help config npm@6.14.13 C:\Program Files\nodejs\node_modules\npm PS D:\learn-all-with-javascript\grab-market-web> create-react-app. create-react-app. : 'create-react-app.' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이 름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + create-react-app. + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (create-react-app.:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS D:\learn-all-with-javascript\grab-market-web>
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
상품 세부설명페이지에서 데이터 값 통신이 안되네요
main 컴포먼트에서는 잘나오는데 상품 세부 페이지 가명 아무것도 안뜨네요 포스트맨으로 http://localhost:8080/products/id 으로 값으로 똑같은 주소를 넣으면 response값은 잘 나오는데 react에서 만 이러네요
-
해결됨Vue.js 시작하기 - Age of Vue.js
윈도우에서 Vue cli 터미널 에러뜨시는 분들 여기보세요
이거보고 해결했습니다.https://singa-korean.tistory.com/21