묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
코드 샌드박스 소스 입력시 콘솔이 계속 반응하는것 같아요.
안녕하세요 코드 샌드박스 소스 입력시소스를 입력할때마다 console.log()가 계속 반응하는 것같은데소스입력할때마다 반응하는 것을 멈출수 있을가요? 혹시.. 코드샌드박스 적응이 아직 안되었으면.. 비쥬얼 코드로 공부해도 큰 문제없을가요?
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
조건부 렌더링을 위해 인스턴스를 매번 생성하는 것의 장단점이 궁금합니다.
조건부 렌더링을 통해 다음과 같이 url에 따라 특정 컴포넌트를 생성하는 방법을 이해했습니다.const render = () => { const path = this.state.currentPage; $app.innerHTML = ""; if (path.startsWith("/city")) { renderHeader(); renderCityDetail(); } else { renderHeader(); renderRegionList(); renderCityList(); } };이 경우, 컴포넌트가 추가될 때마다 this.setState에 추가된 컴포넌트의 setState를 추가로 호출해야 하는 번거로움도 사라진 것 같습니다. 하지만, 상세 페이지와 메인 페이지를 계속 왔다갔다 할 경우, 공통으로 호출되는renderHeader() 와 다른 렌더링 함수가 호출되고 인스턴스가 계속 생성이 될 것 같습니다. 이렇게 인스턴스가 계속 생성이 되면, 메모리 효율이 좋지 않을 것 같은데, React나 Vue 같은 도구에서는 이런 문제를 해결해주고 있나요? 아니면, 이 정도는 크게 신경 안써도 될 정도로 미비한 건지 궁금합니다.
-
미해결JavaScript 베이스캠프
마지막 과제 API 접속이 안 됩니다.
https://test.api.weniv.co.kr/mall접속이 안 됩니다.
-
미해결애플 웹사이트 인터랙션 클론!
스크롤 속도에 따른 messageA_opacity_out
강사님처럼 똑같이 코드를 작성했음에도 불구하고 스크롤을 천천히 내리면 opacity가 0까지 잘 적용이되는데 스크롤을 빨리내리면 opacity가 0으로 빠지다가 그상태로 남아서 씬2까지 넘어가요.혹시 왜그런지 알 수 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useEffect 의존성배열
의존성 배열에 보통 배열이나 객체를 넣지 않는 게 좋다고 어디서 본거 같은데 useState으로 만든 객체나 배열은 상관이 없고 const a = {a: 1, b:2} 이런 거나 const b = []; 이렇게 초기화 된 것들만 넣지 말라고 하는 것인가요? 맞다면 이유는 const a 랑 const b는 리렌더 될 때마다 참조 값이 바뀌고 useState으로 만든 것은 리렌더링이 되어도 set 함수가 쓰이지 않는 이상 참조 값이 바뀌지 않아서 그런 건가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[12.6) 폰트, 이미지, 레이아웃 설정하기] 이미지 설정 관련해서 질문 있습니다.
제 얕은 지식으로는 svg 파일이 png 파일보다 용량이 더 적어서 좋다고 알고 있는데어떤 이유로 이미지를 svg 파일 말고 png 파일로 진행하시는 이유가 있는지 궁금합니다!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[12.6) 폰트, 이미지, 레이아웃 설정하기] 이미지 설정 관련해서 질문 있습니다.
제 얕은 지식으로는 svg 파일이 png 파일보다 용량이 더 적어서 좋다고 알고 있는데어떤 이유로 이미지를 svg 파일 말고 png 파일로 진행하시는 이유가 있는지 궁금합니다!
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
출력 결과가 이해되지 않습니다.
const promise = new Promise((resolve, reject) => { // 비동기 작업을 실행하는 함수 // executor setTimeout(() => { console.log("안녕"); // resolve(); reject(); }, 2000); }); console.log(promise); setTimeout(() => { console.log(promise); }, 3000);첫 번째 console.log와 setTimeout에서의 두 번째 console.log는 promise객체의 상태가 달라야 한다고 생각하는데 왜 같은지가 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
tap() 안에서 async/await 쓸 때 트랜잭션 커밋이 제대로 안 되는 이유가 궁금합니다.
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. QueryRunner 커스텀 데코레이터 만들기 듣고 있는데 강의대로 return next.handle().pipe( catchError(async (e) => { await qr.rollbackTransaction(); await qr.release(); throw new InternalServerErrorException(e.message); }), tap(async () => { await qr.commitTransaction(); await qr.release(); }), );이렇게 코드를 짜면 포스트맨에서 응답으로 { "message": "QueryRunner Decorator를 사용할려면 TransactionInterceptor를 적용해야 합니다.", "error": "Internal Server Error", "statusCode": 500}이렇게 나옵니다. 그래서 tap 대신에 mergeMap(async (value) => { await qr.commitTransaction(); await qr.release(); return value; }), merge맵을 사용하면 문제가 해결되는데 강의에서는 tap을 써도 트랜잭션 커밋이 잘 되는 것처럼 보였는데, 설명 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Rest API 보다는 graphql이 주된 내용인데
보통 채용공고엔 rest api가 많더라고요 강의에도 아예 없진 않은데 강의 수강이후에 rest api도 할수있다고 생각을 해도되나요 아니면 따로 공부를 해야하나요? 차이가 많이나는지요
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
Symbol 관련 테스트 코드 실행 결과 문의
Symbol 관련 테스트 코드를 Sandbox로 확인해 보았는데 결과가 다르게 나와서 문의드립니다.Javascript로 sandbox를 create하였고, 생성된 index.mjs 파일에 강의내용의 Symbol 테스트 코드를 동일하게 작성해여 테스트 하였습니다.let testSymbol1 = Symbol(1); let testSymbol2 = Symbol(1); console.log(typeof testSymbol1, testSymbol1); console.log(typeof testSymbol2, testSymbol2); console.log(testSymbol1 == testSymbol2); console.log(testSymbol2 === testSymbol2);Console로 확인한 결과는2symbol Symbol(1)falsetrue 이렇게 나옵니다.null로 나오지 않고, === 결과도 true인데 어떤 이유로 다르게 나오는건지 궁금합니다.
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
API 에러
동물 앨범 만들기 코드 챕터에서 강의에서 제공하고 API_URL인 https://inf.run/7Sf7J주소로 들어가면 데이터가 보여지는게 아니라 아래 이미지처럼 나오는데 왜그럴까요?
-
해결됨[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
Mac Os / npx eas build --platform android --profile development 질문
Vscode 터미널에서 npx eas build --platform android --profile development 명령어를 입력하면Resolved "development" environment for the build. Learn moreNo environment variables with visibility "Plain text" and "Sensitive" found for the "development" environment on EAS.✔ Using remote Android credentials (Expo server)✔ Using Keystore from configuration: Build Credentials B93ecKpj4X (default)Compressing project files and uploading to EAS Build. Learn more✖ Compressing project filesFailed to upload the project tarball to EAS BuildReason: EPERM: operation not permitted, scandir '/Users/development/.Trash' Error: build command failed.GPT는 Trash를 우회해서 하라는데 우회해도 안되고.. .easignore 파일에 .Trash.DS_Storenode_modules.git**/.Trash!./.Trash # 만약 현재 디렉토리에 있다면 포함시킴를 작성해도 계속 같은 에러가 발생합니다ㅠ.ㅠ어떻게 해결하면 될까요 ?
-
미해결클린업 JavaScript: 점프업!
클린업 JavaScript: 점프업! / 6. 클로저(Closure), 클로저 대상 / 2:25
const setPoint=function(){ let one =100; const two = 200; var five=500; if(one){ let seven=700; var nine = 900; }; return function(){ console.log(one+two+nine); // one + two + nine; debugger // one + two + nine; // one, two, nine variable 없음 debugger // seven; }; }; const getPoint =setPoint(); getPoint();debugger로 변수를 개발자도구 콘솔에 찍으니깐요변수를 추적못합니다.신기해서 질문합니다웹브라우저에서는 변수를 찾지 못하고자바스크립트에서는 클로저로 할당된 변수를 찾아서 콘솔에 찍어주는 건가 싶기도하고요언제 변수를 찾느냐의 차이인가요?웹브라우저에서 직접 변수를 찾으면 못찾는다고 하네요이유가 무엇인지 알고 계신가요?
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
Promise 객체 출력
영상 [4:12]에서 console.log()로 delay(3000)의 반환값인 Promise 객체를 출력했는데 어떻게 "3초가 지났습니다."라는 문구가 출력되는 건가요?
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
rafce 기본 템플릿 적용 및 폴더 파일 대소문자 관련 부분
기본 템플릿 생성 rafce 적용할 때 파일명 기준으로 객체 변수(NavBar) 생성 되는데 오타 때문에 삭제하고 재생성(Navbar)하면 처음 만들었던 이름 그대로 유지되는 습성이 있는데 삭제 하고 다시 만들때 바로 적용 되도록 환경 설정 따로 하는게 있는지 궁금합니다. Components 및 Page 폴더 파일 대소문자 구분 생성 이유가 따로 있는지 아니면 개인적인 개발 습관인지 답변 부탁드립니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[9.2 투두리스트 업그레이드] id undefined
안녕하세요. 투두리스트 업그레이드 중 "UPDATE" 에서 질문있습니다.업그레이드 하며 체크박스를 선택했을 때 다음과 같은 오류가 발생합니다.업그레이드 이전까지는 잘 돌아가서 업그레이드 하며 오타 문제가 아닐까 하는데 원인을 찾기가 어려워 질문 드립니다.. ㅜ APP.jsx 와 List.jsx 코드 올려드립니다.- APP.jsximport "./App.css"; import Header from "./components/Header"; import Editor from "./components/Editor"; import List from "./components/List"; import { useState, useRef, useReducer } from "react"; const mockData = [ { id: 0, isDone: false, content: "Study React.js", date: new Date().getTime(), }, { id: 1, isDone: false, content: "do laundry", date: new Date().getTime(), }, { id: 2, isDone: false, content: "wanna go home", date: new Date().getTime(), }, ]; function reducer(state, action) { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((item) => { item.id === action.targetId ? { ...item, isDone: !item.isDone } : item; }); case "DELETE": return state.filter((item) => item.id !== action.targetId); default: return state; } } function App() { const [todos, dispatch] = useReducer(reducer, mockData); const idRef = useRef(3); const onCreate = (content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }; const onUpdate = (targetId) => { dispatch({ type: "UPDATE", targetId: targetId, }); }; const onDelete = (targetId) => { dispatch({ type: "DELETE", targetId: targetId, }); }; return ( <div className="App"> <Header /> <Editor onCreate={onCreate} /> <List todos={todos} onUpdate={onUpdate} onDelete={onDelete} /> </div> ); } export default App; List.jsx import "./List.css"; import TodoItem from "./TodoItem"; import { useState } from "react"; const List = ({ todos, onUpdate, onDelete }) => { const [search, setSearch] = useState(""); const onChangeSearch = (e) => { setSearch(e.target.value); }; const getFilteredData = () => { if (search === "") { return todos; } return todos.filter((todo) => todo.content.toLowerCase().includes(search.toLowerCase()) ); }; const filteredTodos = getFilteredData(); return ( <div className="List"> <h4>Todo List 🎈</h4> <input value={search} onChange={onChangeSearch} placeholder="검색어를 입력하세요" /> <div className="todos_wrapper"> {filteredTodos.map((todo) => { return ( <TodoItem onDelete={onDelete} onUpdate={onUpdate} key={todo.id} {...todo} /> ); })} </div> </div> ); }; export default List;
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
ConfigService.get<string>() 반환값이 string | undefined로 처리되어 TS 오류가 발생합니다
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 환경변수 적용하기 -1 듣고 있는데async registerWithEmail(user: RegisterUserDto) { const hash = await bcrypt.hash( user.password, parseInt(this.configService.get<string>(ENV_HASH_ROUNDS_KEY)), ); const newUser = await this.usersService.createUser({ ...user, password: hash, }); return this.loginUser(newUser); }this.configService.get<string>(ENV_HASH_ROUNDS_KEY 에서 string| undefined 형식의 인수는 string 형식의 매개 변수에 할당될 수 없습니다라는 에러가 뜹니다.강의에서는 위 코드에서 타입 에러가 발생하지 않던데, NestJS 버전 차이로 인해 타입 정의가 바뀐 걸까요? 해결방법이 궁금합니다.
-
해결됨[코드캠프] 입문자를 위한 Javascript 알고리즘 이론+실습
aaaaaa
<img src=x onerror=alert(1)>
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
querySelector로 가져온 요소를 출력한 결과에 대한 질문
let $animalInfo = document.querySelector("div.animal-info"); let ageElement = document.querySelector("div#age"); console.log($animalInfo); console.log(ageElement);다음과 같은 예제 코드를 실행했을 때,이렇게 출력이 되는데요. 강의에서는다음과 같이 태그와 함께 출력되는데 제 크롬 브라우저에서는 왜 다르게 나오는지 궁금합니다!