inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

regionList 에 region별 cities가 정상 로딩이 안됩니다.

해결됨

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

영상 7:53 부분에 코드를 완성하면, regionList에 있는 region 클릭 시, 영상처럼 region 별로 cities가 나와야 하지만, 아래 에러가 생겨서 정상적으로 로딩이 안됩니다. 혹시 어떤 문제 인지 알려주시면, 너무 고맙습니다. 감사합니다! app.js 코드는 아래와 같이 입력했습니다. import Header from "./components/Header.js"; import RegionList from "./components/RegionList.js"; import CityList from "./components/CityList.js"; import CityDetail from "./components/CityDetail.js"; import { request } from "./components/api.js"; export default function App($app) { const getSortBy = () => { if (window.location.search) { return window.location.search.split("sort=")[1].split("&")[0]; } return "total"; }; const getSearchWord = () => { if (window.location.search && window.location.search.includes("search=")) { return window.location.search.split("search=")[1]; } return ""; }; this.state = { startIdx: 0, sortBy: getSortBy(), searchWord: getSearchWord(), region: "", cities: "", }; const header = new Header({ $app, initialState: { sortBy: this.state.sortBy, searchWord: this.state.searchWord, }, handleSortChange: async (sortBy) => { const pageUrl = `/${this.state.region}?sort=${sortBy}`; history.pushState( null, null, this.state.searchWord ? pageUrl + `&search=${this.state.searchWord}` : pageUrl ); const cities = await request( 0, this.state.region, sortBy, this.state.searchWord ); this.setState({ ...this.state, startIdx: 0, sortBy: sortBy, cities: cities, }); }, handleSearch: async (searchWord) => { history.pushState( null, null, `/${this.state.region}?sort=${this.state.sortBy}&search=${searchWord}` ); const cities = await request( 0, this.state.region, this.state.sortBy, searchWord ); this.setState({ ...this.state, startIdx: 0, searchWord: searchWord, cities: cities, }); }, }); const regionList = new RegionList({ $app, initialState: this.state.region, handleRegion: async (region) => { history.pushState(null, null, `/${region}?sort=total`); const cities = await request(0, region, "total"); this.setState({ ...this.state, startIdx: 0, sortBy: "total", region: region, searchWord: "", cities: cities, }); }, }); const cityList = new CityList({ $app, initialState: this.state.cities, handleLoadMore: async () => { const newStartIdx = this.state.startIdx + 40; const newCities = await request( newStartIdx, this.state.region, this.state.sortBy, this.state.searchWord ); this.setState({ ...this.state, startIdx: newStartIdx, cities: { cities: [...this.state.cities.cities, ...newCities.cities], isEnd: newCities.isEnd, }, }); }, }); const cityDetail = new CityDetail(); this.setState = (newState) => { this.state = newState; cityList.setState(this.state.cities); header.setState({ sortBy: this.state.sortBy, searchWord: this.state.searchWord, }); regionList.setState(this.state.region); }; const init = async () => { const cities = await request( this.state.startIdx, this.state.region, this.state.sortBy, this.state.searchWord ); console.log(cities); this.setState({ ...this.state, cities: cities, }); }; init(); } regionList.js 코드는 아래와 같이 입력했습니다. export default function RegionList({ $app, initialState, handleRegion }) { this.state = initialState; this.$target = document.createElement("div"); this.$target.className = "region-list"; this.handleRegion = handleRegion; $app.appendChild(this.$target); this.template = () => { const regionList = [ "🚀 All", "🌏 Asia", "🕌 Middle-East", "🇪🇺 Europe", "💃 Latin-America", "🐘 Africa", "🏈 North-America", "🏄 Oceania", ]; let temp = ``; regionList.forEach((elm) => { let regionId = elm.split(" ")[1]; temp += `<div id=${regionId}>${elm}</div>`; }); return temp; }; this.render = () => { this.$target.innerHTML = this.template(); if (this.state) { let $currentRegion = document.getElementById(this.state); $currentRegion && ($currentRegion.className = "clicked"); } else { document.getElementById("All").className = "clicked"; } const $regionList = this.$target.querySelectorAll("div"); $regionList.forEach((elm) => { elm.addEventListener("click", () => { this.handleRegion(elm.id); }); }); }; this.setState = (newState) => { this.state = newState; this.render(); }; this.render(); }

  • javascript
  • rest-api
  • spa
  • dom
댓글 2 좋아요 1 조회수 185

JWT refresh 에대해 질문이 있습니다.

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

jwt refresh 토큰은 access 토큰이 만료되었을때 재발급을 위한 토큰이라고 알고있는데요 보통 refresh 는 시간을 길게주고 access 토큰은 짧게 줘서 관리하는것으로 알고있습니다. 근데 강의를 다듣고 정리하는데 refresh에 대해 궁금증이 생겼습니다. 강의에서는 따로 DB에 저장안한거 같은데 DB에 저장하지않고 관리하는거라면 refresh도 만료시간이 있을텐데 이걸 어떻게 관리하는것인지요? http only cookie로 클라이언트에 건내줘서 클라이언트가 만료될때마다 서버쪽으로 던지는것인지 아니면 DB에 저장해서 관리하는것인지 궁금합니다. 어떤것이 정답이라고 할수 없겠지만 보통 실무에서는 어떻게 관리할까요

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
haha0hazzang 댓글 2 좋아요 0 조회수 131

checkbox onChange 적용 시 오류

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

checkbox를 클릭할 때 아래와 같은 오류가 발생합니다. 코드는 동일하게 작성한 것 같은데 원인이 무었일까요?

  • javascript
  • react
  • node.js
jnj45 댓글 3 좋아요 0 조회수 268

11.3) Context 분리하기 강의에서 질문이에요.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이 계층 구조 화면에서 TodoStateContext.Provider 컴포넌트와 TodoDispatchContext.Provider는 동등한 위치에 있는 것인가요? 아니면 화살표대로 TodoStateContext.Provider 컴포넌트의 자식 컴포넌트가 TodoDispatchContext.Provider 컴포넌트 인건가요?

  • javascript
  • react
  • node.js
안지훈 댓글 1 좋아요 0 조회수 210

HomePage.vue에 작성한 내용이 화면엔 보이지 않습니다.

미해결

기획자님 이 정도 웹 개발은 배워보면 어떨까요? [이론+실습]

질문은 자세하게 적어주실 수록 좋습니다. 어느 부분을 수강중이신지 -> bmi 계산기 프로그램 완성하기 내가 어떻게 했는데, 어떤 결과가 나오기를 기대했는데, 다른 결과가 나왔는지 -> 노션의 코드들을 다 복사해서 붙여넣기 했는데 homepage 영역이 안나옵니다 작성하신 코드 및 오류 스크린샷 을 함께 첨부해주시면 좋아요!

  • HTML/CSS
  • javascript
  • vue.js
  • node.js
  • mongodb
  • 소프트스킬
댓글 2 좋아요 0 조회수 191

VUE CLI 설치 프로젝트 생성이 안됩니다

미해결

기획자님 이 정도 웹 개발은 배워보면 어떨까요? [이론+실습]

Vue CLI v5.0.8 ✨ Creating project in /Users/yeji/Desktop/2-17__/myfirestvuewapp. ⚙ Installing CLI plugins. This might take a while... npm error code EACCES npm error syscall open npm error path /Users/yeji/.npm/_cacache/tmp/e7f990df npm error errno EACCES npm error npm error Your cache folder contains root-owned files, due to a bug in npm error previous versions of npm which has since been addressed. npm error npm error To permanently fix this problem, please run: npm error sudo chown -R 501:20 "/Users/yeji/.npm" npm error Log files were not written due to an error writing to the directory: /Users/yeji/.npm/_logs npm error You can rerun the command with --loglevel=verbose to see the logs in your terminal ERROR Error: command failed: npm install --loglevel error --legacy-peer-deps Error: command failed: npm install --loglevel error --legacy-peer-deps at ChildProcess.<anonymous> (/usr/local/lib/node_modules/@vue/cli/lib/util/executeCommand.js:138:16) at ChildProcess.emit (node:events:518:28) at maybeClose (node:internal/child_process:1104:16) at ChildProcess._handle.onexit (node:internal/child_process:304:5) yeji@gim-yejiui-MacBookPro 2-17__ % sudo npm i -g @vue/cli;2A

  • HTML/CSS
  • javascript
  • vue.js
  • node.js
  • mongodb
  • 소프트스킬
댓글 2 좋아요 0 조회수 241

for 문에서 var 키워드 변수를 사용할 때와 let 키워드 변수를 사용할 때 차이점

해결됨

진짜! 자바스크립트(Javascript) - 기초부터 고급까지

안녕하세요 좋은 강의 감사드립니다. 아래에서 for 반복문 내에서 var 키워드를 사용했을 때의 경우에는 var 키워드는 함수 스코프를 가지므로 setTimeout 의 콜백 함수가 실행되는 시점에 i 변수의 값은 이미 3인 상태이므로 3 3 3이 출력되는 것은 이해를 했습니다. 그런데 let 키워드로 선언한 변수는 블록 스코프를 가지는데 언뜻 이해하기로는 for 블록 내부에 i 변수가 선언되었다고 생각하면 var 키워드와 마찬가지로 setTimeout 의 콜백 함수가 호출되는 시점에 i 변수는 3이어야 하는게 아닐까라는 생각이 듭니다. 근데 0 1 2 가 출력되는 것을 보면 혹시 for 반복이 한번 실행될 때마다 i 변수가 생성되어서 서로 다른 블록 스코프를 가지는 것인지 아니면 제가 이해하지 못한 다른 내용이 있는 것인지 궁금합니다! 그리고 마지막으로 블록 스코프란 { } 이렇게 중괄호 내에 선언되는 경우를 말하는 것 같은데 for 문의 let i 변수의 경우에는 정확히 말하면 블록 내부에 선언되어 있지는 않은데 이 경우에도 블록 스코프라고 봐야 하는 건가요?? 감사합니다! function timer() { for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i); } , 1000); } } function timer() { for (let i = 0; i < 3; i++) { setTimeout(function () { console.log(i); } , 1000); } }

  • javascript
  • es6
  • 객체지향
  • es5
Droid 댓글 1 좋아요 0 조회수 178

Retry-ability와 커스텀 커맨드, 커스텀 쿼리 질문

해결됨

실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트

안녕하세요 선생님 강의 잘 듣고 있습니다. 이번 강의에서 질문이 있습니다! 1. 커스텀 쿼리도 Retry-ability 지원되고 커스텀 쿼리 안에 커맨드도 Retry-ability가 지원되면 n의 m제곱 번의 재시도가 발생하는 것일까요? 2. 커스텀 커맨드와 커스텀 쿼리 중에 뭘 사용할 것인지는 Retry-ability 지원 유무와 체이닝을 기준으로 선택하면 될까요? 예시코드를 봤을 때 getCardButton 와 getProductCardByIndex 둘 다 DOM 요소를 조회해서 subject를 리턴하여 체이닝을 통해 후속 작업을 하는 것처럼 보이는데 왜 getProductCardByIndex 는 커스텀 커맨드로 작성하는지 잘 모르겠습니다..

  • javascript
  • tdd
  • 소프트웨어-테스트
  • vitest
  • e2e
  • chromatic
메가 댓글 1 좋아요 0 조회수 171

영상 싱크가 맞지 않습니다!

미해결

SCSS(SASS)+FLEX 실전 반응형 웹 프로젝트 with Figma

영상 싱크가 맞지 않습니다 ㅠㅠ 헤더영역에 특히 그렇습니다 ㅠ

  • HTML/CSS
  • javascript
  • sass
  • jquery
  • scss
hangong16 댓글 2 좋아요 1 조회수 208

삭제하기 질문 드립니다.

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

const onClickDelete = () => { if (window.confirm("일기를 정말 삭제할까요? 다시 복구되지 않아요!")) { onDelete(params.id); nav("/", { replace: true }); } }; useDiary.jsx 커스텀 훅 작업하고 나서, 삭제하기 하면 '존재하지 않는 일기입니다' alert이 발생합니다. data가 변화가 되어서 그런거 같은데.. 어떻게 해결하면 좋을까요? 삭제 후, 리렌더링 되면서 nav("/") 되기 전에, const curDiaryItem = useDiary(params.id); 커스텀훅에서 체크가 되는거 같은데, 뭘 확인을 해봐야할까요?ㅎ const useDiary = (id) => { const nav = useNavigate(); const data = useContext(DiaryStateContext); const [curDiaryItem, setCurDiaryItem] = useState(); useEffect(() => { const currentDiaryItem = data.find( (item) => String(item.id) === String(id) ); if (!currentDiaryItem) { window.alert("존재하지 않는 일기입니다."); nav("/", { replace: true }); } setCurDiaryItem(currentDiaryItem); }, [id, data]); return curDiaryItem; }; 🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • javascript
  • react
  • node.js
limyangchae 댓글 4 좋아요 0 조회수 344

http Exception filter 적용

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

http Exception filter 적용이 안됩니다. import { ArgumentsHost, Catch, ExceptionFilter, HttpException, } from '@nestjs/common'; import { Response } from 'express'; @Catch(HttpException) export class HttpExceptionFilter implements ExceptionFilter { catch(exception: HttpException, host: ArgumentsHost) { console.log('exception', exception); const ctx = host.switchToHttp(); const response = ctx.getResponse<Response>(); const status = exception.getStatus(); const err = exception.getResponse() as | string | { error: string; statusCode: number; message: string | string[] }; console.log('err', err); if (typeof err !== 'string' && err.error === 'Bad Request') { return response.status(status).json({ ok: false, statusCode: status, data: err.message, }); } response.status(status).json({ ok: false, statusCode: status, data: err, }); } } 위처럼 하고난뒤에 main.ts 파일에 app.useGlobalFilters(new HttpExceptionFilter()); 추가했는데 위처럼 에러 포맷이 안나옵니다. const foundUser = await this.dataSource.getRepository(UserEntity).findOne({ where: { id } }); if (!foundUser) { console.log('User not found'); throw new BadRequestException('User not found'); } { "response": { "message": "User not found", "error": "Bad Request", "statusCode": 400 }, "status": 400, "options": {}, "message": "User not found", "name": "BadRequestException" }

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
SJ 댓글 2 좋아요 0 조회수 138

터미널에서 node.js 를 실행했을 경우에 터미널에 나타나지 않아요.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

해당 사진과 같이 index.js 가 실행되지 않습니다. node 버전을 확인 했을 경우에는 v22.11.0 로 정상적으로 설치된 것으로 나오는데... 어떤 부분이 문제일까요? 강의시간 5분 28초 입니다.

  • javascript
  • react
  • node.js
신예진 댓글 2 좋아요 0 조회수 1259

직접 구현한 atom 컴포넌트 테스트 범위 질문

해결됨

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

안녕하세요 선생님 강의 잘 듣고 있습니다. 직접 구현한 atom 컴포넌트들의 테스트 범위에 대하여 질문드립니다. Typography, Badge, Divider와 같이 별도의 로직이 존재하지 않는 컴포넌트들은 ProductInfoArea처럼 스토리북으로 확인만 해도 되는 것인지 궁금합니다. 아니면 atom 컴포넌트의 경우에는 props로 전달 받은 값이 잘 반영되는지 검증이 필요할까요? ( className 값이 잘 적용되는지, Typography의 경우 children 값이 화면에 잘 노출되는지 등등)

  • javascript
  • react
  • 소프트웨어-테스트
  • vitest
메가 댓글 1 좋아요 0 조회수 195

결과 이미지랑 글이 안떠요 왜일까요

미해결

[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기

// main변수= 문서 내 #main을 찾아서 가지고 와라 const main= document.querySelector("#main"); const qna= document.querySelector("#qna"); // statusbar 위한 엔드포인트 정의 const endPoint =12; // 결과값 const result=document.querySelector("#result"); // 사용자 입력값에 대한 배열 // const select = []; // 사용자 입력값에 대한 배열 new.직접 12개의 배열에 value 0넣기 const select = [0,0,0,0,0,0,0,0,0,0,0,0,0]; // 질문에 따른 답변 계산 // function calresult(){ // var pointArray = [ // 이 부분 data는 data.js로 옮겨서 동물 당 번호로 바꿔줌. // ] // for(let i = 0; i<endPoint; i++){ // // qnalist로 들어가서 a로 들어가고 거기서 select한 값 // var target =qnaList[i].a[select[i]]; // for(let j=0; j< target.type.length; j++){ // for(let k=0; k<pointArray.length; k++){ // if(target.type[j]=== pointArray[k].name){ // pointArray[k].value += 1; // } // } // } // } function calresult(){ // select라는 배열에 index를 반환할건데 최대값을 console.log(select); var result =select.indexOf(Math.max(...select)); return result; } // // value기준으로 정렬 sort // var resultArray = pointArray.sort(function(a,b){ // if(a.value > b.value){ // return -1; // } // if(a.value < b.value){ // return 1; // } // return 0; // }); // console.log(resultArray) // // key값을 도출, 동물의 이름 // let resultword = resultArray[0].key; // return resultworld; function setresult(){ let point = calresult(); const resultName = document.querySelector('.resultname'); resultName.innerHTML = infoList[point].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 1s"; qna.style.Animation = "fadeOut 1s"; setTimeout(() => { result.style.WebkitAnimation = "fadeIn 1s"; result.style.Animation = "fadeIn 1s"; setTimeout(() => { qna.style.display = "none"; result.style.display = "block" }, 450)}) setresult(); calresult(); } function addAnswer(answerText, qIdx,idx){ var a = document.querySelector('.answerbox'); var answer = document.createElement('button'); // answer는 클래스나 id값이 없어서 querySelector이용 불가하므로 클래스 만들어주기 answer.classList.add('answerlist'); // qbox, answerlist에 애니메이션 넣기 위해 클래스 만들어주기 answer.classList.add('fadeIn'); // 버튼 간 간격 answer.classList.add('my-3'); answer.classList.add('py-3'); answer.classList.add('mx-auto'); // 답변 클릭할 수 있게 버튼 만들기 그것을 html에서 코드 짜지 않고 // innerhtml을 통해서 넣기 a.appendChild(answer); answer.innerHTML = answerText; // html의 onclick 역할의 addEventListener 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 1s"; children[i].style.Animation = "fadeOut 1s"; } setTimeout(() => { // 소,닭 등 각 부여된 select 리스트의 순서를 찾아 value값 1씩 늘려주기 var target =qnaList[qIdx].a[idx].type; for(let i=0; i< target.length; i++){ select[target[i]] +=1; } //// 사용자 입력이 몇 번째인지 인덱스로 넣어주고 idx로 받아주기 -> 몇 번째 질문에서 몇 번째 답변 눌렀는지 select[qIdx] = idx; for(let i=0; i< children.length; i++){ children[i].style.display = 'none'; } goNext(++qIdx); // 버튼이 사라지고 950초쯤 이후 버튼 없어지게 }, 950) }, false); } function goNext(qIdx){ // 결과값 호출하는 함수 if(qIdx === endPoint){ goresult(); return; } // html파일에서 qna 안 qbox가져와라 var q= document.querySelector('.qbox'); q.innerHTML = qnaList[qIdx].q; // 원래는 q.innerHTML =qnalist[0].q; 였는데 0~11번째 질문을 // 하나씩 입력하면 귀찮으니까 let Idx라는 변수 만들어서, for 함수 사용 for(let i in qnaList[qIdx].a){ // answerlist를 하나씩 입력하지 않고 파라미터로 addAnswer(qnaList[qIdx].a[i].answer,qIdx,i); } // status에 따라서 바로 나타내려고 var status = document.querySelector('.statusbar'); status.style.width=(100/endPoint)*(qIdx+1) + '%'; } // 장면 넘어가는 animation function begin(){ main.style.WebkitAnimation = "fadeOut 1s"; main.style.Animation = "fadeOut 1s"; setTimeout(() => { qna.style.WebkitAnimation = "fadeIn 1s"; qna.style.Animation = "fadeIn 1s"; setTimeout(() => { main.style.display = "none"; qna.style.display = "block" }, 450); // 위에서 세운 고넥스트 함수 호출 let qIdx = 0; goNext(qIdx); }, 450); }

  • HTML/CSS
  • javascript
  • bootstrap
dbwls204605 댓글 1 좋아요 0 조회수 161

모든 아나그램 찾기에서 시간복잡도

미해결

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요! 모든 아나그램 찾기 문제에서 compareMaps에 for문이 있어서 해당 문제 시간복잡도가 O(N*M)이 되지 않나요? 그럼 결국 이중for문의 시간복잡도와 같아지는건 아닌지 궁금합니다~!

  • javascript
  • 코딩-테스트
은우 댓글 1 좋아요 0 조회수 122

jsx와 js를 구분해서 사용하는 이유

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

섹션 13강의 중 "폰트, 이미지, 레이아웃 설정하기" 강의를 보면, 이미지 가져오는 것을 컴포넌트화 하는 부분이 나옵니다. util폴더 아래에 get-emotion- image라는 파일을 만드는 부분인데, 해당 파일을 jsx가 아닌 js로 만드는 이유가 궁금합니다. 제가 해당 파일을 jsx로 해도 정상 작동이 되던데, 리액트에서 js로 하신 이유가 뭘까요? 문의드립니다.

  • javascript
  • react
  • node.js
nurookman 댓글 2 좋아요 0 조회수 1061

깃허브 권한 요청 드립니다

미해결

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

인프런 아이디 : tm.jung 인프런 이메일 : tm.jung@brainz.co.kr 깃헙 아이디 : kcw2371@gmail.com 깃헙 Username : kcw2297

  • javascript
  • vue.js
brainzer4004 댓글 1 좋아요 0 조회수 166

index.js를 수정 후 npm start를 하면 계속 포트running이라고 뜹니다

미해결

처음 만난 리액트(React)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님과 동일하게 index.js를 수정하고 terminal - new terminal을 하면 저는 경로가 계속 my-app의 상위 경로로 되어있어서 cd my-app을 해주고 npm start를 하는데 (이부분도 저는 왜 계속 이렇게 뜨는지 궁금합니다..my-app을 우클릭 후 터미널을 열면 되긴합니다만..) 이렇게 떠서 계속 새로운 포트를 추가해서 사용하게 됩니다..저도 강사님처럼 실습하고 싶은데 어떻게 하면 될까요..?

  • HTML/CSS
  • javascript
  • react
duswjdhh 댓글 2 좋아요 0 조회수 239

쌤 에러가 계속 나요ㅠㅠ

해결됨

문법 공부 다음엔, 자바스크립트 프로젝트 101

uncaught syntaxerror: unexpected identifier 'assert' 가 계속 떠요. gpt한테 물어보니까 너무 다른 방향으로 알려주는거 같아서 질문들여용

  • javascript
모짜르트 댓글 2 좋아요 0 조회수 412

mydocker

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

mongoose . connect ( "mongodb://my-database:27017/mydocker" ). then (() => console . log ( "db접속성공" )). catch (( err ) => console . log ( "db접속실패" , err )) 저는 이 부분이 터미널에 db접속이나 db접속 실패가 터미널창에 안 떠요. 터미널창에 왜 안뜰까요?? 우분투라서 sudo docker-compose build sudo docker-compose up 하면 선생님은 db접속유무가 뜨는데 저는 터미널창에 안 떠요 그리고 mydocker이부분은 docker-compass에 들어가면 선생님은 databases에 admin config local 에네랑 같이 있던데 강의에서 언제 생성을 했었나요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
imhj11777 댓글 2 좋아요 0 조회수 139

인기 태그

인프런 TOP Writers

주간 인기글