묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
오버라이딩에 수퍼콜 내용이 포함되면 더 좋을 것 같습니다 :)
안녕하세요 선생님 🙂 오버라이딩 관련해서 설명주실 때 수퍼콜 내용도 추가되면 더 좋을 것 같아서 제안드립니다 ^^ static class test1 { public: virtual void eat() { std::cout << "먹는다" << '\n'; }; }; class test2 : public test1 { public: virtual void eat() override { __super::eat(); std::cout << "먹습니다" << '\n'; }; }; // main test2* t2 = new test2(); t2->eat(); /* 출력 결과 : 먹는다 먹습니다 */
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
자바 코드를 C++코드로 변형하면서 궁금한 점이 생겼습니다 :)
안녕하세요 선생님 🙂코테부터 CS지식까지 선생님께 많은 지식을 배우는 것 같습니다 ㅎㅎ 정말 감사합니다 ^^ 다름이 아니라 Java 코드를 C++ 코드로 변형하면서 궁금한 부분이 생겨서 질문 드립니다. 먼저, 아래는 C++로 변형한 코드입니다. #include <iostream> using namespace std; class Person { public: // constructor Person() : name("alanwalker"), IQ(100), str(100) { } Person(string Name, int Iq, int Str) { name = Name; IQ = Iq; str = Str; } // 메서드 void levelup() { IQ = IQ + 1; str = str + 1; cout << name << "의 지능과 힘이 증가했습니다! " << IQ << " / " << str << '\n'; } /*void talk(Person a, Person b) { cout << a.name << " & " << b.name << "이 대화를 시작했다!" << '\n'; }*/ static void talk(Person a, Person b) { cout << a.name << " & " << b.name << "이 대화를 시작했다!" << '\n'; } private: string name; int IQ; int str; }; int main() { class Person* a = new Person(); // 객체 >> 인스턴스 a->levelup(); class Person* b; // 객체 b = new Person("한유태", 1000, 1); // 인스턴스 b->levelup(); a->talk(*a, *b); b->talk(*a, *b); //Person->talk(*a, *b); return 0; } 2가지 궁금한 점이 있습니다. a->talk(*a, *b); b->talk(*a, *b);위와 같이 a라는 객체와 b라는 객체가 static키워드로 선언되어있는 talk함수를 사용해도 메모리할당이 1번만 된다고 이해했는데요, 제가 제대로 이해한걸까요? (2번은 답변안해주셔도 괜찮습니다!! 아.. 너무 간단한걸 기억을 못했었네요 ㅠㅠ Person::talk(*a, *b);)Person->talk(*a, *b);C++은 위와 같이 코드를 작성하면 식별 자체를 하지 못합니다. JAVA만 가능한 코드인건가요?
-
해결됨실리콘밸리 엔지니어와 함께하는 리눅스 실전
Dokerfile과 compose.yml 하는 과정에서 오류가 있습니다
Dokerfile에 해당과 같은 오류가 뜨면서 실행이 안되네요 ㅠㅠ 주석처리하라고 하시는 분 계셨지만 생초보라 어딜 해야하는지도 모르겠고 12번째 줄 주석처리해도 되지 않았습니다. 해결방법이 있을까요?(cmd에서는 no configuration file provided: not found라고 떠서 인텔리제를 통해 실행시켰습니다)
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
SDR SDRAM 과 DDR SDRAM에 대해서 이해한 것을 그림으로 만들어 보았는데 옳게 이해한 것이 맞는지 궁금합니다.
SDR SDRAMDDR SDRAM
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
직접 매핑 교제 설명
교재 설명직접 매핑(direct mapping)이란 메모리의 특정 블록은 특정 캐시 라인에만 매핑할 수 있는 것을 말합니다. 예를 들어 메모리가 A개의 페이지, 캐시가 B개의 페이지로 구성된다고 했을 때 메모리의 페이지 수 A를 B개로 나누는 것이죠. 이렇게 되면 메모리의 페이지의 수는 B * 블록의 수가 됩니다. 메모리가 1~100이 있고 캐시가 1~5이 있다면 1:1~20, 2:21~40… 이런 식으로 매핑하는 것을 말합니다. 메모리의 페이지 수 A를 B개로 나누는 것이죠.-> 갑자기 왜 나누는 것인가요? 이렇게 되면 메모리의 페이지의 수는 B * 블록의 수가 됩니다. -> 나누는 것이 메모리의 페이지 수랑 어떤 관련이 있는 건가요? 영상에서의 설명은 이해가 되는데, 교재의 설명은 어떤 의미인지 이해가 안 됩니다.
-
미해결FreeRTOS 프로그래밍
타이머 관련 궁금한게 있습니다.
ARM에서 C언어로 FreeRTOS를 구동시키고 있습니다.목표: Timer를 필요할 때만 생성하여 사용한 뒤, 필요 없는 경우 삭제 TimerHandle_t xRTOSTimerA; BaseType_t xStatus = xGetStatus(); if(xStatus == pdTRUE) { xRTOSTimerA = xTimerCreate("TIMER A", pdMS_TO_TICKS(300), pdTRUE, (void *)0, prvRTOSTimerACallback); } else { vTimerDelete(xRTOSTimerA, 0); } 질문 1. xTimerCreate를 통해 Timer를 생성한 뒤 vTimerDelete 함수를 사용해 삭제해도 TimerHandle은 여전히 메모리가 할당된 채 살아있는 거같습니다. vTimerDelete의 동작 이해를 잘못하고있는건가요?질문 2. 위와 같이 소스코드를 작성하여도 메모리 반환이 제대로 이루어지지않는것 같습니다. TimerHandle의 경우 메모리 해제가 불가능한것인가요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
컴퓨터가 곱셈 하는 방법
컴퓨터가 곱셈을 하는 방법으로 4bit를 왼쪽으로 한 칸 밀면 곱하기 2, 두 칸 밀면 곱하기 4가 된다고 하셨는데 pdf에서 예시로 사용하신 0101은 16진수로 5입니다.왼쪽으로 한 칸 밀고 맨 오른쪽에 0을 채워넣고 자리올림은 버리면 1010 즉 16진수로 10입니다.이를 한 번 더 왼쪽으로 밀면 0100 즉 16진수로 4가됩니다.5 * 4인 20이 나와야하는거 아닌가요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
과정 중 리다이렉트와 캐싱에 대한 의문점.
감사히 내용 잘 듣고 있습니다! 몇가지 질문이 있어 질문 드립니다. 리다이렉트 후, 캐싱을 한다고 하는데, 캐싱을 하려고하면 www.naver.com 이 어떤 리소스가 필요한지 알아야 캐싱되어있는지 아닌지 확인 할 수 있을 것 같습니다. 따라서 영상에서 캐싱의 예시로 보여준 개발자 도구로 보여주신 캐싱이 해당 과정의 캐싱과 맞는 동작인지 궁금합니다.동일하게 리다이렉트 하려고 하면, 리다이렉트 할 정보가 필요한데 이 정보 또한 서버로부터 받아와야 가능한게 아닌가 싶습니다. 그래서 제가 이해하고 있는 순서는www.naver.com 검색 후 엔터dns 서버tcp 연결 (핸드세이크 과정 포함)클라이언트 http 요청서버 http 응답 (이때 리다이렉트 정보가 들어있으면 리다이렉트)html 반환(예시) 받고, 클라이언트가 해당 파일 읽고 추가적인 리소스가 필요한지 판단 후, 추가 요청 진행. (이때 캐싱되어있다면 요청 하지 않음)이렇게 입니다... 네트워크는 정말 어렵네요 ㅜㅜ헷갈리는 부분이 많아 질문드립니다. 감사합니다!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
웹소켓과 브로드캐스트 테스트에 대한 질문
안녕하세요! css 강의 반복해서 들고 있는 한 학생입니다.질문이 있어 문의 드립니다.(네트워크의 기초 #5. 유니캐스트, 멀티캐스트, 브로드캐스트) 해당 강의 내용 중, 1분40초쯤경 웹소켓 통신을 활용해서 브로드 캐스트 테스트를 진행한다고 알려주셨습니다. 여기서 의문점이, 웹소캣은 TCP 기반으로 작동하는 것으로 알고있습니다. TCP는 브로드캐스트를 지원하지 않는 특징이 있다고도 알고 있습니다.따라서, 드는 생각은 어떻게 웹 소켓을 통해 브로드 캐스트 테스트를 진행하는 것인지 의문점이 듭니다. 단순히 웹 소켓을 활용해서 브로드캐스트 처럼 동작하도록 구성하여 브로드캐스트에 대한 예시를 든 것인지? 아니면 웹 소켓에서 UDP 사용을 통해 회피한것인지 궁금합니다! 항상 네트워크 관련되어 부족하거나 헷갈리는 부분이 있으면 다시 강의를 참조할 정도로 감사히 잘 듣고 있습니다!
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
1비트 1바이트 1킬로바이트
넓고 얕게 외워서 컴공 전공자 되기외워야 할 단위 체계와 숫자 5분 2초 강의 내용이 이해가 안 가서 올립니다. 8bit = 1byte1024 byte = 1KB 까지 이해했습니다. 하지만 강의 내용에서 16bit가 64KB가 되는 건 이해가 전혀 가지 않습니다. 우선 위에 적은 내용에 따르면 64KB가 되기 위해선 8bit * 1024 * 64 = 524288bit = 65536byte가 되어야 64KB가 되는건데 왜 갑자기 16비트가 64KB가 되는거죠? 그리고 65536의 숫자가 64KB가 되려면 단위가 bit가 아니라 65536byte 가 되어야 64KB 아닌가요? 16비트는 65,536가지 (64KB)이다.가 아니라2^16바이트는 65,536byte (64KB)이다.가 되어야 하는 거 아닌가요?
-
해결됨실리콘밸리 엔지니어와 함께하는 리눅스 실전
docker compose up 실행 시 오류
안녕하세요. 강사님! 첨부 파일 자료를 통해서 docker compose up을 하게 되면 아래와 같은 메시지가 표시되고 있습니다. Dockerfile에서 문제되는 부분을 주석 처리하고 진행하면 정상적으로 진행이 되긴합니다...실습 시 주석 처리 후 진행하면 될까요? 감사합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
데이터의 정의에 대해서 질문 있습니다.
컴퓨터가 이해하는 두가지 정보 중 하나로 데이터를 설명하시고데이터의 정의를 정적인 정보라고 말씀해주셨는데여기서 동적인 정보(스트리밍 영상, 주식 차트)들은 데이터라고 하지 않고 다른 무언가로 정의하나라는 생각이 들었는데 이 부분에 대해서 궁금합니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
서킷 브레이커 관련하여 질문드립니다.
안녕하세요. 대용량 트래픽 2번째 강의를 듣고 질문 남깁니다.우선 저는 마이크로서비스를 구축해 본 경험이 없습니다. 서킷브레이커 사용해 본 경험이 없습니다.이 상태에서 서킷 브레이커 개념을 접하니, 아래와 같은 질문이 생겼습니다. 1."서킷브레이커로 에러를 반환하는 방식"과, 단순히 "코드 상에서 에러를 반환하는 방식"이 다른가요?둘 다 ux를 위해서 에러를 리턴하는 방식은 유사해 보입니다.아래는 위에 언급한 '코드 상'에 대한 예시 코드입니다.try { } catch(e) { //여기서 에러를 리턴 } 대용량 트래픽을 위해서는 (서킷브레이커든, 코드 단이든) "일단 에러를 반환하는 것"이 좋은 선택지인 지 궁금합니다. 에러가 터질 경우, retry가 필요한 곳이라고 판단이 되면, 에러를 곧바로 반환하지 않고, 다시 쿼리나 함수를 실행하는 로직을 넣어왔습니다.
-
미해결리눅스 커널의 구조와 원리: 디버깅 - Basic [저자 직강 1부-2]
강의자료 관련 문의입니다.
안녕하세요 강사님. Arm 아키텍쳐 강의에 이어 리눅스 강의를 수강중인 학생입니다. 혹시 리눅스 강의도 Arm 아키텍쳐 강의처럼 강의자료 pdf 업로드가 가능한지 궁금합니다! 유익한 강의 항상 감사합니다.
-
미해결기술노트 - 컴퓨터 구조부터 클라우드, 빅데이터까지 / 진로 고민, 취업 상담
web server, WAS, api server의 관계
안녕하세요, 좋은 영상 감사합니다. 질문 하나 드려도 될까요? (web server, WAS, api server의 관계 관련)상황은 이렇습니다.vue.js framework를 활용해서 웹앱을 개발했습니다. 배포는 firebase를 이용했습니다.api 서버는 nest.js framework를 사용했고, db는 postgresql을 사용했습니다. 배포는 k8s를 이용했습니다. 기대했던 기능들이 잘 동작하고, 데이터도 잘 쌓이고 있습니다.문제는.. 개발을 진행한 후에 웹 개발 관련 지식들을 쌓는 과정에서 발생했습니다. 웹서버, WAS 라는 용어가 나오더라고요. 그래서 어라? 싶었습니다.저는 이 2가지 개념에 대해서 전혀 몰랐음에도 웹앱은 잘 작동하고 있었기 때문입니다.전혀 몰랐기 때문에 이 두가지를 구축할 생각조차 못했는데도요. 질문 1.대체 웹서버는 무엇일까요? 웹에서 돌려받는 데이터는 API 서버를 통해 돌려받으면 충분한데.. 웹서버로는 어떤 요청을 해야하나요? 질문 2.웹서버, was에 대한 구축이 없이도 제 웹앱이 잘 동작하고 있는 것은 firebase의 존재 때문일까요? 질문 3.웹서버, was 관련 개념을 확립하다보니, req & res의 흐름이 아래와 같을 것이라는 생각이 듭니다. 하자 없는 이해일까요?web application - web server - WAS - API server - DB 이 영상을 보게 된 것도 web server, WAS의 개념, 역할을 찾는 와중이었는데, 다른 많은 것을 얻었지만 이 부분은 얻지 못한 것 같아 도움을 구합니다.미리 감사드립니다!!
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
백그라운드 스케쥴링관련 질문입니다.
CPU 스케줄링 개요 20:20초 즈음부터 나오는 내용인데요윈도우에서 프로그램 / 백그라운드 서비스 중 둘중 하나를 최적화시킬 수 있는 설정이 있고, [IO가 있음 + 클라가 많음]라는 서버특성상 대기하는 상황이 많다고, 그래서 백그라운드 서비스에 최적화하는 게 좋다~ 와 같은 뉘앙스로 말씀해주신 것 같은데요 궁금한점이 있습니다 백그라운드 운영체제라는 게 무엇인가요? 제가 이해한바로는 그냥 우선순위가 낮게 설정된 녀석들로 이해했는데 맞을까요?그러면 윈도우에서 백그라운드 최적화를 한다는 게 무슨 의미인지도 궁금하네요. 우선순위와 무관하게 그냥 라운드로빈? 같이 좀더 순차적으로 cpu를 할당해주는 그런느낌인가 싶기도하고 ㅎㅎ..백그라운드에 무엇인가를 두는 게 이점이 있는건가요?설명해주신 부분, 그러니까 20분 걸릴 게 어차피 25분 걸린다 그래서 우선순위를 낮춰서(백그라운드에 둬서) 그냥 알아서 되게 하고, 대신 다른 프로세스(예를 들면 gui관련)를 조금 더 잘 동작하게하자~ 라는 부분은 이해했습니다그런데 서버의 입장에서 보면 , 어차피 서버는 클라의 요청을 처리하는 것이 주목적인만큼 처리하게 되는 대부분의 프로세스가 IO기반의 클라이언트 요청일테고, 그러면 거기서 뭔가 우선순위를 나눠서 백그라운드로 돌리는 것의 의의를 잘 모르겠네요(물론 이건 제가 지식이 부족한 백엔드 웹개발자라.. 그렇게 느끼는 것 같기도 하네요 ㅎㅎ.. )양질의 강의 감사합니다
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
대기큐, 준비큐
혹시 대기큐나 준비큐의 경우 물리적인 디바이스에 존재하는 공간인가요? 아니면 메모리 한쪽을 대기큐, 준비큐로 사용하는 건가요?
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
물리적 메모리에 연속적으로 저장하지 않는 이유
안녕하세요 강의를 보다가 궁금한 점이 있어서 문의드립니다.프로세스를 페이지 단위로 나누고 물리적 메모리에 연속적으로 저장하면 더 좋은 거 아닐까요? 굳이 비연속적으로 물리적 메모리에 저장하는 이유가 있을까요?
-
미해결운영체제 공룡책 강의
java 소켓 통신 예제 질문
DateClient 클래스에서 소켓을 생성하면서 ip address와 포트 번호를 넘겨줄 때, 127.0.0.1 대신 cmd 창에서 ipconfig 명령어로 확인한 IPV4 주소를 입력하면 정상적으로 작동하지 않는데, 왜 그런 건지 궁금합니다. ipconfig에 나오는 주소값도 자신의 ip주소를 가리키는 게 아닌가요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
컨택스트 스위칭
컨택스트 스위칭시에 CPU는 인터럽트 핸들러의 명령어를 실행하니깐 사실상 유휴시간은 아니지않나요?