묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Menu의 onCloseModal 이벤트에 관한 질문입니다.
Menu component에 onCloseModal 이벤트가 가장 바깥쪽의 CreateMenu에 한번, CloseModalButton에 한번 그사이에 stopPropagation 한번 있는데요, stopPropgation의 동작원리는 알겠는데 여기서 CreateMenu가 화면의 바깥쪽 크기를 전부 차지하는 것 맞나요? CSS 속성을 읽어보니 position: fixed; top: 0; right: 0; left: 0; bottom: 0; z-index: 1000; 이렇게 되어있는데 이렇게 하면 전체화면의 크기와 같은 div가 되는건가요?
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
swr상태관리시 다른 컴포넌트 리렌더링 하는방법 문의
안녕하세요. swr관련 문의 드립니다. local state를 관리하는 용도로 swr을 사용해보고 있습니다. 컴포넌트 구조는 Main아래 Overview아래 OverviewDut라는 컴포넌트를 두고있는데요. Main에서 Socket.io를 통해서 받아온 데이터를 OverviewDut에서 사용하려고 합니다. swr에서 관리하고 있는 값은 제대로 변경되고 있는데요. OverviewDut컴포넌트의 리렌더링이 되지 않습니다. 부모컴포넌트에서 swr의 상태가 바뀐경우 자식컴포넌트에서 리렌더링이 필요한 경우에 대해 문의드립니다. [useDuts.js] [Main.jsx] [OverviewDut.jsx]
-
미해결홍정모의 따라하며 배우는 C++
{}
저번 강의 에도 있던데 14번째 줄에 {}는 뭔가요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
for ~ print 질문드립니다!
예시1) sum=0 for index in range(1,11): sum = sum+index print(sum) 55 ========================================== 예시2) sum=0 for index in range(1,11): sum = sum+index print(sum) 1 3 6 10 15 21 28 36 45 55print(sum)의 위치에 따라결과값이확연하게 차이가 나는데 두 예시의 정확한 차이점을 모르겠습니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
컨텍스트 스위칭에 관해서 질문이 있습니다.
하나의 프로그램은 기본적으로 하나의 스레드를 가지고 있지요. 해당 스레드가 실제로 코어를 할당받아 코드를 실행한다고 알고있습니다. 선점형 운영체제인 윈도우에서는 어쩔 수 없이 타임 슬라이스 만큼 스레드에 CPU 코어를 할당하고 회수해 간다는 것으로 알고있는데요. 그렇다면 스레드는 현재까지 실행한 코드 프로그램 카운터와 같은 다양한 레지스터 값을 저장하는 자료구조 정도로 이해하는 것이 옳은것인지요 ? 각 프로그램 마다 코드를 실행하는 스레드에서 각 코어를 할당받았을 때 실행해야 할 주소 번지를 저장하고 있어야 되니까 이렇게 추론을 해봤는데... 어떻게 접근하는게 옳은지 알고싶습니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
스스로 구현하기 게시글 삭제 질문
안녕하세요. 게시글 삭제를 구현중에 어려움을 겪어 질문드립니다. 이게 제 프론트 코드이고, 이게 제 서버 코드입니다. 게시글을 삭제하겠습니까? 라고 묻는 문구까지는 성공적으로 뜨는데, 그 다음에 아무런 반응이 없습니다. 제 생각에는 where: {userId :req.body.id} 에서 , req.body.id를 인식하지 못하는것 같은데 ..어디를 어떻게 바꿔야할지 모르겠습니다. 제로초님의 스스로 해결하기 유튜브영상도 찾아봤지만 잘 모르겠습니다. 도와주시면 감사하겠습니다..!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
업로드 페이지 만들기 시작 강의부분.
npm run dev 를 터미널에 입력하니 아래와 같은 에러가 발생했습니다. 확인 부탁 드리겠습니다. PS C:\Users\User\Desktop\boilerplate-mern-stack-master> npm run dev > react-boiler-plate@1.0.0 dev C:\Users\User\Desktop\boilerplate-mern-stack-master > concurrently "npm run backend" "npm run start --prefix client" [1] [1] > client@0.1.0 start C:\Users\User\Desktop\boilerplate-mern-stack-master\client [1] > react-scripts start [1] [0] [0] > react-boiler-plate@1.0.0 backend C:\Users\User\Desktop\boilerplate-mern-stack-master [0] > nodemon server/index.js [0] [1] 'react-scripts'��(��) ���� �Ǵ� �ܺ� ����, ������ �� �ִ� ���α�, �Ǵ� [1] ��ġ ������ �ƴմϴ�. [1] npm ERR! code ELIFECYCLE [1] npm ERR! errno 1 [1] npm ERR! client@0.1.0 start: `react-scripts start` [1] npm ERR! Exit status 1 [1] npm ERR! [1] npm ERR! Failed at the client@0.1.0 start script. [1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above. [1] npm WARN Local package.json exists, but node_modules missing, did you mean to install? [1] [1] npm ERR! A complete log of this run can be found in: [1] npm ERR! C:\Users\User\AppData\Roaming\npm-cache\_logs\2021-09-06T11_33_17_154Z-debug.log [1] npm run start --prefix client exited with code 1 [0] [nodemon] 1.19.4 [0] [nodemon] to restart at any time, enter `rs` [0] [nodemon] watching dir(s): *.* [0] [nodemon] watching extensions: js,mjs,json [0] [nodemon] starting `node server/index.js` [0] (node:21908) Warning: Accessing non-existent property 'count' of module exports inside circular dependency [0] (Use `node --trace-warnings ...` to show where the warning was created) [0] (node:21908) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency [0] (node:21908) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency [0] (node:21908) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency [0] Server Listening on 5000 [0] MongoDB Connected...
-
미해결야곰의 iOS 프로그래밍
todo 앱에서 파일 저장 기능에 대한 질문입니다.
안녕하세요? 자꾸 귀찮게 질문 드려 죄송합니다만... todo앱에서 또 질문이 있습니다 ㅠㅠ 아래 Todo 어레이를 JSON 파일로 저장하는 코드 및 save func 코드에 대한 질문입니다. /// 현재 Todo 배열 상태를 JSON 파일로 저장 @discardableResult private static func saveToJSONFile() -> Bool { do { let data: Data = try JSONEncoder().encode(self.all) try data.write(to: self.todosPathURL, options: Data.WritingOptions.atomicWrite) return true } catch { print(error.localizedDescription) } return false } Todo를 추가/수정하거나 삭제할 때 FileManager의 url path에 todos.jason 파일을 만들고 파일 유무를 확인한 다음에 그 파일에 json으로 인코딩 후 write를 하고, Todo를 추가/수정/삭제할 때마다 매번 임시 파일에 잠깐 썼다가 기존 todos.json을 파일 통째로 다시 덮어 쓰는 것(파일에 이어쓰기가 아닌)으로 이해했는데 맞을까요? 혹시 제가 이해한 게 맞다면 실제 상용 앱에서는 Todo 데이터의 수정(Create, Update, Delete)이 발생할 때마다 파일 전체 덮어쓰기 및 그 disk I/O 지연으로 인해 앱 성능이나 기기 수명에 영향이 없을지, 영향이 있다면 그와 같은 이유로 앱 스토어 심사에서 등록이 거부되지는 않을까 궁금합니다. 추후 확장성 고려 시 빈번하게 데이터 추가/수정/삭제가 일어나면 FileManager를 더 공부해서 기존 todos.json 파일을 이어쓰게 하는 게 좋을까요?(iOS에서 지원하는지는 모르겠습니다만) 아니면 CoreData 같은 것을 쓰는 게 좋을까요?(배우기 어렵다던데… ㅠ) 감사합니다.
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
마지막 문자열 "나도코딩"에서 13byte로 출력됩니다.
한글은 2byte이니까 "나노코딩"은 2* 4 + 1 byte == 9가 되어야 하는데, 13바이트로 나오는 이유를 알 수 있을까요? 런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
body 태그 질문입니다
#body에 높이를 100%로 지정해주셨는데 이렇게 되면 #header의 높이가 묻혀야 되는 것 아닌가요 ㅠ ! #body의 부모가 <body>니까용 !
-
미해결Slack 클론 코딩[실시간 채팅 with React]
swr, gravatar 에러
안녕하세요, 제로초님. 코드 그대로 잘 따라쳤는데 왜 저는 아래 에러가 왜 나는건지 모르겠습니다.. ㅜㅜ swr은 1이 설치되었어서 0.5버전으로 다시 설치했습니다! 그래도 revalidate 에러가 사라지지 않고 있습니다. 각각의 에러 메세지는 revalidate : 'SWRResponse<void, any>' 형식에 'revalidate' 속성이 없습니다.ts(2339) mutate(false, false) : 'false' 형식의 인수는 'void | Promise<void> | MutatorCallback<void> | undefined' 형식의 매개 변수에 할당될 수 없습니다.ts(2345) data.email과 data.nickname은 동일하게 'never' 형식에 각각의 속성이 없다고 나옵니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
깊은복사
마지막 깊은 복사 부근에서 public: Knight() { _pet = new Pet(); } Knight(const Knight& knight) { _hp = knight._hp; _pet = new Pet(*(knight._pet)); // 깊은 복사 } ~Knight() { delete _pet; } Knight& operator=(const Knight& knight) { delete _pet; // <- 이부분 _hp = knight._hp; _pet = new Pet(*(knight._pet)); return *this; } Knight k; Knight k1; k1 = k; 이렇게 하게되면 k1이 만들어지면서 Pet하나가 동적할당 되고 다시 대입 연산자로 k1 = k 에서 Pet하나가 더 동적할당이 되는데 위처럼 대입연산자 구현부에서 시작 시 원래 할당되있던 아이를 해제해주고 다시 동적할당 해주면 메모리 누수가 일어나지 않게 되는게 맞나요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요 강사님 질문있습니다.
안녕하세요 강사님, 잘 배우고있습니다. 혹시 제가 배운 내용들을 깃헙이나 개인 블로그에 출처를 남기고 작성해도 될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
하나의 코루틴 함수를 여러 함수에서 동시에 호출할 경우 질문있습니다.
질문 내용 그대로 하나의 공용 코루틴을 여러 함수에서 사용하려할때 공용 코루틴을 독립적으로 사용하게끔 하는 방법이 있는지 궁금합니다. 예를들어 더블슬래쉬, 차지라는 스킬이 있고 각 함수의 끝에서 쿨타임을 체크해 해당 시간동안 스킬재사용을 막아주는 공용코루틴 함수를 호출한다고 할 때 테스트 결과 각 스킬이 공용코루틴 함수의 데이터를 공유한다는 문제점이 발생했습니다. ->기존 스킬의 쿨타임이 뒤의 스킬의 쿨타임으로 초기화 해결방법으로 생각한게 1. 스킬마다 쿨타임을 계산하는 코루틴 함수를 각각 생성.->매우 비효율적이라 판단, 하지만 확실한 해결방법 2. 쿨타임과 관련된 작업을 공용코루틴으로 만들고 스킬 데이터를 파라미터로 받아 다르게 처리. -> 각 스킬이 이미 사용되고 있는 코루틴에 접근한다는 문제. 2번의 경우 new 키워드 처럼 인스턴스를 만들어 사용하면 될거같은데 제가 못찾는건지 안나오네요.. 아님 제가 설계 자체를 잘못한걸까요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
라이브러리와 api
mybatis-3.4.6.jar 파일을 mybatis API라고 부르는 것이 맞나요?? mybatis 라이브러리라고 부르는 것이 맞나요?? 라이브러리와 api의 차이점이 궁금합니다. 답변해주시면 감사하겠습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
우분투 18.04 + Vivado 2018.2에서 진행해도 문제 없을까요??
안녕하세요! 맛비님 Verilog HDL 과정을 완료했습니다!! 이어서 FPGA 시즌1 수강 중 Vitis를 설치하려고 하는데 노트북 용량이 부족해서요,,,혹시 Verilog HDL 과정을 WSL 우분투 18.04와 Vivado 2018.2 버전으로 진행해도 문제가 없을까요?? 학부 연구 목적으로 WSL 우분투 18.04 + Vivado 2018.2 버전을 이미 사용하고 있어서 20.04+2020.2를 따로 설치하다 보니 용량이 너무 부족해서 질문드립니다ㅠㅠㅠ 만약 2018.2버전으로 진행이 가능하면 Vitis도 사용할 수 있을 것 같습니다! 감사합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
push 할 때마다 왜 주소 감소폭이 다른가요?
push 1 할 때는 주소가 0x60fe38에서 0x60fe30로 8감소 했는데 push 2 할 때는 주소 값이 왜 0x60fe22가 아니라 0x60fe28로 2밖에 감소 하지 않는 건가요? 균일하게 8씩 감소해야 하는거 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
생성자가 만들어지는 시점..
다음 코드에서 생성자가 만들어지는 시점이 궁금한데요 ServletApplication으로 서버를 키면 생성자가 만들어져 저코드가 메모리에 저장되었다가 요청이 들어오면 밑 코드를 사용하여 맵핑을 찾는건가요 ? String requestURL = request.getRequestURI();ControllerV1 controller = controllerMap.get(requestURL); @WebServlet(name = "frontControllerServletV1",urlPatterns = "/front-controller/v1/*")public class FrontControllerServletV1 extends HttpServlet { private Map<String,ControllerV1> controllerMap = new HashMap<>(); public FrontControllerServletV1() { controllerMap.put("/front-controller/v1/members/new-form",new MemberFromControllerV1()); controllerMap.put("/front-controller/v1/members/save",new MemberSaveControllerV1()); controllerMap.put("/front-controller/v1/members",new MemberListControllerV1()); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String requestURL = request.getRequestURI(); ControllerV1 controller = controllerMap.get(requestURL); if(controller==null){ response.setStatus(HttpServletResponse.SC_NOT_FOUND); return ; } controller.process(request,response); }}
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 선생님 save()
save() 질문을 드립니다. 아래 코드에서 store.put(member.getId(),member.getname()로 해야 할거 같은데 member로만해도 저장이 되는 이유를 아무리 생각해 봐도 모르겠습니다. 어떻게 밑줄그어진 란에 name값이 들어올수 있나요?
-
미해결홍정모의 따라하며 배우는 C언어
scanf error에 관한 질문
7.4 다중 선택 강의를 따라 하다 C6031 Return value ignored: 'scanf' 를 해결하지 못하고 있는 상태 입니다. 일단 제가 만든 코드는 아래와 같습니다. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define BASE1 12000000.0 #define BASE2 46000000.0 #define BASE3 88000000.0 #define BASE4 150000000.0 #define BASE5 300000000.0 #define BASE6 500000000.0 #define RATE1 (6.0 / 100.0) #define RATE2 (15.0 / 100.0) #define RATE3 (24.0 / 100.0) #define RATE4 (35.0 / 100.0) #define RATE5 (38.0 / 100.0) #define RATE6 (40.0 /100.0) #define RATE7 (42.0 /100.0) #define BASIC_DEDUCTION 1500000.0 int main() { double income = 0.0; double tax = 0.0; double tax_base = income - BASIC_DEDUCTION; printf("Enter your annual income : "); scanf("%f", &income); if (tax_base <= BASE1 && tax_base > 0) tax = tax_base * RATE1; else if (tax_base <= BASE2) tax = (BASE1 * RATE1) + ((tax_base - BASE1) * RATE2); else if (tax_base <= BASE3) tax = (BASE1 * RATE1) + ((BASE2 - BASE1) * RATE2) + ((tax_base - BASE2) * RATE3); else if (tax_base <= BASE4) tax = (BASE1 * RATE1) + ((BASE2 - BASE1) * RATE2) + ((BASE3 - BASE2) * RATE3) + ((tax_base - BASE3) * RATE4); else if (tax_base <= BASE5) tax = (BASE1 * RATE1) + ((BASE2 - BASE1) * RATE2) + ((BASE3 - BASE2) * RATE3) + ((BASE4 - BASE3) * RATE4) + ((tax_base - BASE4) * RATE5); else if (tax_base <= BASE6) tax = (BASE1 * RATE1) + ((BASE2 - BASE1) * RATE2) + ((BASE3 - BASE2) * RATE3) + ((BASE4 - BASE3) * RATE4) + ((BASE5 - BASE4) * RATE5) + ((tax_base - BASE5) * RATE6); else if (tax_base > BASE6) tax = (BASE1 * RATE1) + ((BASE2 - BASE1) * RATE2) + ((BASE3 - BASE2) * RATE3) + ((BASE4 - BASE3) * RATE4) + ((BASE5 - BASE4) * RATE5) + ((BASE6 - BASE5) * RATE6) + ((tax_base - BASE6) * RATE7); printf("Your tax amount for the annual income is %f.\n", tax); return 0; } 계속 scanf에 입력한 값이 정확히 반영되지 않아 debug를 해보니 제가 입력한 값을 받아들이는게 아니라 scanf returned value 1 int 을 보아하니 제가 입력한 값의 갯수를 반영 하는듯 합니다. 조언 부탁드립니다.