묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
flex 가 부트스트랩 5 에 추가되었는데 float 를 실무에서 아직 많이 사용하나요 ?
저는 1년 정도 퍼블리싱 경력이 있는데 실무에서 float 를 사용한 적이 없습니다. 부끄럽지만 부족한 실력을 보완하기 위해 강의를 듣고 있는데요. 포트폴리오를 보완하려고 하는데, 강의를 듣다보니 float 를 사용법을 이제라도 익혀서 홈페이지를 만들어야하나 고민이 됩니다. 사실 flex 만 사용하면 정렬 관련해서는 어려울 게 없는데 float 는 너무 어렵게 느껴지네요...
-
미해결습관부터 바꿔주는 React 기초
강의중 첫번째가 완료가 안됩니다.
섹션 0 의 강의소개 첫번째 1분미만 컨텐츠가 완료가 안됩니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 가능할까요?
const solve = (a) => { let p1 = 0, p2 = 1, cn = a[p1], answer = 0; while(p1 < a.length && p2 < a.length) { if (cn < 6) { cn += a[p2]; p2++; } else if (cn === 6) { answer ++; p1 ++; cn = a[p1]; p2 = p1 + 1; } else { p1 ++; cn = a[p1] p2 = p1 + 1 } } console.log(answer) }
-
해결됨React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발
dom / svg / canvas
혹시 웹에서 원하는 곳에 이미지를 애니메이션으로 보내거나 웹을 구성할때 canvas로는 좌표를 찍어 위치를 조정하기 쉬워보이는데 dom / svg를 활용할땐 웹에 원하는 곳으로 배치하기 위해선 그리드를 활용해야하나요 보통?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
다크모드 버튼 만들때 왜 <button> 이 아닌 <div> 를 사용하나요 ?
다크모드 버튼 만들때 왜 <button> 이 아닌 <div> 를 사용하나요 ? 가끔 <button>, <ul> 대신에 div 를 사용하는 경우가 많은데 웹표준에 어긋나는 게 아닌지 헷갈립니다 ㅜ
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
props 데이터 전달하기 missing in props validation 오류
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.실행은 되는데 왜이렇게 자꾸 오류가 나는걸까요?
-
미해결비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
연결리스트 숙제
prev와 tail을 이용해서 만들어 봤습니다! 궁금한점이 하나 있는데 remove 메서드의 if (current)의 else 부분은 필요하지 않은것 같아서 구현하지 않았는데 문제가 있지는 않나요?class LinkedList { length = 0; head = null; tail = null; add(value) { const newNode = new Node(value); if (this.head) { this.tail.next = newNode; this.tail = newNode; } else { this.head = newNode; this.tail = newNode; } this.length++; return this.length; } search(index) { return this.#search(index)[1]?.value; } prevSearch(index) { return this.#search(index)[0]?.value; } #search(index) { let count = 0; let prev; let current = this.head; while(count < index) { prev = current; current = current?.next; count++; } return [prev, current]; } remove(index) { const [prev, current] = this.#search(index); if (current) { if (prev) { prev.next = current.next; } if (current.next) { current.next.prev = prev; } if (current === this.tail) { this.tail = prev; } } this.length--; return this.length; } } class Node { next = null; prev = null; constructor(value) { this.value = value; } } const li = new LinkedList(); li.add(1); li.add(2); li.add(3); li.add(4); li.add(5); li.add(6); console.log(li.prevSearch(2)); console.log(li.remove(4)); console.log(li.search(4)); console.log(li.tail.value); console.log(li.remove(3)); console.log(li.tail.value); console.log(li.remove(3)); console.log(li.tail.value); console.log(li.remove(2)); console.log(li.remove(1)); console.log(li.tail.value); console.log(li.remove(0));
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
PickType
현재 PickType 활용하기를 듣고있습니다.위에서 PickType 은 값을 반환을 하고 Pick 은 타입을 반환한다고 말씀을 주셨는데요.PickType 이 값을 반환 한다는 말씀이실제로 어떤 값을 반환하는것이 아니라 request dto 역할로 데이터가 key : value 로 들어오니까 단순 타입이 아니라 값을 받기때문에 값을 반환한다 라고 이해를 해야할까요 ??
-
미해결애플 웹사이트 인터랙션 클론!
React에서 load 상태를 어떻게 감지할 수 있을까요?
안녕하세요. 강의 재미있게 완강하였습니다.Next.js에 애니메이션을 구현해보려고 하는데요.현재는 load event 대신 useEffect안에서 기능들을 호출하는 방식으로 구현하였는데, useEffect는 DOM요소들이 생성이 완료되는 시점에서 기능이 실행되어 이미지들의 다운로드가 다 완료되지 않은 상태에서도 Loading 화면이 끝나버립니다.useEffect안에서 onLoad나 eventListener load를 시도해보았지만 다른 eventListener와 다르게 제대로 동작하지 않는 현상이 발생합니다.혹시 답변이 가능하시다면 React에서는 Resource의 다운로드 완료 시점을 어떻게 알 수 있을지 조언 부탁드립니다!
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
3.3)Node.js 사용하기 강의 중 npm run start 시 오류 발생
강의대로 package.json에 scripts 내 start에 경로 추가 후("node src/index.js)터미널에 npm run start 입력 시 아래와 같은 error가 발생됩니다.PS C:\Users\HOME\Desktop\oneBite-React\section03> npm run start> section03@1.0.0 start> node src/index.jsnpm error code ENOENTnpm error syscall spawn C:\Program Files\Git\bin\git.exenpm error path C:\Users\HOME\Desktop\oneBite-React\section03npm error errno -4058npm error enoent spawn C:\Program Files\Git\bin\git.exe ENOENTnpm error enoent This is related to npm not being able to find a file.npm error enoentnpm error A complete log of this run can be found in: C:\Users\HOME\AppData\Local\npm-cache\_logs\2024-07-14T05_57_50_914Z-debug-0.log
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
객체 타입의 얕은 복사와 깊은 복사에 대해 질문 있습니다
안녕하세요~ 2.5) 원시타입 vs 객체타입 강의의 8분 6초 쯤에 객체의 얕은 복사와 깊은 복사에 대해 설명해주시는 부분이 있는데요.중첩객체에서는 spread 연산자를 사용해서 복사를 해도 1 depth까지는 복사가 되는데, 2 depth 이상 부터는 복사되지 않는 걸로 알고 있습니다.그래서 spread 연산자를 사용한 복사를 얕은복사,JSON.stringify() 등을 이용해서 하위 중첩된 객체들까지 복사하는 것을 깊은 복사라고 하는 걸로 알고 있는데혹시 제가 잘못 알고 있는건지 궁금해서 질문남깁니다!
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[section08, 투두리스트] 할일 추가가 한개밖에 안되는 문제
안녕하세요 section08까지 듣고 투두리스트 복습을 하던 중 할일이 한개는 추가가 되는데 그 뒤로는 추가된 할일에 덮어쓰기가 되어 추가가 안되는 문제가 발생하는 문제가 발생하여 어제부터 해결이 안되 질문남깁니다.onCreate함수 내부에 로그를 찍어보면새롭게 저장된 데이터가 아닌 매번 기존에 3개 만들어놓은 mockData가 불러와져서 데이터가 추가되는거 까진 확인하였습니다.또한 useReducer를 사용하면 강의와 같이 정상적으로 되는데 useState를 이용하면 위와 같은 문제가 발생합니다.몬가 Context를 사용해서 이런 현상이 발생하는 것으로 추측되는데 어떤 차이 때문에 이런 현상이 발생하는지 궁금합니다. App.jsximport './App.css' import Header from "./component/Header.jsx"; import Editor from "./component/Editor.jsx"; import List from "./component/List.jsx"; import {createContext, useMemo, useRef, useState} from "react"; export const ContextStateData = createContext(); export const ContextDispatchData = createContext(); const mockData = [{ id: 0, isDone: false, content: "Study react", date: new Date().getTime() }, { id: 1, isDone: false, content: "go to bed", date: new Date().getTime() }, { id: 2, isDone: false, content: "play game", date: new Date().getTime() },]; function App() { const [todos, setTodos] = useState(mockData); const idRef = useRef(3); const onCreate = (content) => { const newTodos = { id: idRef.current++, isDone: false, content: content, date: new Date().getTime() } setTodos([newTodos, ...todos]); } const memorizedDispatch = useMemo(() => { return {onCreate} }, []); return (<div className="App"> <Header/> <ContextStateData.Provider value={todos}> <ContextDispatchData.Provider value={memorizedDispatch}> <Editor/> <List/> </ContextDispatchData.Provider> </ContextStateData.Provider> </div>) } export default App 전체 코드 깃허브 주소https://github.com/ironwhale1014/one-bite-react/tree/main/todo_list_train
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
UTC 시간대 변경
timezone: 'Asia/Seoul', // 한국 시간대 설정로 변경하거나timezone: '+09:00', // 한국 시간대 설정로 변경을 해도 시간대가 UTC 시간으로 저장이 되는것 같아요 !한번 데이터베이스로 가서 select now() 로 찍어보니까 application 단에 작성한 timezone 과 다르게 utc 시간대로 설정되어있어서 그런것 같더라구요 디비의 시간대를 변경하면 되긴한데 , 그러면 취지와 맞지 않는것 같아서 어떻게 하면 될까요 ?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
App.vue가 필요한 이유
안녕하세요. 수업 정말 재밌게 잘 듣고 있습니다.근데 듣다 보니 App.vue가 점점 왜소해지네요.앞으로는 store가 데이터 저장과 중앙 처리 역할을 모두 수행하는 것 같은데 App.vue가 있어야 할 이유는 무엇일까요?궁금하여 질문 남깁니다.
-
미해결비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
한번에 이해 안가는 제가 비정상 일까요...?
해시 테이블까지 재밋었는데 레드 블랙트리 너무 어려운것 같습니다 ㅠㅠ...반복 숙달이 답이겠죠?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
custom 파이프라인
custom 파이프 챕터를 듣고있습니다.위의 강의에서 8 자 보다 긴 비밀번호는 throw new 반환을 적용한다고 했을때 파이프 라인으로 적용해도 될것같고 , request dto 로 적용할수있을것 같단 생각을 했습니다.이럴때 어디서 적용할지에 대한 기준치는 어떻게 판별하시나요 ??
-
미해결실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
강사님, 브랜치명 어떻게 만드셨어요?
사진을 보니 이렇게 되있던데, 잘 되있더라구요!3-component 브랜치를 만들면, 해당 위치에서3-component/... 이렇게 만들 수 없더라구요. 강제로 만든건지?(강제 브랜치 생성 명령어)TabComponent같은 브랜치를 파서 작업한 다음, PR을 올려서 머지 시키면 자동으로 저렇게 바뀌는 건지?답변 부탁드립니다.
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Authorization 과 Headers
안녕하세요 ㅎ강의 잘 보고 있습니다.강의에서 access token 과 refresh token 을 사용하게 될때postman 에서 Headers 탭을 이용하셨는데 이유가 있을까요 ?옆에 Authorization 을 사용하지않고 Headers 를 사용하신 이유가 궁금합니다. !
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어보았는데 확인부탁드립니다.
function solution(s) { let answer = ''; let current = s[0]; let repeat = 1; for (let i = 1; i < s.length; i++) { if (current === s[i]) { repeat++; } else { answer += `${repeat === 1 ? current : `${current}${repeat}`}`; current = s[i]; repeat = 1; } } return answer; }
-
미해결Vue.js 시작하기 - Age of Vue.js
화면 코드 보기
강사님..혹시 화면을 좀 줄여 주실수 있을까요?전체적인 코드라 할까? ...좀 뒤에서 보고 싶네요... (매우 답답해서요)주위 코드도 안보이고... 방법 없을까요? (녹화를 다시 하시기도 뭐하고..ㅠㅠ)