묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결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 을 보아하니 제가 입력한 값의 갯수를 반영 하는듯 합니다. 조언 부탁드립니다.
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
육각형 만드는 방법이 있을까요?
선생님 제가 수업 들으면서 와이어 프레임을 만들고 있는데 육각형 모양을 와이어 프레임 안에 넣고 싶은데 피그마로 육각형 만드는 방법을 잘 모르겠어서 질문 드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
빌드 에러
프로젝트 다운받아서 실행시키면 위와 같은 에러가 발생합니다. pre-build event 때문에 발생한 에러인가 싶어서 pre-build event를 없애면 아래와 같은 에러가 발생합니다. 서버 코어 라이브러리는 정상적으로 빌드 되는것을 확인했습니다.
-
미해결8명의 비전공자는 어떻게 개발자로 취업했을까
질문
앨런님 안녕하세요 ! 궁금사항 조금 길다보니 메일로 문의드렷습니다.!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
application.properties로는 어떻게 해야 할까요??
검색을 해봐도 yml파일의 예시만 나오고 properties로는 나오질 않는데, yml경로에 맞춰서 properties를 작성하면 오류가 발생하네요 혹시 설정파일 properties로는 어떻게 해야 하는지 알수 있나요?
-
미해결게임 프로그래머 취업 전략 가이드
비전공자 질문드립니다.
비전공에 문과출신이고 이제 입문하면서 국비지원 학원 생각중인 취준생입니다. 학원vs독학이 아니라 학원+독학vs빡센독학이라 생각해야한다고 느꼈습니다. 윗 댓글님 말씀처럼 수학마냥 커리큘럼이 정해져있는게 아니다보니 비전공 입문자의 경우 학원을 통해 루트를 잡고 기초를 쌓는게 확실히 좋을 것 같네요. 다만 궁금한게 국비지원반의 경우 아무래도 사비로 듣는 정규반에 비해 내용이 많이 부실하다고 들어서 많이 망설여지네요. 1. 각종 인터넷정보와 유튜브, 특히 루키스님 강의들만 들으면서 독학해도 무리일까요? 2. 학원을 안다니면 포트폴리오 작성이나, 팀 프로젝트 관련해서 많이 불리할까요?
-
미해결코어 자바스크립트
강의 15:50분 경 질문사항입니다.
안녕하세요. 강사님 새로 리뉴얼되서 다시 복습하기 너무 좋은거 같습니다. 어찌보면 예전강의를 다시 A/S해주신건데 감사합니다. 15:50에 'd'프로퍼티에 주소 5004인 'ddd'를 저장을 하였는데 16:21에 주소 1003인 b를 15로 바꿀때도 5004인 값이 변경되엇는데 제생각에는 15는 주소 5006번에 15를 저장해서 b값이 @5006을 가르켜야 된다 생각하는데, 실수이신건가요 아니면 정말 주소 5004가 15로 변경되는건가요?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
OSI 7계층 관련하여 질문 드립니다!
강의를 듣다가 중간에 살짝 이해가 안가는 부분이 있어서요! 1) 1계층은 bit, 2계층의 데이터 단위를 frame이라고 설명해 주셨는데 각 데이터 단위로의 가공과 그것의 해석(?)은 각 계층에서만 가능한 것인가요? (ex. bit 단위 데이터는 무조건 1계층에서 해석이 가능하고 frame단위 데이터는 무조건 2계층에서 해석이 가능함 ) 2) 강의의 마지막 시각 자료에서 스위치를 이용해 두 장치의 데이터가 왔다 갔다 하는 흐름을 알려주셨는데, 사실 컴퓨터에는 라우터나 스위치가 내부에 존재하지는 안잖아요. 만약 1계층을 랜카드가 담당한다고 하면 bit 형태의 데이터를 그 다음 단계에서 처리할 수 있도록 하는 스위치나 라우터를 대신하는 장치가 컴퓨터 내부에 존재하는 것일까요??아니면 컴퓨터에서 처리할 때는 2,3계층을 건너뛰고 1계층에서 bit만 받아서 4계층 부터 처리하는 것일까요?? 3) 그리고 라우터를 사용하면 3계층까지 또 거쳐서 데이터를 보내야 하는데 스위치가 아닌 라우터를 굳이 쓰는 이유가 뭘까요? 더 멀리 전달 할 수 있어서 그런건가요?? 질문을 조금 어렵게 적었는데 답변 부탁드립니다! 강의 정말 잘 듣고 있습니다 ㅎㅎ 감사합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
시간 복잡도 관련 질문입니다
안녕하세요. 강의를 수강하던 와중에 궁금한 점이 생겨 질문드립니다. 서버에서 packet 관련 로직을 처리하는데 n^2가 소요된다고 들었던 것 같습니다. 예를 들면 n개의 client에서 각각 1개의 packet을 받을 경우 1. for(packet in packets){ result = handlePacket(packet) for (client in clients){ sendPacket(result); } } 이런 식으로 n^2이 되는 것 같은데 패킷을 모아서 처리하게 된다면 2. for(packet in packets){ result = handlePacket(packet) } for (client in clients){ sendPacket(result); } 이런식으로 n+n이 되는거 아닌가요? 또한 2와 같은 방식으로 코드를 짜시지 않은 이유가 궁금합니다. 2와 같은 방식이 불가능한건가요?