묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
[질문X] websockets 설치 불가 이슈 공유
TLDRNestJS를 최신 버전으로 업그레이드하여 프로젝트를 다시 생성하시면 설치가 가능합니다.Details2023년 6월 15일 기준 NestJS의 v10 릴리즈가 나와, 이전 버전의 CLI로 설치된 경우 아래 명령어 실행 시 에러가 발생합니다. (작성자의 경우 NestJS v9로 실행)$ npm i --save @nestjs/websockets @nestjs/platform-socket.io npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: test-chat@0.0.1 npm ERR! Found: @nestjs/common@9.4.3 npm ERR! node_modules/@nestjs/common npm ERR! @nestjs/common@"^9.0.0" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @nestjs/common@"^10.0.0" from @nestjs/websockets@10.1.0 npm ERR! node_modules/@nestjs/websockets npm ERR! @nestjs/websockets@"*" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution.이를 해결하기 위한 방법으로 두 가지를 생각해볼 수 있는데, 작성자 본인은 첫 번째 방법을 사용했음을 알려드립니다.NestJS v10으로 새로 설치 후 프로젝트 다시 생성공식문서(링크)를 따라 v9에서 v10으로 마이그레이션
-
미해결스프링 시큐리티
SessionManagementFilter 동작여부
선생님 안녕하세요.질좋은 강의로 열심히 공부중에 질문이 생겨 글 남겨봅니다. 현재 ajaxLoginProcessingFilter 및 AjaxAuthenticationProvider 만들어서 http.addFilterBefore(ajaxLoginProcessingFilter(), UsernamePasswordAuthenticationFilter.class); 와 같이 설정해서 사용중인데 SessionManagementFilter까지 작동을 안하지는 sessionManagement 기능이 작동을 안합니다. 혹시 커스텀 객체들을 사용하면서 세션 제어를 할 수 있는 방법이 있을까요?
-
미해결
dev tools 적용 중 질문드립니다
안녕하세요, 인텔리제이에 devtools를 추가 중에 질문드립니다! └ 찾아보니 이 부분에서 두가지 항목을 변경해야하는 것 같은데, └ 저는 Spring Boot에 관련한 옵션이 없어 설정을 못하고 있습니다ㅠ-ㅠ.... 뭐가 문제일까요...?
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
질문드립니다.
안녕하세요! 좋은 강의 정말 감사드립니다!!강의를 다 듣고 궁금한 점이 있어서 질문드립니다..! 투입공수는 PM을 할 경력정도 되면 경험적으로 계산이 가능한 걸까요?아니면 정해진 틀이 있는 것일까요? (예를 들어 어떤 기능을 중급 개발자가 몇달이면 할 수 있겠다 ... 이런걸 산정하는 방법이나 기준이 궁금합니다) 프로세스 흐름도는 누가 그리는 것일까요?(현업업무담당자?기획자?개발자?협업?) 서버 개발은 '서버PC에 프론트/백엔드 개발물을 올릴 수 있게 환경을 만들고 배포하는 것'을 의미하는 것일까요? 그러면 백엔드 개발과 서버 개발은 실제 담당자가 다를까요? 다르다면 각 담당자별로 갖춰야하는 역량이 어떤게 있어야할까요? 답변 부탁드립니다. 감사합니다!!
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
setValue가 함수가 아니라는 오류 발생
TailwindCss 적용하기 실습 중 발생한 문제입니다.setValue is not a function TypeError: setValue is not a function at handleChange (http://localhost:3000/static/js/bundle.js:167:5) at HTMLUnknownElement.callCallback (http://localhost:3000/static/js/bundle.js:11038:18) at Object.invokeGuardedCallbackDev (http://localhost:3000/static/js/bundle.js:11082:20) at invokeGuardedCallback (http://localhost:3000/static/js/bundle.js:11139:35) at invokeGuardedCallbackAndCatchFirstError (http://localhost:3000/static/js/bundle.js:11153:29) at executeDispatch (http://localhost:3000/static/js/bundle.js:15297:7) at processDispatchQueueItemsInOrder (http://localhost:3000/static/js/bundle.js:15323:11) at processDispatchQueue (http://localhost:3000/static/js/bundle.js:15334:9) at dispatchEventsForPlugins (http://localhost:3000/static/js/bundle.js:15343:7) at http://localhost:3000/static/js/bundle.js:15503:16이러한 오류가 발생하였습니다.아래는 코드입니다.지난 시간에서 딱히 바꾼게 없는데 오류의 원인을 잘 모르겠어서 질문드립니다.App.jsimport React, {useState} from "react"; import "./App.css"; import List from "./components/List"; import Form from "./components/Form" export default function App (){ const [todoData, setTodoData] = useState([]); const [value,setValue] = useState(""); const handleSubmit = (e) =>{ e.preventDefault(); // 전송시 페이지 새로고침 방지 함수 let newTodo = { id : Date.now(), title: value, completed : false }; // 새로운 할 일 데이터의 형성 setTodoData(prev => [...prev,newTodo] ) setValue("") // 원래 할 일에 새로운 할 일 데이터의 update 해주는 setState 함수 } const btnStyle = { color: "#fff", border: "none", padding : "5px 9px", borderRadius: "50%", cursor: "pointer", float:"right" } return( <div className="container"> <div className='todoBlock'> <div className="title"> <h1>To do list</h1> </div> <h1 className='text-3xl font-bold underline'>Hello world!</h1> <List todoData= {todoData} setTodoData = {setTodoData}/> <Form handleSubmit = {handleSubmit} value ={value} setValue = {setValue}/> </div> </div> ); }list.jsimport React from 'react' export default function List({todoData , setTodoData}) { const btnStyle = { color: "#fff", border: "none", padding : "5px 9px", borderRadius: "50%", cursor: "pointer", float:"right" } const handleClick = (id) => { let newTodoData = todoData.filter(data => data.id !== id) console.log('newTodoData',newTodoData); setTodoData(newTodoData); } const getStyle = (completed) => { return { padding : "10px", borderBottom: "1px #ccc solid", textDecoration: completed ? 'line-through' : 'none', } } const handleCompleteChange = (id) => { let newTodoData = todoData.map(data => { if (data.id === id){ data.completed = !data.completed; } return data; }); setTodoData(newTodoData); }; return ( <div> {todoData.map((data)=>( <div style = {getStyle(data.completed)} key = {data.id}> <input type = "checkbox" defaultChecked = {false} onChange = {() => handleCompleteChange(data.id)}/> {data.title} <button style = {btnStyle} onClick = {() => handleClick(data.id)}>X</button> </div> ))} </div> ) }form.jsimport React from 'react' export default function Form(handleSubmit,value,setValue) { const handleChange = (e) =>{ setValue(e.target.value); } return ( <form style = {{display:"flex"}} onSubmit = {handleSubmit}> <input type = "text" name = "value" style = {{flex: '10', padding :'5px'}} placeholder = "해야 할 일을 입력하세요." value ={value} onChange ={handleChange} /> <input type = "submit" value = "입력" className="btn" style ={{flex:'1'}} /> </form> ) }
-
해결됨그림으로 쉽게 배우는 운영체제
세그멘테이션 테이블은 몇 개가 존재하나요?
영상 04:28 을 보면 MMU가 '물리 메모리 n번지에 있는 세그멘테이션 테이블 소환!' 이렇게 말하는데, 세그멘테이션 테이블이 물리메모리의 n번지마다 여러 개가 존재해서 CPU가 요청한 세그먼트의 정보가 있는 특정 세그멘테이션 테이블을 가져오는 것 인가요? 아니면 그냥 물리메모리 어딘가에 존재하는 1개의 세그멘테이션 테이블을 가져오는 것을 물리메모리 n번지 라고 표현한 것 인가요?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
Thread.sleep() 의 순서에 대해서
안녕하세요~ @Test void dataSourceConnectionPoolTest() throws SQLException, InterruptedException { HikariDataSource dataSource = new HikariDataSource(); dataSource.setJdbcUrl(URL); dataSource.setUsername(USERNAME); dataSource.setPassword(PW); dataSource.setMaximumPoolSize(10); dataSource.setPoolName("MY CUSTOM POOL"); useDataSource(dataSource); Thread.sleep(1000); } 해당 함수에서 궁금한 점이 있어서 질문을 남기게 되었습니다. 제가 이해한 바로는 위 행위는"새로운 나만의 custom Hikari Pool을 만드는 것" 으로 이해했고, 해당 hikari Pool 이 생성되었고, 10개의 Pool 을 지정해줌에 따라 Pool에 Connection 을 채워주는 것 같습니다. 이 때, 새로운 스레드를 만들어서 해당 스레드에서 Connection 들을 만들어서 Pool 로 넘겨주기 때문에, useDataSource(dataSource) 를 통해 새로 만든 HCP 에 있는 Connection 객체를 확인하려면 메인 스레드를 중지하여 잠시 새로운 스레드에서 Connection 을 불러올 시간을 주는 것이라고 이해했습니다. 궁금한 것은, 그렇다면 Thread.sleep() 이 useDataSource 위에 있어야 하는거 아닌가 했습니다. 그래야 새로운 스레드에서 새로운 HCP 에 Connection Pool 을 채워주고, useDataSource() 에서 해당 Connection 을 꺼내올 수 있는 거라고 생각했습니다. (제가 Connection 이 채워지는 시점을 몰라서 이해가 안된 것 같기도 합니다. 혹시 Connection 을 채워주는 시점이 .setMaximumPoolSize() 를 하는 시점일까요? 언제 채워주기 시작하는지도 궁금합니다) ------------------------------------------------ 추가내용제가 Thread 를 useDataSource() 위 아래 놓고 로그를 찍어봤는데, 1) Thread.sleep() 없을 경우2) Thread.sleep() 이 use() 아래 있는 경우 - 강사님이 활용한 경우3) Thread.sleep() 이 use() 위에 있는 경우 - 제가 생각한 올바른 방법3) 으로 찍힌 로그와 1) 이 찍힌 로그가 동일하고, 강사님이 활용하신 2) 모습처럼 connection 이 추가되는 모습을 확인할 수 없었습니다. 이 현상도 위에 마지막에 물어본 것처럼 Connection 이 채워지는 시점을 알면 이해에 도움이 될 수 있을 것 같습니다..!
-
해결됨앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
dismiss 되었을 때 종료질문
섹션 3 - 1에서weak self 로 전달된 클로저는 뷰 컨트롤러가 dismiss되었을 때 클로저의 작업들이 뷰 컨트롤러 객체 안에 속해있기 때문에, 클로저의 작업도 함께 종료된다고 하셨는데.섹션 3 - 2 에서 보여주신 weak self 예제에서는 뷰 컨트롤러가 소멸되었음에도 클로저의 작업이 계속 진행되더라고요. 왜 다른 결과가 나오는지 궁금합니다.
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
video영상을 choose하면 메인으로 돌아가요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!video영상을 choose하면 compressing video를 거치고 메인으로 돌아가버려요뭐가 문제일까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
ElasticBeanStalk생성 후 보안그룹 적용
EB -> 구성 -> 보안그룹을 누르면 위와 같은 에러가 발생합니다. 이유가 무엇인가요?
-
해결됨CAN 통신 - 자동차 신입이 알아야 할 모든 것
CAN 통신량 질문
CAN에서 여러 센서들이 있는데혹시 각 센서에서 CAN 데이터를 너무 많이 보내는 상황은 어떻게 되나요??CAN 데이터 보낼 수 있는 데이터량의 한계가 있는지? 어떻게 정해지는지?CAN 데이터가 너무 많을 경우 어떠한 문제가 생길 수 있는지?
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
read response 관련
안녕하세요 fpga 7강 AXI4-Lite의 verilog code를 보다가 질문이 있어 어렇게 올립니다.19분 41초 쯤 read와 관련된 verilog code를 보면 보여지는 AXI-lite의 5개의 channel 과는 다르게 Read response 관련해서 S_AXI_RRESP가 있는 이유가 궁금하며 read response와 관련된 ready/valid handshake가 없고 read에 관련된 handshake 만 있는 이유 또한 궁금합니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
프로세스 힙 확인에 대한 질문이 있습니다.
안녕하세요 선생님프로세스 힙 상태 확인 예제 코드 결과에서 나온 region은 allocation size 인 64KB 인것 같은데왜 block은 32KB인가요? 전 강의에서는 Allocation size (64KB), page size (4KB) 이렇게 나온것 같은데 그냥 새로운 논리적 구분 범위가 또 있다고 생각하면 되나요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
mesh가 전부 흰색으로 보입니다
Mesh에 rgb값이 적용되지 않는 것 같습니다..!새로고침이나 서버 다시 시작 등은 해봤습니다,,혹시 한 번 봐주실 수 있을까요?ㅠㅠ// Mesh const geometry = new THREE.BoxGeometry(1,1,1); let mesh; let material; for( let i=0;i<20;i++){ material = new THREE.MeshStandardMaterial({ color: `rgb( ${ 50 + Math.floor(Math.random() * 205) }, //r값 // Math.floor()은 내림 함수 ${ 50 + Math.floor(Math.random() * 205) }, //g값 ${ 50 + Math.floor(Math.random() * 205) } //b값 )` }); mesh = new THREE.Mesh(geometry,material); mesh.position.x = (Math.random()-0.5)*5;//-2.5에서 2.5 사이의 범위 mesh.position.y = (Math.random()-0.5)*5; mesh.position.z = (Math.random()-0.5)*5; scene.add(mesh); }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
initialState에 있는 error가 안나옵니다.
persist에서는 error가 있는데 rehydrate에서는 error 가 없습니다. 그결과 pendding과 rejected에서 error가 안나옵니다.userslice 코드입니다.import { createSlice } from "@reduxjs/toolkit"; import { registerUser } from "./thunkFunctions"; import { toast } from "react-toastify"; const initialState = { userData: { id: "", email: "", name: "", role: 0, image: "", }, isAuth: false, isLoading: false, error: "실패", }; const userSlice = createSlice({ name: "user", initialState, reducers: {}, extraReducers: (builder) => { builder .addCase(registerUser.pending, (state) => { state.isLoading = true; }) .addCase(registerUser.fulfilled, (state) => { state.isLoading = false; toast.info("회원가입을 성공했습니다."); }) .addCase(registerUser.rejected, (state, action) => { state.isLoading = false; state.error = action.payload; toast.error(action.payload); }); }, }); export default userSlice.reducer;
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
테스트 케이스는 맞는데 어디가 잘못되었는지 모르겠습니다.
http://boj.kr/caf8103fb432416fae79a0f49e1b1a37혼자 복습을 해보면서 작성한 코드인데요,강의에서는 for문에서 x, y를 하나씩 늘려 가면서 비교했는데 이 코드는 값을 2씩 늘리는 대신 한번 비교할 때 4개의 인접한 값을 모두 비교하도록 하였습니다. 테스트 케이스도 잘 통과했는데 제출을 하니 31퍼에 자꾸 오답처리가 되더라구요해당 코드가 왜 틀리는지 모르겠습니다 혹시 어디가 잘못되었는지 알려주실 수 있나요?
-
미해결
인프콘 초대됐는데 이름변경 가능한가요?
안녕하세요 올해 인프콘 초대신청 됐는데 참가자 이름 변경가능한가요?
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
bind에서의 this, thisArg, ...args 타입분석 3개인 이유 ..
안녕하세요. 얼마 전 bind 타입 분석을 하다가 궁금점이 풀리지 않아 질문 내역을 보았습니다. 22년 9월 13일 제목: 13:50 파라미터 질문 (해결)이란 글의 질문과 같이 bind 인자로 받는 this 가 이해를 할 수 없었습니다. 현영님께서 답변을 달아주신 것을 봤지만 이해가 되지 않더라고요 이게 가능한건가?.. 싶었습니다.현재 타입스크립트버전 "typescript": "^5.1.6"lib.es5.d.ts 에 보면 bind는 아래와 같이 정의 되어있는데요interface CallableFunction extends Function { bind<T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>; bind<T, A extends any[], B extends any[], R>(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; }mdn에서 bind 메서드를 확인해보니 func.bind(thisArg[, arg1[, arg2[, ...]]])이러한 구문을 갖고 있는 것을 확인했습니다. 인자의 수가 안맞고 this라는 것은 찾아볼 수 없었는데요. 그래서 ECMAScript bind를 찾아보니 함수가 다음과 같이 정의 되었다는 것을 알게되었습니다.20.2.3.2 Function.prototype.bind ( thisArg, ...args ) This method performs the following steps when called: 1. Let Target be the this value. 2. If IsCallable(Target) is false, throw a TypeError exception. 3. Let F be ? BoundFunctionCreate(Target, thisArg, args). 4. Let L be 0. 5. Let targetHasLength be ? HasOwnProperty(Target, "length"). 6. If targetHasLength is true, then a. Let targetLen be ? Get(Target, "length"). b. If targetLen is a Number, then i. If targetLen is +∞𝔽, then 1. Set L to +∞. ii. Else if targetLen is -∞𝔽, then 1. Set L to 0. iii. Else, 1. Let targetLenAsInt be ! ToIntegerOrInfinity(targetLen). 2. Assert: targetLenAsInt is finite. 3. Let argCount be the number of elements in args. 4. Set L to max(targetLenAsInt - argCount, 0). 7. Perform SetFunctionLength(F, L). 8. Let targetName be ? Get(Target, "name"). 9. If targetName is not a String, set targetName to the empty String. 10. Perform SetFunctionName(F, targetName, "bound"). 11. Return F.bind가 수행되면 bound 된 함수를 반환해주는데 그 과정에서 1번에서 target은 this 값으로 설정이 되고3번에 BoundFunctionCreate (target, thisArg, ...args) 로 설정되어 this가 들어가는 것으로 확인했습니다. 이 과정을 거쳐 bound된 함수를 반환해주는데 타입스크립트에서 정의된 this, thisArg, ...args 가 위 내용에 대한 타입 정의가 아닐까 싶습니다. 이전 답변에 궁금증이 해소되지않아 찾아봤는데 시간나실때 확인부탁드립니다![ECMAScript bind 링크] ECMA bind 위에 링크 걸어두었습니다. 항상 좋은 강의와 정보제공 감사드립니다.:)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
foreach문 에러에 대해 궁금합니다
foreach문은 T형식을 사용할 수 없다는데요..T에 GetEnumerator의 공개 인스턴스 또는 확장 정의가 없기 때문이라는데 어떡하면 좋죠?;;
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
백준에 1090 모이기 문제가 없습니다.
1090 문제를 풀기위해서 백준에서 검색해보았는데 대신에 체커라는 문제가 나오고 모이기라는 문제는 보이지 않네요.. 혹시 문제를 풀 수 있는데가 있을까요??